0% found this document useful (0 votes)
8 views

Chapter_4_V7.01

The document provides an overview of the networking layer and routing protocols, detailing key functions such as forwarding and routing, as well as various network service models. It discusses the architecture of routers, including input and output port functions, switching fabrics, and queuing mechanisms. Additionally, it covers IP datagram formats, fragmentation, and addressing conventions within the context of the Internet protocol.

Uploaded by

Kusum Rs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Chapter_4_V7.01

The document provides an overview of the networking layer and routing protocols, detailing key functions such as forwarding and routing, as well as various network service models. It discusses the architecture of routers, including input and output port functions, switching fabrics, and queuing mechanisms. Additionally, it covers IP datagram formats, fragmentation, and addressing conventions within the context of the Internet protocol.

Uploaded by

Kusum Rs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 61

 Networking Layer & Routing Protocols

 Introduction and Network Service Model.


Routing Principles.Hierarchical Routing.
The Internet Protocol. Routing and the
Internet. Ipv6.
Two key network-layer
functions
network-layer analogy: taking a trip
functions:  forwarding: process
forwarding: move of getting through
packets from router’s single interchange
input to appropriate
router output  routing: process of
routing: determine planning trip from
route taken by source to
packets from source destination
to destination
• routing algorithms

Network Layer: Data 4-2


Plane
Network service model
Q: What service model for “channel”
transporting datagrams from sender to
receiver?
example services example services
for individual for a flow of
datagrams: datagrams:
 guaranteed delivery  in-order datagram
 guaranteed delivery delivery
with less than 40  guaranteed
msec delay minimum bandwidth
to flow
 restrictions on
changes in inter-
packet spacing
Network Layer: Data 4-3
Plane
Network layer service
models:
Guarantees ?
Network Service Congestion
Architecture Model Bandwidth Loss Order Timing feedback

Internet best effort none no no no no (inferred


via loss)
ATM CBR constant yes yes yes no
rate congestion
ATM VBR guaranteed yes yes yes no
rate congestion
ATM ABR guaranteed no yes no yes
minimum
ATM UBR none no yes no no

Network Layer: Data 4-4


Plane
Chapter 4: outline
4.1 Overview of 4.4 Generalized
Network layer Forward and SDN
• data plane • match
• control plane • action
4.2 What’s inside a • OpenFlow
router examples of
4.3 IP: Internet Protocol match-plus-action
• datagram format in action
• fragmentation
• IPv4 addressing
• network address
translation
• IPv6
Network Layer: Data 4-5
Plane
Router architecture overview
 high-level view of generic router
architecture:
routing, management
routing control plane (software)
processor operates in millisecond
time frame
forwarding data plane
(hardware) operttes
in nanosecond
timeframe
high-seed
switching
fabric

router input ports router output ports

Network Layer: Data 4-6


Plane
Input port functions
lookup,
link forwarding
line layer switch
termination protocol fabric
(receive)
queueing

physical layer:
bit-level reception
data link layer: decentralized switching:
e.g., Ethernet  using header field values, lookup
see chapter 5 output port using forwarding table
in input port memory (“match plus
action”)
 goal: complete input port
processing at ‘line speed’
 queuing: if datagrams arrive faster
than forwarding rate into switch
Network Layer: Data 4-7
Plane
Input port functions
lookup,
link forwarding
line layer switch
termination protocol fabric
(receive)
queueing

physical layer:
bit-level reception
decentralized switching:
data link layer:  using header field values, lookup
e.g., Ethernet output port using forwarding table
see chapter 5 in input port memory (“match plus
action”)
 destination-based forwarding:
forward based only on destination
IP address (traditional)
 generalized forwarding: forward
based on any set of header field
Network Layer: Data 4-8
Plane
Destination-based
forwarding
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

: but what happens if ranges don’t divide up so nicely?


Network Layer: Data 4-9
Plane
Longest prefix matching
longest prefix matching
when looking for forwarding table entry
for given destination address, use longest
address prefix that matches destination
address.
Destination Address Range Link interface
11001000 00010111 00010*** ********* 0
11001000 00010111 00011000 ********* 1
11001000 00010111 00011*** ********* 2
otherwise 3

examples:
DA: 11001000 00010111 00010110 10100001 which interface?
DA: 11001000 00010111 00011000 10101010 which interface?
Network Layer: Data 4-10
Plane
Longest prefix matching
 we’ll see why longest prefix matching is
used shortly, when we study addressing
 longest prefix matching: often
