chapter 4 network layer - chalmers · datagram format ipv4 addressing ... network layer 4-20...

75
These slides are based on the slides made available by Kurose and Ross. © All material copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking A Top-Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Chapter 4 Network Layer Network Layer 4-1

Upload: lamanh

Post on 26-Jul-2018

257 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

These slides are based on the slides made available by Kurose and Ross.

© All material copyright 1996-2012J.F Kurose and K.W. Ross, All Rights Reserved

Computer NetworkingA Top-Down Approach

6th edition

Jim Kurose, Keith Ross

Addison-Wesley

March 2012

Chapter 4Network Layer

Network Layer 4-1

Page 2: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-2

Chapter 4: Network Layer

4.1 Introduction 4.2 Virtual circuit and

datagram networks 4.3 What’s inside a

router 4.4 IP: Internet Protocol

Datagram format IPv4 addressing ICMP IPv6

4.5 Routing algorithms Link state Distance Vector Hierarchical routing

4.6 Routing in the Internet RIP OSPF BGP

4.7 Broadcast and multicast routing

Page 3: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-3

Network Layer Functions network layer protocol in

every host and routerConsider transporting a segment from sender to receiver sending side: encapsulates

segments into datagrams receiving side: delivers

segments to transport layer Path Determination: sum of

routes chosen by routers to deliver packets from source to destination.

Forwarding: move packets from router’s input to appropriate router’s output

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

networkdata linkphysical network

data linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysicalnetwork

data linkphysical

Page 4: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-4

1

23

0111

value in arrivingpacket’s header

routing algorithm

local forwarding tableheader value output link

0100010101111001

3221

Routing and Forwarding

routing algorithm determinespath through network

forwarding table determineslocal forwarding at this router

router examines header fields in all datagrams passing through it

Page 5: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-5

Chapter 4: Network Layer

4.1 Introduction 4.2 Virtual circuit and

datagram networks 4.3 What’s inside a

router 4.4 IP: Internet Protocol

Datagram format IPv4 addressing ICMP IPv6

4.5 Routing algorithms Link state Distance Vector Hierarchical routing

4.6 Routing in the Internet RIP OSPF BGP

4.7 Broadcast and multicast routing

Page 6: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-6

Network Service ModelWhat service model can be considered for a network transporting packets from sender to receiver?

example services for individual datagrams:

“best effort” delivery No constraints on delay or

bandwidth

example services for a flow of packets:

in-order delivery guaranteed minimum

bandwidth to flow restrictions on changes

in inter-packet time-spacing

Page 7: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-7

Connection-oriented & connectionless

Virtual Circuit-network provides link or network-layer connection-oriented service.

Datagram-based network provides network-layer connectionless service.

Analogous to the transport-layer services but: Service: host-to-host packet delivery

Implementation: every router in the network

Page 8: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-8

Virtual Circuit: VC

source-to-destination path behaves much like telephone “circuit” Performance-wise (but it is virtual circuit) Network actions along the source-to-destination path

Setup: for each connection before data packets can flow Each packet carries VC identifier (not destination

address) Every router on the path maintains “state” for each

passing connection.Benefit: Link & router resources (bandwidth, buffers) may

be allocated to VC(dedicated resources = predictable service)

Page 9: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-9

VC: Signaling Protocols

used to setup, maintain and teardown VC used in ATM, Frame-Relay, X.25 not used in today’s Internet on network layer

applicationtransportnetworkdata linkphysical

1. initiate call 2. incoming call3. accept call4. call connected

5. data flow begins 6. receive dataapplicationtransportnetworkdata linkphysical

Page 10: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-10

VC: Forwarding Table

12 22 32

1 23

VC identifier

interfacenumber

Incoming interface Incoming VC # Outgoing interface Outgoing VC #

1 12 3 222 63 1 18 3 7 2 171 97 3 87… … … …

Forwarding tablein northwest router:

Routers maintain connection state information!

Page 11: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-11

Datagram Networks (Internet) no call setup to establish path through network routers: no state about end-to-end connections

no network-level concept of “connection” packets forwarded using destination host address

packets between same source-destination pair may take different paths

1. send datagrams

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

2. receive datagrams

Page 12: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-12

1

23

Datagram: Forwarding Table

IP destination address in arriving packet’s header

routing algorithm

local forwarding tabledest. address output link

address-range 1address-range 2address-range 3address-range 4

