part 2

gascitytankNetworking and Communications

Oct 28, 2013 (3 years and 9 months ago)

262 views

תרוכזת


בורקה ישיש םוי המלשה רועיש


תועש
9
-
12


םוקמ
:
ןייטשנרוא
111

Last Week


Basic Routing Schemes


Link State:


broadcast link information


Local computation on global topology


Distance vector:


Exchange distance information with neighbors


Local updates based on neighbors information


Hierarchical Routing


Broadcast and multicast


Using a tree topology

This week


Hierarchical routing


IP addresses


Definition of network


Network Address Translation (NAT)


Routing algorithms implementations



Lecture 6:
Network Layer

#
4

The Internet Network layer

routing

table

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

Network

layer


Lecture
6
:
Network Layer

#
5

Hierarchical Routing

scale:

with 50 million
destinations:


can’t store all dest’s in
routing tables!


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


Lecture
6
:
Network Layer

#
6

Hierarchical Routing


aggregate routers into
regions,

“autonomous
systems” (AS)


routers in same AS run
same routing protocol


“intra
-
AS” routing

protocol


routers in different AS
can run different intra
-
AS routing protocol


special routers in AS


run intra
-
AS routing
protocol with all other
routers in AS


also

responsible for
routing to destinations
outside AS


run
inter
-
AS routing

protocol with other
gateway routers

gateway routers


Lecture 6:
Network Layer

#
7

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

a

b

b

a

a

C

A

B

d

A.a

A.c

C.b

B.a

c

b

c


Lecture 6:
Network Layer

#
8

Intra
-
AS and Inter
-
AS routing

Host

h
2

a

b

b

a

a

C

A

B

d

c

A.a

A.c

C.b

B.a

c

b

Host

h
1

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


Lecture
6
:
Network Layer

#
9

Routing: Example







AS

A

(
OSPF)



AS

B

(
OSPF

intra


routing)



AS

D



AS

C

i

b

a
1

a2

d

E

F

AS

I

i
2

No Export

to F


Lecture 6:
Network Layer

#
10

Routing: Example







AS

A

(
OSPF)



AS

B

(
OSPF

intra


routing)



AS

D



AS

C

i

b

How to specify?

a
1

a2

d

E

F

AS

I

d
1

d
2


Lecture 6:
Network Layer

#
11

IP Addressing Scheme


We need an address to
uniquely

identify
each destination



Routing scalability needs flexibility in
aggregation

of destination addresses


we should be able to aggregate a set of
destinations as a single routing unit



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


Lecture
6
:
Network Layer

#
12

IP Addressing: introduction


IP address:

32
-
bit
identifier for host,
router
interface



interface:

connection
between
host, router

and
physical link


router’s typically have
multiple interfaces


host may have multiple
interfaces


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

223.1.3.1

223.1.3.27

223.1.1.1 = 11011111 00000001 00000001 00000001

223

1

1

1


Lecture
6
:
Network Layer

#
13

IP Addressing


IP address:



network part


high order bits


host part


low order bits


What’s a network ?
(from IP address
perspective)


device interfaces with
same network part of
IP address


can physically reach
each other without
intervening 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.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


Lecture 6:
Network Layer

#
14

IP Addressing

How to find the
networks?


Detach each
interface from
router, host


create “islands of
isolated networks

223.1.1.1

223.1.1.3

223.1.1.4

223.1.2.2

223.1.2.1

223.1.2.6

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


Lecture
6
:
Network Layer

#
15

IP Addresses

0

network

host

10

network

host

110

network

host

1110

multicast address

A

B

C

D

class

1.0.0.0
to

127.255.255.255

128.0.0.0
to

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:


Lecture
6
:
Network Layer

#
16

IP addressing: CIDR


classful addressing:


inefficient use of address space, address space exhaustion


e.g., class B net allocated enough addresses for
65
K hosts,
even if only
2
K 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
portion of address

11001000 00010111

0001000
0 00000000

network

