EEC-484/584 Computer Networks Lecture 8 Wenbing Zhao [email protected].
EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao [email protected] (Part of the slides are based...
-
date post
21-Dec-2015 -
Category
Documents
-
view
212 -
download
0
Transcript of EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao [email protected] (Part of the slides are based...
EEC-484/584EEC-484/584Computer NetworksComputer Networks
Lecture 10Lecture 10
Wenbing ZhaoWenbing Zhao
[email protected]@ieee.org(Part of the slides are based on Drs. Kurose & (Part of the slides are based on Drs. Kurose &
Ross’s slides for their Ross’s slides for their Computer Networking Computer Networking book)book)
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
22
OutlineOutline
• Reminder (for graduate students only)– Wiki-Page Project #1 due on today midnight!
• Distance vector routing
• Hierarchical routing
• Internet protocol– Header– Fragmentation
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
33
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
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
44
Distance Vector RoutingDistance Vector Routing
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
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
55
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
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
66
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
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
77
Distance Vector RoutingDistance Vector Routing
• Delay A to B 12ms, to C 25ms, to D 40ms, to G 18ms
• Delay J to A 8ms, to I 10ms, to H 12ms, to K 6ms
• Delay 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
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
88
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
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
99
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.
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1010
Hierarchical RoutingHierarchical Routing
• Bigger network => bigger routing table• Use hierarchical structure similar to telephone
network– 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
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1111
Hierarchical RoutingHierarchical Routing
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1212
Design Principles for InternetDesign Principles for Internet
• Make sure it works– Build prototypes first
• Keep it simple– When in doubt, use the simplest solution
• Make clear choices– If there are several ways of doing the same thing,
choose one
• Exploit modularity– Use protocol stacks, each of whose layers is
independent of all the other ones
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1313
Design Principles for InternetDesign Principles for Internet• Expect heterogeneity
– Different types of hardware, transmission facilities, and applications will occur on any large network
• Avoid static options and parameters– Have the sender and receiver negotiate a value
• Look for a good design; it need not be perfect• Be strict when sending and tolerant when receiving• Think about scalability• Consider performance and cost
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1414
Collection of SubnetworksCollection of SubnetworksThe Internet is an interconnected collection of many networks,
or Autonomous Systems (ASes)
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1515
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
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1616IP 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
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1717
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
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1818
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
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
1919
The IPv4 HeaderThe IPv4 Header
• Options – security, error reporting, etc.– Some of the IP options
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
2020
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
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
2121
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
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
2222
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 bytes
1480 bytes in data field
offset =1480/8
Fragment should be as large as possible
Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
2323
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.