3221

4 billion IP addresses, so rather than list individual destination addresslist range of addresses(aggregate table entries)

Page 13: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-13

Datagram or VC network: why?

Internet (datagram) data exchange among

computers “elastic” service, no strict

timing requirements. “smart” end systems

(computers) can adapt, perform control,

error recovery simple inside network,

complexity at “edge” many link types

different characteristics uniform service difficult

ATM (VC) more complicated evolved from telephony human conversation:

strict timing, reliability requirements

need for guaranteed service

“dumb” end systems telephones moves complexity to

inside network

Page 14: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-14

Chapter 4: Network Layer

4.1 Introduction 4.2 Virtual circuit and

datagram networks 4.3 What’s inside a

router 4.4 IP: Internet Protocol

Datagram format IPv4 addressing ICMP IPv6

4.5 Routing algorithms Link state Distance Vector Hierarchical routing

4.6 Routing in the Internet RIP OSPF BGP

4.7 Broadcast and multicast routing

Page 15: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-15

Router Architecture: OverviewTwo key router functions: run routing algorithms/protocols (RIP, OSPF, BGP) forwarding datagrams from incoming to outgoing link

high-seed switching

fabric

routing processor

router input ports router output ports

forwarding packets plane (hardware)

routing, managementcontrol plane (software)

forwarding tables computed,pushed to input ports

Page 16: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-16

Input Port Functions

Decentralized switching: given datagram destination address, lookup

output port using forwarding table in input port memory

goal: complete input port processing at ‘line speed’

queuing: if datagrams arrive faster than forwarding rate into switch fabric

Physical layer:bit-level reception

Data link layer:e.g., Ethernet

Page 17: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-17

Three types of switching fabrics

transfer packet from input buffer to appropriate output buffer

switching rate: rate at which packets can be transferred from inputs to outputs often measured as

multiple of input/output line rates

N inputs: switching rate N times line rate is desirable

Page 18: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-18

Switching via MemoryFirst 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)

inputport(e.g.,

Ethernet)

memoryoutputport(e.g.,

Ethernet)

system bus

Page 19: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

datagram from input port memoryto output port memory via a shared bus, one packet at a time

bus contention: switching speed limited by bus bandwidth

32 Gbps bus, Cisco 5600: sufficient speed for access and enterprise routers

Network Layer 4-19

Switching via Bus

bus

Page 20: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-20

Switching via Interconnection Network

overcome bus bandwidth limitations banyan networks, crossbar, other

interconnection networks initially developed to connect processors in multiprocessor

advanced design: fragmenting datagram into fixed length cells, tag and switch cells through the fabric.

Cisco 12000: switches 60 Gbps through the interconnection network

crossbar

Page 21: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-21

Output Ports

Buffering required when datagrams arrive from fabric faster than the transmission rate of the outgoing link

Scheduling discipline chooses among queued datagrams for transmission

linetermination

link layer

protocol(send)

switchfabric

datagrambuffer

queueing

Page 22: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-22

Output Port Queueing

buffering when arrival rate via switch exceeds output line speed

delay due to queueing and loss due to output port buffer overflow!

at t, packets morefrom input to output

one packet time later

switchfabric

switchfabric

Page 23: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-23

Input Port Queuing fabric slower (seldom!) than input ports combined →

queueing may occur at input port queueing delay and loss due to input buffer overflow!

Head-Of-Line (HOL) blocking: queued datagram at front of queue prevents others in queue from moving forward

output port contention:only one red datagram can be transferred.

lower red packet is blocked

switchfabric

one packet time later: green packet experiences HOL

blocking

switchfabric

Page 24: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-24

Chapter 4: Network Layer

4.1 Introduction 4.2 Virtual circuit and

datagram networks 4.3 What’s inside a

router 4.4 IP: Internet Protocol

Datagram format IPv4 addressing ICMP IPv6

4.5 Routing algorithms Link state Distance Vector Hierarchical routing

4.6 Routing in the Internet RIP OSPF BGP

4.7 Broadcast and multicast routing

Page 25: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-25

The Internet Network Layer

forwardingtable

Host, router network layer functions:

Routing protocols• path selection• RIP/UDP, OSPF/IP, BGP/TCP

IP protocol• addressing conventions• datagram format• packet handling conventions

ICMP protocol• error reporting• router “signaling”

Transport layer: TCP, UDP

Link layer

Physical layer