part

host

part

200.23.16.0
/
23


Lecture
6
:
Network Layer

#
17

CIDR Address Aggregation







AS

A

(
OSPF)



AS

D



i

a
1

a2

d

i
-
>a
1
: I can reach

130.132
/
16
; my
path: I

AS

I

d
1

130.132.1
/
24

130.132.2
/
24

130.132.3
/
24

intradomain
routing uses /24


Lecture
6
:
Network Layer

#
18

CIDR Address Aggregation

x
00
/
24
: B

x
01
/
24
: C

x
10
/
24
: E

x
11
/
24
: F

A

B

C

E

F

G


Lecture
6
:
Network Layer

#
19

IP addresses: how to get one?

Hosts (host portion):


hard
-
coded by system admin in a file


DHCP:

D
ynamic
H
ost
C
onfiguration
P
rotocol:
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


The common practice in LAN and home access
(why?)



Lecture
6
:
Network Layer

#
20

IP addresses: how to get one?

Network (network portion):


get allocated portion of ISP’s address space:


ISP's block
11001000 00010111 0001
0000 00000000 200.23.16.0
/
20


Organization
0
11001000 00010111 0001000
0 00000000 200.23.16.0
/
23


Organization
1
11001000 00010111 0001001
0 00000000 200.23.18.0
/
23


Organization
2
11001000 00010111 0001010
0 00000000 200.23.20.0
/
23


... ….. …. ….


Organization
7
11001000 00010111 0001111
0 00000000 200.23.30.0
/
23




Lecture
6
:
Network Layer

#
21

Hierarchical addressing: route aggregation


Send me anything

with 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
7

Internet

Organization
1

ISPs
-
R
-
Us


Send me anything

with addresses

beginning

199.31.0.0
/
16


200.23.20.0
/
23

Organization
2

.

.

.

.

.

.

Hierarchical addressing allows efficient advertisement of routing

information:


Lecture
6
:
Network Layer

#
22

Hierarchical addressing: more specific
routes

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


Send me anything

with 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
7

Internet

Organization 1

ISPs
-
R
-
Us


Send me anything

with addresses

beginning
199.31.0.0
/
16

or
200.23.18.0
/
23


200.23.20.0
/
23

Organization
2

.

.

.

.

.

.


Lecture
6
:
Network Layer

#
23

Network Address Translation: Motivation

1
92
.
168
.
1
.
2

1
92
.
168
.
1
.
3

1
92
.
168
.
1
.
4

1
92
.
168
.
1
.
1

138.76.29.7

local network

(e.g., home network)

1
92
.
168
.
1.0
/
24

rest of

Internet

Datagrams with source or

destination in this network

have 1
92
.
168
.
1
/24 address for

source, destination (as usual)

All

datagrams
leaving

local

network have
same

single source
NAT IP address:
138.76.29.7
,

different source port numbers



A loc
al 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


Lecture
6
:
Network Layer

#
24

NAT: Network Address Translation

Implementation:

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



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



Lecture 6:
Network Layer

#
25

NAT: Network Address Translation

1
92
.
168
.
1
.
2

S:
1
92
.
168
.
1
.
2
,
3345

D:
128.119.40.186
,
80

1

1
92
.
168
.
1
.
1

138.76.29.7

1:

host 1
92
.
168
.
1
.
2


sends datagram to

128.119.40.186, 80

NAT translation table

WAN side addr LAN side addr

138.76.29.7
,
5001 1
92
.
168
.
1
.
2
,
3345

…… ……

S:
128.119.40.186
,
80

D:
1
92
.
168
.
1
.
2
,
3345


4

S:
138.76.29.7
,
5001

D:
128.119.40.186
,
80

2

2
:

NAT router

changes datagram

source addr from

1
92
.
168
.
1
.
2
,
3345
to

138.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 router

changes datagram

dest addr from

138.76.29.7
,
5001
to
1
92
.
168
.
1
.
2
,
3345



