EEC-484/584 Computer Networks
-
Upload
tatyana-clemons -
Category
Documents
-
view
17 -
download
0
description
Transcript of EEC-484/584 Computer Networks
EEC-484/584EEC-484/584Computer NetworksComputer Networks
Lecture 10Lecture 10
Wenbing ZhaoWenbing Zhao
[email protected](Part of the slides are based on Drs. Kurose & (Part of the slides are based on Drs. Kurose &
RossRoss’’s slides for their s slides for their Computer Networking Computer Networking book)book)
22
04/19/2304/19/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
OutlineOutline• Distance vector routing• Hierarchical routing• Internet protocol
– Header– Fragmentation
33
04/19/2304/19/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 (a vector), 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
44
04/19/2304/19/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
55
04/19/2304/19/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
66
04/19/2304/19/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
77
04/19/2304/19/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
88
04/19/2304/19/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
99
04/19/2304/19/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Hierarchical RoutingHierarchical Routing
• Problem: Bigger network => bigger routing table– As network size increases, more router memory used to
store routing table, more time to process routing tables, more bandwidth to transmit states reports
• Use hierarchical structure to solve the problem– Regions: router knows details of how to route packets
within its region, does not know internals of other regions– Clusters of regions, zones of clusters, groups of zones
• Tradeoff: savings in memory space may result in longer path
1010
04/19/2304/19/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Hierarchical RoutingHierarchical Routing
1111
04/19/2304/19/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Collection of SubnetworksCollection of SubnetworksThe Internet is an interconnected collection of many networks,
or Autonomous Systems (ASes)
1212
04/19/2304/19/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
1313
04/19/2304/19/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
IP Datagram FormatIP 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
1414
04/19/2304/19/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
1515
04/19/2304/19/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
1616
04/19/2304/19/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
1717
04/19/2304/19/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
IP FragmentationIP 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
1818
04/19/2304/19/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
IP Fragmentation & ReassemblyIP Fragmentation & Reassembly• 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
1919
04/19/2304/19/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
IP Fragmentation and ReassemblyIP Fragmentation and Reassembly
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
2020
04/19/2304/19/23 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Distance Vector Routing: ExerciseDistance Vector Routing: Exercise
• 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.
2121
04/19/2304/19/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.