09.12.2012 Views

Understanding the network.pdf - Back to Home

Understanding the network.pdf - Back to Home

Understanding the network.pdf - Back to Home

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5. The <strong>network</strong> packet is handed <strong>to</strong> <strong>the</strong> data link layer.<br />

6. At <strong>the</strong> data link layer, <strong>the</strong> <strong>network</strong> packet is wrapped in a<br />

header and footer that are appropriate <strong>to</strong> <strong>the</strong> data-link pro<strong>to</strong>col.<br />

After <strong>the</strong> destination host receives <strong>the</strong> <strong>network</strong> packet, <strong>the</strong> process is<br />

reversed and <strong>the</strong> data is handed back <strong>to</strong> <strong>the</strong> ULP. Remember that <strong>the</strong><br />

transport pro<strong>to</strong>col is independent from <strong>the</strong> ULP and <strong>the</strong> LLP (Lower<br />

Layer Pro<strong>to</strong>cols). Its job is only <strong>to</strong> provide data transport. The actual<br />

delivery is in part a joint effort between <strong>the</strong> ULP and <strong>the</strong> LLP.<br />

TCP<br />

TCP provides connection-oriented data transport over dedicated<br />

process owned by a VC. It works over almost any type of <strong>network</strong> and<br />

is designed <strong>to</strong> provide reliable data transport between nodes over<br />

unreliable <strong>network</strong> delivery services. For TCP, reliable transport<br />

means in-sequence, adjustable-rate, and error-free transmission of<br />

ULP data.<br />

TCP provides <strong>the</strong> following services <strong>to</strong> facilitate <strong>the</strong>se transport goals:<br />

• Full duplex—TCP connections are bidirectional. Continuous data<br />

flow is provided <strong>to</strong> communicating with <strong>the</strong> ULPs.<br />

• Data sequencing—Data is delivered <strong>to</strong> <strong>the</strong> ULP in <strong>the</strong> byte order<br />

in which it was sent. TCP provides for transport level and below<br />

data fragmentation. TCP assigns sequence numbers for each<br />

ULP data segment. These sequence numbers are used at <strong>the</strong><br />

peer end of <strong>the</strong> TCP session <strong>to</strong> reassemble <strong>the</strong> ULP data back<br />

in<strong>to</strong> its original form. If a sequence is lost, <strong>the</strong> peer requests it<br />

<strong>to</strong> be resent, and <strong>the</strong> data is not sent <strong>to</strong> <strong>the</strong> ULP until all <strong>the</strong> data<br />

is reassembled.<br />

• Flow control—TCP uses a sliding window strategy <strong>to</strong> transmit<br />

data. TCP establishes <strong>the</strong> speed of <strong>the</strong> entire path at <strong>the</strong> start of<br />

<strong>the</strong> session. It <strong>the</strong>n creates a window whose size is based on <strong>the</strong><br />

speed of <strong>the</strong> path between <strong>the</strong> source and destination. TCP uses<br />

<strong>the</strong> window <strong>to</strong> frame <strong>the</strong> amount of data it will send at one time<br />

and uses <strong>the</strong> sequencing numbers <strong>to</strong> keep track of each byte it<br />

transmits. TCP sends a burst of data and waits for confirmation<br />

from <strong>the</strong> peer that all <strong>the</strong> data has been received. If no response<br />

is received, TCP will retransmit <strong>the</strong> data until it gets an<br />

acknowledgment that <strong>the</strong> peer has received all <strong>the</strong> data. TCP<br />

uses timers (<strong>to</strong> measure between when <strong>the</strong> data was sent and<br />

<strong>the</strong> acknowledgment was received) <strong>to</strong> adjust <strong>the</strong> size of <strong>the</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!