network layer: a. forwarding

55
Ch. 4: Network Layer - Forwarding #1 Network Layer: a. Forwarding Goals: understand principles behind network layer services: forwarding routing (path selection) dealing with scale instantiation and implementation in the Internet Overview: network layer services IP addresses & their usage NAT IP header IP fragmentation ICMP IPv6

Upload: millicent-goulas

Post on 03-Jan-2016

60 views

Category:

Documents


0 download

DESCRIPTION

Goals: understand principles behind network layer services: forwarding routing (path selection) dealing with scale instantiation and implementation in the Internet. Overview: network layer services IP addresses & their usage NAT IP header IP fragmentation ICMP IPv6. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#1

Network Layer: a. ForwardingGoals: understand principles

behind network layer services: forwarding routing (path

selection) dealing with scale

instantiation and implementation in the Internet

Overview: network layer services IP addresses & their usage NAT IP header IP fragmentation ICMP IPv6

Page 2: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#2

Network Layer objectives Transport packet from source

to dest. o Net layer in all hosts,

routersBasic functions: Forwarding

move packets from source to destination through routers

Routing prepare info (table) that

enables finding a path for every packet/ data stream

Call setup (VC only, see later) find path for a data

session before data transfer starts

keep record of it in routers

“Contr

ol

pla

ne”

“Data

pla

ne”

Page 3: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding 4-3

Interplay between routing and forwarding

Forwarding

Routing

Build routing tables

Move packets from input link to output

link

1

23

0111

value in arrivingpacket’s header

routing algorithm

local routing tableheader value output link

0100010101111001

3221

Page 4: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#5

Network service model

Q: What service model for “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?

? ??virtual circuit

or datagram?

The most important abstraction provided

by network layer:

serv

ice a

bst

ract

ion

Page 5: Network Layer:  a. Forwarding

Virtual circuits: signaling protocols

Signaling used to set up, maintain, teardown VC used in ATM, frame-relay, X.25 not used in today’s Internet

• but Cisco’s MPLS builds a VC service over IP

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

1. Initiate call 2. incoming call

3. Accept call4. Call connected5. Data flow begins 6. Receive data

Ch. 4: Network Layer - Forwarding

#6

path recorded more path details

Principle prepare a path (= VC) before moving data each direction is a separate path

Page 6: Network Layer:  a. Forwarding

Virtual Circuit: call setup

Path preparation + resource allocation: Call setup message flows from source to

destination.• path recorded at this time

Path determination (routing):• Source based or network based.

Msg may indicate required resources:• BW, latency, buffer, etc.

A router can either:• accept (and commit required resources) or

reject Path accepted if all routers accept.

Ch. 4: Network Layer - Forwarding

#7

Page 7: Network Layer:  a. Forwarding

Virtual Circuit: Identifiers Forward call-setup pass:

each router allocates an ID for the VC• intended for incoming (I/C) packets of the VC• records it + the preceding &following node of path

Backward call-setup pass: each router tells predecessor its ID for the VC

• will use this ID on outgoing (O/G) packets of this VC lists in the I/C port’s fwding table the I/C VC-ID

and the corresponding O/G port+O/G ID Runtime: when receiving a packet with an ID :

find, in the I/C port’s forwarding table, the I/C ID’s record read from it the outgoing port & the O/G ID send packet on the required port with new ID .

Ch. 4: Network Layer - Forwarding

#8

Page 8: Network Layer:  a. Forwarding

VC : identifiers preparation

Example: call setup stage

Ch. 4: Network Layer - Forwarding

#9

BW=1Mb BW=1Mb BW=1Mb

In port

VC idin

Outport

VC id out

1

In port

VC idin

Outport

VC id out

1382

In port

VC idin

Outport

VC id out

1

In port

VC idin

Outport

VC id out

1222

In port

VC idin

Outport

VC id out

1222xx

In port

VC idin

Outport

VC id out

138222

1 12 2

Page 9: Network Layer:  a. Forwarding

VC : identifiers usage

Example: runtime stage

Ch. 4: Network Layer - Forwarding

#10

VCid=38 VCid=22 VCid=xx

In port

VC idin

Outport

VC id out

1

In port

VC idin

Outport

VC id out

1382

In port

VC idin

Outport

VC id out

1

In port

VC idin

Outport

VC id out

1222

In port

VC idin

Outport

VC id out

1222xx

In port

VC idin

Outport

VC id out

