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

Lec 7

Notes on the internet network

Uploaded by

Habiba Ghazi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Lec 7

Notes on the internet network

Uploaded by

Habiba Ghazi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 61

Chapter 4

Network Layer

Dr/ Hala Hassan

Network Layer 2-1


Chapter 4: outline
4.1 Overview of Network 4.4 Generalized
layer Forward and SDN
4.2 What’s inside a router
4.3 IP: Internet Protocol
 datagram format
 fragmentation
 IPv4 addressing
 network address translation
 IPv6

Network Layer 4-2


Network layer
application
 transport segment from sending transport
network
to receiving host data link
physical
network network
 on sending side encapsulates network
data link
physical
data link
physical
segments into datagrams data link
physical network network
data link data link
 on receiving side, delivers physical physical

segments to transport layer network network


data link data link
 network layer protocols in every physical
network
physical

host, router data link


physical
application
 router examines header fields in network
data link
transport
network
all IP datagrams passing through
network
network physical data link data link
physical
it
data link physical
physical

Network Layer 4-3


Two key network-layer functions

network-layer functions:
forwarding: move packets analogy: taking a trip
from router’s input to  forwarding: process of
appropriate router output getting through single
interchange
routing: determine route  routing: process of
taken by packets from source planning trip from source
to destination to destination
 routing algorithms

Network Layer 4-4


Network Layer 2-5
Connection setup
 3rd important function in some network
architectures: ATM, frame ralay, X.25
 Before datagrams flow, two end hosts and
intervening routers establish virtual connection
router get involved
 Network vs transport layer connection service :
• network: between two hosts
•Transport: between two processes

Network Layer 4-6


Network service model
Q: What service model for “channel” transporting
datagrams from sender to receiver?
example services for individual example services for a flow of
datagrams: datagrams:

 guaranteed delivery  in-order datagram


 guaranteed delivery delivery
with less than 40 msec  guaranteed minimum
delay bandwidth to flow
 restrictions on changes
in inter-packet spacing

Network Layer 4-7


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 4-8


Network layer connection and
connectionless service
 Datagram network provides network-layer
connectionless service
 VC network provides network-layer connection
service
 Specifically:
 service: host-to-host
 no choice: network provides one or the other
 implementation: in network core
Virtual circuits
Source-to-dest path behaves much like telephone circuit
 performance-wise
 network actions along source-to-dest path

 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 = predictable7-10
service)
VC implementation

A VC consists of:
1. path from source to destination
2. VC numbers, one number for each link along path
3. 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
Virtual circuits: signaling protocols
 used to setup, maintain teardown VC
 used in ATM, frame-relay, X.25
 not used in today’s Internet

application
transport5. Data flow begins 6. Receive dataapplication
network4. Call connected 3. Accept call transport
network
data link 1. Initiate call 2. incoming calldata link
physical
physical

Network Layer 4-12


Datagram networks: the Internet model

 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 take different
paths

application
application
transport
transport
network
network
data link 1. Send data 2. Receive datadata link
physical
physical
Network Layer 4-13
Network Layer 2-15
Network Layer 2-16
Datagram or VC network: why?

Internet (datagram) ATM (VC)


 data exchange among  evolved from telephony
computers
 human conversation:
 “elastic” service, no strict
 strict timing, reliability
timing req.
requirements
 “smart” end systems
 need for guaranteed
(computers)
service
 can adapt, perform
 “dumb” end systems
control, error recovery
 telephones
 simple inside network,
 complexity inside
complexity at “edge”
network
 many link types
 different characteristics
 uniform service difficult 7-17
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 4-18


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 output
see chapter 5 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 fabric

Network Layer 4-19


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 output
e.g., Ethernet port using forwarding table in input port
memory (“match plus action”)
see chapter 5
 destination-based forwarding: forward
based only on destination IP address
(traditional)
 generalized forwarding: forward based on
any set of header field values

Network Layer 4-20


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 4-21


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 4-22


Switching via a bus

 datagram from input port


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

Network Layer 4-23


Switching via interconnection network

 overcome bus bandwidth limitations


 banyan networks, crossbar, other
interconnection nets initially
developed to connect processors in
multiprocessor
 advanced design: fragmenting
datagram into fixed length cells, crossbar
switch cells through the fabric.
 Cisco 12000: switches 60 Gbps through
the interconnection network

Network Layer 4-24


Output ports

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

 buffering required whenDatagram


datagrams arrive from
(packets) can be lost
fabric faster than the transmission rate lack of buffers
due to congestion,
 scheduling discipline chooses among queued
datagrams for transmission
Priority scheduling – who gets best
performance, network neutrality
Network Layer 4-25
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 4-26
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 4-27


Chapter 4: outline
4.1 Overview of Network
4.4 Generalized
layer
Forward and SDN
4.2 What’s inside a router  match

4.3 IP: Internet Protocol  action

 datagram format  OpenFlow examples of


match-plus-action in
 fragmentation action
 IPv4 addressing
 network address translation
 IPv6

Network Layer 4-29


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 4-30


