You are on page 1of 36

Computer and

Communication Networks
EE-357 -TE-55
By Dr Mir Yasir Umair
Assistant Professor, MCS, NUST
Network Layer
Internet Protocol
Chapter 4: outline
4.1 introduction 4.5 routing algorithms
4.2 virtual circuit and datagram networks o link state
o distance vector
4.3 what’s inside a router
o hierarchical routing
4.4 IP: Internet Protocol
4.6 routing in the Internet
o datagram format
o RIP
o IPv4 addressing
o OSPF
o ICMP
o BGP
o IPv6
4.7 broadcast and multicast
routing

Network Layer 4-3


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


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


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


link-level frame in: one large datagram
o different link types, different out: 3 smaller datagrams
MTUs
• large IP datagram
divided
reassembly
(“fragmented”)
within net
o one datagram becomes
several datagrams


o “reassembled” only at final
destination
o IP header bits used to
identify, order related
fragments
Network Layer 4-6
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-7


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

Network Layer 4-8


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


IP addressing: introduction
223.1.1.1
• IP address: 32-bit
identifier for host, 223.1.2.1

router interface 223.1.1.2


• interface: connection
223.1.1.4 223.1.2.9

between host/router
and physical link 223.1.1.3
223.1.3.27

o router’s typically have 223.1.2.2

multiple interfaces
o 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 with each 223.1.1.1 = 11011111 00000001 00000001 00000001
interface 223 1 1 1

Network Layer 4-10


IP addressing: introduction
223.1.1.1

Q: how are interfaces 223.1.2.1


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

that 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-11
Subnets
• IP address: 223.1.1.1
o subnet part - high order bits
o host part - low order bits 223.1.1.2 223.1.2.1
• what’s a subnet ? 223.1.1.4 223.1.2.9

o device interfaces with same


223.1.2.2
subnet part of IP address 223.1.1.3 223.1.3.27
o can physically reach each
other without intervening subnet
router

223.1.3.1 223.1.3.2

network consisting of 3 subnets

Network Layer 4-12


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 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
❖ each isolated 223.1.3.1

network is called a
subnet 223.1.3.0/24

subnet mask: /24


Network Layer 4-13
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-14


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

• hard-coded by system admin in a file


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

Network Layer 4-15


DHCP: Dynamic Host Configuration Protocol
goal: allow host to dynamically obtain its IP address from network
server when it joins network
o can renew its lease on address in use
o allows reuse of addresses (only hold address while
connected/“on”)
o support for mobile users who want to join network (more
shortly)
DHCP overview:
o host broadcasts “DHCP discover” msg
o DHCP server responds with “DHCP offer” msg
o host requests IP address: “DHCP request” msg
o DHCP server sends address: “DHCP ack” msg

Network Layer 4-16


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-17
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:
server 0.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-18
EE 451 Mobile Communications
DHCP: more than IP addresses
DHCP can return more than just allocated IP address on subnet:
▪ address of first-hop router for client (default gateway)
▪ name and IP address of DNS sever
▪ network mask (indicating network versus host portion of address)

Network Layer 4-20


DHCP: example
DHCP DHCP ❖ connecting laptop needs its
DHCP UDP IP address, addr of first-hop
DHCP IP router, addr of DNS server:
DHCP Eth
Phy
use DHCP
DHCP
❖ DHCP request encapsulated
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-21
DHCP: example
DHCP DHCP
• DCP server formulates
DHCP UDP
DHCP ACK containing
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-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
motivation: local network uses just one IP address as far as outside
world is concerned:
o range of addresses not needed from ISP: just one IP
address for all devices
o can change addresses of devices in local network
without notifying outside world
o can change ISP without changing addresses of
devices in local network
o devices inside local net not explicitly addressable,
visible by outside world (a security plus)
Network Layer 4-25
NAT: network address translation
implementation: NAT router must:
o 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

o remember (in NAT translation table) every (source IP address, port #) to


(NAT IP address, new port #) translation pair

o 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-26


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


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

Network Layer 4-28


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

Network Layer 4-29


ICMP: internet control message protocol
• used by hosts & routers to
communicate network- Type Code description
level information 0 0 echo reply (ping)
o error reporting: 3 0 dest. network unreachable
unreachable host, network, 3 1 dest host unreachable
port, protocol 3 2 dest protocol unreachable
o echo request/reply (used 3 3 dest port unreachable
by ping) 3 6 dest network unknown
• network-layer “above” 3 7 dest host unknown
IP: 4 0 source quench (congestion
o ICMP msgs carried in IP control - not used)
datagrams 8 0 echo request (ping)
• ICMP message: type, 9 0 route advertisement
code plus first 8 bytes of IP 10 0 router discovery
datagram causing error 11 0 TTL expired
12 0 bad IP header

Network Layer 4-30


Traceroute and ICMP
❖ source sends series of ❖ when ICMP messages
UDP segments to dest
▪ first set has TTL =1 arrives, source
▪ second set has TTL=2, records RTTs
etc.
▪ unlikely port number stopping criteria:
❖ when nth set of ❖ UDP segment eventually
datagrams arrives to arrives at destination host
nth router: ❖ destination returns ICMP
▪ router discards
datagrams “port unreachable”
▪ and sends source ICMP message (type 3, code 3)
messages (type 11, code ❖ source stops
0)
▪ ICMP messages includes
name of router & IP
address
3 probes 3 probes

3 probes
Network Layer 4-31
IPv6: motivation
• initial motivation: 32-bit address space soon to be completely
allocated.
• additional motivation:
o header format helps speed processing/forwarding
o header changes to facilitate QoS

IPv6 datagram format:


o fixed-length 40 byte header
o no fragmentation allowed

Network Layer 4-32


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 4-33
Network Layer
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
o additional message types, e.g. “Packet Too Big”
o multicast group management functions

Network Layer 4-34


IPv6: adoption
• US National Institutes of Standards estimate [2013]:
o ~3% of industry IP routers
o ~11% of US gov’t routers

• Long (long!) time for deployment, use


o 20 years and counting!
o think of application-level changes in last 20 years: WWW, Facebook,

o Why?

Network Layer 4-35


Thank you

You might also like