chapter 4: network layer part i

59
4: Network Layer 1 Comp 361, Spring 2005 Chapter 4: Network Layer Part I (last revised 22/03/05) 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing (maybe)

Upload: others

Post on 04-Oct-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapter 4: Network Layer Part I

4: Network Layer 1Comp 361, Spring 2005

Chapter 4: Network Layer Part I (last revised 22/03/05)

4. 1 Introduction4.2 Virtual circuit and datagram networks4.3 What’s inside a router4.4 IP: Internet Protocol

Datagram formatIPv4 addressingICMPIPv6

4.5 Routing algorithmsLink stateDistance VectorHierarchical routing

4.6 Routing in the Internet

RIPOSPFBGP

4.7 Broadcast and multicast routing (maybe)

Page 2: Chapter 4: Network Layer Part I

4: Network Layer 2Comp 361, Spring 2005

Network layertransport segment from sending to receiving host on sending side encapsulates segments into datagramson rcving side, delivers segments to transport layernetwork layer protocols in every host, routerRouter examines header fields in all IP datagrams passing through it

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

Page 3: Chapter 4: Network Layer Part I

4: Network Layer 3Comp 361, Spring 2005

Key Network-Layer Functions

forwarding: move packets from router’s input to appropriate router output

routing: determine route taken by packets from source to dest.

Routing algorithms

analogy:

routing: process of planning trip from source to dest

forwarding: process of getting through single interchange

Page 4: Chapter 4: Network Layer Part I

4: Network Layer 4Comp 361, Spring 2005

Interplay between routing and forwarding

1

23

0111

value in arrivingpacket’s header

routing algorithm

local forwarding tableheader value output link

0100010101111001

3221

Page 5: Chapter 4: Network Layer Part I

4: Network Layer 5Comp 361, Spring 2005

3rd important function in some network architectures:

ATM, frame relay, X.25Before datagrams flow, two hosts and intervening routers establish virtual connectionRouters get involved

Network vs. transport layer cnctn service:Network: between two hostsTransport: between two processes

Page 6: Chapter 4: Network Layer Part I

4: Network Layer 6Comp 361, Spring 2005

Network service model

Q: What service modelfor “channel”transporting packets from sender to receiver?guaranteed bandwidth?preservation of inter-packet timing (no jitter)?loss-free delivery?in-order delivery?congestion feedback to sender?se

rvic

e ab

stra

ctio

n ? ??virtual circuit

or datagram?

The most importantabstraction provided

by network layer:

Page 7: Chapter 4: Network Layer Part I

4: Network Layer 7Comp 361, Spring 2005

Network layer service models:

NetworkArchitecture

Internet

ATM

ATM

ATM

ATM

ServiceModel

best effort

CBR

VBR

ABR

UBR

Bandwidth

none

constantrateguaranteedrateguaranteed minimumnone

Loss

no

yes

yes

no

no

Order

no

yes

yes

yes

yes

Timing

no

yes

yes

no

no

Congestionfeedback

no (inferredvia loss)nocongestionnocongestionyes

no

Guarantees ?

Page 8: Chapter 4: Network Layer Part I

4: Network Layer 8Comp 361, Spring 2005

Chapter 4: Network Layer

4. 1 Introduction4.2 Virtual circuit and datagram networks4.3 What’s inside a router4.4 IP: Internet Protocol

Datagram formatIPv4 addressingICMPIPv6

4.5 Routing algorithmsLink stateDistance VectorHierarchical routing

4.6 Routing in the Internet

RIPOSPFBGP

4.7 Broadcast and multicast routing

Page 9: Chapter 4: Network Layer Part I

4: Network Layer 9Comp 361, Spring 2005

Network layer connection and connection-less service

Datagram network provides network-layer connectionless serviceVC network provides network-layer connection serviceAnalogous to the transport-layer services, but:

Service: host-to-hostNo choice: network provides one or the otherImplementation: in the core

Page 10: Chapter 4: Network Layer Part I

4: Network Layer 10Comp 361, Spring 2005

Virtual circuits“source-to-dest path behaves much like telephone

circuit”performance-wisenetwork actions along source-to-dest path