1
92
.
168
.
1
.
3

1
92
.
168
.
1
.
4


Lecture
6
:
Network Layer

#
26

Network Address Translation: 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)


Lecture
6
:
Network Layer

#
27

NAT: Network Address Translation


If both hosts are behind different NAT,
they will have difficulty establishing
connection



NAT is controversial:


routers should process up to
only
layer
3


violates end
-
to
-
end argument


NAT possibility must be taken into account by app
designers, e.g., P
2
P applications


address shortage should instead be solved by
having more addresses
---

IPv
6

!


Lecture
6
:
Network Layer

#
28

IP addressing: the last word...

Q:

How does an ISP get block of addresses?

A:

ICANN
:
I
nternet
C
orporation for
A
ssigned


N
ames and
N
umbers


allocates addresses


manages DNS


assigns domain names, resolves disputes


Lecture
6
:
Network Layer

#
29

Getting a datagram from source to dest.

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

223.1.3.1

223.1.3.27

A

B

E

IP datagram:


misc

fields

source

IP addr

dest

IP addr

data


datagram remains
unchanged, as it travels
source to destination


addr fields of interest
here


mainly dest. IP addr



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

routing table in A


Lecture
6
:
Network Layer

#
30

Getting a datagram from source to dest.

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

223.1.3.1

223.1.3.27

A

B

E

Starting at A, given IP
datagram addressed to B:


look up net. address of B


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

misc

fields

223.1.1.1

223.1.1.3

data


Lecture
6
:
Network Layer

#
31

Getting a datagram from source to dest.

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

223.1.3.1

223.1.3.27

A

B

E

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


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 link
-
layer frame


datagram arrives at
223.1.1.4



continued…..

misc

fields

223.1.1.1

223.1.2.2

data


Lecture
6
:
Network Layer

#
32

Getting a datagram from source to dest.

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

223.1.3.1

223.1.3.27

A

B

E

Arriving at
223.1.4
,
destined for
223.1.2.2


look up network address of E


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 via interface
223.1.2.9



datagram arrives at
223.1.2.2
!!!

(hooray!)

misc

fields

223.1.1.1

223.1.2.2

data


network router Nhops interface

223.1.1
-

1
223.1.1.4


223.1.2
-

1
223.1.2.9

223.1.3
-

1
223.1.3.27


Dest. next


Lecture
6
:
Network Layer

#
33

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 of

service


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

to visit.

Network Layer

4
-
34

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

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

=
1060

One large datagram becomes

several smaller datagrams

Example


4000
byte
datagram


MTU =
1500
bytes


1480
bytes in

data field

offset =

1480
/
8


Lecture
6
:
Network Layer

#
36

Routing in the Internet


The Global Internet consists of
Autonomous Systems
(AS)

interconnected with each other:


Stub AS
: small corporation


Multihomed AS
: large corporation (no transit)


Transit AS
: provider



Two
-
level routing:


Intra
-
AS:

administrator is responsible for choice


Inter
-
AS:

unique standard


Lecture
6
:
Network Layer

#
37

Internet AS Hierarchy

Inter
-
AS border (exterior gateway) routers

Intra
-
AS

interior (gateway) routers


Lecture
6
:
Network Layer

#
38

Intra
-
AS Routing


Also known as
Interior Gateway Protocols (IGP)


Most common IGPs:



RIP: Routing Information Protocol



OSPF: Open Shortest Path First



IGRP: Interior Gateway Routing Protocol (Cisco
propr.)


Lecture
6
:
Network Layer

#
39

RIP ( Routing Information Protocol)


Distance vector algorithm


Included in BSD
-
UNIX Distribution in
1982


Distance metric: # of hops (max =
15
hops)


why?



Distance vectors:

exchanged every
30
sec via
Response Message (also called
advertisement
)


Each advertisement: route to up to
25
destination
nets


Lecture
6
:
Network Layer

#
40

RIP (Routing Information Protocol)

Destination Network


