Chapter 20-22

advertisement
Chapter 20
Network Layer:
Internet Protocol
20.1
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
20-1 INTERNETWORKING
In this section, we discuss internetworking, connecting
networks together to make an internetwork or an
internet.
Topics discussed in this section:
Need for Network Layer
Internet as a Datagram Network
Internet as a Connectionless Network
20.2
Figure 20.1 Links between two hosts
20.3
Figure 20.2 Network layer in an internetwork
20.4
Figure 20.3 Network layer at the source, router, and destination
20.5
Figure 20.3 Network layer at the source, router, and destination (continued)
20.6
Packet Switching



Data transmitted in small packets
 Typically less than 1500 bytes (why?)
 Longer messages split into series of packets
 Each packet contains a portion of user data plus some
control info
Control info
 Routing (addressing) info
Packets are received, stored briefly (buffered) and past
on to the next node
 Store and forward
William Stallings.. Data and Computer Communications, 7/E, Prentice Hall, 2004.
Use of Packets
William Stallings.. Data and Computer Communications, 7/E, Prentice Hall, 2004.
Switching Technique



Station breaks long message into packets
Packets sent one at a time to the network
Packets handled in two ways


Datagram
Virtual circuit
William Stallings.. Data and Computer Communications, 7/E, Prentice Hall, 2004.
Datagram





Each packet treated independently
Packets can take any practical route
Packets may arrive out of order
Packets may go missing
Up to receiver to re-order packets and
recover from missing packets
William Stallings.. Data and Computer Communications, 7/E, Prentice Hall, 2004.
Datagram
Diagram
William Stallings.. Data and Computer Communications, 7/E, Prentice Hall, 2004.
Virtual Circuit






Preplanned route established before any packets
sent
Call request and call accept packets establish
connection (handshake)
Each packet contains a virtual circuit identifier
instead of destination address
No routing decisions required for each packet
Clear request to drop circuit
Not a dedicated path
William Stallings.. Data and Computer Communications, 7/E, Prentice Hall, 2004.
Virtual
Circuit
Diagram
William Stallings.. Data and Computer Communications, 7/E, Prentice Hall, 2004.
Virtual Circuits v Datagram
Virtual circuits
 Network can provide sequencing and error control
 Packets are forwarded more quickly
 No routing decisions to make
 Less reliable
 Loss of a node looses all circuits through that node
 Datagram
 No call setup phase
 Better if few packets
 More flexible
 Routing can be used to avoid congested parts of
the network
William Stallings.. Data and Computer Communications, 7/E, Prentice Hall, 2004.

Note
Switching at the network layer in the
Internet uses the datagram approach to
packet switching.
20.15
Note
Communication at the network layer in
the Internet is connectionless.
20.16
20-2 IPv4
The Internet Protocol version 4 (IPv4) is the delivery
mechanism used by the TCP/IP protocols.
Topics discussed in this section:
Datagram
Fragmentation
Checksum
Options
20.17
Figure 20.4 Position of IPv4 in TCP/IP protocol suite
20.18
Note
IPv4 is an unreliable and connectionless
datagram protocol – a best effort
delivery
Best effort means that IPv4 provides no
error control (except for error detection
on the header) or flow control
IPv4 does its best to get a transmission
through to its destination, but with no
guarantees
20.19
Figure 20.5 IPv4 datagram format
20.20
IPv4 Datagram Format




Version (VER): version of the IP protocol.
Currently, the version is 4.
Header length (HLEN): the total length of
the datagram header in 4-byte words.
Services: service type or differentiated
services (not used now).
Total length: total length (header plus
data) of the datagram in bytes.

20.21
Total length of data = total length – header length
IPv4 Datagram Format





20.22
Identification: used in fragmentation (discussed
later).
Flags: used in fragmentation (discussed later).
Fragmentation offset: used in fragmentation
(discussed later).
Time to live: it is used to control the maximum
number hops visited by the datagram.
Protocol: defines the higher-level protocol that
uses the services of the IPV4 layer.
IPv4 Datagram Format