Networklayer

Page 26: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-26

IP datagram format

ver length

32 bits

Data FieldVariable length

(typically a TCP or UDP segment)

16-bit identifier

Header Checksumtime tolive

32-bit source IP address

IP protocol version = 4

header length 32-bits blocks, 5 standard)

TTL: max number of remaining hops

(decremented by one at each router)

forfragmentation/reassembly

total datagramlength (bytes)

Upper layer protocolto deliver payload to

6 for TCP17 for UDP

head.length

type ofservice

TOS (priority) flagsfragment

offsetProtocol

32-bit destination IP address

Options (if any) e.g. timestamp,security label, record routetaken, specifylist of routers to visit, etc

forfragmentation/reassembly

Flags (3 bits):Reserved (0)DF= don’t frag.MF= more frag.

how much overhead? 20 bytes of TCP 20 bytes of IP = 40 bytes + app

layer overhead

Page 27: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-27

Chapter 4: Network Layer

4.1 Introduction 4.2 Virtual circuit and

datagram networks 4.3 What’s inside a

router 4.4 IP: Internet Protocol

Datagram format IPv4 addressing ICMP IPv6

4.5 Routing algorithms Link state Distance Vector Hierarchical routing

4.6 Routing in the Internet RIP OSPF BGP

4.7 Broadcast and multicast routing

Page 28: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-28

IP Addressing: Introduction

interface: connection between host/router and physical link routers typically have

multiple active interfaces hosts typically have one

active interface (either wired Ethernet or wireless 802.11)

IP address associated with each interface

IP address: 32-bit identifier for host, router interface

223.1.3.1

223.1.3.1 = 11011111 00000001 00000011 00000001

223 1 13

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

Dotted Decimal Notation

Page 29: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-29

223.1.3.1

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

Subnets IP address:

subnet part (high order bits)

host part (low order bits) What’s a subnet ?

device interfaces with same subnet part of IP address

Contains hosts that can physically reach each other without intervening router

All other hosts are reached by sending datagrams to router interface that works as “default gateway”

network consisting of 3 subnets

subnet

223.1.3.27

223.1.3.2

Page 30: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-30

223.1.3.0/24

Subnets

Subnet 3

How long should the network prefix be? Depends on number of

hosts on subnet All hosts in subnet have

same subnetwork part of the address.

Your address is 223.1.3.1/24Default route via 223.1.3.27

Typical info given to a host:

Subnet mask: /2424 bits belong to the network

(called length of “CIDR” prefix)

223.1.2.0/24Subnet 2223.1.1.0/24

Subnet 1

Page 31: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-31

223.1.1.1

223.1.1.3

223.1.1.4

223.1.2.2223.1.2.1

223.1.2.6

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.2

223.1.7.0

223.1.7.1223.1.8.0223.1.8.1

223.1.9.1

223.1.9.2

Subnets

How many?

Page 32: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-32

IP Addressing: CIDR

CIDR: Classless Inter-Domain Routing subnet portion of address of arbitrary length address format: a.b.c.d/x, where x is # bits in subnet

portion of address

11001000 00010111 00010000 00000000

subnetpart

hostpart

200.23.16.0/23

Page 33: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-33

Example subnet: 192.168.5.0/24

Subnets, masks, calculations

Binary form Dot-decimal notation

IP address 11000000.10101000.00000101.10000010 192.168.5.130

Subnet mask 11111111.11111111.11111111.00000000--------24 higher order bits set to 1------

255.255.255.0

Network prefix:(bitwise AND of address,mask)

11000000.10101000.00000101.00000000 192.168.5.0

Host part(similar calculation, with eg a ”wild card” where the 32 – 24 lower order bits set to 1)

00000000.00000000.00000000.10000010 0.0.0.130

Page 34: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-34

IP Addressing:

Q: How does an ISP get block of addresses?A: ICANN: http://www.icann.org/Internet Corporation for Assigned Names and Numbers

allocates addressesmanages DNS assigns domain names, resolves disputes

These services were originally performed under U.S. Government contract by the Internet Assigned Numbers Authority (IANA) and other entities.

The IANA now is part of ICANN.

Page 35: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-35

IP Address Allocation:

ICANN is responsible for global coordination of the Internet Protocol addressing systems and other naming and numbering standards.