performed using ternary content
addressable memories (TCAMs)
• content addressable: present address to
TCAM: retrieve address in one clock cycle,
regardless of table size
• Cisco Catalyst: can up ~1M routing table
entries in TCAM

Network Layer: Data 4-11


Plane
Switching fabrics
 transfer packet from input buffer to
appropriate output buffer
 switching rate: rate at which packets
can be transfer from inputs to outputs
• often measured as multiple of input/output line rate
• N inputs: switching rate N times line rate desirable
 three types of switching fabrics

memory

memory bus crossbar

Network Layer: Data 4-12


Plane
Switching via memory
first generation routers:
 traditional computers with switching under
direct control of CPU
 packet copied to system’s memory
 speed limited by memory bandwidth (2 bus
crossings per datagram)

input output
port memory port
(e.g., (e.g.,
Ethernet) Ethernet)

system bus

Network Layer: Data 4-13


Plane
Switching via a bus
 datagram from input port
memory
to output port memory via
a shared bus
 bus contention: switching
speed limited by bus
bus
bandwidth
 32 Gbps bus, Cisco 5600:
sufficient speed for access
and enterprise routers

Network Layer: Data 4-14


Plane
Switching via interconnection
network
 overcome bus bandwidth
limitations
 banyan networks, crossbar,
other interconnection nets
initially developed to connect
processors in multiprocessor
 advanced design:
crossbar
fragmenting datagram into
fixed length cells, switch cells
through the fabric.
 Cisco 12000: switches 60
Gbps through the
interconnection network
Network Layer: Data 4-15
Plane
Input port queuing
 fabric slower than input ports combined ->
queueing may occur at input queues
• queueing delay and loss due to input buffer
overflow!
 Head-of-the-Line (HOL) blocking: queued
datagram at front of queue prevents others in
queue from moving forward

switch switch
fabric fabric

output port contention: one packet time


only one red datagram can later: green
be transferred. packet
lower red packet is blocked experiences HOL
blocking
Network Layer: Data 4-16
Plane
Output ports This slide in HUGELY important!

datagram
switch buffer link
fabric layer line
protocol termination
queueing (send)

 buffering required when (packets)


Datagram datagramscan be
arrive from fabriclost faster than thelack of
due to congestion,
transmission rate buffers
 schedulingPriority
discipline chooses
scheduling – who gets best
among queued datagrams
performance, networkfor
neutrality
transmission Network Layer: Data 4-17
Plane
Output port queueing

switch
switch
fabric
fabric

at t, packets more one packet time later


from input to output

 buffering when arrival rate via switch


exceeds output line speed
 queueing (delay) and loss due to output
port buffer overflow!
Network Layer: Data 4-18
Plane
How much buffering?
 RFC 3439 rule of thumb: average
buffering equal to “typical” RTT (say
250 msec) times link capacity C
• e.g., C = 10 Gpbs link: 2.5 Gbit buffer
 recent recommendation: with N flows,
buffering equal to
RTT . C
N

Network Layer: Data 4-19


Plane
Scheduling mechanisms
 scheduling: choose next packet to send on
link
 FIFO (first in first out) scheduling: send in
order of arrival to queue
• real-world example?
• discard policy: if packet arrives to full queue:
who to discard?
• tail drop: drop arriving packet
• priority: drop/remove on priority basis
• random: drop/remove randomly

packet packet
arrivals queue link departures
(waiting area) (server)

Network Layer: Data 4-20


Plane
Scheduling policies:
priority
high priority queue
priority scheduling: (waiting area)
send highest arrivals departures
priority queued
packet classify link
 multiple classes, low priority queue
(server)

with different (waiting area)

priorities 2
1 3 4 5
• class may depend arrivals
on marking or
packet
other header info, in 1 3 2 4 5
service
e.g. IP
source/dest, port departures
numbers, etc. 1 3 2 4 5
• real world
example?
Network Layer: Data 4-21
Plane
Scheduling policies: still
more
Round Robin (RR) scheduling:
 multiple classes
 cyclically scan class queues, sending
one complete packet from each class (if
available)
 real world example?
2
1 3 4 5
arrivals

packet
in 1 3 2 4 5
service

departures
1 3 3 4 5

Network Layer: Data 4-22


Plane
Scheduling policies: still
more
Weighted Fair Queuing (WFQ):
 generalized Round Robin
 each class gets weighted amount of
service in each cycle
 real-world example?

Network Layer: Data 4-23