138222

2 21 1

Page 10: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#14

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

no network-level concept of “connection”

packets typically routed using destination host ID packets between same source-dest pair may take

different paths

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

1. Send data 2. Receive data

Page 11: Network Layer:  a. Forwarding

ATM: overview Asynchronous Transfer Mode Fixed packets size: called cells

53 bytes = 5 header + 48 data All virtual-circuit based Types of virtual circuits

“virtual circuits” aggregated into “virtual paths”

Permanent or switched Architecture is QoS-focused

Service Quality types: CBR, VBR, ABR, UBR Access traffic policing

Typical tool: leaky-bucket access controlCh. 4: Network Layer -

Forwarding#15

Page 12: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#16

Network Layer Quality of Service

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/delay)nocongestionnocongestionyes

no

Guarantees ?

Internet model is being extended: Intserv, Diffserv multimedia networking

ATM: Asynchronous Transfer Mode; CBR: Constant Bit Rate; V: Variable; A: available; U: Unspecified

Page 13: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#17

Datagram or VC network: why?Internet (Datagram) data exchange among

hosts (mostly) “elastic”

service, no strict timing req.

“smart” end systems can adapt, perform

control, error recovery simple inside network,

complexity at “edge” many link types

different characteristics uniform service difficult

Datagram benefit: Simplicity

ATM (VC) evolved from telephony

but supports also data human conversation:

strict timing &reliability requirements

svc guaranteed needed “dumb” end systems

telephones complexity inside

network VC Benefits:

Fast forwarding Traffic Engineering. In order delivery

Page 14: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#19

IP Addressing Scheme

We need an address to uniquely identify each destination

Routing scalability requires flexibility in aggregation of destination addresses we should be able to aggregate a set of

destinations as a single routing unit necessary for routing table scalability

Preview: the unit of routing in the Internet is a network - the destinations in the routing protocols and tables are networks

Page 15: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#20

IP Addressing: introduction IP address: 32-bit

identifier for host or router interface

interface: connection between host/router and physical link router’s typically have

multiple interfaces a host has typically a

single interface IP addresses

associated with interface, not host, or 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

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 11

Page 16: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#21

IP Addressing IP address is divided

into two parts: network prefix

• K high order bits host number

• remaining low order bits

This partitioning of the address depends on the context network in which we see this NIC networks are

nested inside each other

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

LAN

Qn: What is the router’s IP address in the drawing we see?

Page 17: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#22

What is a network in IP view?IP network

terminology: a Subnet is:

a set of devices that can physically reach each other without intervening router(s)

e.g. a LAN

a Network is: a subnet , or: the union of several

subnets that are interconnected by links

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

LAN

three subnets (LANs) 223.1.1.*, 223.1.2.*, 223.1.3.*, together they form a larger network with prefix 223.1 (16 bits) (OR MORE bits?)

Page 18: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding 4-23

IP Address Structure (CIDR method) the network prefix consists of the K most significant bits of

the address in some cases it is called the subnet prefix (see subnets

below) the host number = the other (32-K) bits the size K of the network prefix differs and must be specified

in each case. Two methods used for this: network mask has all 1‘s in the prefix part and all 0’s

elsewhere short notation is /K (also called the CIDR notation)

11001000 00010111 00010001 10110101/ 23

Exercise 1a) write the following IP address in dotted decimal notationb) specify corresponding netwk mask (binary and dotted

decimal)c) show network prefix & host # parts of that address

(binary)see solutions at end of chapter

Page 19: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding 4-24

Special Types of IP Address network broadcast address : host # = 11...1

means: all the hosts in the network specified in address prefix

used only as destination address of packets if dest. address = 11… 1 (32 1’s), broadcast on sender’s

subnet

network address : host # = 0 (all zeros) means: the whole network (used only in routing tables)

therefore the IP address of a host/router can not have host number = 0 or = “all ones”Exercise 21. write the network address of the network from Exercise 12. write the broadcast address for that network3. how many IP host addresses are possible in that

network?4. write host & network address with /K notation5. write the first and last host address on that network

Page 20: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding 4-25

Subnets

Recipe To determine the

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

Divide network into subnets and give an address to each

subnet

Network 223.1.0.0 / 21

Example

Page 21: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding 4-26

Solution of Example

Stage 1 Subnet 223.1.1.0 / 24Subnet 223.1.2.0 / 24

Subnet 223.1.3.0 / 24