Users are assigned IP addresses by Internet Service Providers (ISPs). ISPs obtain allocations of IP addresses from a Local Internet Registry (LIR) or National Internet Registry (NIR), or from their appropriate Regional Internet Registry (RIR).

There are five RIRs :AfriNIC, AfricaAPNIC, Asia PacificARIN, Canada, United States, Caribbean and North Atlantic Islands LACNIC, Latin America and parts of the Caribbean regionRIPE NCC, Europe, Russia, Middle East, and Parts of Central Asia

(NIC Network Information Center)

Page 36: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-36

IP addresses: How to get one?

Network (subnet) addresses are allocated from a 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

20 3 9

bits bits bits

Page 37: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-37

Hierarchical Addressing: Route Aggregation

“Send me anythingwith addresses beginning 200.23.16.0/20”

200.23.16.0/23

200.23.18.0/23

200.23.30.0/23

ISP #1

Organization 0

Organization 7Internet

Organization 1

ISP #2 “Send me anythingwith addresses beginning 199.31.0.0/16”

200.23.20.0/23Organization 2

...

...

Hierarchical addressing allows efficient advertisement of routing information

The “outside” does not need to know about subnets.

Page 38: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

38

Classless Address: example An ISP has an address block 122.211.0.0/16 A customer needs max. 6 host addresses, ISP can e.g. allocate: 122.211.176.208/29 3 bits enough for host part

subnet mask 255.255.255.248Dotted Decimal Last 8 bits

Network 122.211.176.208 11010000

1st address 122.211.176.209 11010001

…………. ………………… …………6th address 122.211.176.214 11010110

Broadcast 122.211.176.215 11010111

2013 Ali Salehson, Chalmers, CSE Networks and Systems

Reserved

Page 39: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

39

CIDR Address MaskCIDR Notation Dotted Decimal/1 128.0.0.0 /2 192.0.0.0 /3 224.0.0.0 /4 240.0.0.0 /5 248.0.0.0 /6 252.0.0.0 /7 254.0.0.0 /8 255.0.0.0/9 255.128.0.0 /10 255.192.0.0 /11 255.224.0.0 /12 255.240.0.0 /13 255.248.0.0 /14 255.252.0.0 /15 255.254.0.0 /16 255.255.0.0

CIDR Notation Dotted Decimal/17 255.255.128.0/18 255.255.192.0 /19 255.255.224.0 /20 255.255.240.0 /21 255.255.248.0 /22 255.255.252.0 /23 255.255.254.0/24 255.255.255.0/25 255.255.255.128/26 255.255.255.192/27 255.255.255.224/28 255.255.255.240/29 255.255.255.248/30 255.255.255.252/31 255.255.255.254/32 255.255.255.255

2013 Ali Salehson, Chalmers, CSE Networks and Systems

Page 40: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Special IP Addresses

Localhost and local loopback 127.0.0.1 of the reserved 127.0.0.0

(127.0.0.0/8) Private IP-addresses

10.0.0.0 – 10.255.255.255 (10.0.0.0/8) 172.16.0.0 – 172.31.255.255 (172.16.0.0/12) 192.168.0.0 – 192.168.255.255 (192.168.0.0/16)

Link-local Addresses (stateless autoconfig) 169.254.0.0 – 169.254.255.255 (169.254.0.0/16)

Network Layer 4-40

Page 41: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-41

IP addresses: how to get one?

Q: How does host get IP address?

manually hard-coded by system admin in a file Windows:

Control Panel Network Connections Local Area Connection Properties Internet Protocol (TCP/IP) Properties

UNIX: /etc/rc.config

DHCP: Dynamic Host Configuration Protocol (RFC 2131)

dynamically gets address from a DHCP server

Page 42: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-42

Dynamic Host Configuration Protocol

Goal: allows host to dynamically obtain its IP address from network server when it joins network. Host can renew its lease on address in use Allows reuse of addresses (only hold address while connected) Support for nomad users who want to join network (short time)

DHCP overview: host broadcasts “DHCP discover” message DHCP server responds with “DHCP offer” message host requests IP address: “DHCP request” message DHCP server sends address: “DHCP ACK” message

Page 43: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-43

223.1.1.0/24

223.1.2.0/24

223.1.3.0/24

223.1.1.1

223.1.1.3

223.1.1.4 223.1.2.9

223.1.3.2223.1.3.1

223.1.1.2

223.1.3.27223.1.2.2

223.1.2.1

DHCPserver

arriving DHCPclient needs address in thisnetwork