Next Router Num. of hops to dest.



w



A



2


y



B



2



z



B



7


x



--



1


….



….



....

w

x

y

z

A

C

D

B

Routing table in D


Lecture
6
:
Network Layer

#
41

RIP: Link Failure and Recovery


If no advertisement heard after
180
sec
--
>
neighbor/link declared dead


routes via neighbor invalidated


new advertisements sent to neighbors


neighbors in turn send out new advertisements (if
tables changed)


link failure info quickly propagates to entire net


poison reverse used to prevent ping
-
pong loops
(infinite distance =
16
hops)


Lecture
6
:
Network Layer

#
42

OSPF (Open Shortest Path First)



open”: publicly available


Uses Link State algorithm


LS packet dissemination


Topology map at each node


Route computation using Dijkstra’s algorithm



OSPF advertisement carries one entry per neighbor
router


Advertisements disseminated to
entire

AS (via
flooding)


Lecture
6
:
Network Layer

#
43

OSPF “advanced” features (not in RIP)


Security:

all OSPF messages authenticated (to
prevent malicious intrusion); TCP connections used


Multiple

same
-
cost
path
s allowed


only one path in RIP


For each link,
multiple

cost metrics for different
ToS
(eg, satellite link cost set “low” for best effort;
high for real time)


Integrated uni
-

and
multicast

support:


Multicast OSPF (MOSPF) uses same topology data base as
OSPF


Hierarchical

OSPF in large domains.


Lecture
6
:
Network Layer

#
44

Hierarchical OSPF


Lecture
6
:
Network Layer

#
45

Hierarchical OSPF


Two
-
level hierarchy:

local area, backbone.


Link
-
state advertisements only in area


each nodes has detailed area topology; only know
direction (shortest path) to nets in other areas.


Area border routers:

“summarize” distances to nets
in own area, advertise to other Area Border routers.


Backbone routers:

run OSPF routing limited to
backbone.


Boundary routers:

connect to other ASs.



Lecture
6
:
Network Layer

#
46

IGRP (Interior Gateway Routing Protocol)


CISCO proprietary; successor of RIP (mid
80
s)


Distance Vector, like RIP


several cost metrics (delay, bandwidth, reliability,
load etc)


uses TCP to exchange routing updates


Loop
-
free routing via Distributed Updating Alg.
(DUAL) based on
diffused computation


Lecture
6
:
Network Layer

#
47

Inter
-
AS routing


Lecture
6
:
Network Layer

#
48

Internet inter
-
AS routing: BGP


BGP (Border Gateway Protocol):

the

de facto
standard


Path Vector

protocol:


similar to Distance Vector protocol


each Border Gateway broadcast to neighbors
(peers)
entire path

(I.e, sequence of ASs) to
destination


E.g., Gateway X may send

its path to dest. Z:



Path (X,Z) = X,Y
1
,Y
2
,Y
3
,…,Z


Lecture
6
:
Network Layer

#
49

Internet inter
-
AS routing: BGP

Suppose:

gateway X send its path to peer gateway W


W may or may not select path offered by X


cost, policy (don’t route via competitors AS), loop
prevention reasons
.


If W selects path advertised by X, then:

Path (W,Z) = W, Path (X,Z)


Note: X can control incoming traffic by controlling its
route advertisements to peers:


e.g., don’t want to route traffic to Z
-
> don’t
advertise any routes to Z


Lecture
6
:
Network Layer

#
50

Internet inter
-
AS routing: BGP


BGP messages exchanged using TCP.


BGP messages:


OPEN:

opens TCP connection to peer and
authenticates sender


UPDATE:

advertises new path (or withdraws old)


KEEPALIVE

keeps connection alive in absence of
UPDATES; also ACKs OPEN request


NOTIFICATION:

reports errors in previous msg;
also used to close connection


Lecture
6
:
Network Layer

#
51

Why different Intra
-

and Inter
-
AS routing ?


Policy:



Inter
-
AS: admin wants control over how its traffic
routed, who routes through its net.


Intra
-
AS: single admin, so no policy decisions needed

Scale:


hierarchical routing saves table size, reduced update
traffic

Performance
:



Intra
-
AS: can focus on performance


Inter
-
AS: policy may dominate over performance

Extra


Lecture
6
:
Network Layer

#
52

Network Layer

4
-
53

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

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


Network Layer

4
-
54

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
“dest port unreachable”
packet (type
3
, code
3
)


When source gets this
ICMP, stops.

Example: tracert www.yahoo.com


Tracing route to www
-
real.wa
1
.b.yahoo.com [
69.147.76.15
]

over a maximum of
30
hops:



1
<
1
ms <
1
ms <
1
ms
132.67.250.1


2
<
1
ms
1
ms <
1
ms dmz
-
cc
-
gw.math.tau.ac.il [
132.67.252.2
]


3
<
1
ms <
1
ms <
1
ms tel
-
aviv.tau.ac.il [
132.66.4.1
]


4 1
ms <
1
ms <
1
ms gp
1
-
tau
-
ge.ilan.net.il [
128.139.191.70
]


5 1
ms *
1
ms gp
0
-
gp
1
-
te.ilan.net.il [
128.139.188.2
]



6 87
ms
86
ms
87
ms iucc.rt
1
.fra.de.geant
2
.net [
62.40.125.121
]


7 87
ms
87
ms
87
ms TenGigabitEthernet
7
-
3
.ar
1
.FRA
4
.gblx.net [
207.138.144.45
]


8 177
ms
177
ms
177
ms
204.245.39.226


9 180
ms
177
ms
265
ms ae
1
-
p
151
.msr
2
.re
1
.yahoo.com [
216.115.108.23
]


10 177
ms
177
ms
177
ms te
-
9
-
4
.bas
-
a
2
.re
1
.yahoo.com [
66.196.112.203
]


11 177
ms
177
ms
177
ms f
1
.www.vip.re
1
.yahoo.com [
69.147.76.15
]


Trace complete.

Network Layer

4
-
56

IPv
6


Initial motivation:

32
-
bit address space soon
to be completely allocated.


Additional motivation:


header format helps speed processing/forwarding


header changes to facilitate QoS

IPv
6
datagram format:



fixed
-
length
40
byte header


no fragmentation allowed

Network Layer

4
-
57

IPv
6
Header (Cont)

Priority:

identify priority among datagrams in flow

Flow Label:

identify datagrams in same “flow.”


(concept of“flow” not well defined).

Next header:

identify upper layer protocol for data

Network Layer

4
-
58

Other Changes from IPv
4


Checksum
:

removed entirely to reduce
processing time at each hop


Options:

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


ICMPv
6
:

new version of ICMP


additional message types, e.g. “Packet Too Big”


multicast group management functions

Network Layer

4
-
59

Transition From IPv
4
To IPv
6


Not all routers can be upgraded simultaneous


no “flag days”


How will the network operate with mixed IPv
4
and
IPv
6
routers?


Tunneling:

IPv
6
carried as payload in IPv
4
datagram among IPv
4
routers

Network Layer

4
-
60

Tunneling

A

B

E

F

IPv
6

IPv
6

IPv
6

IPv
6

tunnel

Logical view:

Physical view:

A

B

E

F

IPv
6

IPv
6

IPv
6

IPv
6

C

D

IPv
4

IPv
4

Flow: X

Src: A

Dest: F



data

Flow: X

Src: A

Dest: F



data

Flow: X

Src: A

Dest: F



data

Src:B

Dest: E

Flow: X

Src: A

Dest: F



data

Src:B

Dest: E

A
-
to
-
B:

IPv
6

E
-
to
-
F:

IPv
6

B
-
to
-
C:

IPv
6
inside

IPv
4

B
-
to
-
C:

IPv
6
inside

IPv
4

IPv
6
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



Lecture
7
:
Network Layer II

#
61