call setup, teardown for each call before data can floweach packet carries VC identifier (not destination host OD)every router on source-dest paths maintain the “state” for each passing connection

transport-layer connection only involved two end systemslink, router resources (bandwidth, buffers) may be allocated to VC

to get circuit-like performance

Page 11: Chapter 4: Network Layer Part I

4: Network Layer 11Comp 361, Spring 2005

VC implementation

A VC consists of:1. Path from source to destination2. VC numbers, one number for each link along

path3. Entries in forwarding tables in routers along

pathPacket belonging to VC carries a VC number.VC number must be changed on each link.

New VC number comes from forwarding table

Page 12: Chapter 4: Network Layer Part I

4: Network Layer 12Comp 361, Spring 2005

Forwarding table12 22 32

1 23

VC number

interfacenumber

Forwarding table inupper-left router:

Incoming interface Incoming VC # Outgoing interface Outgoing VC #

1 12 2 222 63 1 18 3 7 2 171 97 3 87… … … …

Routers maintain connection state information!

Page 13: Chapter 4: Network Layer Part I

4: Network Layer 13Comp 361, Spring 2005

Virtual circuits: signaling protocolsused to setup, maintain teardown VCconnection setup process still needs routing much as in the Internetused in ATM, frame-relay, X.25not used in today’s Internet

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

1. Initiate call 2. incoming call3. Accept call4. Call connected

5. Data flow begins 6. Receive data

Page 14: Chapter 4: Network Layer Part I

4: Network Layer 14Comp 361, Spring 2005

Datagram networksno call setup at network layerrouters: no state info about end-to-end connections

no network-level concept of “connection”packets forwarded using destination host address

packets between same source-dest pair may take different paths

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

1. Send data 2. Receive data

Page 15: Chapter 4: Network Layer Part I

4: Network Layer 15Comp 361, Spring 2005

4 billion possible entriesForwarding table

Destination Address Range Link Interface

11001000 00010111 00010000 00000000through 0

11001000 00010111 00010111 11111111

11001000 00010111 00011000 00000000through 1

11001000 00010111 00011000 11111111

11001000 00010111 00011001 00000000through 2

11001000 00010111 00011111 11111111

otherwise 3

Page 16: Chapter 4: Network Layer Part I

4: Network Layer 16Comp 361, Spring 2005

Longest prefix matching

Prefix Match Link Interface11001000 00010111 00010 0 11001000 00010111 00011000 111001000 00010111 00011 2

otherwise 3

Examples

Which interface?DA: 11001000 00010111 00010110 10100001

Which interface?DA: 11001000 00010111 00011000 10101010

Page 17: Chapter 4: Network Layer Part I

4: Network Layer 17Comp 361, Spring 2005

Datagram or VC network: why?

Internetdata exchange among computers

“elastic” service, no strict timing req.

“smart” end systems (computers)

can adapt, perform control, error recoverysimple inside network, complexity at “edge”

many link types different characteristicsuniform service difficult

ATMevolved from telephonyhuman conversation:

strict timing, reliability requirementsneed for guaranteed service

“dumb” end systemstelephonescomplexity inside network

Page 18: Chapter 4: Network Layer Part I

4: Network Layer 18Comp 361, Spring 2005

Chapter 4: Network Layer

4. 1 Introduction4.2 Virtual circuit and datagram networks4.3 What’s inside a router4.4 IP: Internet Protocol

Datagram formatIPv4 addressingICMPIPv6

4.5 Routing algorithmsLink stateDistance VectorHierarchical routing

4.6 Routing in the Internet

RIPOSPFBGP

4.7 Broadcast and multicast routing

Page 19: Chapter 4: Network Layer Part I

4: Network Layer 19Comp 361, Spring 2005

Router Architecture Overview

Two key router functions:run routing algorithms/protocol (RIP, OSPF, BGP)forwarding datagrams from incoming to outgoing link

Page 20: Chapter 4: Network Layer Part I

4: Network Layer 20Comp 361, Spring 2005

Input Port Functions

Decentralized switching:given datagram dest., lookup output port using forwarding table in input port memorygoal: complete input port processing at ‘line speed’queuing: if datagrams arrive faster than forwarding rate into switch fabric