20.23
Checksum: 1’s compliment checksum
(introduced in Chapter 10).
Source address: is the IPv4 address of the
source.
Destination address: is the IPv4 address of
the source.
Note
The total length field defines the total
length of the datagram including the
header.
20.24
Figure 20.7 Encapsulation of a small datagram in an Ethernet frame
One of the reason why “total length”
field is required.
20.25
Figure 20.8 Protocol field and encapsulated data
20.26
Table 20.4 Protocol values
20.27
Example 20.1
An IPv4 packet has arrived with the first 8 bits as shown:
01000010
The receiver discards the packet. Why?
Solution
There is an error in this packet. The 4 leftmost bits (0100)
show the version, which is correct. The next 4 bits (0010)
show an invalid header length (2 × 4 = 8). The minimum
number of bytes in the header must be 20. The packet has
been corrupted in transmission.
20.28
Example 20.2
In an IPv4 packet, the value of HLEN is 1000 in binary.
How many bytes of options are being carried by this
packet?
Solution
The HLEN value is 8, which means the total number of
bytes in the header is 8 × 4, or 32 bytes. The first 20 bytes
are the base header, the next 12 bytes are the options.
20.29
Example 20.3
In an IPv4 packet, the value of HLEN is 5, and the value
of the total length field is 0x0028. How many bytes of
data are being carried by this packet?
Solution
The HLEN value is 5, which means the total number of
bytes in the header is 5 × 4, or 20 bytes (no options). The
total length is 40 bytes, which means the packet is
carrying 20 bytes of data (40 − 20).
20.30
Figure 20.9 Maximum transfer unit (MTU)
20.31
Table 20.5 MTUs for some networks
20.32
Fields Related to Fragmentation



20.33
Identification: identifies a datagram
originating from the source host. A
combination of the identification and
source address must uniquely define a
datagram as it leaves the source node.
Flags: see next slide.
Fragmentation offset: is the offset of
the data in the original datagram
measured in units of 8 bytes.
Figure 20.10 Flags (3 bits) used in fragmentation
• first bit: reserved (not used)
• second bit: = 1 requires the packet not to be fragmented
drops the packet if it is > MTU
• third bit: =1 more fragmented packets later
=0 the last fragmented packet
20.34
Figure 20.11 Fragmentation example
20.35
20.36
IPv4 Checksum
• IPv4 checksum use the 1’s compliment method
(chapter 10)
• Checksum only computes for IP header, not data
• Upper layer has checksum for data portion
• Header always changes in each router
• Header is chunked to 16-bit sections for computing
20.37
Figure 20.13 Example of checksum calculation in IPv4
20.38
Chapter 22
Network Layer:
Delivery, Forwarding,
and Routing
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Routing (IP routing)


Routing Protocol: determines the best path (route) that the
packets should follow to arrive to the desired destination
Routing Protocols: A software in the network layer that
implements routing algorithms and responsible for:
 Filling and updating routing tables (by finding the
shortest paths from each source to each destination)
This part is called Routing
 Deciding which output interface an incoming packet
should be transmitted on (by referring to the routing
table). This part is called Forwarding
Graph representation of a network


Graph nodes are routers
Co
Graph edges are physical links
 Each link has a value which represents thest
“cost” of sending a packet across the link
 The cost is assigned based on a metric
 Cost metric can be:
Ed
ge
 Number of networks (hops or routers)
 Geographic distance
 Link delay
 Capacity (speed)
 Reliability

 Combination of the above
How to select a “good” path???

No
de
Good path is the one with minimum cost = Total cost from src to dest
Routing Algorithms Classifications

Static






Routes change slowly over time
Shortest paths are precomputed offline by a special computer
running the routing algorithm
Resulted information is entered manually by the administrator into
the routing tables
Can not update automatically if there is a change in the network or
failure
Used in small networks
Dynamic (adaptive)



Each router or host learns the state of the network by
communicating with its neighbours.
Based on the collected information, each node can fill its routing
table
More complexity is added to the router
How to reduce number of entries in the routing table?



Network-Specific routing (Destination Network IP Address is listed in
the table)
Host Specific Routing ( Destination Host IP Address is listed in the
table)
Default Routing
Figure 22.2 Route method versus next-hop method
In next-hop routing, Routing
table holds the information (IP
address) that leads to the next
Figure 22.3 Host-specific versus network-specific method
Instead of having entry for each
host connected to the same
network, the table contains
only a single entry for the
Figure 22.4 Default method
Default router is used if the
destination network address is
not found in the routing table
Figure 19.32 Classful
addressing routing table
 When a packet arrives:
 Apply all the available
masks to the IP destination
address
 If a match is found in the
