32
1 Network Layer 4-1 Chapter 4 Network Layer -Part 1 Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004. Network Layer 4-2 Chapter 4: Network Layer Chapter goals: understand principles behind network layer services: network layer service models forwarding versus routing how a router works routing (path selection) dealing with scale advanced topics: IPv6, mobility instantiation, implementation in the Internet

Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

1

Network Layer 4-1

Chapter 4Network Layer-Part 1

Computer Networking:A Top Down ApproachFeaturing the Internet,3rd edition.Jim Kurose, Keith RossAddison-Wesley, July2004.

Network Layer 4-2

Chapter 4: Network Layer

Chapter goals:❒ understand principles behind network layer

services:❍ network layer service models❍ forwarding versus routing❍ how a router works❍ routing (path selection)❍ dealing with scale❍ advanced topics: IPv6, mobility

❒ instantiation, implementation in the Internet

Page 2: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

2

Network Layer 4-3

Chapter 4: Network Layer

❒ 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 theInternet❍ RIP❍ OSPF❍ BGP

❒ 4.7 Broadcast andmulticast routing

Network Layer 4-4

Network layer❒ transport segment from

sending to receiving host❒ on sending side

encapsulates segmentsinto datagrams

❒ on rcving side, deliverssegments to transportlayer

❒ network layer protocolsin every host, router

❒ Router examines headerfields in all IP datagramspassing 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 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

3

Network Layer 4-5

Two Key Network-Layer Functions

❒ forwarding: movepackets from router’sinput to appropriaterouter output

❒ routing: determineroute taken bypackets from sourceto dest.

❍ routing algorithms

analogy:

❒ routing: process ofplanning trip fromsource to dest

❒ forwarding: processof getting throughsingle interchange

Network Layer 4-6

1

23

0111

value in arrivingpacket’s header

routing algorithm

local forwarding tableheader value output link

0100010101111001

3221

Interplay between routing and forwarding

Page 4: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

4

Network Layer 4-7

Connection setup

❒ 3rd important function in some network architectures:❍ ATM, frame relay, X.25

❒ before datagrams flow, two end hosts and interveningrouters establish virtual connection❍ routers get involved

❒ network vs transport layer connection service:❍ network: between two hosts (may also involve

inervening routers in case of VCs)❍ transport: between two processes

Network Layer 4-8

Network service modelQ: What service model for “channel” transportingdatagrams from sender to receiver?

Example services forindividual datagrams:

❒ guaranteed delivery❒ guaranteed delivery

with less than 40 msecdelay

Example services for aflow of datagrams:

❒ in-order datagramdelivery

❒ guaranteed minimumbandwidth to flow

❒ restrictions onchanges in inter-packet spacing

Page 5: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

5

Network Layer 4-9

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 ?

Network Layer 4-10

Chapter 4: Network Layer

❒ 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 theInternet❍ RIP❍ OSPF❍ BGP

❒ 4.7 Broadcast andmulticast routing

Page 6: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

6

Network Layer 4-11

Network layer connection andconnection-less service❒ datagram network provides network-layer

connectionless service❒ VC network provides network-layer

connection service❒ analogous to the transport-layer services,

but:❍ service: host-to-host❍ no choice: network provides one or the other❍ implementation: in network core

Network Layer 4-12

Virtual circuits

❒ call setup, teardown for each call before data can flow❒ each packet carries VC identifier (not destination host

address)❒ every router on source-dest path maintains “state” for

each passing connection❒ link, router resources (bandwidth, buffers) may be

allocated to VC (dedicated resources = predictable service)

“source-to-dest path behaves much like telephonecircuit”❍ performance-wise❍ network actions along source-to-dest path

Page 7: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

7

Network Layer 4-13

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

path❒ packet belonging to VC carries VC number

(rather than dest address)❒ VC number can be changed on each link.

❍ New VC number comes from forwarding table

Network Layer 4-14

Forwarding table12 22 32

1 23

VC number

interfacenumber

Incoming interface Incoming VC # Outgoing interface Outgoing VC #

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

Forwarding table innorthwest router:

Routers maintain connection state information!

Page 8: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

8

Network Layer 4-15

Virtual circuits: signaling protocols

❒ used to setup, maintain teardown VC❒ used in ATM, frame-relay, X.25❒ not 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

