1. Trang chủ
  2. » Công Nghệ Thông Tin

ECE CS 372 introduction to computer networks lecture 1 chapter 4

145 454 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 145
Dung lượng 3,44 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chapter 4 roadmap4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet IP Protocol 4.5 Routing in the Internet 4.6 What’s Inside a

Trang 1

A note on the use of these ppt slides:

We’re making these slides freely available to all (faculty, students, readers)

They’re in powerpoint form so you can add, modify, and delete slides

(including this one) and slide content to suit your needs They obviously

represent a lot of work on our part In return for use, we only ask the

following:

 If you use these slides (e.g., in a class) in substantially unaltered form,

that you mention their source (after all, we’d like people to use our book!)

 If you post any slides in substantially unaltered form on a www site, that

you note that they are adapted from (or perhaps identical to) our slides, and

note our copyright of this material.

Thanks and enjoy! JFK/KWR

Trang 2

Chapter 4: Network Layer

Chapter goals:

 understand principles

behind network layer

services:

 routing (path selection)

 dealing with scale

 how a router works

 advanced topics: IPv6,

 network layer services

 routing principles: path selection

Trang 3

Chapter 4 roadmap

4.1 Introduction and Network Service Models

4.2 Routing Principles

4.3 Hierarchical Routing

4.4 The Internet (IP) Protocol

4.5 Routing in the Internet

4.6 What’s Inside a Router

4.7 IPv6

4.8 Multicast Routing

4.9 Mobility

Trang 4

Network layer functions

 transport packet from

sending to receiving hosts

 network layer protocols in

every host, router

three important functions:

 path determination: route

taken by packets from source

to dest Routing algorithms

 forwarding: move packets

from router’s input to

appropriate router output

 call setup: some network

architectures require router

call setup along path before

network data link physical

network data link physical

network data link physical

network data link physical

network data link physical

network data link physical

network data link physical

network data link physical

application transport network data link physical

application transport network data link physical

Trang 5

Network service model

Q: What service model

for “channel”

transporting packets from sender to

The most important abstraction provided

Trang 6

Virtual circuits

 call setup, teardown for each call before data can flow

 each packet carries VC identifier (not destination host ID)

 every router on source-dest path maintains “state” for each

passing connection

 transport-layer connection only involved two end systems

 link, router resources (bandwidth, buffers) may be allocated to VC

 to get circuit-like perf.

“source-to-dest path behaves much like telephone

circuit”

 performance-wise

 network actions along source-to-dest path

Trang 7

Virtual circuits: signaling protocols

 used to setup, maintain teardown VC

 used in ATM, frame-relay, X.25

 not used in today’s Internet

network

data link physical

1 Initiate call 2 incoming call3 Accept call

4 Call connected5 Data flow begins

6 Receive data

Trang 8

Datagram networks: the Internet model

 no network-level concept of “connection”

 packets between same source-dest pair may take different

network

data link physical

1 Send data 2 Receive data

Trang 9

Network layer service models:

VBR ABR UBR

Bandwidth none

constant rate

guaranteed rate

guaranteed minimum none

Loss no yes yes no no

Order no yes yes yes yes

Timing no

yes yes no no

Congestion feedback

no (inferred via loss) no

congestion no

congestion yes

no Guarantees ?

 Internet model being extended: Intserv, Diffserv

 Chapter 6

Trang 10

Datagram or VC network: why?

Trang 11

Chapter 4 roadmap

4.1 Introduction and Network Service Models

4.2 Routing Principles

 Link state routing

 Distance vector routing

4.3 Hierarchical Routing

4.4 The Internet (IP) Protocol

4.5 Routing in the Internet

4.6 What’s Inside a Router

4.7 IPv6

4.8 Multicast Routing

4.9 Mobility

Trang 12

Goal: determine “good” path

(sequence of routers) thru

network from source to dest.

Routing protocol

A

E D

C B

Trang 13

Routing Algorithm classification

Global or decentralized

information?

Global:

 all routers have complete

topology, link cost info

 “link state” algorithms

Decentralized:

 router knows

physically-connected neighbors, link

Trang 14

A Link-State Routing Algorithm

Dijkstra’s algorithm

 net topology, link costs

known to all nodes

 accomplished via “link

state broadcast”

 all nodes have same info

 computes least cost paths

from one node (‘source”) to

all other nodes

 gives routing table for

that node

 iterative: after k iterations,

know least cost path to k

dest.’s

Notation:

 c(i,j): link cost from node i

to j cost infinite if not direct neighbors

 D(v): current value of cost

of path from source to dest V

 p(v): predecessor node along path from source to

v, that is next v

 N: set of nodes whose least cost path definitively known

Trang 15

13 /* new cost to v is either old cost to v or known

14 shortest path cost to w plus cost from w to v */

15 until all nodes in N

Trang 16

Dijkstra’s algorithm: example

D(B),p(B)

2,A 2,A 2,A

D(C),p(C)

5,A 4,D 3,E 3,E

D(D),p(D)

1,A

D(E),p(E) infinity 2,D