Subnets: /24

Stage 2Network 223.1.0.0 / 21

223.1.1.1

223.1.1.2

223.1.1.3

223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27223.1.1.4

Page 22: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding 4-27

223.1.8.2223.1.8.1

Subnet 223.1.8.0/24

Subnets

o How many subnets?o Write an address for

each subnet,including /K

o Write an address for the whole network,including /K

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

223.1.7.1223.1.9.1

223.1.9.2

Subnet 223.1.2.0/24

Subnet 223.1.3.0/24

Subnet 223.1.1.0/24

Subnet 223.1.7.0/24

Subnet 223.1.9.0/24

Whole network: 223.1.0.0/20

Page 23: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#28

IP Addresses

0network host

10 network host

110 network host

1110 multicast address (*)

A

B

C

D

class1.0.0.0 to127.255.255.255

128.0.0.0 to191.255.255.255

192.0.0.0 to223.255.255.255

224.0.0.0 to239.255.255.255

32 bits

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

“classful” addressing:(does not need mask or /K indicator)

(*) this range used as multicast also in CIDR method

Page 24: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#29

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: Classless InterDomain Routing network portion of address of arbitrary length address format: a.b.c.d/x, where x is # bits in network

portion of address Requires inclusion of mask or “/K” in routing table

11001000 00010111 00010000 00000000

networkpart

hostpart

200.23.16.0/23

Page 25: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#30

IP addresses: how to get one?

Hosts (host number): hard-coded by system admin in a file

Can see in IPConfig DHCP: Dynamic Host Configuration Protocol:

dynamically get address: “plug-and-play” 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 this is the common practice in LAN (why?) in home access: same procedure using PPP

protocol

Page 26: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#31

IP addresses: how to get one?

Network (network prefix+mask): get allocated portion of 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 27: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#32

ISP Gets a block of addresses from ICANN:A: ICANN: Internet Corporation for Assigned

Names and Numbers allocates addresses manages DNS assigns domain names, resolves disputes allocates codes for the various protocols

IP addresses: how to get one?

Page 28: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#33

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:

Page 29: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#34

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 30: Network Layer:  a. Forwarding

Routing 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 (*)

Ch. 4: Network Layer - Forwarding

#35

(*) true for IPv4; in IPv6 MUCH more

Page 31: Network Layer:  a. Forwarding

Network Layer4-36

Longest prefix matching Network /K Link Interface

11001000 00010111 00010000 00000000 /21 011001000 00010111 00011000 00000000 /24 111001000 00010111 00010100 00000000 /24 200000000 00000000 00000000 00000000 /0 3

Examples:

(a) DA: 11001000 00010111 00010110 10100001 Which interface will be used by this router for following dest addresses?

(d) DA: 11001000 00010111 00011000 11101010

Network Link Interface200.23.16.0 /21 0200.23.24.0 /24 1200.23.20.0 /24 2otherwise 3

(b) DA: 11001000 00010111 00010100 10101010 (c) DA: 11001000 00010111 00011100 10111110

Routing table

Page 32: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#37

Getting a datagram from source to dest.

IP datagram:

miscfields

sourceIP addr

destIP addr data

datagram remains unchanged (*), as it travels source to destination

addr fields of interest here Main field :

dest. IP addr

Dest. Net. next router Nhops

223.1.1 1223.1.2 223.1.5.2 2223.1.3 223.1.5.2 2

routing table in R

223.1.1.4

223.1.1.2

R223.1.1.1

223.1.1.3

223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

S

223.1.5.1

223.1.5.2

(*) almost

Page 33: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#38

Getting a datagram from source to dest.

Starting at A, given IP datagram addressed to B:

A looks up its /K(*) in IPConfig

Compares first K bits in dest address with those in its own

find B is on same net. as A same prefix sane

subnet link layer will send datagram

directly to B in link-layer frame using ARP table/protocol B and A are directly

connected(*) in the form of subnet mask

miscfields223.1.1.1223.1.1.3data A’s IPConfig:

IP Addr: 223.1.1.1Subnet /K = 24 (*) Dflt Gtwy: 223.1.1.4

A’s ARP Table: 223.1.1.3 => 223.1.1.4 => Etc.

223.1.1.4

223.1.1.2

R223.1.1.1

223.1.1.3

223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

S

223.1.5.1

223.1.5.2

(*) subnet mask = 225.225.225.0

Page 34: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#39

