p1 : Distributed Bitcoin Miner /640 9/26/16
|
|
- Charles Ramsey
- 5 years ago
- Views:
Transcription
1 p1 : Distributed Bitcoin Miner /640 9/26/16
2 P0 Reference to last year s p0 will be posted Should be structurally identical
3 Timeline Part A Checkpoint (Due 10/4) Part A (Due 10/13) Part B (Due 10/20)
4 Part A: LSP Protocol You will implement the Live Sequence Protocol Has some features of both UDP and TCP + more
5 LSP Features client-server communication model can maintain multiple connections Communication is sent in discrete UDP-sized packets Messages are sent in order and exactly once
6 Messages Consist of: Message type : connect, data, or ack Connection ID : number that identifies the clientserver connection Sequence Number : number identifying the message s order Payload: sequence of bytes (the actual data)
7 Messages type MsgType int const ( MsgConnect MsgType = iota // Conn request from client. MsgData // Data message from client or server. MsgAck // Acknowledgment from client or server. ) type Message struct { Type MsgType // One of the message types listed above. ConnID int // Unique client-server connection ID. SeqNum int // Message sequence number. Payload []byte // Data message payload. }
8 Messages Messages are marshaled using Go s Marshal function in the json package and sent as a UDP packet
9 Establishing a Connection Client (Connect, 0, 0) Client begins by sending a connection request (must have ID 0 and sequence number 0)
10 Establishing a Connection Client (Connect, 0, 0) (Ack, id, 0) generates a unique identifier for this Client- connection (you can just generate ID s sequentially)
11 Sending data and Client maintain independent sequence numbers (Data, id, i, hello ) (Ack, id, i) (Data, id, i+1, hi ) Client (Ack, id, i+1) (Data, id, j, hi ) (Ack, id, j)
12 Maintaining Order UDP Packets aren t guaranteed to arrive in order LSP.Read()//blocks LSP.Read() LSP.Read()
13 Maintaining Order UDP Packets aren t (Data, id, i, 440 ) guaranteed to arrive in order LSP.Read()//returns 440 LSP.Read()//blocks LSP.Read()
14 Maintaining Order UDP Packets aren t (Data, id, i, 440 ) guaranteed to arrive in order (Data, id, i+2, fun ) LSP.Read()//returns 440 LSP.Read()//blocks LSP.Read() i + 2 : fun
15 Maintaining Order UDP Packets aren t (Data, id, i, 440 ) guaranteed to arrive in order (Data, id, i+2, fun ) LSP.Read()//returns 440 LSP.Read()//returns is LSP.Read()//returns fun (Data, id, i+1, is ) i + 2 : fun
16 Sliding Window Like TCP, LSP uses a sliding window protocol Given a window size ω, we can send up to ω messages without acknowledgement. If the oldest unacknowledged message has sequence number n, then only messages with sequence numbers n + ω - 1 (inclusive) may be sent
17 Sliding Window Client ω = 3 Client messages queue = h -> e -> l -> l -> o
18 Sliding Window Client ω = 3 (Data, id, i, h ) Client messages queue = e -> l -> l -> o Oldest Seq # without Ack = i Window = [i, i+2]
19 Sliding Window Client ω = 3 Client messages queue = l -> l -> o (Data, id, i, h ) (Data, id, i+1, e ) Oldest Seq # without Ack = i Window = [i, i+2]
20 Sliding Window Client ω = 3 Client messages queue = l -> o (Data, id, i, h ) (Data, id, i+1, e ) (Data, id, i+2, l ) Oldest Seq # without Ack = i Window = [i, i+2]
21 Sliding Window Client ω = 3 Client messages queue = l -> o Oldest Seq # without Ack = i (Data, id, i, h ) (Data, id, i+1, e ) (Data, id, i+2, l ) block Window = [i, i+2]
22 Sliding Window Client ω = 3 Client messages queue = l -> o Oldest Seq # without Ack = i (Data, id, i, h ) (Data, id, i+1, e ) (Data, id, i+2, l ) (Ack, id, i+1) Window = [i, i+2]
23 Sliding Window Client ω = 3 Client messages queue = l -> o Oldest Seq # without Ack = i Window = [i, i+2] (Data, id, i, h ) (Data, id, i+1, e ) (Data, id, i+2, l ) (Ack, id, i+1) block
24 Sliding Window Client ω = 3 Client messages queue = l -> o Oldest Seq # without Ack = i+2 Window = [i+2, i+4] (Data, id, i, h ) (Data, id, i+1, e ) (Data, id, i+2, l ) (Ack, id, i+1) (Ack, id, i)
25 Sliding Window Client ω = 3 Client messages queue = (Data, id, i, h ) (Data, id, i+1, e ) (Data, id, i+2, l ) Oldest Seq # without Ack = i+2 Window = [i+2, i+4] (Ack, id, i+1) (Ack, id, i) (Data, id, i+3, l ) (Data, id, i+4, o )
26 Epoch events We still need to deal with dropped packets On both the clients and servers, we have a simple time trigger to fire epoch events periodically. Epoch events should fire at a fixed rate, with time between epochs = δ. When an epoch event fires, clients and server take actions in case of dropped packets or lost connection
27 Client Epoch Actions If connection request has not been acknowledged, resend connection (Connect, 0, 0) Client request } δ (Connect, 0, 0) (Ack, id, 0) (Connect, 0, 0)
28 Client Epoch Actions For every unacknowledged data message sent, resend (Data, id, i, data ) Client (Data, id, i+1, dayda ) (Ack, id, i+1) } δ (Data, id, i, data ) (Data, id, i+1, dayda ) Note that message i+1 is duplicated on the server
29 Client Epoch Actions If no data message has been received since the last epoch, send ack with sequence number 0 (Data, id, j, hi ) (Ack, id, j) Client } δ (Ack, id, 0)
30 Epoch Actions Similarly on the server, for each client connection For each data message that has been sent, but not yet acknowledged, resend the data message If no data message has been received from the client, then send an ack with sequence number 0
31 Epoch events Notice this design ensures that at least one message is transmitted in each direction between client and server on every epoch We can keep track of epochs passed since the last message was received. If this goes over a limit K, we can assume the connection is lost
32 Checkpoint (due 10/4) Assume no packet loss (no need to implement epoch) Messages sent in order No need to implement sliding window protocol Race conditions will not be checked
33 Checkpoint (due 10/4) Client (Data, id, i, hello ) (Ack, id, i) A simple read/write server (Data, id, i+1, hi ) Pretty much implement this picture (Ack, id, i+1) (Data, id, j, hi ) (Ack, id, j)
34 What you ll be writing client_impl.go func NewClient(hostport string, params *Params) (Client, error) *should block until connection with server is established ConnID() int *returns connection ID Read() ([]byte, error) *blocks until data is received and ready to be returned or if connection is lost Write(payload []byte) error *should never block Close() error *blocks until all pending messages are sent and acked, or if connection is lost
35 What you ll be writing server_impl.go func New(port int, params *Params) (, error) *should not block Read() (int, []byte, error) *should block until data is received from some client and is ready to be returned or if connection is lost Write(connID int, payload []byte) error *should not block CloseConn(connID int) error *should not block Close() error *blocks until all pending messages are sent and acked, or if connection is lost
36 lspnet Contains every UDP operation needed. net package is not allowed! import github.com/cmu440/lspnet addr, err := lspnet.resolveudpaddr("udp", hostport) udpconn, err := lspnet.listenudp("udp", addr) n, cliaddr, err := udpconn.readfromudp(buffer[0]:) udpconn.writetoudp(msg, cliaddr)
37 Implementation notes Individual project No locks and mutexes There s no limit on message queue size, so don t use buffered channel to store pending messages. Instead use something like linked list
38 Bitcoin miner Goal: given a message M and an unsigned integer N, find unsigned integer n which when concatenated with M generates the smallest hash value, for all 0 n N. This n is called the nonce This takes a long time for large values of N. Instead, distribute more manageable workloads
39 Bitcoin miner Client message, N minhash, n message, 0, N/2 minhash, n message, N/2, N minhash, n Miner Miner
P1 : Distributed Bitcoin Miner / /19/2018
P1 : Distributed Bitcoin Miner 15-440/15-640 09/19/2018 Overview Debugging Tips P0 Solution P1 Part A Debugging Tips Logging Add log statements around points of inter-thread communications Channel Connection
More information1 Logistics. 2 Overview. Randy Bryant is the lead person for this assignment.
15-440, Fall 2011 Project Assignment P1: Distributed Password Cracker Assigned: Sept. 6 Part A Due: Thurs., Sept. 22, 10:00 PM Part B Due: Thurs., Sept. 29, 10:00 PM Randy Bryant (Randy.Bryant@cs.cmu.edu)
More informationBasic Reliable Transport Protocols
Basic Reliable Transport Protocols Do not be alarmed by the length of this guide. There are a lot of pictures. You ve seen in lecture that most of the networks we re dealing with are best-effort : they
More informationfile:///c:/users/hpguo/dropbox/website/teaching/fall 2017/CS4470/H...
1 of 9 11/26/2017, 11:28 AM Homework 3 solutions 1. A window holds bytes 2001 to 5000. The next byte to be sent is 3001. Draw a figure to show the situation of the window after the following two events:
More informationCOMPUTER NETWORK. Homework #2. Due Date: April 12, 2017 in class
Computer Network Homework#2 COMPUTER NETWORK Homework #2 Due Date: April 12, 2017 in class Question 1 Suppose a process in Host C has a UDP socket with port number 6789. Suppose both Host A and Host B
More informationERROR AND FLOW CONTROL. Lecture: 10 Instructor Mazhar Hussain
ERROR AND FLOW CONTROL Lecture: 10 Instructor Mazhar Hussain 1 FLOW CONTROL Flow control coordinates the amount of data that can be sent before receiving acknowledgement It is one of the most important
More informationCSCI Topics: Internet Programming Fall 2008
CSCI 491-01 Topics: Internet Programming Fall 2008 Transport Layer Derek Leonard Hendrix College October 15, 2008 Original slides copyright 1996-2007 J.F Kurose and K.W. Ross 1 Chapter 3: Roadmap 3.1 Transport-layer
More informationNetwork Protocols. Sarah Diesburg Operating Systems CS 3430
Network Protocols Sarah Diesburg Operating Systems CS 3430 Protocol An agreement between two parties as to how information is to be transmitted A network protocol abstracts packets into messages Physical
More information6.033 Lecture 12 3/16/09. Last time: network layer -- how to deliver a packet across a network of multiple links
6.033 Lecture 12 3/16/09 Sam Madden End to End Layer Last time: network layer -- how to deliver a packet across a network of multiple links Recall that network layer is best effort, meaning: - packets
More informationRSC Part III: Transport Layer 3. TCP
RSC Part III: Transport Layer 3. TCP Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are, mainly, part of the companion slides to the book Computer Networking: A Top Down
More informationThe Transport Layer: TCP & Reliable Data Transfer
The Transport Layer: TCP & Reliable Data Transfer Smith College, CSC 249 February 15, 2018 1 Chapter 3: Transport Layer q TCP Transport layer services: v Multiplexing/demultiplexing v Connection management
More informationEECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance
EECS 122, Lecture 19 Today s Topics: More on Reliable Delivery Round-Trip Timing Flow Control Intro to Congestion Control Kevin Fall, kfall@cs cs.berkeley.eduedu Reliable Delivery Stop and Wait simple
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete
More informationChapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1
Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 23-1 PROCESS-TO-PROCESS DELIVERY 23.2 The transport
More informationThe Transport Layer Reliability
The Transport Layer Reliability CS 3, Lecture 7 http://www.cs.rutgers.edu/~sn4/3-s9 Srinivas Narayana (slides heavily adapted from text authors material) Quick recap: Transport Provide logical communication
More informationECE 435 Network Engineering Lecture 10
ECE 435 Network Engineering Lecture 10 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 28 September 2017 Announcements HW#4 was due HW#5 will be posted. midterm/fall break You
More informationNWEN 243. Networked Applications. Layer 4 TCP and UDP
NWEN 243 Networked Applications Layer 4 TCP and UDP 1 About the second lecturer Aaron Chen Office: AM405 Phone: 463 5114 Email: aaron.chen@ecs.vuw.ac.nz Transport layer and application layer protocols
More informationHomework 2 COP The total number of paths required to reach the global state is 20 edges.
Homework 2 COP 5611 Problem 1: 1.a Global state lattice 1. The total number of paths required to reach the global state is 20 edges. 2. In the global lattice each and every edge (downwards) leads to a
More informationCOMP 431 Internet Services & Protocols. Transport Layer Protocols & Services Outline. The Transport Layer Reliable data delivery & flow control in TCP
COMP 431 Internet Services & Protocols Transport Layer Protocols & Services Outline The Transport Layer Reliable data delivery & flow control in TCP Jasleen Kaur Fundamental transport layer services» Multiplexing/Demultiplexing»
More informationOperating Systems and Networks Project 1: Reliable Transport
Spring Term 2016 Operating Systems and Networks Project 1: Reliable Transport Assigned on: 22 April 2016 Due by: 13 May 2016 1 Introduction In this project, your task is to implement a reliable sliding
More informationLab 2: Implementing a Reliable Transport Protocol (30 points)
Lab 2: Implementing a Reliable Transport Protocol (30 points) Overview In this laboratory programming assignment, you will be writing the sending and receiving transport-level code for implementing a simple
More informationDistributed Systems 8. Remote Procedure Calls
Distributed Systems 8. Remote Procedure Calls Paul Krzyzanowski pxk@cs.rutgers.edu 10/1/2012 1 Problems with the sockets API The sockets interface forces a read/write mechanism Programming is often easier
More informationThe Transport Layer Multiplexing, Error Detection, & UDP
CPSC 852 Internetworking The Transport Layer Multiplexing, Error Detection, & UDP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc852
More informationNetworking Technologies and Applications
Networking Technologies and Applications Rolland Vida BME TMIT Transport Protocols UDP User Datagram Protocol TCP Transport Control Protocol and many others UDP One of the core transport protocols Used
More informationCSE 489/589 Programming Assignment 2
CSE 489/589 Programming Assignment 2 Objective In a given simulator, implement three reliable data transport protocols: Alternating-Bit (ABT), Go-Back-N (GBN), and Selective- Repeat (SR). 2 Outline Part
More informationLecture 7: Flow Control"
Lecture 7: Flow Control" CSE 123: Computer Networks Alex C. Snoeren No class Monday! Lecture 7 Overview" Flow control Go-back-N Sliding window 2 Stop-and-Wait Performance" Lousy performance if xmit 1 pkt
More informationTCP : Fundamentals of Computer Networks Bill Nace
TCP 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Lab #1 due now! Reminder: Paper Review
More informationCorrecting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure
Correcting mistakes Go-back-N: big picture: sender can have up to N unacked packets in pipeline rcvr only sends cumulative acks doesn t ack packet if there s a gap sender has r for oldest unacked packet
More informationAnnouncements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades
Announcements 15-441 Computer Networking Lecture 16 Transport Protocols Mid-semester grades Based on project1 + midterm + HW1 + HW2 42.5% of class If you got a D+,D, D- or F! must meet with Dave or me
More informationAdministrivia. Remote Procedure Calls. Reminder about last time. Building up to today
Remote Procedure Calls Carnegie Mellon University 15-440 Distributed Systems Administrivia Readings are now listed on the syllabus See.announce post for some details The book covers a ton of material pretty
More informationPreview Test: HW3. Test Information Description Due:Nov. 3
Preview Test: HW3 Test Information Description Due:Nov. 3 Instructions Multiple Attempts Not allowed. This test can only be taken once. Force Completion This test can be saved and resumed later. Question
More informationTransport Protocol (IEX-TP)
Transport Protocol (IEX-TP) Please contact IEX Market Operations at 646.568.2330 or marketops@iextrading.com, or your IEX onboarding contact with any questions. Version: 1.1 Updated: December 22, 2014
More information9th Slide Set Computer Networks
Prof. Dr. Christian Baun 9th Slide Set Computer Networks Frankfurt University of Applied Sciences WS1718 1/49 9th Slide Set Computer Networks Prof. Dr. Christian Baun Frankfurt University of Applied Sciences
More informationInternetworking Models The OSI Reference Model
Internetworking Models When networks first came into being, computers could typically communicate only with computers from the same manufacturer. In the late 1970s, the Open Systems Interconnection (OSI)
More informationError Detection Codes. Error Detection. Two Dimensional Parity. Internet Checksum Algorithm. Cyclic Redundancy Check.
Error Detection Two types Error Detection Codes (e.g. CRC, Parity, Checksums) Error Correction Codes (e.g. Hamming, Reed Solomon) Basic Idea Add redundant information to determine if errors have been introduced
More informationCSC209H Lecture 9. Dan Zingaro. March 11, 2015
CSC209H Lecture 9 Dan Zingaro March 11, 2015 Socket Programming (Kerrisk Ch 56, 57, 59) Pipes and signals are only useful for processes communicating on the same machine Sockets are a general interprocess
More informationCSE 473 Introduction to Computer Networks. Midterm Exam Review
CSE 473 Introduction to Computer Networks Midterm Exam Review John DeHart 10/12/2015 1. (10 points). A user in Chicago, connected to the internet via a 100 Mb/s (b=bits) connection retrieves a 250 KB (B=bytes)
More informationQUIZ: Longest Matching Prefix
QUIZ: Longest Matching Prefix A router has the following routing table: 10.50.42.0 /24 Send out on interface Z 10.50.20.0 /24 Send out on interface A 10.50.24.0 /22 Send out on interface B 10.50.20.0 /22
More informationPractice Problems: P22, 23, P24, P25, P26, P27, P28, P29, P30, P32, P44 and P45. Hand-in the following: P27, P28, P32, P37, P44
Practice Problems: P, 3, P4, P5, P6, P7, P8, P9, P30, P3, P44 and P45. Hand-in the following: P7, P8, P3, P37, P44 Chapter-3 Assigned/ Practice - Problems Problem a) Here we have a window size of N=3.
More information1. (10 points): For each of the following, choose exactly one best answer.
IS 450/650 Final Exam Martens 20 December 2010 Answer all twelve questions. Write your name on the first sheet. Short answers are better than long ones. No electronics. 1. (10 points): For each of the
More informationCSC 401 Data and Computer Communications Networks
CSC 401 Data and Computer Communications Networks Transport Layer Pipelined Reliable Data Transfer Protocols: Go-Back-N and Selective Repeat Sec 3.4.2-3.4.3 Prof. Lina Battestilli Fall 2017 Transport Layer
More informationIIP Wireless. Presentation Outline
IIP Wireless Improving Internet Protocols for Wireless Links Markku Kojo Department of Computer Science www.cs cs.helsinki.fi/research/.fi/research/iwtcp/ 1 Presentation Outline Project Project Summary
More informationLecture 5: Flow Control. CSE 123: Computer Networks Alex C. Snoeren
Lecture 5: Flow Control CSE 123: Computer Networks Alex C. Snoeren Pipelined Transmission Sender Receiver Sender Receiver Ignored! Keep multiple packets in flight Allows sender to make efficient use of
More informationNo book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6
Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine School of Computing and Information S 1 / 33 COS 140:
More informationLecture 11: Transport Layer Reliable Data Transfer and TCP
Lecture 11: Transport Layer Reliable Data Transfer and TCP COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016,
More informationProblem 7. Problem 8. Problem 9
Problem 7 To best answer this question, consider why we needed sequence numbers in the first place. We saw that the sender needs sequence numbers so that the receiver can tell if a data packet is a duplicate
More informationAnnouncements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6
Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine Computer Science Department 1 / 33 1 COS 140: Foundations
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete
More informationProject 2: Part 1: RPC and Locks
Project 2: Part 1: RPC and Locks Due: 11:59PM Thursday, October 14, 2010 1 Introduction In this series of labs, you will implement a fully functional distributed file server with the Frangipani architecture
More informationOutline. Connecting to the access network: DHCP and mobile IP, LTE. Transport layer: UDP and TCP
Outline Connecting to the access network: DHCP and mobile IP, LTE Transport layer: UDP and TCP IETF TCP/IP protocol suite User application, e.g., http with Mozilla Communication for each process on computer
More informationCSE/EE 461. Sliding Windows and ARQ. Last Time. This Time. We finished up the Network layer Internetworks (IP) Routing (DV/RIP, LS/OSPF)
CSE/EE 46 Sliding Windows and ARQ Last Time We finished up the Network layer Internetworks (IP) Routing (DV/RIP, LS/OSPF) It was all about routing: how to provide end-to-end delivery of packets. Application
More informationComputer Networks. Project 2. Project Assigned: November 14 Checkpoint: November 21 12:01 AM Due: December 04 12:01 AM. Networks - Project 2 1
Computer Networks Project 2 Project Assigned: November 14 Checkpoint: November 21 12:01 AM Due: December 04 12:01 AM Networks - Project 2 1 Overview In this programming assignment, you will be writing
More informationThe GBN sender must respond to three types of events:
Go-Back-N (GBN) In a Go-Back-N (GBN) protocol, the sender is allowed to transmit several packets (when available) without waiting for an acknowledgment, but is constrained to have no more than some maximum
More informationC08a: Data Link Protocols
CISC 7332X T6 C08a: Data Link Protocols Hui Chen Department of Computer & Information Science CUNY Brooklyn College 10/16/2018 CUNY Brooklyn College 1 Data Link Layer Responsible for delivering frames
More informationLecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa
NET 331 Computer Networks Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth Edition
More information32 bits. source port # dest port # sequence number acknowledgement number not used. checksum. Options (variable length)
Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connectionoriented transport: TCP segment
More informationEE 122: Error detection and reliable transmission. Ion Stoica September 16, 2002
EE 22: Error detection and reliable transmission Ion Stoica September 6, 2002 High Level View Goal: transmit correct information Problem: bits can get corrupted - Electrical interference, thermal noise
More informationAnnouncements Computer Networking. What was hard. Midterm. Lecture 16 Transport Protocols. Avg: 62 Med: 67 STD: 13.
Announcements 15-441 Computer Networking Lecture 16 Transport Protocols Mid-semester grades Based on (ckpt 1 & ckpt2) + midterm + HW1 + HW2 NOTE: GRADES DO NOT REFLECT LATE PENALTIES! 25.4% of class If
More informationLecture 12: Transport Layer TCP again
Lecture 12: Transport Layer TCP again COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016, J.F Kurose and K.W.
More informationComputer Networking Introduction
Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.11 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and
More informationUNIT IV -- TRANSPORT LAYER
UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission
More informationCommunication Networks
Communication Networks Prof. Laurent Vanbever Exercises week 4 Reliable Transport Reliable versus Unreliable Transport In the lecture, you have learned how a reliable transport protocol can be built on
More informationTransport Protocols for Networked Games
Transport Protocols for Networked Games 1 TCP or UDP? 2 Why use TCP? TCP provides reliable, in-order delivery TCP goes through most firewalls, UDP does not TCP manages connection for us 3 Why not to use
More informationRPC and Threads. Jinyang Li. These slides are based on lecture notes of 6.824
RPC and Threads Jinyang Li These slides are based on lecture notes of 6.824 Labs are based on Go language Why Golang? (as opposed to the popular alternacve: C++) good support for concurrency good support
More informationChapter 3 outline. 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management
Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport: TCP segment
More informationCS519: Computer Networks. Lecture 5, Part 1: Mar 3, 2004 Transport: UDP/TCP demux and flow control / sequencing
: Computer Networks Lecture 5, Part 1: Mar 3, 2004 Transport: UDP/TCP demux and flow control / sequencing Recall our protocol layers... ... and our protocol graph IP gets the packet to the host Really
More informationDistributed Systems. How do regular procedure calls work in programming languages? Problems with sockets RPC. Regular procedure calls
Problems with sockets Distributed Systems Sockets interface is straightforward [connect] read/write [disconnect] Remote Procedure Calls BUT it forces read/write mechanism We usually use a procedure call
More informationOperating Systems. 18. Remote Procedure Calls. Paul Krzyzanowski. Rutgers University. Spring /20/ Paul Krzyzanowski
Operating Systems 18. Remote Procedure Calls Paul Krzyzanowski Rutgers University Spring 2015 4/20/2015 2014-2015 Paul Krzyzanowski 1 Remote Procedure Calls 2 Problems with the sockets API The sockets
More informationPerformance of TCP Protocol Running over Wireless LAN Network using the Snoop Protocol
ENSC 833 Network Protocols And Performance Final Project Presentations - Spring 2001 Performance of TCP Protocol Running over Wireless LAN Network using the Snoop Protocol Chi-ho Ng and Jack Chow cng@sierrawireless.com
More informationSection #6 Handout. B has processed this packet and updated its position of its sliding window. Everything is in terms of bytes.
1. TCP Sequence Numbers Section #6 Handout A TCP connection has been established between hosts A and B. B receives a packet from A with the following field values shown below, Sequence: 101 Acknowledgement:
More informationComputer Networking. Reliable Transport. Reliable Transport. Principles of reliable data transfer. Reliable data transfer. Elements of Procedure
Computer Networking Reliable Transport Prof. Andrzej Duda duda@imag.fr Reliable Transport Reliable data transfer Data are received ordered and error-free Elements of procedure usually means the set of
More informationChapter III: Transport Layer
Chapter III: Transport Layer UG3 Computer Communications & Networks (COMN) Mahesh Marina mahesh@ed.ac.uk Slides thanks to Myungjin Lee and copyright of Kurose and Ross TCP: Overview RFCs: 793,1122,1323,
More informationPersistence Schemes. Chakchai So-In Department of Computer science Washington University
Persistence Schemes Chakchai So-In Department of Computer science Washington University Outline Problems Goals General Ideas Transport persistence Future schemes/ Related Work Conclusions 4/5/2007 Washington
More informationOSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1
OSI Transport Layer Network Fundamentals Chapter 4 Version 4.0 1 Transport Layer Role and Services Transport layer is responsible for overall end-to-end transfer of application data 2 Transport Layer Role
More informationETSF10 Internet Protocols Transport Layer Protocols
ETSF10 Internet Protocols Transport Layer Protocols 2012, Part 2, Lecture 2.1 Kaan Bür, Jens Andersson Transport Layer Protocols Process-to-process delivery [ed.4 ch.23.1] [ed.5 ch.24.1] Transmission Control
More informationIntro to LAN/WAN. Transport Layer
Intro to LAN/WAN Transport Layer Transport Layer Topics Introduction (6.1) Elements of Transport Protocols (6.2) Internet Transport Protocols: TDP (6.5) Internet Transport Protocols: UDP (6.4) socket interface
More informationTCP (Part 2) Session 10 INST 346 Technologies, Infrastructure and Architecture
TCP (Part 2) Session 10 INST 346 Technologies, Infrastructure and Architecture Muddiest Points Reading pseudocode Reading finite state diagrams What parts of rdt are in TCP? Goals for Today Finish up TCP
More informationInternet transport-layer protocols. Transport services and protocols. Sending and receiving. Connection-oriented (TCP) Connection-oriented
Transport services and protocols Internet -layer protocols logical communication between processes protocols run in end systems send side: breaks app messages into segments, passes to layer rcv side: reassembles
More informationPrinciples of Reliable Data Transfer
Principles of Reliable Data Transfer 1 Reliable Delivery Making sure that the packets sent by the sender are correctly and reliably received by the receiver amid network errors, i.e., corrupted/lost packets
More informationTransport Layer: outline
Transport Layer: outline Transport-layer services Multiplexing and demultiplexing Connectionless transport: UDP Principles of reliable data transfer Connection-oriented transport: TCP Segment structure
More informationTransport Layer (TCP/UDP)
Transport Layer (TCP/UDP) Where we are in the Course Moving on up to the Transport Layer! Application Transport Network Link Physical CSE 461 University of Washington 2 Recall Transport layer provides
More informationBuilding up to today. Remote Procedure Calls. Reminder about last time. Threads - impl
Remote Procedure Calls Carnegie Mellon University 15-440 Distributed Systems Building up to today 2x ago: Abstractions for communication example: TCP masks some of the pain of communicating across unreliable
More informationCooperative Multitasking
Cooperative Multitasking Cooperative Multitasking let's make the controller for the lamp in an LCD projector Lamp off Fan off evbutton Lamp on Fan on evtimeout Lamp off Fan on evbutton Code for LCD Projector
More informationCSE 123: Computer Networks Alex C. Snoeren. HW 1 due NOW!
CSE 123: Computer Networks Alex C. Snoeren HW 1 due NOW! Automatic Repeat Request (ARQ) Acknowledgements (ACKs) and timeouts Stop-and-Wait Sliding Window Forward Error Correction 2 Link layer is lossy
More informationFlow control: Ensuring the source sending frames does not overflow the receiver
Layer 2 Technologies Layer 2: final level of encapsulation of data before transmission over a physical link responsible for reliable transfer of frames between hosts, hop by hop, i.e. on a per link basis
More informationTransport: How Applications Communicate
Transport: How Applications Communicate Week 2 Philip Levis 1 7 Layers (or 4) 7. 6. 5. 4. 3. 2. 1. Application Presentation Session Transport Network Link Physical segments packets frames bits/bytes Application
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
More informationTransport Layer. Gursharan Singh Tatla. Upendra Sharma. 1
Transport Layer Gursharan Singh Tatla mailme@gursharansingh.in Upendra Sharma 1 Introduction The transport layer is the fourth layer from the bottom in the OSI reference model. It is responsible for message
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer Part b Connection-Oriented Transport Transport Layer 3-1 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4
More informationOverview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers
Overview 15-441 Computer Networking TCP & router queuing Lecture 10 TCP & Routers TCP details Workloads Lecture 10: 09-30-2002 2 TCP Performance TCP Performance Can TCP saturate a link? Congestion control
More informationCSC 4900 Computer Networks: TCP
CSC 4900 Computer Networks: TCP Professor Henry Carter Fall 2017 Project 2: mymusic You will be building an application that allows you to synchronize your music across machines. The details of which are
More informationComputer Network. Direct Link Networks Reliable Transmission. rev /2/2004 1
Computer Network Direct Link Networks Reliable Transmission rev 1.01 24/2/2004 1 Outline Direct link networks (Ch. 2) Encoding Framing Error detection Reliable delivery Media access control Network Adapter
More informationTransport Layer Marcos Vieira
Transport Layer 2014 Marcos Vieira Transport Layer Transport protocols sit on top of network layer and provide Application-level multiplexing ( ports ) Error detection, reliability, etc. UDP User Datagram
More informationCMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 9
CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 9 1 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3
More informationComputer Networking Introduction
Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.10 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and
More informationReliable Data Transfer
Reliable Data Transfer Kai Shen Reliable Data Transfer What is reliable data transfer? guaranteed arrival no error in order delivery Why is it difficult? unreliable underlying communication channel, which
More informationCS4700/CS5700 Fundamentals of Computer Networks
CS4700/CS5700 Fundamentals of Computer Networks Lecture 14: TCP Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu Northeastern
More informationCS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 21: Network Protocols (and 2 Phase Commit)
CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring 2003 Lecture 21: Network Protocols (and 2 Phase Commit) 21.0 Main Point Protocol: agreement between two parties as to
More informationTransport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol
Transport Layer Transport Layer The transport layer is responsible for the delivery of a message from one process to another Types of Data Deliveries Client/Server Paradigm An application program on the
More information10 minutes survey (anonymous)
10 minutes survey (anonymous) v Comments/Suggestions to my lecture/lab/ homework/exam v If you like this course, which part do you like? v If you don t like it, which part do you not like? Thanks! Transport
More information