D(F),p(F) infinity infinity 4,E 4,E 4,E

A

E D

C B

5

Trang 17

Dijkstra’s algorithm, discussion

Algorithm complexity: n nodes

 each iteration: need to check all nodes, w, not in N

e

0 0

A D

Trang 18

Distance Vector Routing Algorithm

 each node communicates

only with

directly-attached neighbors

Distance Table data structure

 each node has its own

 row for each possible destination

 column for each attached neighbor to node

directly- example: in node X, for dest Y via neighbor Z:

Trang 19

Distance Table: example

2

1

2

D ()ABCD

A1764

B148911

D5542

E cost to destination via

Trang 20

Distance table gives routing table

B148911

D5542

E cost to destination via

A,1D,5D,4D,4

Trang 21

Distance Vector Routing: overview

Iterative, asynchronous:

each local iteration caused

by:

 local link cost change

 message from neighbor: its

least cost path change from

neighbor

Distributed:

 each node notifies neighbors

only when its least cost path

to any destination changes

 neighbors then notify their

neighbors if necessary

wait for (change in local link

cost of msg from neighbor)

recompute distance table

if least cost path to any dest has changed, notify

neighbors

Each node:

Trang 22

Distance Vector Algorithm:

1 Initialization:

2 for all adjacent nodes v:

3 D (*,v) = infinity /* the * operator means "for all rows" */

4 D (v,v) = c(X,v)

5 for all destinations, y

6 send min D (y,w) to each neighbor /* w over all X's neighbors */

X

X

X w

At all nodes, X:

Trang 23

Distance Vector Algorithm (cont.):

8 loop

9 wait (until I see a link cost change to neighbor V

10 or until I receive update from neighbor V)

11

12 if (c(X,V) changes by d)

13 /* change cost to all dest's via neighbor v by d */

14 /* note: d could be positive or negative */

15 for all destinations y: D (y,V) = D (y,V) + d

16

17 else if (update received from V wrt destination Y)

18 /* shortest path from V to some Y has changed */

19 /* V has sent a new value for its min DV(Y,w) */

20 /* call this received new value is "newval" */

21 for the single destination y: D (Y,V) = c(X,V) + newval

22

23 if we have a new min D (Y,w)for any destination Y

24 send new value of min D (Y,w) to all neighbors

25

w

X X

X X

X

w w

Trang 24

Distance Vector Algorithm: example

1 2

7

Y

Trang 25

Distance Vector Algorithm: example

1 2

Trang 26

Distance Vector: link cost changes

Link cost changes:

 node detects local link cost change

 updates distance table (line 15)

 if cost change in least cost path,

notify neighbors (lines 23,24)

1 4

50

Y

1

algorithm terminates

“good

news

travels

fast”

Trang 27

Distance Vector: link cost changes

Link cost changes:

 good news travels fast

 bad news travels slow -

“count to infinity” problem! X Z

1 4

50

Y

60

algorithm continues

on!

Trang 28

Distance Vector: poisoned reverse

If Z routes through Y to get to X :

 Z tells Y its (Z’s) distance to X is infinite (so Y

won’t route to X via Z)

 will this completely solve count to infinity

1 4

50

Y

60

algorithm terminates

Trang 29

Comparison of LS and DV algorithms

 may have oscillations

 DV : convergence time varies

 may be routing loops

Trang 30

Chapter 4 roadmap

4.2 Routing Principles

4.3 Hierarchical Routing

4.4 The Internet (IP) Protocol

4.5 Routing in the Internet

4.6 What’s Inside a Router

4.7 IPv6

4.8 Multicast Routing

4.9 Mobility

Trang 31

 routing table exchange

would swamp links!

administrative autonomy

 internet = network of networks

 each network admin may want to control routing in its own network

Our routing study thus far - idealization

 all routers identical

 network “flat”

… not true in practice

Trang 32

Hierarchical Routing

 aggregate routers into

regions, “autonomous

systems” (AS)

 routers in same AS run

same routing protocol

 also responsible for routing to destinations outside AS

 run inter-AS routing

protocol with other gateway routers

gateway routers

Trang 33

Intra-AS and Inter-AS routing

Gateways:

•perform inter-AS routing amongst themselves

•perform intra-AS routers with other routers in their AS

inter-AS, intra-AS

routing in gateway A.c

network layer link layer physical layer

Trang 34

Intra-AS and Inter-AS routing

Host h2

Host h1

Intra-AS routing within AS A

Inter-AS routing between

A and B

Intra-AS routing within AS B

 We’ll examine specific inter-AS and intra-AS

Internet routing protocols shortly

Trang 35

 4.4.5 ICMP: Internet Control Message Protocol

 4.4.6 DHCP: Dynamic Host Configuration Protocol

 4.4.7 NAT: Network Address Translation

4.5 Routing in the Internet

4.6 What’s Inside a Router

4.7 IPv6

4.8 Multicast Routing

4.9 Mobility

Trang 36

The Internet Network layer

forwarding table

Host, router network layer functions:

Network

layer

