Top Banner
EEC-484/584 EEC-484/584 Computer Networks Computer Networks Lecture 10 Lecture 10 Wenbing Zhao Wenbing Zhao [email protected] [email protected] (Part of the slides are based on Drs. (Part of the slides are based on Drs. Kurose & Ross’s slides for their Kurose & Ross’s slides for their Computer Networking Computer Networking book) book)
23

EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao [email protected] (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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)

Page 2: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 3: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 4: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 5: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 6: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 7: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 8: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 9: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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.

Page 10: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 11: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

Fall Semester 2007Fall Semester 2007 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

1111

Hierarchical RoutingHierarchical Routing

Page 12: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 13: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 14: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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)

Page 15: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 16: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 17: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 18: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 19: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 20: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 21: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 22: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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

Page 23: EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao wenbing@ieee.org (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.

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.