Network Layer 4-16

Datagram networks❒ no call setup at network layer❒ routers: no state about end-to-end connections

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

❍ packets between same source-dest pair may takedifferent paths

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

1. Send data 2. Receive data

Page 9: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

9

Network Layer 4-17

Forwarding table

Destination Address Range Link Interface

11001000 00010111 00010000 00000000 through 0 11001000 00010111 00010111 11111111

11001000 00010111 00011000 00000000 through 1 11001000 00010111 00011000 11111111

11001000 00010111 00011001 00000000 through 2 11001000 00010111 00011111 11111111

otherwise 3

4 billion possible entries

Network Layer 4-18

Longest prefix matching

Prefix Match Link Interface 11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 otherwise 3

DA: 11001000 00010111 00011000 10101010

Examples

DA: 11001000 00010111 00010110 10100001 Which interface?

Which interface?

Page 10: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

10

Network Layer 4-19

Datagram or VC network: why?

Internet (datagram)❒ data exchange among

computers❍ “elastic” service, no strict

timing req.❒ “smart” end systems

(computers)❍ can adapt, perform

control, error recovery❍ simple inside network,

complexity at “edge”❒ many link types

❍ different characteristics❍ uniform service difficult

ATM (VC)❒ evolved from telephony❒ human conversation:

❍ strict timing, reliabilityrequirements

❍ need for guaranteedservice

❒ “dumb” end systems❍ telephones❍ complexity inside

network

Network Layer 4-20

Chapter 4: Network Layer

❒ 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 theInternet❍ RIP❍ OSPF❍ BGP

❒ 4.7 Broadcast andmulticast routing

Page 11: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

11

Network Layer 4-21

Router Architecture Overview

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

Network Layer 4-22

Input Port Functions

Decentralized switching:❒ given datagram dest., lookup output port

using forwarding table in input portmemory

❒ goal: complete input port processing at‘line speed’

❒ queuing: if datagrams arrive faster thanforwarding rate into switch fabric

Physical layer:bit-level reception

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

Page 12: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

12

Network Layer 4-23

Three types of switching fabrics

Network Layer 4-24

Switching Via MemoryFirst generation routers:❒ traditional computers with switching underdirect control of CPU❒ packet copied to system’s memory❒ speed limited by memory bandwidth (2 buscrossings per datagram)

InputPort

OutputPort

Memory

System Bus

Page 13: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

13

Network Layer 4-25

Switching Via a Bus

❒ datagram from input port memory to output port memory via a shared

bus❒ bus contention: switching speed

limited by bus bandwidth❒ 1 Gbps bus, Cisco 1900: sufficient

speed for access and enterpriserouters (not regional or backbone)

Network Layer 4-26

Switching Via An InterconnectionNetwork

❒ overcome bus bandwidth limitations❒ Banyan networks, other interconnection nets

initially developed to connect processors inmultiprocessor

❒ Advanced design: fragmenting datagram into fixedlength cells, switch cells through the fabric.

❒ Cisco 12xxx series: switches Gbps through theinterconnection network (30 Gbps to 1.28 Tbps)

Page 14: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

14

Network Layer 4-27

Output Ports

❒ Buffering required when datagrams arrive fromfabric faster than the transmission rate

❒ Scheduling discipline chooses among queueddatagrams for transmission

Network Layer 4-28

Output port queueing

❒ buffering when arrival rate via switch exceedsoutput line speed

❒ queueing (delay) and loss due to output portbuffer overflow!

Page 15: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

15

Network Layer 4-29

Input Port Queuing

❒ Fabric slower than input ports combined -> queueingmay occur at input queues

❒ Head-of-the-Line (HOL) blocking: queued datagramat front of queue prevents others in queue frommoving forward

❒ queueing delay and loss due to input buffer overflow!

Network Layer 4-30

Chapter 4: Network Layer

❒ 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 theInternet❍ RIP❍ OSPF❍ BGP

❒ 4.7 Broadcast andmulticast routing

Page 16: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

16

Network Layer 4-31

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

Network Layer 4-32

Chapter 4: Network Layer

❒ 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 theInternet❍ RIP❍ OSPF❍ BGP

❒ 4.7 Broadcast andmulticast routing

Page 17: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

17

Network Layer 4-33

IP datagram format

ver length