Plane
Chapter 4: outline
4.1 Overview of 4.4 Generalized
Network layer Forward and SDN
• data plane • match
• control plane • action
4.2 What’s inside a • OpenFlow
router examples of
4.3 IP: Internet Protocol match-plus-action
• datagram format in action
• fragmentation
• IPv4 addressing
• network address
translation
• IPv6
Network Layer: Data 4-24
Plane
The Internet network layer
host, router network layer functions:

transport layer: TCP, UDP

routing protocols IP protocol


• path selection • addressing conventions
• RIP, OSPF, BGP • datagram format
network • packet handling conventions
layer forwarding
table
ICMP
protocol
• error reporting
• router “signaling”
link layer

physical layer

Network Layer: Data 4-25


Plane
IP datagram format
IP protocol version 32 bits
number total datagram
header length type of length (bytes)
ver head. length
(bytes) len service for
“type” of data fragment fragmentation/
16-bit identifier flgs
offset reassembly
max number time to upper header
remaining hops live layer checksum
(decremented at
32 bit source IP address
each router)
32 bit destination IP address
upper layer protocol
to deliver payload to options (if any) e.g. timestamp,
record route
how much overhead? data taken, specify
 20 bytes of TCP (variable length, list of routers
 20 bytes of IP typically a TCP to visit.
 = 40 bytes + app or UDP segment)
layer overhead

Network Layer: Data 4-26


Plane
IP fragmentation,
reassembly
 network links have
MTU (max.transfer
size) - largest fragmentation:


possible link-level in: one large datagram
frame out: 3 smaller datagrams
• different link
types, different
MTUs reassembly
 large IP datagram
divided
(“fragmented”) …
within net
• one datagram
becomes several
datagrams
• “reassembled” Network Layer: Data 4-27
Plane
IP fragmentation,
reassembly
length ID fragflag offset
example: =4000 =x =0 =0
 4000 byte
datagram one large datagram becomes
several smaller datagrams
 MTU = 1500
bytes
1480 bytes in length ID fragflag offset
data field =1500 =x =1 =0

offset = length ID fragflag offset


1480/8 =1500 =x =1 =185

length ID fragflag offset


=1040 =x =0 =370

Network Layer: Data 4-28


Plane
Chapter 4: outline
4.1 Overview of 4.4 Generalized
Network layer Forward and SDN
• data plane • match
• control plane • action
4.2 What’s inside a • OpenFlow
router examples of
4.3 IP: Internet Protocol match-plus-action
• datagram format in action
• fragmentation
• IPv4 addressing
• network address
translation
• IPv6
Network Layer: Data 4-29
Plane
IP addressing: introduction
223.1.1.1
 IP address: 32-bit
223.1.2.1
identifier for host,
router interface 223.1.1.2
223.1.1.4 223.1.2.9
 interface:
connection between 223.1.3.27
host/router and 223.1.1.3
223.1.2.2
physical link
• router’s typically
have multiple
interfaces 223.1.3.1 223.1.3.2

• host typically has one


or two interfaces
(e.g., wired Ethernet,
223.1.1.1 = 11011111 00000001 00000001 00000001
wireless 802.11)
 IP addresses 223 1 1 1
associated with
each interface Network Layer: Data 4-30
Plane
IP addressing: introduction
223.1.1.1
Q: how are 223.1.2.1
interfaces actually
connected? 223.1.1.2
223.1.1.4 223.1.2.9

A: we’ll learn about


that in chapter 5, 223.1.1.3
223.1.3.27

6. 223.1.2.2

A: wired Ethernet interfaces


connected by Ethernet switches
223.1.3.1 223.1.3.2

For now: don’t need to worry


about how one interface is
connected to another (with no
A: wireless WiFi interfaces
intervening router)
connected by WiFi base station

Network Layer: Data 4-31


Plane
Subnets
 IP address: 223.1.1.1
• subnet part - high
order bits 223.1.1.2 223.1.2.1
223.1.1.4 223.1.2.9
• host part - low
order bits 223.1.2.2
 what’s a subnet ? 223.1.1.3 223.1.3.27

• device interfaces subnet


with same subnet
part of IP address 223.1.3.1 223.1.3.2

• can physically
reach each other
without intervening network consisting of 3 subnets
router

Network Layer: Data 4-32


Plane
Subnets
223.1.1.0/24
223.1.2.0/24
recipe 223.1.1.1

 to determine the 223.1.1.2 223.1.2.1


subnets, detach 223.1.1.4 223.1.2.9

each interface 223.1.2.2