Getting a datagram from source to dest.

Starting at A, dest. E: look up network address of

E E on different network

A sees this by comparing /K prefixes of A and E

routing table: next hop router to E is 223.1.5.2

link layer sends datagram to router 223.1.5.2 inside link-layer frame

datagram arrives at 223.1.5.2

cont. on next slide..

miscfields223.1.1.1223.1.2.2 data

223.1.1.4

223.1.1.2

R223.1.1.1

223.1.1.3

223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

S

223.1.5.1

223.1.5.2

Dest. Net. Next router Port Hops

223.1.1.0 /24 a 1223.1.2.0 /24 223.1.5.2 b 2223.1.3.0 /24 223.1.5.2 b 2

a

b

a bc

Routing Table

Page 35: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#40

Getting a datagram from source to dest.

Arrived at 223.1.5,2, continuing to 223.1.2.2

look up network address of E

E on subnet directly attached to router’s interface b

link layer sends datagram to 223.1.2.2 inside link-layer frame via I/F b (223.1.2.9)

datagram arrives at 223.1.2.2!!! (hooray!)

Qn: What table consulted here?

miscfields223.1.1.1223.1.2.2 data

223.1.1.4

223.1.1.2

R223.1.1.1

223.1.1.3

223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

S

223.1.5.1

223.1.5.2

Dest. Net. Next router Port Hops

223.1.1.0 /24 223.1.5.1 a 2223.1.2.0 /24 b 1223.1.3.0 /24 c 1

a

b

a bc

Page 36: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#41

Network Address Translation (NAT): Outline

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

192.168.1.2

192.168.1.3

192.168.1.4

192.168.1.1

138.76.29.7

local network(e.g., home network)

192.168.1.0/24

rest ofInternet

All datagrams leaving localnetwork have same single source NAT IP address: 138.76.29.7,different source port numbers

A local network uses just one public IP address as far as outside world is concerned Each device on the local network is assigned a private IP address

Page 37: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#42

NAT: ImplementationNAT router must:

for outgoing datagrams: replace (source IP address, port #) of every

outgoing datagram by (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

for 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 38: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#43

NAT: Network Address Translation

192.168.1.2

S: 192.168.1.2, 3345D: 128.119.40.186, 80 1

192.168.1.1

138.76.29.7

1: host 192.168.1.2 sends datagram to 128.119.40.186, 80

NAT translation tableWAN side addr LAN side addr

138.76.29.7, 5001 192.168.1.2, 3345…… ……

S: 128.119.40.186, 80 D: 192.168.1.2, 3345

4

S: 138.76.29.7, 5001D: 128.119.40.186, 80

2

2: NAT routerchanges datagramsource addr from192.168.1.2, 3345 to138.76.29.7, 5001,updates table

S: 128.119.40.186, 80 D: 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 192.168.1.2, 3345

192.168.1.3

192.168.1.4

Page 39: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#44

NAT: Advantages

No need to be allocated range of addresses from ISP: - just one public IP address is used for all devices 16-bit port-number field allows 60,000

simultaneous connections with a single LAN-side address !

can change ISP without changing addresses of devices in local network

can change addresses of devices in local network without notifying outside world

Devices inside local net not explicitly addressable, visible by outside world (a security plus)

Page 40: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#45

NAT: Drawbacks

If both hosts are behind distinct NATs, they will have difficulty establishing connection

NAT is controversial: violates layer modularity principle:

routers should process up to only layer 3 causes problem for some application protocols:

• if application writes an explicit IP address within the L5 header, the peer application will get a useless internal IP address as an argument

proper address shortage solution : IPv6 !

Page 41: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

#46

IP datagram format

ver length

32 bits

data (variable length,typically a TCP

or UDP segment)

16-bit identifier

Internet 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

head.len

type ofservice

“type” of data flgsfragment

offsetupper layer

32 bit destination IP address

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

Page 42: Network Layer:  a. Forwarding

Network Layer4-47 אפקה

תשע"א ס"ב

IPv6 Initial motivation: 32-bit address space

soon to be completely allocated. Additional motivation:

IPv6 header format helps speed processing IPv6 datagram format:

16-byte (128 bit) IP address fixed-length 40 byte header

• no options allowed inside the header• each option gets its own header after the main IP

header fragmentation discouraged

• allowed only using an options header

Page 43: Network Layer:  a. Forwarding

Network Layer4-48 אפקה

תשע"א ס"ב

Transition From IPv4 To IPv6 Not all routers can be upgraded simultaneously

How will the network operate with mixed IPv4 & IPv6 routers? Tunneling: IPv6 datagrams are carried as payload in IPv4

datagrams when travelling through IPv4 routers source and destination network are IPv6, but need to transit

an existing IPv4 network

How is tunneling done? gateway router in source network takes the IPv6 datagram as

payload and encapsulates it into an IPv4 datagram• i.e. adds an IPv4 header in front of it

the IPv4 destination is the gateway router of the destination network, which removes the IPv4 header and routes by IPv6

Gateway router must support IPv4, IPv6 and tunneling

Page 44: Network Layer:  a. Forwarding

Network Layer4-49 אפקה

תשע"א ס"ב

TunnelingA B E F

IPv6 IPv6

tunnelLogical view:

Physical view:A B E F

IPv6 IPv6

C D

IPv4 IPv4

Flow: XSrc: A

Dest: F

data

Flow: XSrc: A

Dest: F

data

Flow: XSrc: A

Dest: F

data

Src:BDest: E

Flow: XSrc: A

Dest: F

data

Src:BDest: E

A-to-B:IPv6

E-to-F:IPv6

B-to-C:IPv6 inside

IPv4

B-to-C:IPv6 inside

IPv4

IPv4 IPv4

IPv4 IPv4

IPv6 IPv6

IPv6 IPv6

Page 45: Network Layer:  a. Forwarding

Network Layer4-50 אפקה

תשע"א ס"ב

Usage of Tunneling Tunneling is used to move a packet

between similar networks A, B through a network Cthat is unable to understand its L3 header

Possible reasons:1. C uses a different protocol (e.g. IPv6 vs IPv4)2. A wants to encipher the data and the header

(VPN application)3. All networks use same protocol, but the

destination node is currently at a foreign network(Mobile IP application)

Page 46: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

4-51

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 47: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

4-52

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

Page 48: Network Layer:  a. Forwarding

IPv6 status report Operating systems –

wide support – early 2000 Windows (2000, XP, Vista), BSD, Linux, Apple

Networking infrastructure Cisco

Deployment Slow

Penetration Host - minor (less than 1%) Used in 2008 in China Olympic games

Motivation: CIDR & NAT

Ch. 4: Network Layer - Forwarding

#53

Page 49: Network Layer:  a. Forwarding

Extra

Ch. 4: Network Layer - Forwarding

#54

Page 50: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

4-55

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 datagramout: 3 smaller datagrams

reassembly

Page 51: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

4-56

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

Page 52: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

4-57

ICMP: Internet Control Message Protocol

used by hosts & routers to communicate network-level information error reporting:

unreachable host, network, port, protocol

echo 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: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding

4-58

Traceroute and ICMP

Source sends series of UDP segments to dest First has TTL =1 Second has TTL=2, etc. Unlikely port number

When nth datagram arrives to nth router: Router discards

datagram And sends to source an

ICMP message (type 11, code 0)

Message includes name of router& IP address

When ICMP message arrives, source calculates RTT

Traceroute does this 3 times

Stopping criterion UDP segment eventually

arrives at destination host

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

When source gets this ICMP, stops.

Page 54: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding 4-59

Exercise 1 Answers

11001000 00010111 00010001 10110101/ 23

Ans 2: 11111111 11111111 11111110 00000000 = 255.255.254.0

255-1 = 254

Ans 3: 11001000 00010111 00010001 10110101 NETWORK HOST

Ans 1: 11001000 00010111 00010001 10110101 =200.23.17.181

128+64+8= 200 16+7= 23 16+1= 17 128+32+16+5= 181

128 64 32 16 8 4 2 127 26 25 24 23 22 21 20

128 64 32 16 8 4 2 127 26 25 24 23 22 21 20

Page 55: Network Layer:  a. Forwarding

Ch. 4: Network Layer - Forwarding 4-60

Exercise 2 Answers

11001000 00010111 00010001 10110101/ 23

Ans 5: first host address: 200.23.16.1/23last host address: 200.23.17.254/23

Ans 1: 11001000 00010111 00010000 00000000 = 200.23.16.0

Ans 2: 11001000 00010111 00010001 11111111 = 200.23.17.255

Ans 3: 29-2 = 510 hosts

NETWORK

Ans 4: network: 200.23.16.0/23 host: 200.23.17.181/23