Upload
clinton-powell
View
217
Download
3
Tags:
Embed Size (px)
Citation preview
1
Introduction to Computer Networks
University of Ilam
By: Dr. Mozafar Bag-Mohammadi
Internetworking
2
Internetworking Communication between networks. Problems:
Different Networking technologies (Heterogeneity). So many Networks (Scaling).
Some terminologies: “internetworking” refer to an arbitrary collection of
connected networks. “Internet” the global internetwork. “Network” either directly connected or switched
network using any LAN technology such as Ethernet, Token ring, ATM, etc.
3
IP Internet
Concatenation of Networks or “networks of Networks”.
“R” is routers and “H” is hosts.
R2
R1
H4
H5
H3H2H1
Network 2 (Ethernet)
Network 1 (Ethernet)
H6
Network 3 (FDDI)
Network 4(point-to-point)
H7 R3 H8
4
IP Internet (cont)
Protocol Stack
Everything is running on top IP
R1
ETH FDDI
IPIP
ETH
TCP R2
FDDI PPP
IP
R3
PPP ETH
IP
H1
IP
ETH
TCP
H8
5
Source Routing
0
13
2
0
1 3
2
0
13
2
0
13
2
3 0 1 3 01
30 1
Switch 3
Host B
Switch 2
Host A
Switch 1
• All routing information is provided by the source.•The address can be implemented by a linked list in the packet header.
6
Networking Technologies
Circuit Based Packet Based
Virtual Circuits Connectionless
TDM TelephonySONET/SDH
Frame RelayATM
IP
X.25
CLNP (ISO)SNA (IBM)Appletalk IPX (Novell)
DWDM
Connection Oriented
(variable rate, store-and-forward)(constant rate)
7
Virtual Circuit Switching Problems with source routing:
The source must know the whole topology of network.
The number of switches (header) is variable. 2nd solution: use the telephone model or virtual
circuits. Explicit connection setup (and tear-down) phase. This
is called signaling. Each flow is identified by a Virtual Circuits Identifier
(VCI). Switch needs to maintains a VC table.
8
Virtual Circuit Switching (cont) Subsequence packets follow the same circuit
Sometimes called connection-oriented model. VCIs is swapped in the switches. Example: Lookup table.
0
13
2
01 3
2
0
13
25 11
4
7
Switch 3
Host B
Switch 2
Host A
Switch 1
In-port In-VCI Out-port Out-VCI
2 5 1 11
3 11 0 7
9
Virtual Circuit Model Typically wait full RTT for connection setup
before sending first data packet.
While the connection request contains the full address for destination, each data packet contains only a small identifier, making the per-packet header overhead small.
If a switch or a link on the path fails, the connection is broken and a new one needs to be established.
Connection setup provides an opportunity to reserve resources.
10
Datagram Switching No connection setup phase since it is costly. Each packet forwarded independently Sometimes called connectionless model
0
132
01 3
2
013
2
Switch 3 Host B
Switch 2
Host A
Switch 1
Host C
Host D
Host EHost F
Host G
Host H
Analogy: postal system
Each switch maintains a forwarding (routing) table
11
Datagram Model There is no round trip time delay waiting for connection
setup; a host can send data as soon as it is ready.
Source host has no way of knowing if the network is capable of delivering a packet or if the destination host is even up.
Since packets are treated independently, it is possible to route around link and node failures.
Since every packet must carry the full address of the destination, the overhead per packet is higher.
12
Connection Oriented vs. Connectionless
Connection Oriented
Connectionless•Best-effort delivery (Send and Pray)
•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
• Connection set up. Signaling reserves resources along the end-to-end path
• Traffic flows • Connection torn down and resources freed
13
Encapsulation Example
Ethernet Header
IP Header
TCP Header
HTTP Header
….
HTTP Data ….
An Ethernet segment transmitting HTTP data.
14
IP 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.
Version HLen TOS Length
Ident Flags Offset
TTL Protocol Checksum
SourceAddr
DestinationAddr
Options (variable) Pad(variable)
0 4 8 16 19 31
Data
15
Packet Headers
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.
16
Packet 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
PrecedenceType of service
D T R C
17
Packet 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
18
Fragmentation and Reassembly0 7|0 7|0 4 7|0 7
Identification Flags Fragment Offset
0 1 2
0 DF MF
Flags DF: Don’t Fragment MF: More Fragment coming
In fragmentation, IP copy the original header and only modifyThe length, which is the new length, and offset. Offset is used for reassembly. Note: Fragmentation may degrade the network performance.
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.
19
Fragmentation and Reassembly (cont)
Each network has a Maximum Transfer Unit size, MTU Strategy
fragment when necessary (MTU < Datagram) try to avoid fragmentation at source host re-fragmentation is possible fragments are self-contained datagrams delay reassembly until destination host do not recover from lost fragments
20
Example
• Packet delivery from host H1 to host H8
H1 R1 R2 R3 H8
ETH IP (1400) FDDI IP (1400) PPP IP (512)
PPP IP (376)
PPP IP (512)
ETH IP (512)
ETH IP (376)
ETH IP (512)
21
Example (cont)
Ident = x Offset = 0
Start of header
0
Rest of header
1400 data bytes
Ident = x Offset = 0
Start of header
1
Rest of header
512 data bytes
Ident = x Offset = 512
Start of header
1
Rest of header
512 data bytes
Ident = x Offset = 1024
Start of header
0
Rest of header
376 data bytes
The packets are fragmented as:
22
Addressing
Each host in the network is identified by an address having the following property. globally unique hierarchical: network + host
11111111 00010001 10000111 00000000
Network Number Host Number
23
IPv4 Implementation of Addresses
Thirty Two Bits: 0 8 1
624
11111111 00010001 10000111 00000000
255 013517
255.17.135.0
Dotted Quad notation for “human readability”
24
Classful Addresses
0nnnnnnn
10nnnnnn nnnnnnnn
nnnnnnnn nnnnnnnn110nnnnn
hhhhhhhh hhhhhhhh hhhhhhhh
hhhhhhhh hhhhhhhh
hhhhhhhh
n = network address bit h = host identifier bit
Class A
Class C
Class B
25
The Classful Address Space
Class Networks Hosts Share of IPaddress space
A 127 16,777,214 1/2
B 16,384 65,534 1/4
C 2,097,152 254 1/8
Leads to very inefficient allocation of addresses …
26
IP Addresses
Example:
Class “A” address www.mit.edu18.181.0.31
(18<128 => Class A)
Class “B” address mekong.stanford.edu171.64.74.155
(128<171<128+64 => Class B)
27
Classless AddressingCIDR
A B C D0 232-1
0 232-1
128.9/16
128.9.0.0
216
142.12/19
65/8
Classless:
Class-based:
128.9.16.14
28
Classless AddressingCIDR
0 232-1
128.9/16
128.9.16.14
128.9.16/20128.9.176/20
128.9.19/24
128.9.25/24
Most specific route = “longest matching prefix”
29
Forwarding Datagrams
“Network ID” uniquely identifies a physical network. All hosts and routers sharing a Network ID share
same physical network. Every datagram contains a destination
address. Is the datagram for a host on directly
attached network? If no, consult forwarding table to find next-hop. If only one next-hop, can use default routing.
30
Forwarding Datagrams
128.9/16128.9.16/20
128.9.176/20
128.9.19/24128.9.25/24
142.12/19
65/8
Prefix Port
3227213
128.17.14.1128.17.14.1
128.17.20.1
128.17.10.1128.17.14.1
128.17.16.1
128.17.16.1
Next-hop
R1
R2
R3
R4
12
3
128.17.20.1
128.17.16.1
e.g. 128.9.16.14 => Port 2
128.17.14.1
31
Default Routing
R1
R2 R3 R4 R5
DefaultRouting
RequiresRoutingTable
DefaultRouting
32
Inside a Router
ForwardingDecision
ForwardingDecision
ForwardingDecision
Forwarding Table
Forwarding
Table
ForwardingTable
Interconnect
OutputScheduling
1.
2.
3.
33
IP Forwarding Process
Forwarding Process
IP Forwarding Table Router
1. Remove a packet from an input queue
3. Match packet’s destination to a table entry
2. Check for sanity, decrement TTL field
4. Place packet on correct output queue
If queuesget full, just
drop packets!
If queuesget full, just
drop packets!
34
Address Translation
Map IP addresses into physical addresses destination host next hop router
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
35
ARP 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
36
ARP Packet Format
TargetHardwareAddr (bytes 2 – 5)
TargetProtocolAddr (bytes 0 – 3)
SourceProtocolAddr (bytes 2 – 3)
Hardware type = 1 ProtocolT ype = 0x0800
SourceHardwareAddr (bytes 4 – 5)
TargetHardwareAddr (bytes 0 – 1)
SourceProtocolAddr (bytes 0 – 1)
HLen = 48 PLen = 32 Operation
SourceHardwareAddr (bytes 0 – 3)
0 8 16 31
37
Internet Control Message Protocol (ICMP) Echo (ping) Redirect (from router to source host) Destination unreachable (protocol, port, or
host) TTL exceeded (so datagrams don’t cycle
forever) Checksum failed Reassembly failed Cannot fragment