from its host or 223.1.1.3 223.1.3.27

router, creating subnet


islands of isolated
networks 223.1.3.1 223.1.3.2

 each isolated
network is called
223.1.3.0/24
a subnet
subnet mask: /24
Network Layer: Data 4-33
Plane
Subnets 223.1.1.2

how many? 223.1.1.1 223.1.1.4

223.1.1.3

223.1.9.2 223.1.7.0

223.1.9.1 223.1.7.1
223.1.8.1 223.1.8.0

223.1.2.6 223.1.3.27

223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2

Network Layer: Data 4-34


Plane
IP addressing: CIDR
CIDR: Classless InterDomain Routing
• subnet portion of address of arbitrary
length
• address format: a.b.c.d/x, where x is #
bits in subnet portion of address
subnet host
part part
11001000 00010111 00010000 00000000
200.23.16.0/23

Network Layer: Data 4-35


Plane
IP addresses: how to get
one?
Q: How does a host get IP address?

 hard-coded by system admin in a file


• Windows: 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”

Network Layer: Data 4-36


Plane
DHCP: Dynamic Host Configuration
Protocol
goal: allow host to dynamically obtain its IP address
from network server when it joins network
• can renew its lease on address in use
• allows reuse of addresses (only hold address while
connected/“on”)
• support for mobile users who want to join network
(more shortly)
DHCP overview:
• host broadcasts “DHCP discover” msg [optional]
• DHCP server responds with “DHCP offer” msg
[optional]
• host requests IP address: “DHCP request” msg
• DHCP server sends address: “DHCP ack” msg
Network Layer: Data 4-37
Plane
DHCP client-server
scenario
DHCP
223.1.1.0/24
server
223.1.1.1 223.1.2.1

223.1.1.2 arriving DHCP


223.1.1.4 223.1.2.9
client needs
address in this
223.1.3.27
223.1.2.2 network
223.1.1.3

223.1.2.0/24

223.1.3.1 223.1.3.2

223.1.3.0/24

Network Layer: Data 4-38


Plane
DHCP client-server
scenario
DHCP server: 223.1.2.5 DHCP discover arriving
client
src : 0.0.0.0, 68
Broadcast: is there a
dest.: 255.255.255.255,67
DHCP server
yiaddr: 0.0.0.0out
transaction
there?ID: 654

DHCP offer
src: 223.1.2.5, 67
Broadcast: I’m a DHCP
dest: 255.255.255.255, 68
server! Here’s an IP
yiaddrr: 223.1.2.4
transaction
address youID:can
654 use
lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68
dest:: 255.255.255.255, 67
Broadcast: OK. I’ll
yiaddrr: 223.1.2.4
take that IPID:address!
transaction 655
lifetime: 3600 secs

DHCP ACK
src: 223.1.2.5, 67
dest: 255.255.255.255,
Broadcast: 68
OK. You’ve
yiaddrr: 223.1.2.4
gottransaction
that IPID:address!
655
lifetime: 3600 secs

Network Layer: Data 4-39


Plane
DHCP: more than IP
addresses
DHCP can return more than just allocated
IP address on subnet:
• address of first-hop router for client
• name and IP address of DNS sever
• network mask (indicating network versus
host portion of address)

Network Layer: Data 4-40


Plane
DHCP: example
DHCP DHCP  connecting laptop
DHCP UDP needs its IP address,
DHCP IP
DHCP Eth
addr of first-hop
Phy router, addr of DNS
server: use DHCP
 DHCP request
DHCP

encapsulated in UDP,
DHCP DHCP 168.1.1.1 encapsulated in IP,
DHCP UDP encapsulated in 802.1
DHCP IP  Ethernet frame
DHCP Eth router with DHCP
Phy server built into broadcast (dest:
router FFFFFFFFFFFF) on LAN,
received at router
running DHCP
 Ethernet server
demuxed to IP
demuxed, UDP
demuxed to DHCP

Network Layer: Data 4-41


Plane
DHCP: example
DHCP DHCP
 DCP server
DHCP UDP formulates DHCP
DHCP IP ACK containing
DHCP Eth client’s IP address, IP
Phy
address of first-hop
router for client,
name & IP address
 encapsulation of of
DHCP DHCP DNS server
DHCP server, frame
DHCP UDP forwarded to client,
DHCP IP demuxing up to
Eth router with DHCP
DHCP
DHCP at client
 client
DHCP
Phy server built into now knows its
router IP address, name
and IP address of
DSN server, IP
address of its first-
hop router

