0% found this document useful (0 votes)
23 views36 pages

Chapter - 4mk23 - Section 4.4 - IP

The document discusses the network layer including services, routing, IP addressing, and DHCP. It covers principles of the network layer, how routers work, routing algorithms, IP datagram format, fragmentation and reassembly, addressing, subnets, and how hosts obtain IP addresses through DHCP or static configuration.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views36 pages

Chapter - 4mk23 - Section 4.4 - IP

The document discusses the network layer including services, routing, IP addressing, and DHCP. It covers principles of the network layer, how routers work, routing algorithms, IP datagram format, fragmentation and reassembly, addressing, subnets, and how hosts obtain IP addresses through DHCP or static configuration.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

Chapter 4: network layer

chapter goals:
v understand principles behind network layer
services:
§ network layer service models
§ forwarding versus routing
§ how a router works
§ routing (path selection)
§ broadcast, multicast
v instantiation, implementation in the Internet

Network Layer 4-1


Chapter 4: outline
4.1 introduction 4.5 routing algorithms
4.2 virtual circuit and § link state
datagram networks § distance vector
4.3 what’s inside a router § hierarchical routing
4.4 IP: Internet Protocol 4.6 routing in the Internet
§ datagram format § RIP
§ IPv4 addressing § OSPF
§ BGP
§ ICMP
§ IPv6 4.7 broadcast and multicast
routing

Network Layer 4-2


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


IP datagram format
IP protocol version 32 bits
number total datagram
header length type of length (bytes)
ver head. length
(bytes) len service for
e.g., to distinguish fragment fragmentation/
16-bit identifier flgs
real-time vs non-realtime offset
time to upper reassembly
max number 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
v 20 bytes of TCP
typically a TCP to visit.
v 20 bytes of IP
or UDP segment)
v = 40 bytes + app
layer overhead

Network Layer 4-4


IP fragmentation, reassembly
v network links have MTU
(max.transfer size) -
largest possible link-level fragmentation:
frame


in: one large datagram
§ different link types, out: 3 smaller datagrams
different MTUs
v large IP datagram divided
(“fragmented”) within net reassembly
§ one datagram becomes
several datagrams
§ “reassembled” only at …
final destination Note: IPv6
fragments at
§ IP header bits used to node, not router
identify, order related (unlike IPv4)
fragments
Network Layer 4-5
IP addressing: introduction
223.1.1.1
v 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
v interface: connection
between host/router and 223.1.3.27
physical link 223.1.1.3
223.1.2.2
§ routers typically have
multiple interfaces
§ host typically has one or
223.1.3.1 223.1.3.2
two interfaces (e.g., wired
Ethernet, wireless 802.11)
v IP addresses associated
with each interface 223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 1 1

Network Layer 4-6


IP addressing: introduction
223.1.1.1
Q: how are interfaces 223.1.2.1
actually connected?
A: we’ll learn about that 223.1.1.2
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

A: wireless WiFi interfaces


connected by WiFi base station

Network Layer 4-7


Example
Consider the routing table as shown in the table. Suppose
packets with the destination IP address 137.145.128.128
arrives at the router R.
What will be the outgoing link interface (if any) for
forwarding these packets?

Network Layer 4-8


Example
Answer in 3 steps:

1) Write out the binary prefix

2) Write out the destination address in binary

3) Check longest prefix matching

Network Layer 4-9


Subnets
v 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
223.1.3.27
v What’s a subnet ? 223.1.1.3

§device interfaces with subnet


same subnet part of IP
223.1.3.2
address 223.1.3.1
§can physically reach
each other without
intervening router network consisting of 3 subnets

Network Layer 4-10


Subnets
223.1.1.0/24
223.1.2.0/24
recipe 223.1.1.1

v 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.2
v each isolated network 223.1.3.1

is called a subnet
223.1.3.0/24

subnet mask: /24


Network Layer 4-11
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-12


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

v hard-coded by system admin in a file


§ Windows: control-panel->network->configuration-
>tcp/ip->properties
§ UNIX: /etc/rc.config
v DHCP: Dynamic Host Configuration Protocol:
dynamically get address from as server
§ “plug-and-play”

Network Layer 4-13


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


DHCP - note on 'broadcasting'

Network Layer 4-15


