Protocol TCP IP
Protocol TCP IP
Internetworking
• Interconnected networks, usually implies
TCP/IP
• Can appear to users as a single large
network
• The global Internet is the largest example,
but intranets and extranets are also
examples
TCP/IP protocol family
• IP : Internet Protocol
– UDP : User Datagram Protocol
• RTP, traceroute
– TCP : Transmission Control Protocol
• HTTP, FTP, ssh
What is an internet?
• A set of interconnected networks
• The Internet is the most famous
example
OSI Model
7th
OSI and Protocol Stack
TCP/IP Hierarchy Protocols
Application Layer
6th
Presentation Application
Layer Layer
5th
Session Layer
4th
Transport
Transport Layer
Layer
3rd
Network Layer
Network Layer
2nd
Link Layer
Link Layer
1st
Physical Layer
2.16
Packet Encapsulation
The data is sent down the protocol stack
Each layer adds to the data by prepending headers
22Bytes20Bytes20Bytes 4Bytes
64 to 1500 Bytes
Addressing
• Each computer on a network requires a
unique address on that network
• Each application requires a unique address
within the computer to allow support for
multiple applications (service access points,
or SAP)
ADDRESSING
Four levels of addresses are used in an internet
employing the TCP/IP protocols: physical, logical, port,
and specific.
Physical Addresses
Logical Addresses
Port Addresses
Specific Addresses
Most local-area networks use a 48-bit (6-byte)
physical address written as 12 hexadecimal digits;
07:01:02:01:2C:4B
2.20
Example 2.4
2.21
Figure 2.21 Port addresses
2.22
IP
• Responsible for end to end transmission
• Sends data in individual packets
• Maximum size of packet is determined by
the networks
– Fragmented if too large
• Unreliable
– Packets might be lost, corrupted, duplicated,
delivered out of order
Internet Protocol
• IP stands for Internet Protocol
• IP specifies the format of packets, also
called datagrams, and the addressing
scheme.
• Most networks combine IP with a higher-
level protocol called Transmission
Control Protocol (TCP)
IP addresses
• 4 bytes
– e.g. 163.1.125.98
– Each device normally gets one (or more)
– In theory there are about 4 billion available
• But…
Routing
• How does a device know where to send
a packet?
– All devices need to know what IP
addresses are on directly attached
networks
– If the destination is on a local network,
send it directly there
Routing (cont)
• If the destination address isn’t local
– Most non-router devices just send
everything to a single local router
– Routers need to know which network
corresponds to each possible IP address
IP packets
• Source and destination addresses
• Protocol number
– 1 = ICMP, 6 = TCP, 17 = UDP
• Various options
– e.g. to control fragmentation
• Time to live (TTL)
– Prevent routing loops
0 4
IP Datagram
8 16 19 24 31
Vers Len TOS Total Length
Identification Flags Fragment Offset
TTL Protocol Header Checksum
Source Internet Address
Destination Internet Address
Options... Padding
Data...
• Routing Table
Destination IP address
IP address of a next-hop router
Flags
Network interface specification
UDP
• Thin layer on top of IP
• Adds packet length + checksum
– Guard against corrupted packets
• Also source and destination ports
– Ports are used to associate a packet with a
specific application at each end
• Still unreliable:
– Duplication, loss, out-of-orderness possible
UDP datagram
0 16 31
Source Port Destination Port
Length Checksum
Application data
Field Purpose
Source Port 16-bit port number identifying originating application
Destination Port 16-bit port number identifying destination application
Length Length of UDP datagram (UDP header + data)
Checksum Checksum of IP pseudo header, UDP header, and data
Typical applications of
UDP
– Where packet loss etc is better handled by
the application than the network stack
– Where the overhead of setting up a
connection isn’t wanted
• VOIP
• NFS – Network File System
• Most games
TCP
• Reliable, full-duplex, connection-
oriented, stream delivery
– Interface presented to the application
doesn’t require data in individual packets
– Data is guaranteed to arrive, and in the
correct order without duplications
• Or the connection will be dropped
– Imposes significant overheads
Applications of TCP
• Most things!
– HTTP, FTP, …
You just need to know port numbers, seq and ack are added
TCP : Data transfer
Clien Host
t
Send Packet 1
Start Timer Packet Lost Packet should arrive
Timer ACK should be sent
ACK would normally
Arrive at this time
Time Expires
Retransmit Packet1
Timer Start Timer Receive Packet 1
Send AXK 1
Receive ACK 1
Cancel Timer
IPv6
• 128 bit addresses
– Make it feasible to be very wasteful with
address allocations
• Lots of other new features
– Built-in autoconfiguration, security options,
…
• Not really in production use yet