Network Layer: Data 4-42


Plane
DHCP:
Wireshark Message type: Boot Reply (2)
reply
output (home
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
LAN) Transaction ID: 0x6b3a11b7
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
Message type: Boot Request (1)
Hardware type: Ethernet Client IP address: 192.168.1.101 (192.168.1.101)
Hardware address length: 6 Your (client) IP address: 0.0.0.0 (0.0.0.0)
Hops: 0
Transaction ID: 0x6b3a11b7
request Next server IP address: 192.168.1.1 (192.168.1.1)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Seconds elapsed: 0 Client MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a)
Bootp flags: 0x0000 (Unicast) Server host name not given
Client IP address: 0.0.0.0 (0.0.0.0) Boot file name not given
Your (client) IP address: 0.0.0.0 (0.0.0.0) Magic cookie: (OK)
Next server IP address: 0.0.0.0 (0.0.0.0) Option: (t=53,l=1) DHCP Message Type = DHCP ACK
Relay agent IP address: 0.0.0.0 (0.0.0.0) Option: (t=54,l=4) Server Identifier = 192.168.1.1
Client MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a) Option: (t=1,l=4) Subnet Mask = 255.255.255.0
Server host name not given Option: (t=3,l=4) Router = 192.168.1.1
Boot file name not given Option: (6) Domain Name Server
Magic cookie: (OK) Length: 12; Value: 445747E2445749F244574092;
Option: (t=53,l=1) DHCP Message Type = DHCP Request IP Address: 68.87.71.226;
Option: (61) Client identifier IP Address: 68.87.73.242;
Length: 7; Value: 010016D323688A; IP Address: 68.87.64.146
Hardware type: Ethernet Option: (t=15,l=20) Domain Name = "hsd1.ma.comcast.net."
Client MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a)
Option: (t=50,l=4) Requested IP Address = 192.168.1.101
Option: (t=12,l=5) Host Name = "nomad"
Option: (55) Parameter Request List
Length: 11; Value: 010F03062C2E2F1F21F92B
1 = Subnet Mask; 15 = Domain Name
3 = Router; 6 = Domain Name Server
44 = NetBIOS over TCP/IP Name Server
……

Network Layer: Data 4-43


Plane
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

Network Layer: Data 4-44


Plane
Hierarchical addressing: route
aggregation
erarchical addressing allows efficient advertisement of routin
formation:

Organization 0
200.23.16.0/23
Organization 1
“Send me anything
200.23.18.0/23 with addresses
Organization 2 beginning
200.23.20.0/23 . Fly-By-Night-ISP 200.23.16.0/20”
.
. . Internet
.
Organization 7 .
200.23.30.0/23
“Send me anything
ISPs-R-Us
with addresses
beginning
199.31.0.0/16”

Network Layer: Data 4-45


Plane
Hierarchical addressing: more specific
routes
ISPs-R-Us has a more specific route to Organization 1

Organization 0
200.23.16.0/23

“Send me anything
with addresses
Organization 2 beginning
200.23.20.0/23 . Fly-By-Night-ISP 200.23.16.0/20”
.
. . Internet
.
Organization 7 .
200.23.30.0/23
“Send me anything
ISPs-R-Us
with addresses
Organization 1 beginning 199.31.0.0/16
or 200.23.18.0/23”
200.23.18.0/23

Network Layer: Data 4-46


Plane
IP addressing: the last word...

Q: how does an ISP get block of


addresses?
A: ICANN: Internet Corporation for
Assigned
Names and Numbers
http://www.icann.org/
• allocates addresses
• manages DNS
• assigns domain names, resolves
disputes

Network Layer: Data 4-47


Plane
NAT: network address
translation
rest of local network
Internet (e.g., home network)
10.0.0/24 10.0.0.1

10.0.0.4
10.0.0.2
138.76.29.7

10.0.0.3

all datagrams leaving datagrams with source or