Physical layer:bit-level reception

Data link layer:e.g., Ethernetsee chapter 5

Page 21: Chapter 4: Network Layer Part I

4: Network Layer 21Comp 361, Spring 2005

Three types of switching fabrics

Page 22: Chapter 4: Network Layer Part I

4: Network Layer 22Comp 361, Spring 2005

Switching Via MemoryFirst generation routers:

packet copied by system’s (single) CPUspeed limited by memory bandwidth (2 bus

crossings per datagram)InputPort

OutputPort

Memory

System Bus

Modern routers:input port processor performs lookup, copy into

memoryCisco Catalyst 8500

Page 23: Chapter 4: Network Layer Part I

4: Network Layer 23Comp 361, Spring 2005

Switching Via a Bus

datagram from input port memoryto output port memory via a shared busbus contention: switching speed limited by bus bandwidth1 Gbps bus, Cisco 1900: sufficient speed for access and enterprise routers (not regional or backbone)

Page 24: Chapter 4: Network Layer Part I

4: Network Layer 24Comp 361, Spring 2005

Switching Via An Interconnection Network

overcome bus bandwidth limitationsBanyan networks, other interconnection nets initially developed to connect processors in multiprocessorAdvanced design: fragmenting datagram into fixed length cells, switch cells through the fabric. Cisco 12000: switches Gbps through the interconnection network

Page 25: Chapter 4: Network Layer Part I

4: Network Layer 25Comp 361, Spring 2005

Output Ports

Buffering required when datagrams arrive from fabric faster than the transmission rateScheduling discipline chooses among queued datagrams for transmission

Page 26: Chapter 4: Network Layer Part I

4: Network Layer 26Comp 361, Spring 2005

Output port queueing

buffering when arrival rate via switch exceeds output line speedqueueing (delay) and loss due to output port buffer overflow!

Page 27: Chapter 4: Network Layer Part I

4: Network Layer 27Comp 361, Spring 2005

Input Port Queuing

Fabric slower than input ports combined -> queueing may occur at input queues Head-of-the-Line (HOL) blocking: queued datagram at front of queue prevents others in queue from moving forwardqueueing delay and loss due to input buffer overflow!

Page 28: Chapter 4: Network Layer Part I

4: Network Layer 28Comp 361, Spring 2005

Chapter 4: Network Layer

4. 1 Introduction4.2 Virtual circuit and datagram networks4.3 What’s inside a router4.4 IP: Internet Protocol

Datagram formatIPv4 addressingICMPIPv6

4.5 Routing algorithmsLink stateDistance VectorHierarchical routing

4.6 Routing in the Internet

RIPOSPFBGP

4.7 Broadcast and multicast routing

Page 29: Chapter 4: Network Layer Part I

4: Network Layer 29Comp 361, Spring 2005

The Internet Network layer

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 30: Chapter 4: Network Layer Part I

4: Network Layer 30Comp 361, Spring 2005

Chapter 4: Network Layer

4. 1 Introduction4.2 Virtual circuit and datagram networks4.3 What’s inside a router4.4 IP: Internet Protocol

Datagram formatIPv4 addressingICMPIPv6

4.5 Routing algorithmsLink stateDistance VectorHierarchical routing

4.6 Routing in the Internet

RIPOSPFBGP

4.7 Broadcast and multicast routing

Page 31: Chapter 4: Network Layer Part I

4: Network Layer 31Comp 361, Spring 2005

IP datagram format

ver length

32 bits

data (variable length,typically a TCP

or UDP segment)

16-bit identifierInternetchecksum

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

head.len

type ofservice

“type” of data flgs fragmentoffset

upperlayer

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 TCP20 bytes of IP= 40 bytes + app layer overhead

Page 32: Chapter 4: Network Layer Part I

4: Network Layer 32Comp 361, Spring 2005

IP Fragmentation & Reassemblynetwork 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 destinationIP header bits used to identify, order related fragments

fragmentation: in: one large datagramout: 3 smaller datagrams

reassembly

Page 33: Chapter 4: Network Layer Part I

4: Network Layer 33Comp 361, Spring 2005

IP Fragmentation and ReassemblyID=x

offset=0

fragflag=0

length=4000