32 bits

data (variable length,typically a TCP

or UDP segment)

16-bit identifierheader

checksumtime to

live32 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 fragment offset

upper layer

32 bit destination IP address

Options (if any) E.g. timestamp,record routetaken, specifylist of routers to visit.

how much overheadwith TCP?

❒ 20 bytes of TCP❒ 20 bytes of IP❒ = 40 bytes + app

layer overhead

Network Layer 4-34

IP Fragmentation & Reassembly❒ network links have MTU

(max.transfer size) - largestpossible 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 relatedfragments

fragmentation: in: one large datagramout: 3 smaller datagrams

reassembly

Page 18: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

18

Network Layer 4-35

IP Fragmentation and Reassembly

ID=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

Example❒ 4000 byte

datagram❒ MTU = 1500 bytes

1480 bytes in data field

offset =1480/8

Network Layer 4-36

Chapter 4: Network Layer

❒ 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 theInternet❍ RIP❍ OSPF❍ BGP

❒ 4.7 Broadcast andmulticast routing

Page 19: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

19

Network Layer 4-37

IP Addressing: introduction❒ IP address: 32-bit

identifier forinterface

❒ interface: connectionbetween host/routerand physical link❍ router’s typically have

multiple interfaces❍ host typically has one

interface❍ IP addresses

associated with eachinterface

223.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

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 11

Network Layer 4-38

Subnets❒ IP address:

❍ subnet part (highorder bits)

❍ host part (low orderbits)

❒ What’s a subnet ?❍ device interfaces with

same subnet part of IPaddress

❍ can physically reacheach other withoutintervening router

223.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

network consisting of 3 subnets

subnet

Page 20: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

20

Network Layer 4-39

Subnets 223.1.1.0/24 223.1.2.0/24

223.1.3.0/24

Recipe❒ To determine the

subnets, detach eachinterface from itshost or router,creating islands ofisolated networks.Each isolated networkis called a subnet.

Subnet mask: /24

Network Layer 4-40

SubnetsHow many do we have

here?223.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

Page 21: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

21

Network Layer 4-41

IP addressing: CIDRCIDR: Classless InterDomain Routing

❍ subnet portion of address of arbitrary length❍ Before CIDR: classful addressing. /8, /16, /24

only (known as class A, B, and C networks)❍ address format: a.b.c.d/x, where x is # bits in

subnet portion of address

11001000 00010111 00010000 00000000

subnetpart

hostpart

200.23.16.0/23

Network Layer 4-42

IP broadcast and multicast❒ Broadcast: Sending data to all possible destinations. Permits

sender to send data only once. In the IP protocol,255.255.255.255 represents a limited local broadcast (bydefault not routed). A directed (limited) broadcast can beachieved by combining the network prefix with a host suffixcomposed entirely of binary 1s.Example: to send to all addresses within a network with the

prefix 192.0.2, the directed broadcast IP addressis 192.0.2.255.