destination address column,
the packet has to be
Example 10
Using the table above, the router receives a packet for destination
192.16.7.1. For each row, the mask is applied to the destination
address until a match with the destination address is found. In this
example, the router sends the packet through interface m0 (host
specific).
Example 11
Using the table above, the router receives a packet for destination
193.14.5.22. For each row, the mask is applied to the destination
address until a match with the next-hop address is found. In this
example, the router sends the packet through interface m2
(network specific).
Example 12
Using the table above, the router receives a packet for destination
200.34.12.34. For each row, the mask is applied to the destination
address, but no match is found. In this example, the router sends
the packet through the default interface m0.
Routing table example: H5
H1
H2
150.100.12.154
150.100.12.176
Subnet address 150.100.12.128
150.100.12.129
150.100.0.1
To the rest of
the Internet
R1
150.100.12.4
H3
H4
150.100.12.24
150.100.12.55
Subnet address 150.100.12.0
150.100.12.1
R2
150.100.15.54
H5
150.100.15.11
Subnet address 150.100.15.0
Suppose H5 wants
to send to H2
Figure 8.7
Shortest Path Routing
 Algorithms used to determine the shortest path between
two nodes according to some cost condition.
 The shortest path is the path with the least cost (the sum of
the cost of the links on the path is minimum over all
possible paths between the source and destination)
 Two main algorithms to find the shortest path between any
two nodes
 Distance Vector (Bellman-Ford Algorithm )
 Link State – (Dijkstra’s Algorithm)
Distance Vector (DV) Routing

Basic idea: each network node maintains a Distance Vector (DV) table
containing the distances from itself to ALL possible destination nodes.

Distances are based on a chosen metric (Metric: usually number of hops,
bandwidth, delay)

Router transmits its distance vector table to each of its neighbors (directly
connected to it) periodically (every 30 sec)

A router recalculates its distance vector when:

It receives a distance vector table from a neighbor containing different
information than before.
 It discovers that a link to a neighbor has gone down or up (i.e., a
topology changes).




Distances to all destinations are computed using information from the
neighbors’ distance vectors.
The DV calculation is based on minimizing the cost to each destination.
From its DV, a router can directly derive its routing table.
Routing Information Protocol (RIP) is an example of distance vector
protocols
Distance Vector Routing
12
8
10
6
Distances from J to its
direct neighbors
(a) A subnet. (b) Input from A, I, H, K, and the new
routing table for J.
Distance vector routing table for J
Destination Next Hop
A
A
B
A
C
I
D
H
E
I
F
I
G
H
H
H
I
I
J
K
K
L
K
Metric
8
20
28
20
17
30
18
12
10
0
6
15
Link State Routing
 Each router measures the cost (in delay, Bandwidth)
between itself and its neighbour routers (directly
connected)
 The router builds a packet containing all these costs.
 Each router distributes these packets using flooding to
ALL other routers in the routing area
 Information is sent when there a change in the link
between the router and its neighbours (to reduce traffic)
 Each router builds map of the entire network, uses a
shortest-path algorithm (usually Dijkstra algorithm) to
compute a shortest path between itself and any other node
in the area (creates the routing table)
 OSPF (Open Shortest Path first is an Example)
Comparison between distance vector &
Link state

Distance vector routing

Link state routing

Each router Sends routing
information to its neighbours
The information sent is an
estimate of the path cost to all
known destinations in the area
Information is sent periodically
(every 30 s) by the router’s own
timer
React to link failure very
slowly

Each router sends routing
information to ALL routers in
the area
The information sent is the
exact value of the links cost that
connect the router to its
neighbours
Information is sent when there
is a change
React to network failure
quickly






Autonomous systems (AS)

On the Internet, Autonomous system (AS) is either a single network or a
group of networks that is controlled by a common network administrator

An autonomous system is assigned a globally unique number, sometimes
called an Autonomous System Number (ASN).

AS systems are connected by special routers called boarder routers or
gateways routers.

Routers in same AS run same routing protocol this is called “intra-AS”
(interior) routing protocol

Routing between autonomous systems is called inter-AS or exterior routing

Gateways routers (boarder routers) are special routers in AS that run intra-AS”
routing protocol and also responsible for routing to destinations outside AS by
running inter-AS (exterior) routing protocol with other gateway (boarder)
routers
Figure 21.3 Autonomous
systems
Routers
R1,R2,R3,R4 are
designated as border
Figure 21.2 Popular routing
protocols
 Interior routing (RIP, OSPF):
between routers inside a single AS
 Exterior routing (BGP): between
routers connecting several AS
Download