eec-484/584 computer networks lecture 10 wenbing zhao [email protected] (part of the slides are...
TRANSCRIPT
EEC-484/584EEC-484/584Computer Computer NetworksNetworksLecture 10Lecture 10
Wenbing ZhaoWenbing Zhao
[email protected] (Part of the slides are based on Drs. Kurose & Ross(Part of the slides are based on Drs. Kurose & Ross’’s slides s slides for their for their Computer Networking Computer Networking book)book)
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
OutlineOutline Reminder
Time to start working on the project! Routing algorithms
Link state routing (done) Distance vector routing
Internet protocol v4 Header Fragmentation
Internet Protocol v6
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Distance Vector RoutingDistance Vector Routing Also called Bellman-Ford or Ford-Fulkerson Each router maintains a table, giving best known
distance to each destination and which line to use to get there Table is updated by exchanging info with neighbors Table contains one entry for each router in network with
Preferred outgoing line to that destination Estimate of time or distance to that destination
Once every T msec, router sends to each neighbor a list of estimated delays to each destination and receives same from those neighbors
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Distance Vector Routing:Distance Vector Routing:How each entry is updatedHow each entry is updated
d(A,X)
d(A,Y)A
X Z
d(Y,Z)
d(X,Z)
At router A, for ZCompute d(A,X) + d(X,Z) and d(A,Y) + d(Y,Z), take minimum
Y
d(A,Z) = min {d(A,v) + d(v,Z) }
where min is taken over all neighbors v of A
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
x y z
xyz
0 2 7
∞ ∞ ∞∞ ∞ ∞
from
cost to
from
from
x y z
xyz
0
from
cost to
x y z
xyz
∞ ∞
∞ ∞ ∞
cost to
x y z
xyz
∞ ∞ ∞7 1 0
cost to
∞2 0 1
∞ ∞ ∞
2 0 17 1 0
time
x z12
7
y
node x table
node y table
node z table
d(x,y) = min{d(x,y) + d(y,y), d(x,z) + d(z,y)} = min{2+0 , 7+1} = 2
d(x,z) = min{d(x,y) + d(y,z), d(x,z) + d(z,z)} = min{2+1 , 7+0} = 3
32
Each node keeps track of the following info:1. Its own distance vector: least-cost to each of other
routers2. Each of its neighbor’s distance vector received most
recentlyIf there is a change in distance vector, a node sends the
update to all its neighbors
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
x y z
xyz
0 2 7
∞ ∞ ∞∞ ∞ ∞
from
cost to
from
from
x y z
xyz
0 2 3
from
cost tox y z
xyz
0 2 3
from
cost to
x y z
xyz
∞ ∞
∞ ∞ ∞
cost tox y z
xyz
0 2 7
from
cost to
x y z
xyz
0 2 3
from
cost to
x y z
xyz
0 2 3
from
cost tox y z
xyz
0 2 7
from
cost to
x y z
xyz
∞ ∞ ∞7 1 0
cost to
∞2 0 1
∞ ∞ ∞
2 0 17 1 0
2 0 17 1 0
2 0 13 1 0
2 0 13 1 0
2 0 1
3 1 0
2 0 1
3 1 0
time
x z12
7
y
node x table
node y table
node z table
d(x,y) = min{d(x,y) + d(y,y), d(x,z) + d(z,y)} = min{2+0 , 7+1} = 2
d(x,z) = min{d(x,y) + d(y,z), d(x,z) + d(z,z)} = min{2+1 , 7+0} = 3
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Distance Vector RoutingDistance Vector Routing
Distance from A to B 12ms, to C 25ms, to D 40ms, to G 18ms
Distance from J to A 8ms, to I 10ms, to H 12ms, to K 6ms
Distance from J to A to G 8+18 = 26msto I to G 10+31 = 41msto H to G 12+6=18msto K to G 6+31=37ms
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Distance Vector RoutingDistance Vector Routing Good news travels fast Bad news travels slow Count to infinity problem: Takes too long to converge upon
router failure
×
Routers’ knowledge about the cost to A
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
The Network Layer in Internet The Network Layer in Internet
forwardingtable
Host, router network layer functions:
Routing protocols•path selection•RIP, OSPF, BGP
IP protocol•addressing conventions•datagram format•packet handling conventions
ICMP protocol•error reporting•router “signaling”
Transport layer: TCP, UDP
Link layer
physical layer
Networklayer
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
IPv4 Datagram FormatIPv4 Datagram Format
ver Totallength
32 bits
data (variable length,typically a TCP
or UDP segment)
16-bit identifier
header checksum
time tolive
32 bit source IP address
IP protocol versionnumber
header length (bytes)
max numberremaining hops
(decremented at each router)
forfragmentation/reassembly
total datagramlength (bytes)
upper layer protocolto deliver payload to
IHL type ofservice
“type” of data flgsfragment
offsetprotocol
32 bit destination IP address
Options (if any) E.g. timestamp,record routetaken, specifylist of routers to visit.
How much overhead with TCP?
• 20 bytes of TCP
• 20 bytes of IP
• = 40 bytes + app layer overhead
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
The IPv4 HeaderThe IPv4 Header Version – 4 IHL – length of header in 32-bit words
Min 5, max 15 – i.e., 60 bytes Type of service - to distinguish different classes of service
To accommodate differentiated services (which class this packet belongs to)
Total length – header and data 65,535 (216-1) bytes Identification – allows destination to determine which datagram a
fragment belongs to
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
The IPv4 HeaderThe IPv4 Header Time to live – counter to limit packet lifetimes
Max lifetime 255sec Packet is destroyed when counter becomes 0
Protocol – which transport layer protocols being used
Header checksum – verifies header
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
The IPv4 HeaderThe IPv4 Header
Options – security, error reporting, etc. Some of the IP options
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
IPv4 FragmentationIPv4 Fragmentation Fragmentation Flags
DF – tells routers “Don’t Fragment” MF – More Fragments. All fragments except last have this
set. Used as check against total length Fragment offset – where in datagram this fragment
belongs All fragments (payload in the IP packet) except last must be
multiples of 8 bytes The number of 8 byte blocks is called Number of
Fragment Blocks (NFB) The unit of the offset is NFB
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
IPv4 Fragmentation & IPv4 Fragmentation & ReassemblyReassembly
Network links have MTU (max.transfer size) - largest possible link-level frame. different link types,
different MTUs Large IP datagram divided
(“fragmented”) within net one datagram becomes
several datagrams “reassembled” only at
final destination IP header bits used to
identify, order related fragments
fragmentation: in: one large datagramout: 3 smaller datagrams
reassembly
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
IPv4 Fragmentation and IPv4 Fragmentation and ReassemblyReassembly
ID=x
offset=0
MF=0
length=4000
ID=x
offset=0
MF=1
length=1500
ID=x
offset=185
MF=1
length=1500
ID=x
offset=370
MF=0
length=1040
One large datagram becomesseveral smaller datagrams
Example• 4000 byte
datagram• MTU = 1500
bytes1480 bytes in data field
offset =1480/8
Fragment should be as large as possible
Network Layer 4-17
IPv6: motivation initial motivation: 32-bit address space soon
to be completely allocated. additional motivation:
header format helps speed processing/forwarding header changes to facilitate QoS
IPv6 datagram format: fixed-length 40 byte header no fragmentation allowed
Network Layer 4-18
IPv6 datagram format
priority: identify priority among datagrams in flowflow Label: identify datagrams in same “flow.” (concept of“flow” not well defined).
next header: identify upper layer protocol for data
data
destination address(128 bits)
source address(128 bits)
payload len next hdr hop limitflow labelpriver
32 bits
Network Layer 4-19
Other changes from IPv4
checksum: removed entirely to reduce processing time at each hop
options: allowed, but outside of header, indicated by “Next Header” field
ICMPv6: new version of ICMP additional message types, e.g. “Packet Too Big” multicast group management functions
Network Layer 4-20
Transition from IPv4 to IPv6 not all routers can be upgraded simultaneously
no “flag days” how will network operate with mixed IPv4 and
IPv6 routers? tunneling: IPv6 datagram carried as payload in
IPv4 datagram among IPv4 routers
IPv4 source, dest addr IPv4 header fields
IPv4 datagram
IPv6 datagram
IPv4 payload
UDP/TCP payload
IPv6 source dest addrIPv6 header fields
Network Layer 4-21
Tunneling
physical view:
IPv4 IPv4
A B
IPv6 IPv6
E
IPv6 IPv6
FC D
logical view:
IPv4 tunnel connecting IPv6 routers
E
IPv6 IPv6
FA B
IPv6 IPv6
Network Layer 4-22
flow: Xsrc: Adest: F
data
A-to-B:IPv6
Flow: XSrc: ADest: F
data
src:Bdest: E
B-to-C:IPv6 inside
IPv4
E-to-F:IPv6
flow: Xsrc: Adest: F
data
B-to-C:IPv6 inside
IPv4
Flow: XSrc: ADest: F
data
src:Bdest: E
physical view:A B
IPv6 IPv6
E
IPv6 IPv6
FC D
logical view:
IPv4 tunnel connecting IPv6 routers
E
IPv6 IPv6
FA B
IPv6 IPv6
IPv4 IPv4
Tunneling
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
DijkstraDijkstra’’s Algorithms Algorithm: : ExerciseExercise
Given the subnet shown below, using the Dijkstra’s Algorithm, determine the shortest path tree from node u and its routing table
u
yx
wv
z2
2
13
1
1
2
53
5
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Distance Vector Routing: Distance Vector Routing: ExerciseExercise Consider the subnet shown below. Distance vector routing is
used, and the following vectors have just come in to router C: from B: (5, 0, 8, 12, 6, 2); from D: (16, 12, 6, 0, 9, 10); and from E: (7, 6, 3, 9, 0, 4). The measured delays to B, D, and E, are 6, 3, and 5, respectively. What is C's new routing table? Give both the outgoing line to use and the expected delay.
04/18/2304/18/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Exercise: IP FragmentationExercise: IP Fragmentation Suppose that host A is connected to a router R 1, R 1 is
connected to another router, R 2, and R 2 is connected to host B. Suppose that a TCP message that contains 900 bytes of data and 20 bytes of TCP header is passed to the IP code at host A for delivery to B. Show the Total length, Identification, DF, MF, and Fragment offset fields of the IP header in each packet transmitted over the three links. Assume that link A-R1 can support a maximum frame size of 1024 bytes including a 14-byte frame header, link R1-R2 can support a maximum frame size of 512 bytes, including an 8-byte frame header, and link R2-B can support a maximum frame size of 512 bytes including a 12-byte frame header.