A simple network connecting two machines Machine A Machine B
Message format 1 bit header Pay load (32bit) Address 1 Data 0= Request Address 1 Data 0= Request 1= Reply
Software steps for sending a message Application data Operating system buffer Check sum Interface hardware Network
Message Reception Send acknowledge to sender and message to application layer yes No Check sum Correct ? Delete the message Operating system buffer Interface hardware Network
Sender Reactions on Acknowledge From network Acknowledge Receive ? No yes Send new message Send copy of previous message network
Header with 2-bits 2-bit header 4-bit trailer Data 00 = Request 01 = Reply 10 = Ack. Request 11 = Ack. Reply
The protocol must handle many more issues than reliability. If two machines are from different manufactures, they might order byte in differently within a word.
Performance issues Bandwidth Time of flight Transmission time Transport latency Sender overhead Receiver overhead
Example#1 Assume a network with a bandwidth of 1000Mbits/sec has a sending overhead of 80μsec and receiving overhead of 100μsec. Assume two machines. One wants to send 10,000 byte message to the other (including header), and the message format allows 15,000 bytes in a single message. Let’s compare SAN, LAN, and WAN by changing the distance between machines. Calculating the total latency to send the message from one machine to another in a SAN assuming they are 10m apart. Next, perform the same calculation but assume the machines are 500m apart. Finally, assume they are 1000Km apart.
Solution Signals propagate at about 63% to 66% of the speed light in a conductor. Assumptions We will round the speed of light to 300,000Km/sec. We can achieve 2/3 of that in a conductor.
By using these two assumptions we get: Distance between two machines in Km Time of flight = ----------------------------------------- 2/3 x 300,000Km/sec Total Latency = Sender overhead + Time of flight + Message size/bandwidth + Receiver overhead
For SAN Total latency = 80μsec + (0.010Km/(2/3 x 300,000Km/sec)) + 10,000bytes/ 1000Mbits/sec + 100μsec = 80μsec + 0.05μsec + 80μsec = 260μsec
For LAN Total latency = 80μsec + (0.5Km/(2/3 x 300,000Km/sec)) + 10,000bytes/ 1000Mbits/sec + 100μsec = 80μsec + 2.5μsec + 80μsec = 262μsec
For WAN Total latency = 80μsec + (1000Km/(2/3 x 300,000Km/sec)) + 10,000bytes/ 1000Mbits/sec + 100μsec = 80μsec + 5000μsec + 80μsec = 5260μsec
Example#2 Page: 799 (H&P) And fig. 8.8 page:800 (H&P)