DHCP client-server scenario

Page 44: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-44

DHCP client-server scenarioDHCP server: 223.1.2.5 arriving

client

time

DHCP discover

src : 0.0.0.0, port 68 dest: 255.255.255.255, port 67Your IPaddr: 0.0.0.0transaction ID: 654

DHCP offersrc: 223.1.2.5, port 67 dest: 255.255.255.255, port 68Your IPaddr: 223.1.2.4transaction ID: 654Lease time: 3600 secs

DHCP requestsrc: 0.0.0.0, port 68 dest: 255.255.255.255, port 67Req. IPaddr: 223.1.2.4transaction ID: 654

DHCP ACKsrc: 223.1.2.5, port 67 dest: 255.255.255.255, port 68Your IPaddr: 223.1.2.4transaction ID: 654Lease time: 3600 secs

Page 45: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-45

DHCP: more than an IP address

DHCP can return more than just allocated IP address on subnet:

address of first-hop router (default gateway) name and IP address of DNS sever network mask (indicating network portion of

address)

Page 46: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-46

Connecting laptop needs: its IP address, subnetmask address of first-hop router address of DNS server

router with built-in DHCP server

DHCP request encapsulated in UDP, encapsulated in IP, encapsulated in 802.3 Ethernet MAC frame

Ethernet frame broadcast (FFFFFFFFFFFF) on LAN, received at router running DHCP server

168.1.1.1

DHCPUDP

IPEthPhy

DHCP

DHCP

DHCP

DHCP

DHCP

DHCPUDP

IPEthPhy

DHCP

DHCP

DHCP

DHCPDHCP

DHCP: example

Page 47: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-47

DHCP server formulates DHCP ACK containing client’s IP address, IP address of first-hop router for client, IP address of DNS server

encapsulation of DHCP server, frame forwarded to client

DHCP: example

DHCP

DHCP

DHCP

DHCP

DHCPUDP

IPEthPhy

DHCP

DHCPUDP

IPEthPhy

DHCP

DHCP

DHCP

DHCP

client now knows its IP address, IP address of DNS server, IP address of its first-hop router

router with built-in DHCP server

Page 48: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-48

NAT: Network Address Translation Router with NAT can translate network addresses

Many internal (private) addresses translated to one (or few) external (global) addresses.

Gives freedom when configuring internal network fewer addresses needed from ISP or just one IP global 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 can hide internal structure (devices not visible by outside world, a

security plus) Internal network should use non-routable (private)

addresses reserved for this purpose (RFC 1918) 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16

Page 49: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-49

NAT: Network Address Translation

10.0.0.1

10.0.0.2

10.0.0.3

10.0.0.4

138.76.29.7

local network(e.g., home network)

10.0.0.0/24

rest ofInternet

Datagrams with source or destination in this network

have 10.0.0/24 address for source or destination (as usual)

All datagrams leaving localnetwork have same single source

NAT IP address: 138.76.29.7,different source port numbers

Page 50: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-50

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 address

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

NAT: network address translation

Page 51: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-51

NAT: Network Address Translation

10.0.0.1

10.0.0.2

10.0.0.3

S: 10.0.0.1, 3345D: 128.119.40.186, 80

110.0.0.4

138.76.29.7

1: host 10.0.0.1 sends datagram to 128.119.40.186, 80

NAT translation tableWAN side addr LAN side addr138.76.29.7, 5001 10.0.0.1, 3345…… ……

S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4

S: 138.76.29.7, 5001D: 128.119.40.186, 802

2: NAT routerchanges datagramsource addr from10.0.0.1, 3345 to138.76.29.7, 5001,updates table

S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3

3: Reply arrivesdest. address:138.76.29.7, 5001

4: NAT routerchanges datagramdest addr from138.76.29.7, 5001 to 10.0.0.1, 3345

Page 52: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-52

NAT: Network Address Translation

16-bit port-number field: 65,000 simultaneous connections with a single

WAN-side address!NAT is controversial:

routers should only process up to layer 3 …. violates end-to-end argument

• NAT possibility must be taken into account by application designers, e.g., P2P applications

address shortage should instead be solved by IPv6 ….

Page 53: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-53

NAT: Traversal Problem

client wants to connect to server with address 10.0.0.1 server address 10.0.0.1 local to

LAN (client can’t use it as destination addr)

only one externally visible NATed address: 138.76.29.7