ID=x

offset=0

fragflag=1

length=1500

ID=x

offset=185

fragflag=1

length=1500

ID=x

offset=370

fragflag=0

length=1040

One large datagram becomesseveral smaller datagrams

Example4000 byte datagramMTU = 1500 bytes

1480 bytes in data field

offset =1480/8

Page 34: Chapter 4: Network Layer Part I

4: Network Layer 34Comp 361, Spring 2005

Chapter 4: Network Layer

4. 1 Introduction4.2 Virtual circuit and datagram networks4.3 What’s inside a router4.4 IP: Internet Protocol

Datagram formatIPv4 addressingICMPIPv6

4.5 Routing algorithmsLink stateDistance VectorHierarchical routing

4.6 Routing in the Internet

RIPOSPFBGP

4.7 Broadcast and multicast routing

Page 35: Chapter 4: Network Layer Part I

4: Network Layer 35Comp 361, Spring 2005

IP Addressing: introduction223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

IP address: 32-bit identifier for host, router interfaceinterface: connection between host/router and physical link

router’s typically have multiple interfaceshost may have multiple interfacesIP addresses associated with each interface, not with host or router

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 11

Page 36: Chapter 4: Network Layer Part I

4: Network Layer 36Comp 361, Spring 2005

Subnets223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

LAN

IP address:subnet part (high order bits)host part (low order bits)

What’s a subnet ?device interfaces with same subnet part of IP addresscan physically reach each other without intervening router network consisting of 3 subnets

(for IP addresses starting with 223, first 24 bits are network address)

Page 37: Chapter 4: Network Layer Part I

4: Network Layer 37Comp 361, Spring 2005

Subnets 223.1.1.0/24 223.1.2.0/24

223.1.3.0/24

RecipeTo determine the subnets, detach each interface from its host or router, creating islands of isolated networks. Each isolated network is called a subnet.

Subnet mask: /24

Page 38: Chapter 4: Network Layer Part I

4: Network Layer 38Comp 361, Spring 2005

Subnets223.1.1.1

223.1.1.3

223.1.1.4

223.1.2.2223.1.2.1

223.1.2.6

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.2

223.1.7.0

223.1.7.1223.1.8.0223.1.8.1

223.1.9.1

223.1.9.2

How many?

Page 39: Chapter 4: Network Layer Part I

4: Network Layer 39Comp 361, Spring 2005

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

“class-full” addressing:

class1.0.0.0 to127.255.255.255A 0network host

128.0.0.0 to191.255.255.255

B 10 network host

192.0.0.0 to223.255.255.255C 110 network host

224.0.0.0 to239.255.255.255D 1110 multicast address

32 bits

Page 40: Chapter 4: Network Layer Part I

4: Network Layer 40Comp 361, Spring 2005

IP addressing: CIDRclassful addressing:

inefficient use of address space, address space exhaustione.g., class B net allocated enough addresses for 65K hosts, even if only 2K hosts in that network

CIDR: Classless InterDomain Routingnetwork portion of address of arbitrary lengthaddress format: a.b.c.d/x, where x is # bits in network portion of address

11001000 00010111 00010000 00000000

networkpart

hostpart

200.23.16.0/23

Page 41: Chapter 4: Network Layer Part I

4: Network Layer 41Comp 361, Spring 2005

IP addresses: how to get one?

Q: How does host get IP address?

hard-coded by system admin in a fileWintel: control-panel->network->configuration->tcp/ip->propertiesUNIX: /etc/rc.config

DHCP: Dynamic Host Configuration Protocol: dynamically get address from server

“plug-and-play”(more later)

Page 42: Chapter 4: Network Layer Part I

4: Network Layer 42Comp 361, Spring 2005

IP addresses: how to get one?Q: How does network get subnet part of IP

addr?A: gets allocated portion of its provider ISP’s

address space

ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20

Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23

... ….. …. ….Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23

Page 43: Chapter 4: Network Layer Part I

4: Network Layer 43Comp 361, Spring 2005

Hierarchical addressing: route aggregation

Hierarchical addressing allows efficient advertisement of routing information:

“Send me anythingwith addresses beginning 200.23.16.0/20”

200.23.16.0/23