local destination in this network
network have same have 10.0.0/24 address for
single source NAT IP source, destination (as usual)
address:
138.76.29.7,different Network Layer: Data 4-48
Plane
NAT: network address
translation
motivation: local network uses just one IP
address as far 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)
Network Layer: Data 4-49
Plane
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 Network Layer: Data 4-50
Plane
NAT: network address
translation
NAT translation table 1: host 10.0.0.1
2: NAT router WAN side addr LAN side addr
changes datagram sends datagram to
source addr from 138.76.29.7, 5001 10.0.0.1, 3345 128.119.40.186, 80
10.0.0.1, 3345 to …… ……
138.76.29.7, 5001,
updates table S: 10.0.0.1, 3345
D: 128.119.40.186, 80
10.0.0.1
1
S: 138.76.29.7, 5001
2 D: 128.119.40.186, 80 10.0.0.4
10.0.0.2
138.76.29.7 S: 128.119.40.186, 80
D: 10.0.0.1, 3345
4
S: 128.119.40.186, 80
D: 138.76.29.7, 5001 3 10.0.0.3
4: NAT router
3: reply arrives changes datagram
dest. address: dest addr from
138.76.29.7, 5001 138.76.29.7, 5001 to 10.0.0.1, 3345

* Check out the online interactive exercises for more


examples: http://gaia.cs.umass.edu/kurose_ross/interactive/ Network Layer: Data 4-51
Plane
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
• address shortage should be solved by
IPv6
• violates end-to-end argument
• NAT possibility must be taken into
account by app designers, e.g., P2P
applications
• NAT traversal: what if client wants
Networkto
Layer: Data 4-52
Plane
Chapter 4: outline
4.1 Overview of 4.4 Generalized
Network layer Forward and SDN
• data plane • match
• control plane • action
4.2 What’s inside a • OpenFlow
router examples of
4.3 IP: Internet Protocol match-plus-action
• datagram format in action
• fragmentation
• IPv4 addressing
• network address
translation
• IPv6
Network Layer: Data 4-53
Plane
IPv6: motivation
 initial motivation: 32-bit address space
soon to be completely allocated.
 additional motivation:
• header format helps speed
processing/forwarding
• header changes to facilitate QoS

IPv6 datagram format:


• fixed-length 40 byte header
• no fragmentation allowed

Network Layer: Data 4-54


Plane
IPv6 datagram format
riority: identify priority among datagrams in flow
ow Label: identify datagrams in same “flow.”
(concept of“flow” not well defined).
ext header: identify upper layer protocol for data
ver pri flow label
payload len next hdr hop limit
source address
(128 bits)
destination address
(128 bits)

data

32 bits
Network Layer: Data 4-55
Plane
Other changes from IPv4
 checksum: removed entirely to reduce
processing 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

Network Layer: Data 4-56


Plane
Transition from IPv4 to
IPv6
 not all routers can be upgraded
simultaneously
• no “flag days”
• how will network operate with mixed
IPv4 and IPv6 routers?
 tunneling: IPv6 datagram carried as
payload in IPv4 datagram among IPv4
routers
IPv4 header fields IPv6 header fields
IPv4 payload
IPv4 source, dest addr IPv6 source dest addr
UDP/TCP payload

IPv6 datagram
IPv4 datagram
Network Layer: Data 4-57
Plane
Tunneling
A B IPv4 tunnel E F
connecting IPv6 routers
logical view:
IPv6 IPv6 IPv6 IPv6

A B C D E F
physical view:
IPv6 IPv6 IPv4 IPv4 IPv6 IPv6

Network Layer: Data 4-58


Plane
Tunneling
A B IPv4 tunnel E F
connecting IPv6 routers
logical view:
IPv6 IPv6 IPv6 IPv6

A B C D E F
physical view:
IPv6 IPv6 IPv4 IPv4 IPv6 IPv6

flow: X src:B src:B flow: X


src: A dest: E src: A
dest: F
dest: E
dest: F
Flow: X Flow: X
Src: A Src: A
data Dest: F Dest: F data

data data

A-to-B: E-to-F:
IPv6 B-to-C: B-to-C: IPv6
IPv6 inside IPv6 inside
IPv4 IPv4 Network Layer: Data 4-59
Plane
IPv6:
adoption
 Google: 8% of clients access services via
IPv6
 NIST: 1/3 of all US government domains
are IPv6 capable

 Long (long!) time for deployment, use


•20 years and counting!
•think of application-level changes in last 20
years: WWW, Facebook, streaming media,
Skype, …
•Why?

Network Layer: Data 4-60


Plane
Chapter 4: done!
4.1 Overview of 4.4 Generalized
Network layer: data Forward and SDN
plane and control • match plus action
plane • OpenFlow example
4.2 What’s inside a
router
4.3 IP: Internet Protocol
• datagram format Question: how do
• fragmentation forwarding tables
(destination-based
• IPv4 addressing forwarding) or flow tables
• NAT (generalized forwarding)
• IPv6 computed?
Answer: by the control
plane (next chapter)
Network Layer: Data 4-61
Plane

You might also like