Title: An Introduction to Computer Networks
1 An Introduction to Computer Networks
Lecture 8 Internetworking
- University of Tehran
- Dept. of EE and Computer Engineering
- By
- Dr. Nasser Yazdani
2 Outline
- Internetworking
- Best Effort Service Model
- Segmentation and Reassembly (SAR)
- Global Addressing Scheme
- Packet forwarding.
3 Internetworking
- Communication between networks, either directly
connected or switched - Problems
- Different Networking technologies
(Heterogeneity). - So many Networks (Scaling).
- Surviving in case of failure.
- Different services
- etc.,
- Some terminologies
- internetworking refer to an arbitrary
collection of connected networks. - Internet the global internetwork.
4Goals of the DARPA project
- Connect existing networks
- initially ARPANET and ARPA packet radio network
- Survivability
- ensure communication service even in the presence
of network and router failures - Support multiple types of services
- Must accommodate a variety of networks
- Allow distributed management
- Allow host attachment with a low level of effort
- Allow resource accountability
5IP Internet
- Concatenation of Networks or networks of
Networks. - R is routers and H is hosts.
Network 1 (Ethernet)
H7
R3
H8
H2
H3
H1
Network 4
Network 2 (Ethernet)
(point-to-point)
R1
R2
H4
Network 3 (FDDI)
H5
H6
6IP Internet (cont)
- Protocol Stack
- Everything is running on top of IP, IP over
everythings
H1
H8
TCP
TCP
R2
R3
R1
IP
IP
IP
IP
IP
FDDI
PPP
ETH
ETH
ETH
FDDI
PPP
ETH
7Service Model
- Connectionless (datagram-based)
- Best-effort delivery (unreliable service)
- packets are lost. No recover from lost.
- packets are delivered out of order
- duplicate copies of a packet are delivered
- packets can be delayed for a long time
- Datagram format
0
4
8
16
19
31
Version
HLen
TOS
Length
Ident
Flags
Offset
TTL
Protocol
Checksum
- Contains all information
- for routing of a packet.
SourceAddr
DestinationAddr
Pad
Options (variable)
(variable)
Data
8Packet Headers
- The current Version is 4 or IPv4.
- HLen- the Header Length from 5-15 in 32-bit
words. - Length- the total length of the packet including
headers. Max length is 64K. - TTL Time To Live is expressed in second. It is
to prevent packet from permanently circulating in
a loop. - Protocol specify the packet application ex. 1
for ICMP. It is for demultiplexing to higher
layer protocols. - Checksum is a 1-complement error checksum for
the header only.
9Packet Headers (Cont)
- TOS type of Service
- Precedence
- Specify the priority
- Type of Services
- Specify routing, for instance cheapest, fastest
and more reliable - D for Delay
- T for Throughput
- R for Reliability
- C for low cost.
- Note Precedence is only for inside channel
queuing.
0 2 3 7 0 2 3 7 0 2 3 7 0 2 3 7 0 2 3 7
Precedence Type of service Type of service Type of service Type of service
Precedence D T R C
10Packet Headers (Cont)
- Options
- If C set, the option will copied to all
fragments. Otherwise, only to the first one. - Class 0 for control
- Class 2 for debugging and measurement.
- Options are rarely used in today except for
loose and strict source routing parameters. - loose and strict source option sometimes, is
used for IP encapsulation in another IP or
Tunneling
C Class Number
11Fragmentation and Reassembly
0 70 70 4 70 7 0 70 70 4 70 7 0 70 70 4 70 7
Identification Flags Fragment Offset
- Flags
- DF Dont Fragment
- MF More Fragment coming
- In fragmentation, IP copy the original header and
only modify - The length, which is the new length, and offset.
- Offset is used for reassembly.
- Note Fragmentation may degrade the network
performance. - That is why the IP packet should be the same of
TCP packets - Modern TCP implement Path MTU discovery.
- It start with large packet and with DF set flag,
if it passed - TCP keeps the same packet size, otherwise, it
reduces it.
0 1 2
0 DF MF
12Fragmentation and Reassembly (cont)
- Each network has a Maximum Transfer Unit size,
MTU - Strategy
- fragment when necessary (MTU lt Datagram)
- try to avoid fragmentation at source host
- re-fragmentation is possible
- fragments are self-contained datagrams
- use CS-PDU (not cells) for ATM
- delay reassembly until destination host
- do not recover from lost fragments
13Example
- Packet delivery from host H1 to host H8
14Example (cont)
The packets are fragmented as
15Addressing
- Each host in the network is identified by an
address having the following property. - globally unique
- hierarchical network host
- Address Classes
- Class D for Multicasting
- Class E for experiments
- Address Notation
- 10.3.2.4
- 128.96.33.81
- 192.12.69.77
7
24
Network
A
Host
0
14
16
1
0
B
Network
Host
21
8
C
Network
Host
1
1
0
16IP Addresses
Example Class A address www.mit.edu 18.18
1.0.31
(18lt128 gt Class A) Class B
address mekong.stanford.edu 171.64.74.155
(128lt171lt12864 gt Class C) www.ece.ut.ac.ir 1
94.225.
17Addressing in IP
- IP addresses are names of interfaces
- Domain Name System (DNS) names are names of hosts
- DNS binds host names to interfaces
- Routing binds interface names to paths
18How to assign IP Addresses?
- Manually
- Uniqueness
- Too much and tedious job
- Dynamically use DHCP Dynamic Host Configuration
Protocol.
19Making a Forwarding Decision
IP Address Space
Class A
Class B
Class C
D
Class A
Routing Table
Class B
212.17.9.4
Exact
Match
Class C
212.17.9.0
Port 4
212.17.9.0
20Forwarding Datagrams
- Every datagram contains a destination address.
- Network ID uniquely identifies a physical
network. - All hosts and routers sharing a Network ID share
same physical network.
21Forwarding an IP Router
- Lookup packet DA in forwarding table.
- If known, forward to correct port.
- If unknown, drop packet.
- Decrement TTL, update header Checksum.
- Forward packet to the outgoing interface.
- Transmit packet onto link.
22Address Translation
- Map IP addresses into physical addresses
- destination host
- next hop router
- Techniques
- encode physical address in host part of IP
address - table-based
- ARP
- table of IP to physical address bindings
- broadcast request if IP address not in table
- target machine responds with its physical address
- table entries are discarded if not refreshed
23ARP Details
- Request Format
- HardwareType type of physical network (e.g.,
Ethernet) - ProtocolType type of higher layer protocol
(e.g., IP) - HLEN PLEN length of physical and protocol
addresses - Operation request or response
- Source/Target-Physical/Protocol addresses
- Notes
- table entries timeout in about 10 minutes
- update table with source when you are the target
- update table if already have an entry
- do not refresh table entries upon reference
24ARP Packet Format
- HLen Hardware Address Length
- PLen Protocol Address Length
25Internet Control Message Protocol (ICMP)
- Echo (ping)
- Redirect (from router to source host)
- Destination unreachable (protocol, port, or host)
- TTL exceeded (so datagrams dont cycle forever)
- Checksum failed
- Reassembly failed
- Cannot fragment
26Tunneling
- Big companies having different networks want to
connect them together. - Virtual Private Network (VPN)
- Use leased line to connect networks.
- Use Internet (Shared line).
- Sloution
- Encapsulate packets in R1 in IP packets for
destination R2.
Internet
Network 2
R2
Network 1
R1
Virtual line
27IP Address Problem (1991)
- Address space depletion
- In danger of running out of classes A and B
- Why?
- Class C too small for most domains
- Very few class A IANA (Internet Assigned
Numbers Authority) very careful about giving - Class B greatest problem
28IP Address Utilization (98)
http//www.caida.org/outreach/resources/learn/ipv4
space/
29Classless AddressingCIDR
Class-based
A
B
C
D
0
232-1
Classless
128.9.0.0
65/8
128.9/16
0
232-1
216
128.9.16.14
30Classless AddressingCIDR
128.9/16
0
232-1
128.9.16.14
31Forwarding Datagrams
128.17.20.1
e.g. 128.9.16.14 gt Port 1
R2
Prefix
Port
Next-hop
3
65/8
128.17.16.1
R1
R3
1
128.9/16
2
128.17.14.1
2
128.9.16/20
1
128.17.14.1
3
128.9.19/24
7
128.17.10.1
128.9.25/24
2
128.17.14.1
R4
128.9.176/20
1
128.17.20.1
142.12/19
3
128.17.16.1
128.17.16.1
32Default Routing
R1
R2
R3
R4
R5
33Inside a Router
3.
1.
Output Scheduling
2.
Forwarding Table
Interconnect
Forwarding Decision
Forwarding Table
Forwarding Decision
Forwarding Table
Forwarding Decision
34IP Version 6
- Features
- 128-bit addresses (classless)
- multicast
- real-time service
- authentication and security
- autoconfiguration
- Any cast address
- protocol extensions
- Header
- 40-byte base header
- extension headers (fixed order, mostly fixed
length) - No fragmentation
- source routing
- authentication and security
- other options
35IPV6 Packet format
0
4
16
24
31
12
Version
TrafficClass
FlowLabel
PayloadLen
NextHeader
HopLimit
SourceAddr (16 bytes)
DestinationAddr (16 bytes)
Next header/ Data
- Next header IP option and protocol fields in
IPv4. If options (i.e. fragmentation) indicated
by this field, otherwise, it is protocol fields.