200.23.18.0/23

200.23.30.0/23

Fly-By-Night-ISP

Organization 0

Organization 7Internet

Organization 1

ISPs-R-Us “Send me anythingwith addresses beginning 199.31.0.0/16”

200.23.20.0/23Organization 2

...

...

Page 44: Chapter 4: Network Layer Part I

4: Network Layer 44Comp 361, Spring 2005

Hierarchical addressing: more specific routes

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

“Send me anythingwith addresses beginning 200.23.16.0/20”

200.23.16.0/23

200.23.18.0/23

200.23.30.0/23

Fly-By-Night-ISP

Organization 0

Organization 7Internet

Organization 1

ISPs-R-Us “Send me anythingwith addresses beginning 199.31.0.0/16or 200.23.18.0/23”

200.23.20.0/23Organization 2

...

...

Page 45: Chapter 4: Network Layer Part I

4: Network Layer 45Comp 361, Spring 2005

IP addressing: the last word...

Q: How does an ISP get block of addresses?A: ICANN: Internet Corporation for Assigned

Names and Numbersallocates addressesmanages DNSassigns domain names, resolves disputes

Page 46: Chapter 4: Network Layer Part I

4: Network Layer 46Comp 361, Spring 2005

NAT: Network Address Translation

10.0.0.1

10.0.0.2

10.0.0.3

10.0.0.4

138.76.29.7

local network(e.g., home network)

10.0.0/24

rest ofInternet

Datagrams with source or destination in this networkhave 10.0.0/24 address for source, destination (as usual)

All datagrams leaving localnetwork have same single source

NAT IP address: 138.76.29.7,different source port numbers

Page 47: Chapter 4: Network Layer Part I

4: Network Layer 47Comp 361, Spring 2005

NAT: Network Address Translation

Motivation: local network uses just one IP address as far as outside word is concerned:

no need to be allocated range of addresses from ISP: - just one IP address is used for all devicescan change addresses of devices in local network without notifying outside worldcan change ISP without changing addresses of devices in local networkdevices inside local net not explicitly addressable, visible by outside world (a security plus).

Page 48: Chapter 4: Network Layer Part I

4: Network Layer 48Comp 361, Spring 2005

NAT: Network Address TranslationImplementation: NAT router must:

in outgoing datagrams: replace (source IP address, port #) of every outgoing datagram to (NAT IP address, new port #). . . remote clients/servers will respond using (NAT

IP address, new port #) as destination addr.

remember (in NAT translation table) every (source IP address, port #) to (NAT IP address, new port #) translation pair

in incoming datagrams: replace (NAT IP address, new port #) in dest fields of every incoming datagram with corresponding (source IP address, port #) stored in NAT table

Page 49: Chapter 4: Network Layer Part I

4: Network Layer 49Comp 361, Spring 2005

NAT: Network Address Translation

10.0.0.1

10.0.0.2

10.0.0.3

S: 10.0.0.1, 3345D: 128.119.40.186, 80

110.0.0.4

138.76.29.7

1: host 10.0.0.1 sends datagram to 128.119.40, 80

NAT translation tableWAN side addr LAN side addr138.76.29.7, 5001 10.0.0.1, 3345…… ……

S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4

S: 138.76.29.7, 5001D: 128.119.40.186, 802

2: NAT routerchanges datagramsource addr from10.0.0.1, 3345 to138.76.29.7, 5001,updates table

S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3

3: Reply arrivesdest. address:138.76.29.7, 5001

4: NAT routerchanges datagramdest addr from138.76.29.7, 5001 to 10.0.0.1, 3345

Page 50: Chapter 4: Network Layer Part I

4: Network Layer 50Comp 361, Spring 2005

NAT: Network Address Translation

16-bit port-number field: 60,000 simultaneous connections with a single LAN-side address!

NAT is controversial:routers should only process up to layer 3violates end-to-end argument

• NAT possibility must be taken into account by app designers, eg, P2P applications

address shortage should instead be solved by IPv6

Page 51: Chapter 4: Network Layer Part I

4: Network Layer 51Comp 361, Spring 2005

Chapter 4: Network Layer

4. 1 Introduction4.2 Virtual circuit and datagram networks4.3 What’s inside a router4.4 IP: Internet Protocol

Datagram formatIPv4 addressingICMPIPv6

4.5 Routing algorithmsLink stateDistance VectorHierarchical routing

4.6 Routing in the Internet

RIPOSPFBGP

4.7 Broadcast and multicast routing

Page 52: Chapter 4: Network Layer Part I

4: Network Layer 52Comp 361, Spring 2005

ICMP: Internet Control Message Protocol

used by hosts & routers to communicate network-level information

error reporting: unreachable host, network, port, protocolecho request/reply (used by ping)

network-layer “above” IP:ICMP msgs carried in IP datagrams

ICMP message: type, code plus first 8 bytes of IP datagram causing error

Type Code description0 0 echo reply (ping)3 0 dest. network unreachable3 1 dest host unreachable3 2 dest protocol unreachable3 3 dest port unreachable3 6 dest network unknown3 7 dest host unknown4 0 source quench (congestion

control - not used)8 0 echo request (ping)9 0 route advertisement10 0 router discovery11 0 TTL expired12 0 bad IP header

Page 53: Chapter 4: Network Layer Part I

4: Network Layer 53Comp 361, Spring 2005

Traceroute and ICMP

Source sends series of UDP segments to dest

First has TTL =1Second has TTL=2, etc.Unlikely port number

When nth datagram arrives to nth router:

Router discards datagramAnd sends to source an ICMP message (type 11, code 0)Message includes name of router& IP address

When ICMP message arrives, source calculates RTTTraceroute does this 3 times

Stopping criterionUDP segment eventually arrives at destination hostDestination returns ICMP “host unreachable” packet (type 3, code 3)When source gets this ICMP, stops.

Page 54: Chapter 4: Network Layer Part I

4: Network Layer 54Comp 361, Spring 2005

Chapter 4: Network Layer

4. 1 Introduction4.2 Virtual circuit and datagram networks4.3 What’s inside a router4.4 IP: Internet Protocol

Datagram formatIPv4 addressingICMPIPv6

4.5 Routing algorithmsLink stateDistance VectorHierarchical routing

4.6 Routing in the Internet

RIPOSPFBGP

4.7 Broadcast and multicast routing

Page 55: Chapter 4: Network Layer Part I

4: Network Layer 55Comp 361, Spring 2005

IPv6Initial motivation: 32-bit address space soon to be completely allocated. Additional motivation:

header format helps speed processing/forwardingheader changes to facilitate QoS

IPv6 datagram format:fixed-length 40 byte headerno fragmentation allowed

Page 56: Chapter 4: Network Layer Part I

4: Network Layer 56Comp 361, Spring 2005

IPv6 Header (Cont)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

Page 57: Chapter 4: Network Layer Part I

4: Network Layer 57Comp 361, Spring 2005

Other Changes from IPv4

Checksum: removed entirely to reduce processing time at each hopOptions: allowed, but outside of header, indicated by “Next Header” fieldICMPv6: new version of ICMP

additional message types, e.g. “Packet Too Big”multicast group management functions

Page 58: Chapter 4: Network Layer Part I

4: Network Layer 58Comp 361, Spring 2005

Transition From IPv4 To IPv6

Not all routers can be upgraded simultaneousno “flag days”How will the network operate with mixed IPv4 and IPv6 routers?

Two proposed approaches:Dual Stack: some routers with dual stack (v6, v4) can “translate” between formatsTunneling: IPv6 carried as payload in IPv4 datagram among IPv4 routers

Page 59: Chapter 4: Network Layer Part I

4: Network Layer 59Comp 361, Spring 2005

TunnelingA B E F

IPv6 IPv6 IPv6 IPv6

tunnelLogical view:

A B E F

IPv6 IPv6 IPv6 IPv6

C D

IPv4 IPv4

Flow: XSrc: ADest: F

data

Flow: XSrc: ADest: F

data

Flow: XSrc: ADest: F

data

Src:BDest: E

Flow: XSrc: ADest: F

data

Src:BDest: E

A-to-B:IPv6

E-to-F:IPv6

Physical view:

B-to-C:IPv6 inside

IPv4

B-to-C:IPv6 inside

IPv4