15.08.2013 Views

General Computer Science 320201 GenCS I & II Lecture ... - Kwarc

General Computer Science 320201 GenCS I & II Lecture ... - Kwarc

General Computer Science 320201 GenCS I & II Lecture ... - Kwarc

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

name comment<br />

4 version IPv4 or IPv6 packet<br />

4 Header Length in multiples 4 bytes (e.g., 5 means 20 bytes)<br />

8 QoS Quality of Service, i.e. priority<br />

16 length of the packet in bytes<br />

16 fragid to help reconstruct the packet from fragments,<br />

3 fragmented DF ˆ= “Don’t fragment”/MF ˆ= “More Fragments”<br />

13 fragment offset to identify fragment position within packet<br />

8 TTL Time to live (router hops until discarded)<br />

8 protocol TCP, UDP, ICMP, etc.<br />

16 Header Checksum used in error detection,<br />

32 Source IP<br />

32 target IP<br />

. . . optional flags according to header length<br />

Note that delivery of IP packets is not guaranteed by the IP protocol.<br />

c○: Michael Kohlhase 343<br />

As the internet protocol only supports addressing, routing, and packaging of packets, we need<br />

another layer to get services like the transporting of files between specific computers. Note that<br />

the IP protocol does not guarantee that packets arrive in the right order or indeed arrive at all,<br />

so the transport layer protocols have to take the necessary measures, like packet re-sending or<br />

handshakes, . . . .<br />

The Transport Layer<br />

Definition 502 The transport layer is responsible for delivering data to the appropriate<br />

application process on the host computers by forming data packets, and adding source and<br />

destination port numbers in the header.<br />

Definition 503 The internet protocol mainly suite uses the Transmission Control Protocol<br />

(TCP) and User Datagram Protocol (UDP) protocols at the transport layer.<br />

TCP is used for communication, UDP for multicasting and broadcasting.<br />

TCP supports virtual circuits, i.e. provide connection oriented communication over an underlying<br />

packet oriented datagram network. (hide/reorder packets)<br />

TCP provides end-to-end reliable communication (error detection & automatic repeat)<br />

c○: Michael Kohlhase 344<br />

We will see that there are quite a lot of services at the network application level. And indeed,<br />

many web-connected computers run a significant subset of them at any given time, which could<br />

lead to problems of determining which packets should be handled by which service. The answer<br />

to this problem is a system of “ports” (think pigeon holes) that support finer-grained addressing<br />

to the various services.<br />

Ports<br />

Definition 504 To separate the services and protocols of the network application layer,<br />

network interfaces assign them specific port, referenced by a number.<br />

Example 505 We have the following ports in common use on the Internet<br />

196

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

Saved successfully!

Ooh no, something went wrong!