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
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