solution1: statically configure NAT to forward incoming connection requests at given port to server e.g., (123.76.29.7, port 2500)

always forwarded to 10.0.0.1 port 2500

10.0.0.1

10.0.0.4

NAT router

138.76.29.7

client

?

server

Page 54: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-54

NAT: Traversal Problem

solution 2: Universal Plug and Play (UPnP) Internet Gateway Device (IGD) Protocol. Allows NATed host to: learn public IP address

(138.76.29.7) add/remove port mappings

(with lease times)

i.e., automate static NAT port map configuration

10.0.0.1

NAT router

IGD

138.76.29.7

Page 55: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-55

NAT: Traversal Problem

solution 3: relaying (used in p2p) NATed host establishes connection to relay external client connects to relay relay bridges packets between two connections

138.76.29.7

client

1. connection torelay initiatedby NATed host

2. connection torelay initiatedby client

3. relaying established

NAT router

10.0.0.1

Page 56: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-56

Chapter 4: Network Layer

4.1 Introduction 4.2 Virtual circuit and

datagram networks 4.3 What’s inside a

router 4.4 IP: Internet Protocol

Datagram format IPv4 addressing ICMP IPv6

4.5 Routing algorithms Link state Distance Vector Hierarchical routing

4.6 Routing in the Internet RIP OSPF BGP

4.7 Broadcast and multicast routing

Page 57: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-57

ICMP: Internet Control Message Protocol

Control and error messages from network layer. All IP implementations must have ICMP support. ICMP messages carried in IP datagrams used by hosts & routers to communicate network-level

control information and error reporting Error reporting: e.g., unreachable network, host, .. Example: (used by ping command)

• Sends ICMP echo request• Receives ICMP echo reply

Any ICMP error message may never generate a new one.

Page 58: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-58

ICMP: message format