❒ Multicast: A multicast address (224.0.0.0 to 239.255.255.255,formerly called "Class D”) is associated with a group ofinterested receivers (routers process special mcast join/leavemessages).The sender sends a single datagram (from the sender's unicastaddress) to the multicast address, and the routers take careof making copies and sending them to all receivers that haveregistered their interest in data from that sender.

More later!

Page 22: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

22

Network Layer 4-43

IP addresses: how to get one?

Q: How does host get IP address?

❒ hard-coded by system admin in a file❍ Wintel: control-panel->network->configuration-

>tcp/ip->properties❍ UNIX: /etc/rc.config

❒ DHCP: Dynamic Host Configuration Protocol:dynamically get address from as server❍ “plug-and-play”

(more in next chapter)

Network Layer 4-44

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/23Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. ….Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23

Page 23: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

23

Network Layer 4-45

Hierarchical addressing: route aggregation

“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

...

...

Hierarchical addressing allows efficient advertisement of routing information:

Network Layer 4-46

Hierarchical addressing: more specificroutes

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 24: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

24

Network Layer 4-47

IP addressing: the last word...

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

❍ allocates addresses❍ manages DNS❍ assigns domain names, resolves disputes

Network Layer 4-48

IP addressing:the reality of IPv4

Page 25: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

25

Network Layer 4-49

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 sourceNAT IP address: 138.76.29.7,different source port numbers

Network Layer 4-50

NAT: Network Address Translation

❒ Motivation: local network uses just one IP address asfar as outside world is concerned:❍ range of addresses not needed from ISP: just one

IP address for all devices❍ can change addresses of devices in local network

without notifying outside world❍ can change ISP without changing addresses of

devices in local network❍ devices inside local net not explicitly addressable,

visible by outside world (a security plus).

Page 26: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

26

Network Layer 4-51

NAT: Network Address TranslationImplementation: NAT router must:

❍ 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 (sourceIP address, port #) to (NAT IP address, new port#) translation pair

❍ incoming datagrams: replace (NAT IP address, newport #) in dest fields of every incoming datagramwith corresponding (source IP address, port #)stored in NAT table

Network Layer 4-52

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.186, 80

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

S: 128.119.40.186, 80D: 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, 80D: 138.76.29.7, 5001 3

3: Reply arrives dest. address: 138.76.29.7, 5001

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

Page 27: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

27

Network Layer 4-53

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 3❍ violates end-to-end argument

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

❍ address shortage should instead be solved byIPv6

Network Layer 4-54

Chapter 4: Network Layer

❒ 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 theInternet❍ RIP❍ OSPF❍ BGP

❒ 4.7 Broadcast andmulticast routing

Page 28: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

28

Network Layer 4-55

ICMP: Internet Control Message Protocol

❒ used by hosts & routers tocommunicate network-levelinformation❍ error reporting:

unreachable host, network,port, protocol

❍ echo request/reply (usedby ping)

❒ network-layer “above” IP:❍ ICMP msgs carried as

payload in IP datagrams❒ ICMP message: type, code plus

first 8 bytes of IP datagramcausing 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

Network Layer 4-56

Traceroute and ICMP

❒ Source sends series ofUDP segments to dest❍ First has TTL =1❍ Second has TTL=2,…n.❍ Unlikely port number

❒ When nth datagram arrivesto nth router:❍ Router discards datagram❍ And sends to source an

ICMP message (type 11,code 0 - TTL expired)

❍ This message includesname of router& IPaddress!

❒ When ICMP messagearrives, source calculatesRTT

❒ Traceroute does this 3times

Stopping criterion❒ UDP segment eventually

arrives at destination host❒ Unlikely port number

destination returns ICMP“host unreachable” packet(type 3, code 3)

❒ When source gets thisICMP, it stops.

Page 29: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

29

Network Layer 4-57

Chapter 4: Network Layer

❒ 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 theInternet❍ RIP❍ OSPF❍ BGP

❒ 4.7 Broadcast andmulticast routing

Network Layer 4-58

IPv6❒ Initial motivation: 32-bit address space soon

to be completely allocated.❒ Additional motivation:

❍ header format helps speed processing/forwarding❍ header changes to facilitate QoSIPv6 datagram format:❍ fixed-length 40 byte header❍ no fragmentation allowed

Page 30: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

30

Network Layer 4-59

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

Network Layer 4-60

Other Changes from IPv4

❒ Checksum: removed entirely to reduceprocessing time at each hop

❒ Options: allowed, but outside of header,indicated by “Next Header” field

❒ ICMPv6: new version of ICMP❍ additional message types, e.g. “Packet Too Big”❍ multicast group management functions

Page 31: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

31

Network Layer 4-61

Transition From IPv4 To IPv6

❒ Not all routers can be upgraded simultaneous❍ no “flag days”❍ How will the network operate with mixed IPv4 and

IPv6 routers?❒ Tunneling: IPv6 carried as payload in IPv4

datagram among IPv4 routers

Network Layer 4-62

TunnelingA B E F

IPv6 IPv6 IPv6 IPv6

tunnelLogical view:

Physical view:A B E F

IPv6 IPv6 IPv6 IPv6IPv4 IPv4

Page 32: Chapter 4 Network Layer -Part 1 - University of Utahece6962-003/slides/Chapter4...ATM, frame relay, X.25 before datagrams flow, two end hosts and intervening routers establish virtual

32

Network Layer 4-63

TunnelingA B E F

IPv6 IPv6 IPv6 IPv6

tunnelLogical view:

Physical 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:IPv6B-to-C:

IPv6 insideIPv4

B-to-C:IPv6 inside

IPv4