IP datagram format
IP protocol version 32 bits
number total datagram
header length length (bytes)
ver head. type of 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
(variable length, list of routers
 20 bytes of TCP
typically a TCP to visit.
 20 bytes of IP
or UDP segment)
 = 40 bytes + app
layer overhead

Network Layer 4-31


IP fragmentation, reassembly

 network links have MTU


(max.transfer size) -
largest possible link-level fragmentation:


frame in: one large datagram
out: 3 smaller datagrams
 different link types, different
MTUs
 large IP datagram divided
reassembly
(“fragmented”) within net
 one datagram becomes
several datagrams …
 “reassembled” only at final
destination
 IP header bits used to
identify, order related
fragments Network Layer 4-32
IP fragmentation, reassembly

length ID fragflag offset


example: =4000 =x =0 =0
 4000 byte datagram
one large datagram becomes
 MTU = 1500 bytes several smaller datagrams

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 4-33


IP addressing: introduction
223.1.1.1

 IP address: 32-bit
identifier for host,
223.1.2.1

router interface 223.1.1.2


223.1.1.4 223.1.2.9
 interface: connection
between host/router and
physical link 223.1.1.3
223.1.3.27
223.1.2.2
 router’s typically have
multiple interfaces
 host typically has one or
two interfaces (e.g., 223.1.3.1 223.1.3.2

wired Ethernet, wireless


802.11)
 IP addresses associated 223.1.1.1 = 11011111 00000001 00000001 00000001
with each interface
223 1 1 1

Network Layer 4-34


IP addressing: introduction
223.1.1.1

Q: how are interfaces 223.1.2.1


actually connected?
223.1.1.2
A: we’ll learn about that 223.1.1.4 223.1.2.9

in chapter 5, 6.
223.1.3.27
223.1.1.3
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 4-35


Subnets

IP address: 223.1.1.1

subnet part - high order


223.1.1.2 223.1.2.1
bits 223.1.1.4 223.1.2.9

host part - low order 223.1.2.2


bits 223.1.1.3 223.1.3.27

subnet
what’s a subnet ?
device interfaces with 223.1.3.1 223.1.3.2

same subnet part of IP


address
network consisting of 3 subnets
can physically reach each
other without intervening
router
Network Layer 4-36
Subnets
223.1.1.0/24
223.1.2.0/24
223.1.1.1
recipe
 to determine the 223.1.1.2 223.1.2.1
subnets, detach each 223.1.1.4 223.1.2.9

interface from its host 223.1.2.2


or router, creating 223.1.1.3 223.1.3.27

islands of isolated subnet


networks
223.1.3.1 223.1.3.2
 each isolated network
is called a subnet
223.1.3.0/24

subnet mask: /24


Network Layer 4-37
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 4-38


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 4-39


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 4-40
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 4-41


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 4-42


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
DHCPyiaddr:
server0.0.0.0
out there?
transaction 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
address youID:can
transaction 654 use
lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68
Broadcast: OK. I’ll take
dest:: 255.255.255.255, 67
yiaddrr: 223.1.2.4
that IP address!
transaction ID: 655
lifetime: 3600 secs

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

Network Layer 4-43


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 4-44


DHCP: example

DHCP DHCP  connecting laptop needs


DHCP UDP its IP address, addr of
IP
first-hop router, addr of
DHCP

Eth
DNS server: use DHCP
DHCP
Phy
 DHCP request encapsulated
DHCP

in UDP, encapsulated in IP,


DHCP DHCP 168.1.1.1 encapsulated in 802.1
DHCP UDP Ethernet
IP
 Ethernet frame broadcast
DHCP

DHCP Eth router with DHCP


Phy server built into (dest: FFFFFFFFFFFF) on LAN,
router received at router running
DHCP server
 Ethernet demuxed to IP
demuxed, UDP demuxed to
DHCP

Network Layer 4-45


DHCP: example

DHCP  DCP server formulates


DHCP ACK containing
DHCP
DHCP UDP
DHCP IP client’s IP address, IP
DHCP Eth address of first-hop router
Phy for client, name & IP
address of DNS server

 encapsulation of DHCP
DHCP DHCP server, frame forwarded
DHCP UDP to client, demuxing up to
DHCP IP DHCP at client
DHCP Eth router with DHCP
DHCP
Phy server built into  client now knows its IP
router address, name and IP
address of DSN server, IP
address of its first-hop
router

Network Layer 4-46


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 4-47


Hierarchical addressing: route aggregation

hierarchical addressing allows efficient advertisement of routing


information:

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 4-48


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 4-49


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 local datagrams with source or


network have same single destination in this network
source NAT IP address: have 10.0.0/24 address for
138.76.29.7,different source source, destination (as usual)
port numbers
Network Layer 4-50
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 4-51


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 4-52


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

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

Network Layer 4-54


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 4-55


IPv6 datagram format

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
ver pri flow label
payload len next hdr hop limit
source address
(128 bits)
destination address
(128 bits)

data

32 bits
Network Layer 4-56
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 4-57


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 4-58
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 4-59


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 4-60
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!
thinkof application-level changes in last 20 years: WWW,
Facebook, streaming media, Skype, …
Why?

Network Layer 4-61


Network Layer 2-62

You might also like