ICMP message: type field: 1 byte code field: 1 byte Checksum: 2 bytes 0s, (ID + Seq. #) or other

fields: 4 bytes Optional data or when

error reporting message always include header of IP datagram causing error plus first 8 bytes of its payload

Type Code description0 0 echo reply (ping)

3 0 dest. network unreachable3 1 dest. host unreachable3 2 dest. protocol unreachable3 3 dest. port unreachable3 6 dest. network unknown3 7 dest. host unknown

4 0 source quench

8 0 echo request (ping)

9 0 route advertisement10 0 router discovery11 0 TTL expired12 0 bad IP header

Page 59: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-59

Traceroute and ICMP

Source sends series of UDP segments to destination First has TTL =1 Second has TTL=2, etc. Unlikely port number

When datagram sent with TTL = n arrives to n:th router: TTL becomes 0 Router discards datagram Router sends to source an

ICMP message “TTL expired” (type 11, code 0)

Message is carried in IP datagram with the router IP address as source

When ICMP message arrives, source measures RTT

Traceroute does this 3 times

Stop criteria UDP segment eventually

arrives at destination host Destination returns ICMP

message “destination port unreachable” (type 3, code 3)

When source gets this ICMP 3 times, traceroute stops.

Page 60: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-60

Chapter 4: Network Layer

4.1 Introduction 4.2 Virtual circuit and

datagram networks 4.3 What’s inside a

router 4.4 IP: Internet Protocol

Datagram format IPv4 addressing ICMP IPv6

4.5 Routing algorithms Link state Distance Vector Hierarchical routing

4.6 Routing in the Internet RIP OSPF BGP

4.7 Broadcast and multicast routing

Page 61: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-61

IPv6: motivation

initial motivation: 32-bit address space was about 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 128-bit addresses (2128 = 1038 numbers) Standard subnet size: 64 bits

Page 62: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-62

IPv6 datagram format

priority: identify priority among datagrams in flowflow Label: identify datagrams in same “flow.”

(concept of“flow” not well defined).

data

destination address(128 bits)

source address(128 bits)

payload length next header hop limitflow labelpriver

32 bits

Page 63: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-63

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” Neighbor and router discoverymulticast group management functions

Page 64: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

More slides

IPv4 FragmentationDatagram Forwarding TableGetting a datagram from source to destination IPv6-IPv4 Tunneling

4: Network Layer 4a-64

Page 65: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-65

IP Fragmentation & Reassembly MTU (Maximum Transmission Unit)

largest possible data amount carried by link-level frame. different link types, different

MTUs large IP datagrams will be divided

(“fragmented”) by host or router one datagram becomes several

datagrams “reassembled” only at final

destination IP header fields used to identify,

order related fragments• More Fragments bit• Datagram ID • Fragment Offset (in 8-byte

units)

fragmentation: in: one large datagramout: 3 smaller datagrams

reassembly

……

Page 66: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-66

IP Fragmentation

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=1040

One large datagram becomesseveral smaller datagrams

Example 4000 bytes datagram MTU = 1500 bytes

1480 bytes in data field

offset = 1480/8

Page 67: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-67

Destination Address Range

11001000 00010111 00010000 00000000through11001000 00010111 00010111 11111111

11001000 00010111 00011000 00000000through11001000 00010111 00011000 11111111

11001000 00010111 00011001 00000000through11001000 00010111 00011111 11111111

otherwise

Link Interface

0

1

2

3

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

Datagram forwarding table

Page 68: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-68

Longest prefix matching

Destination Address Range

11001000 00010111 00010*** *********

11001000 00010111 00011000 *********

11001000 00010111 00011*** *********

otherwise

DA: 11001000 00010111 00011000 10101010

examples:DA: 11001000 00010111 00010110 10100001 which interface?

which interface?

when looking for forwarding table entry for given destination address, use longest address prefix that matches destination address (more on this coming soon)

longest prefix matching

Link interface

0

1

2

3

Page 69: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

4: Network Layer 4a-69

Getting a datagram from source to dest.

IP datagram:

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

223.1.3.27

A

BE

miscfields

sourceIP addr

destIP addr data

Payload in datagram remains unchanged, as it travels source to destination

addr fields of interest here

Dest. Net. next router Nhops223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2

forwarding table in A

Page 70: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

4: Network Layer 4a-70

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

223.1.3.27

A

BE

Starting at A, given IP datagram addressed to B:

look up net. address of B find B is on same net. as A (B and

A are directly connected) link layer will send datagram

directly to B (inside link-layer frame)

Dest. Net. next router Nhops223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2

miscfields 223.1.1.1 223.1.1.3 data

Page 71: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

4: Network Layer 4a-71

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

223.1.3.27

A

BE

Dest. Net. next router Nhops223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2Starting at A, dest. E:

look up network address of E E on different network routing table: next hop router to

E is 223.1.1.4 link layer is asked to send

datagram to router 223.1.1.4 (inside link-layer frame)

datagram arrives at 223.1.1.4 continued…..

miscfields 223.1.1.1 223.1.2.3 data

Page 72: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

4: Network Layer 4a-72

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

223.1.3.27

A

BE

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!)

miscfields 223.1.1.1 223.1.2.3 data network router Nhops interface

223.1.1 - 1 223.1.1.4223.1.2 - 1 223.1.2.9223.1.3 - 1 223.1.3.27

Dest. next

Page 73: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-73

Transition from IPv4 to IPv6

not all routers can be upgraded simultaneouslyno “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 source, dest addr IPv4 header fields

IPv4 datagramIPv6 datagram

IPv4 payload

UDP/TCP payloadIPv6 source dest addr

IPv6 header fields

Page 74: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-74

flow: Xsrc: Adest: F

data

A-to-B:IPv6

Flow: XSrc: ADest: F

data

src:Bdest: E

B-to-C:IPv6 inside

IPv4

E-to-F:IPv6

flow: Xsrc: Adest: F

data

B-to-C:IPv6 inside

IPv4

Flow: XSrc: ADest: F

data

src:Bdest: E

physical view:A B

IPv6 IPv6

E

IPv6 IPv6

FC D

logical view:

IPv4 tunnel connecting IPv6 routers E

IPv6 IPv6

FA B

IPv6 IPv6

IPv4 IPv4

Tunneling (6in4 – static tunnel)

Page 75: Chapter 4 Network Layer - Chalmers · Datagram format IPv4 addressing ... Network Layer 4-20 Switching via Interconnection Network ... Chapter 4: Network Layer

Network Layer 4-75

Chapter 4: Network Layer

4.1 Introduction 4.2 Virtual circuit and

datagram networks 4.3 What’s inside a

router 4.4 IP: Internet Protocol

Datagram format IPv4 addressing ICMP IPv6

4.5 Routing algorithms Link state Distance Vector Hierarchical routing

4.6 Routing in the Internet RIP OSPF BGP

4.7 Broadcast and multicast routing