DHCP client-server scenario
DHCP server: 223.1.2.5 DHCP discover arriving
client
src : 0.0.0.0, 68
dest.: 255.255.255.255,67
yiaddr: 0.0.0.0
transaction ID: 654

DHCP offer
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddr: 223.1.2.4
transaction ID: 654
lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68
dest:: 255.255.255.255, 67
yiaddr: 223.1.2.4
transaction ID: 655
lifetime: 3600 secs

DHCP ACK
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddr: 223.1.2.4
transaction ID: 655
lifetime: 3600 secs

Network Layer 4-16


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


DHCP: example
DHCP DHCP v connecting laptop needs
DHCP UDP its IP address, addr of
DHCP IP
DHCP Eth
first-hop router, addr of
Phy DNS server: use DHCP
DHCP request encapsulated
DHCP
v
in UDP, encapsulated in IP,
DHCP DHCP 168.1.1.1 encapsulated in 802.1
DHCP UDP Ethernet
DHCP IP
DHCP Eth router with DHCP
v Ethernet frame broadcast
Phy server built into (dest: FFFFFFFFFFFF) on LAN,
router received at router running
DHCP server
v Ethernet demuxed to IP
demuxed, UDP demuxed to
DHCP

Network Layer 4-18


DHCP: example
DHCP DHCP v DCP server formulates
DHCP UDP DHCP ACK containing
DHCP IP client’s IP address, IP
DHCP Eth address of first-hop
Phy router for client, name &
IP address of DNS server
v 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 v client now knows its IP
router address, name and IP
address of DSN server, IP
address of its first-hop
router

Network Layer 4-19


DHCP: Wireshark Message type: Boot Reply (2)
reply
output (home LAN) Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x6b3a11b7
Seconds elapsed: 0
Message type: Boot Request (1) Bootp flags: 0x0000 (Unicast)
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 4-20


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


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


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


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-24
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-25


NAT: network address translation
v 16-bit port-number field:
§ 60,000 simultaneous connections with a single
LAN-side address!
v NAT is controversial:
§ routers should only process up to layer 3
§ violates end-to-end argument
• NAT possibility must be taken into account by app
designers, e.g., P2P applications
§ address shortage should instead be solved by
IPv6

Network Layer 4-26


IPv6: motivation
v initial motivation: 32-bit addresses anticipated to be
exhausted by 2008
§ Blocks were exhausted between 2011-2015
§ Though individual ISP have some; some recycling
v additional motivation:
§ header format helps speed processing/forwarding
§ header changes to facilitate QoS

IPv6 datagram format:


§ fixed-length 40 byte header
§ no fragmentation allowed
§ 128 bit address space (3.4 x 1038 addresses)
Network Layer 4-27
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-28
Other changes from IPv4
v checksum: removed entirely to reduce processing
time at each hop
v options: allowed, but outside of header, indicated
by “Next Header” field
v ICMPv6: new version of ICMP
§ additional message types, e.g. “Packet Too Big”
§ multicast group management functions

Network Layer 4-29


Transition from IPv4 to IPv6
v not all routers can be upgraded simultaneously
§ how will network operate with mixed IPv4 and
IPv6 routers?
v 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-30
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-31


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-32
Transition from IPv4 to IPv6
v Rollout since mid-2000s
§ More technical details regarding address conversion
§ Routing
§ 6to4 routers
§ Various mechanism (search for ‘IPv6 transition
mechanism’)
v South Africa:
§ 24 d.d. 3 April 2017; 19 dd 6 March 2023: https://www-
public.tem-
tsp.eu/~maigron/RIR_Stats/RIPE_Allocations/IPv6/ByNb/Z
A.html
§ More stats: http://ipv6-test.com/stats/country/ZA
v Internationally still relatively low uptake
§ E.g. Google stats:
https://www.google.com/intl/en/ipv6/statistics.html
Network Layer 4-33
Transition from IPv4 to IPv6

Network Layer 4-34


Transition from IPv4 to IPv6

Network Layer 4-35


Chapter 4: outline
4.1 introduction 4.5 routing algorithms
4.2 virtual circuit and § link state
datagram networks § distance vector
4.3 what’s inside a router § hierarchical routing
4.4 IP: Internet Protocol 4.6 routing in the Internet
§ datagram format § RIP
§ IPv4 addressing § OSPF
§ BGP
§ ICMP
§ IPv6 4.7 broadcast and multicast
routing

Network Layer 4-36

You might also like