Académique Documents
Professionnel Documents
Culture Documents
Introduction
[Comer] - ch. 4, 5, 6, 7,
9, 10 & 23
[Stevens] - ch. 3, 4, 5, 6,
7, 8
Obs: important (*)
Internetworking Issues
Internet Network Layer
IP Adjunct Protocols
IPv4
Service Model
IPv4 Datagram Format
IP Service Primitives
IPv4 Addressing
Adrian Popescu, 2003, 2004
1/26
2/26
Introduction
Subnets and Subnet Masks
Definition Internetworking
ICMPv4
Address Translation
Some definitions
Datagram Delivery
Routers
3/26
Host B
Applic.
Layer
Applic.
Layer
TCP
Router
IP
IP
IP
NAP 1 NAP 2
Network
Access
Protoc. 2
PHY
PHY
TCP
PHY
PHY
Subnetwork 1
Operating System
Host A
Operating System
4/26
Internetworking Issues
Network
Access
Protoc. 1
Subnetwork 2
Functions:
TCP: Error & Flow Control (end-to-end); QoS
Overall requirements
Services provided to the TL
Naming
Addressing
Routing
Internetworking
Quality of Service
Maximum packet size
Flow and error control
Congestion control
Error reporting
Network layer structure
Architectural approaches
....
5/26
6/26
IP Adjunct Protocols
AL
AP
AP
AP
AP
Routing protocols
path selection
RIP, OSPF, BGP
TCP
addressing convent.
datagram format
packet handling
conventions
IP
IGMP
ICMP
OSPF, ...
Routing
NL
table
NL
ICMP protocol
error reporting
router "signaling"
ARP
UDP
IP protocol
ARP
RARP
RARP
DLL
DLL
PHY
PHY
PHY
7/26
8/26
IPv4
Service Model
IP service model:
Main Components:
Addressing scheme
Aspects considered:
IP Specs
Service Model
IPv4 Datagram Format
IP Service Primitives
IPv4 Addressing
ICMPv4
Address Translation
Datagram Delivery
ICANN (Internet Cooperation for Assigned Names and Numbers technical coordination body for the Internet): www.icann.org
0
Version
20 bytes (min)
19
Type of Service
Identification
Time to Live (TTL)
8
IHL
31
Total Length (16 bits): total datagram length (Header & Data), in octets
Total Length
Flags
Fragment Offset
Header Checksum
Protocol
Source Address
Destination Address
The Dont Fragment bit prohibits fragmentation when set; the datagram
will then be discarded if it exceeds the maximum size of an en route network
Data
Fragment Offset (13 bits): indicates (position) where in the original datagram the specific fragment belongs, measured in 64-bit units
Time to Live (TTL - 8 bits): specifies how long, in seconds, a datagram is
allowed to remain in the Internet; every router that processes a datagram
must decrease the TTL by at least one (i.e., decreased with 1 sec/router)
Protocol (8 bits): indicates the next higher layer protocol to receive the
data field at destination
10/26
11/26
12/26
IP Service Primitives
Source Address (32 bits): to allow a variable number of bits to specify the
network (and the subnetwork) and the host address of the transmitting
host
TCP/UDP --> IP
Send {
Source address
Destination address
Protocol
Type of service
Identification
Dont fragment identifier
TTL
Data length
Options data
Data
}
IP --> TCP/UDP
Deliver {
Source address
Destination address
Protocol
Type of service
------Data length
Options data
Data
}
Data (variable): the data field must have a length that is an integer multiple of 8 bits; maximum datagram length (header plus data) is 65,536
octets
13/26
1 0
1 1 0
14/26
IPv4 Addressing
Actually, there are two forms of addressing (with reference to the number
N of bits for the network part of an IP address):
Class A
HostID (8 bits)
Class B
Class C
Class D
1 1 1 1 0
Future Use
Class E
Important observation
15/26
16/26
A third hierarchical level was introduced in 1984 in the addressing structure, namely subnet
Accordingly
The Subnet field can be of any length, and it is specified by a 32-bit mask
The effect of the Subnet Mask is to erase the portion of the Host field, so
leaving only the Network number and the Subnetwork number
OBS: Prefix in the Address Format is NOT the same as the Network_Prefix
(as indicated by the Subnet Mask); Network_Prefix is indicated by a
number of leftmost bits in the address according to a bitwise-AND computation of the address and the subnet mask
own IP address
subnet mask
routers IP address
Assigning addresses:
manual configuration/static allocation (by a system administrator)
dynamic allocation (Dynamic Host Configuration Protocol DHCP)
Internet Network Information Center (InterNIC): authority that has the
responsibility for the distribution of IP addresses
Dept of Telecommunications & Signal Processing
Internetworking with TCP/IP - ETC003 - Lecture 2
17/26
18/26
ICMPv4
There are lots of problems related to IP that may go wrong, e.g., packets
may be dropped at routers, routes may be wrongly configured, packets
may become corrupted, TTL expires, etc.
IP may detect some of the errors, and uses ICMP to report the errors
Max packet size (in link) varies in different networks and depends, among
others, on bit error rate, transit delay, buffer storage requirements, etc.
ICMP is used by hosts, routers & gateways to communicate NL information to each other, mostly for signaling/diagnosing error conditions; it
provides feedback information about network problems [RFC792]; also, it
does NOT necessarily correct errors
Max packet sizes (also known as Maximum Transfer Unit MTU) are
between 128 bytes (for some public carrier networks) and 8191 bytes (and
higher) for some LANs
Examples of MTU: 1500 bytes (Ethernet); 4464 bytes (Token Ring); 8191
bytes (Token Bus); 4352 bytes (FDDI); and 53 bytes (ATM)
Obs: there are also requirements for minimum packet size, like in the case
of Ethernet (min 64 bytes)
Consequences: IP must allow for segmentation & reassembly
ICMP also defines an "echo" function that can be used for testing connectivity (ping)
IPv6: does not allow for segmentation & reassembly at intermediate routers but only at terminal
IPv4: uses "Identification", "Flags" and "Fragmentation Offset" fields in the
datagram header for segmentation & reassembly
Practically: most TPDUs (TCP segments) for bulk data transfers are of
sizes 512 - 536 bytes to avoid the need for segmentation
19/26
20/26
ICMPv4 (cont.)
Address Translation
ICMP messages have the format Type/Code/Checksum and also contain the
first eight bytes of the IP datagram (together with the Header) that
caused the ICMP message to be generated in the first place (such as the
sender can determine the packet that caused the error)
16
8
Type
31
Checksum
Code
Unused
ICMP Type
0
3
3
3
3
3
3
4
8
9
10
11
12
Variants of ARP/RARP have been defined for many networking technologies, such as Ethernet/IEEE802.3 (not only Ethernet, but also any of
IEEE802 technologies, including Token Ring IEEE802.5), FDDI, SMDS,
etc.; in the case of WAN the situation is more complex and the address is
set by a Network Management operation (typically used for X.25, FR,
ATM)
IP Header
Code
0
0
1
2
3
6
7
0
0
0
0
0
0
Programs that are using ARP: arp (comment: ARP request is an Ethernet
broadcast)
Lists of IP/MAC address pairs are in proxy ARP memory (routers/gateways), ARP cache memory (hosts) and proxy ARP routers
21/26
22/26
Datagram Delivery
Discovery procedures:
Static
Dynamic:
using special ICMP messages of types "advertisements" and "solicitations"
23/26
24/26
Routers
Routers differ from switches in the sense that the network types to be
connected need NOT be the same
Input ports: with functions at PHY, DLL & lookup and forwarding levels
Switching fabric: connects input ports to output ports
25/26
26/26