Trang 37

and physical link

 router’s typically have

223.1.3.2 223.1.3.1

223.1.3.27

223.1.1.1 = 11011111 00000001 00000001 00000001

Trang 38

 device interfaces with

same network part of IP

address

 can physically reach

each other without

223.1.3.2 223.1.3.1

223.1.3.27

network consisting of 3 IP networks (for IP addresses starting with 223, first 24 bits are network address)

LAN

Trang 39

223.1.3.2 223.1.3.1

223.1.3.27

223.1.1.2

223.1.7.0

223.1.7.1 223.1.8.0

223.1.8.1 223.1.9.1

223.1.9.2

Interconnected

system consisting

of six networks

Trang 40

191.255.255.255 192.0.0.0 to

223.255.255.255 224.0.0.0 to

239.255.255.255

32 bits

given notion of “network”, let’s re-examine IP addresses:

“class-full” addressing:

Trang 41

IP addressing: CIDR

 Classful addressing:

 inefficient use of address space, address space exhaustion

 e.g., class B net allocated enough addresses for 65K hosts, even if only 2K hosts in that network

 CIDR: C lassless I nter D omain R outing

 network portion of address of arbitrary length

 address format: a.b.c.d/x , where x is # bits in network

Trang 42

IP addresses: how to get one?

Q: How does host get IP address?

 hard-coded by system admin in a file

Trang 43

IP addresses: how to get one?

Q: How does network get network part of IP

Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23

Trang 44

Hierarchical addressing: route aggregation

“Send me anything with addresses beginning

Organization 1

ISPs-R-Us “Send me anythingwith addresses

beginning 199.31.0.0/16”

Trang 45

Hierarchical addressing: more specific

routes

ISPs-R-Us has a more specific route to Organization 1

“Send me anything with addresses beginning

Trang 46

IP addressing: the last word

Q: How does an ISP get block of addresses?

Names and Numbers

 allocates addresses

 manages DNS

 assigns domain names, resolves disputes

Trang 47

Getting a datagram from source to dest.

223.1.3.2 223.1.3.1

fields IP addrsource IP addrdest data

 datagram remains unchanged , as

it travels source to destination

 addr fields of interest here

Dest Net next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2

forwarding table in A

Trang 48

Getting a datagram from source to dest.

Starting at A, send IP datagram

addressed to B:

 look up net address of B in

forwarding table

 find B is on same net as A

 link layer will send datagram directly

to B inside link-layer frame

 B and A are directly connected

Dest Net next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2

223.1.3.2 223.1.3.1

Trang 49

Getting a datagram from source to dest.

Dest Net next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2

Starting at A, dest E:

 look up network address of E in

forwarding table

 E on different network

 A, E not directly attached

 routing table: next hop router

to E is 223.1.1.4

 link layer sends datagram to

router 223.1.1.4 inside

223.1.3.2 223.1.3.1

Trang 50

Getting a datagram from source to dest.

Arriving at 223.1.4, destined

for 223.1.2.2

 look up network address of E in

router’s forwarding table

 E on same network as router’s

interface 223.1.2.9

 router, E directly attached

 link layer sends datagram to

223.1.2.2 inside link-layer frame

223.1.3.2 223.1.3.1

Trang 51

IP datagram format

ver length

32 bits

data (variable length, typically a TCP

or UDP segment)

16-bit identifier

Internet checksum

time to live

32 bit source IP address

IP protocol version

number header length

(bytes)

max number remaining hops (decremented at

each router)

for fragmentation/ reassembly

total datagram length (bytes)

upper layer protocol

to deliver payload to

head.

len type ofservice

“type” of data flgs fragment

offset upper

layer

32 bit destination IP address

Options (if any) E.g timestamp,

record route taken, specify list of routers

Trang 52

IP 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 datagram

out: 3 smaller datagrams

reassembly

Trang 53

IP Fragmentation and Reassembly

Trang 54

ICMP: Internet Control Message Protocol

 used by hosts, routers,

 ICMP message: type, code plus

first 8 bytes of IP datagram

causing error

Type Code description

0 0 echo reply (ping)

3 0 dest network unreachable

3 1 dest host unreachable

3 2 dest protocol unreachable

3 3 dest port unreachable

3 6 dest network unknown

3 7 dest host unknown

4 0 source quench (congestion control - not used)

8 0 echo request (ping)

9 0 route advertisement

10 0 router discovery

11 0 TTL expired

12 0 bad IP header

Trang 55

DHCP: Dynamic Host Configuration Protocol

Goal: allow host to dynamically obtain its IP address from network

server when it joins network

Can renew its lease on address in use

Allows reuse of addresses (only hold address while connected an “on”

Support for mobile users who want to join network (more shortly)

DHCP overview:

 host broadcasts “ DHCP discover ” msg

 DHCP server responds with “ DHCP offer ” msg

 host requests IP address: “ DHCP request ” msg

 DHCP server sends address: “ DHCP ack ” msg

Ngày đăng: 04/12/2015, 20:37

TỪ KHÓA LIÊN QUAN