Top Banner
Communication Networks University of Kansas – EECS 663 Lecture N: Network Layer James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology & Telecommunications Research Center The University of Kansas [email protected] http://www.ittc.ku.edu/~jpgs/courses/nets © 2004–2006 James P.G. Sterbenz 20 April 2006
334

ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

Mar 12, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

© James P.G. SterbenzITTCCommunication Networks

University of Kansas – EECS 663Lecture N: Network Layer

James P.G. Sterbenz

Department of Electrical Engineering & Computer ScienceInformation Technology & Telecommunications Research Center

The University of Kansas

[email protected]

http://www.ittc.ku.edu/~jpgs/courses/nets

© 2004–2006 James P.G. Sterbenz20 April 2006

Page 2: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-2

© James P.G. SterbenzITTC

Network LayerN.1 Functions and Services

N.1 Network layer functions and servicesN.2 Network service models and signallingN.3 Switches and packet structureN.4 Examples

N.4.1 PSTN and X.21N.4.2 X.25 CONSN.4.3 ISDN and Frame RelayN.4.4 B-ISDN and ATMN.4.5 MPLSN.4.6 Internet: DNS, IP, ICMP, and IPv6

N.5 Fast datagram routers

Page 3: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-3

© James P.G. SterbenzITTC

Network LayerLayer/Plane Cube Model

physical

MAC

link

network

transport

session

application

data planecontrol plane

management

network layerin control anddata plane

managementplaneinteractionimportant

L7

L5

L4

L3

L2

L2–

L1

Page 4: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-4

© James P.G. SterbenzITTC

Network LayerDefinitions

networkCPU

M app

end system

CPU

M app

end systemD = 0

R = ∞

• Forwards packets along a route (or path ) through the network to a destination address : either as individual datagrams, as a flow of datagrams, or on a connection across a circuit or virtual circuit

Page 5: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-5

© James P.G. SterbenzITTC

Network LayerNetwork Protocols and Devices

• Network protocol– responsible for determining on which link frame transmitted– moves packets on path through the network

network

application

session

transport

network

link

end system

network

link

node

network

link

nodenetwork

link

node

application

session

transport

network

link

end system

Page 6: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-6

© James P.G. SterbenzITTC

Network LayerService and Interfaces

• Network layer 3 is above link layer 2– addressing : network layer identifier for end systems (hosts)– forwarding : transfers packets hop-by-hop

• using link layer services• network layer responsible for determining which next hop

– routing : determination of path to forward packetsLecture R

– signalling : messages to control network layer behaviour– traffic management : management of traffic and congestion

Lecture Q

Page 7: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-7

© James P.G. SterbenzITTC

Network LayerService and Interfaces

• Network layer 3 is above link layer 2– addressing : network layer identifier for end systems (hosts)– forwarding : transfers packets hop-by-hop

• using link layer services• network layer responsible for determining which next hop

– routing : determination of path to forward packets– signalling : messages to control network layer behaviour– traffic management : management of traffic and congestion

• Network layer service to transport layer (L4)– deliver TPDUs to destination transport entity

Page 8: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-8

© James P.G. SterbenzITTC

Network LayerForwarding vs. Routing

• Forwarding transfers packets at each hop– each switch (router) makes decision on which link to send– forwarding table (generally) used to make decision– forwarding is per packet decision

[analogy: determining which exits to take on a drive ]

• Routing determines the path to take– routing algorithm independent of forwarding– forwarding table entries populated by routing– routing is (generally) not done per packet

[analogy: planning trip from source to destination ]

Forwarding and routing are very different

Page 9: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-9

© James P.G. SterbenzITTC

Network LayerService and Interfaces

• Network layer packet may encapsulates link layer frame

transport layer transport layer

link layer

network layer

link layer

TPDU TPDU

network layer

TPDUH TPDUH

Page 10: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-10

© James P.G. SterbenzITTC

Network Layer ServiceService Models: Best Effort

• Best effort– network attempts to deliver most packets most of the time– network may attempt to be fair among users– this is the Internet service model– contrast with best-effort applications

• Differentiated service• Guaranteed service

Page 11: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-11

© James P.G. SterbenzITTC

Network Layer ServiceService Models: Differentiated Service

• Best effort• Differentiated service Lecture Q

– some users or traffic types receive preferential treatment– may provide statistical targets for service performance– this model has been proposed as DiffServ for the Internet

• Guaranteed service

Page 12: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-12

© James P.G. SterbenzITTC

Network Layer ServiceService Models: Guaranteed Service

• Best effort• Differentiated Service• Guaranteed service Lecture Q

– some (perhaps statistical) guarantees on service• delivery (reliability)• performance (delay, bandwidth, jitter, etc)

– this model is provided by the PSTN and ATM networks– this model has been proposed by IntServ for the Internet

Page 13: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-13

© James P.G. SterbenzITTC

Network Layer ServiceGranularity

• Granularity of service parameters– per packet: applies to individual packets– per flow: applies to sequence of packets between hosts

Page 14: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-14

© James P.G. SterbenzITTC

Network Layer ServiceService Models: Reliable Delivery

• Reliable delivery– all packets eventually reach destination

• with high probability

– recall E2E arguments• link vs. network vs. transport vs. app

– recall sources of errors Lecture T

Page 15: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-15

© James P.G. SterbenzITTC

Network Layer ServiceService Models: Statistical Reliability

• Reliable delivery• Statistical reliability

– packets delivered with probability p

Page 16: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-16

© James P.G. SterbenzITTC

Network Layer ServiceService Models: Unreliable

• Reliable delivery• Statistical reliability• Unreliable: packet may or may not reach destination

– if necessary, reliability provided by higher layer• end-to-end transport• application-to-application

Page 17: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-17

© James P.G. SterbenzITTC

Network Layer ServiceService Models: Ordered Delivery

• Ordered: packets delivered in order

Page 18: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-18

© James P.G. SterbenzITTC

Network Layer ServiceService Models: Unordered Delivery

• Ordered• Unordered: packets may be misordered (why?)

– transport layer will reorder– application will reorder– application doesn’t care about order

Page 19: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-19

© James P.G. SterbenzITTC

Network Architecture ServiceCharacteristics

• Network establishes paths between end systems– all applications (that need to) must be able to communicate

• Heterogeneity of todo:fig

– underlying links and LAN technologies– overlying applications– service providers

• Requires common addressing mechanism– and compatible routing and signalling

Page 20: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-20

© James P.G. SterbenzITTC

Network ArchitectureHourglass Principle

• Internet iswaist of the hourglass

• Common addressing (IP)– compatible

routing and signalling

• The network layer is the hardest to replace or evolve– even to new versions (e.g. IPv4 → IPv6)

• IP won over alternatives– e.g. X.25 CONS, CLNP, SNA, XNS, DECNET, ATM, …– but ideas in these architectures still important

IP

4

2

3

TCP UDP RTP • • •

Ethernet SONET 802.11 • • • λ • • •

Page 21: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-21

© James P.G. SterbenzITTC

Network LayerN.2 Network Service Models and Signalling

N.1 Network layer functions and servicesN.2 Network service models and signallingN.3 Switches and packet structureN.4 ExamplesN.5 Fast datagram routers

Page 22: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-22

© James P.G. SterbenzITTC

Network-Layer ServiceCircuits: State Management

• Circuits– physical path established– circuit state to establish and maintains path

Examples?

Page 23: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-23

© James P.G. SterbenzITTC

Network-Layer ServiceCircuits: State Management

• Circuits– physical path established– circuit state to establish and maintains path

• Examples– early PSTN– X.21 circuit switched networks– optical WDM lightpaths Lecture L

Page 24: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-24

© James P.G. SterbenzITTC

Network-Layer ServiceCircuits: Signalling and Data Transfer

CONNECT

CONNECT

CONNECT

SETUP

SETUP

SETUP

tsetup

RELEASE

RELEASE

RELEASE

trel

txfer

ts ≈ 0

• Circuit Signallingcharacteristics?

Page 25: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-25

© James P.G. SterbenzITTC

Network-Layer ServiceCircuits: Signalling and Data Transfer

CONNECT

CONNECT

CONNECT

SETUP

SETUP

SETUP

tsetup

RELEASE

RELEASE

RELEASE

trel

txfer

ts ≈ 0

• Circuit Signalling– setup latency:

RTT before data transfer– no multiplexing efficiency+ negligible switch latency

Page 26: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-26

© James P.G. SterbenzITTC

Network-Layer ServiceConnections: State Management

• Connection-oriented– connection state required– performance optimisations possible to reduce setup latency

• fast reservations• optimistic connection establishment

Examples?

Page 27: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-27

© James P.G. SterbenzITTC

Network-Layer ServiceConnections: State Management

• Connection-oriented or virtual circuit– connection state required– performance optimisations possible to reduce setup latency

• fast reservations• optimistic connection establishment

• Examples– CONS (connection-oriented network service)

PSPDNs (packet-switched public data networks)[ISO/IEC 8878+8208 / ITU X.25]

– ATM and MPLS– modern PSTN (wired and wireless)

Page 28: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-28

© James P.G. SterbenzITTC

Network-Layer ServiceConnections: Motivation

• Combine benefits of datagram and circuits– statistical multiplexing gains of datagrams– forwarding performance circuits

• eliminate store-and-forward• high-performance switch design

– provision of QOS Lecture Q• admission control• resource reservation per connection

Page 29: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-29

© James P.G. SterbenzITTC

Network-Layer ServiceConnections: Virtual Circuit Signalling

• Connections (virtual circuits)characteristics?

SETUP

PROCEEDING

PROCEEDING

CONNECT

CONNECTCONNECT

SETUP

SETUP tsig

ACK

ACK

PROCEEDING

ACK

ts

tp

tsetup

txfer

dn

d1

Dn

tg tb

Page 30: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-30

© James P.G. SterbenzITTC

Network-Layer ServiceConnections: Virtual Circuit Signalling

• Connections (virtual circuits)– establish state once to

reduce per packet processing+ amortised for long flows– expensive for transactions– RTT delay before data transfer+ high throughput possible+ per hop messages reduce latency

SETUP

PROCEEDING

PROCEEDING

CONNECT

CONNECTCONNECT

SETUP

SETUP tsig

ACK

ACK

PROCEEDING

ACK

ts

tp

tsetup

txfer

dn

d1

Dn

tg tb

Page 31: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-31

© James P.G. SterbenzITTC

Network-Layer ServiceConnections: Virtual Circuit Forwarding

• Each packet contains a connection identifier• Each hop does a lookup in a connection table

– outgoing port = lookup (connection id)

• Each hop does a label swap– new label = lookup (connection id)– prevents the need for global connection id allocation

• Table lookup very efficient– connection id is index into simple table– can be done in fast hardware at line rate

Page 32: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-32

© James P.G. SterbenzITTC

Network-Layer ServiceVirtual-Circuit Label Swapping

cin pout cout cstate

=

pout payload cout payload cin

• Connection id is index into table• Table entry gives egress link and next hop id

– port may be prepended for self-routing fabricsexamples: ATM, MPLS

Page 33: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-33

© James P.G. SterbenzITTC

Network-Layer ServiceVirtual-Circuit Label Swapping Example

p3 p2

p0

3

7 2

2

3 1

5 3

37

5

5 1

p3

p2

p1

3 3

1

233

1

4 0

0

1 6

3

2

25

0

0 0

pout cout

7 21

0 2

3

todo:animate

Page 34: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-34

© James P.G. SterbenzITTC

Network-Layer ServiceConnectionless: State Management

• Connectionless– no per flow state required to forward information– but there still is state

what?

Page 35: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-35

© James P.G. SterbenzITTC

Network-Layer ServiceConnectionless: State Management

• Connectionless– no per flow state required to forward information– but there still is state

• forwarding tables

– other state may be used to improve performance• per-flow queueing Lecture Q• soft state flow identification to improve performance

Examples?

Page 36: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-36

© James P.G. SterbenzITTC

Network-Layer ServiceConnectionless: State Management

• Connectionless– no per flow state required to forward information– but there still is state

• forwarding tables

– other state may be used to improve performance• per-flow queueing Lecture Q• soft state flow identification to improve performance

• Examples– Internet IP– CLNP (connectionless layer network protocol)

[ISO/IEC 8473 / ITU X.223]

Page 37: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-37

© James P.G. SterbenzITTC

Network-Layer ServiceConnectionless: Data Transfer

• Connectionless signallingcharacteristics?

tp

tf

tb

tb

tg

D1

Dn

tr

Page 38: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-38

© James P.G. SterbenzITTC

Network-Layer ServiceConnectionless: Data Transfer

• Connectionless signallingo individual datagrams

forwarded+ no setup latency– data rate limited by packet

processing throughput

tp

tf

tb

tb

tg

D1

Dn

tr

Page 39: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-39

© James P.G. SterbenzITTC

Network-Layer ServiceDatagram Forwarding

• Each datagram contains a destination address• Each hop does a lookup in a forwarding table

– outgoing port = lookup (destination address)

• Table lookup efficiency depends on:– address structure (e.g class-based IP vs. CIDR)– address length– tables length (# destinations per switch/router)

• Example: IP– note: IP lookup could not be done at line rate in 1980s

more later

Page 40: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-40

© James P.G. SterbenzITTC

Network-Layer ServiceComparison of Characteristics

• Connectionless vs. connection-oriented networks– major debate in 1980s and 1990s

• Comparison of characteristics

Characteristic Connectionless Connection-oriented

Setup latency ? ?

Forwarding latency

Forwarding information

Switch state

Resilience to failure

QOS

Page 41: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-41

© James P.G. SterbenzITTC

Network-Layer ServiceComparison of Characteristics

• Connectionless vs. connection-oriented networks– major debate in 1980s and 1990s

• Comparison of characteristics

Characteristic Connectionless Connection-oriented

Setup latency ↓ none ↑ round trip

Forwarding latency ? ?

Forwarding information

Switch state

Resilience to failure

QOS

Page 42: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-42

© James P.G. SterbenzITTC

Network-Layer ServiceComparison of Characteristics

• Connectionless vs. connection-oriented networks– major debate in 1980s and 1990s

• Comparison of characteristics

Characteristic Connectionless Connection-oriented

Setup latency ↓ none ↑ round trip

Forwarding latency ↑ address lookup ↓ VC index

Forwarding information ? ?

Switch state

Resilience to failure

QOS

Page 43: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-43

© James P.G. SterbenzITTC

Network-Layer ServiceComparison of Characteristics

• Connectionless vs. connection-oriented networks– major debate in 1980s and 1990s

• Comparison of characteristics

Characteristic Connectionless Connection-oriented

Setup latency ↓ none ↑ round trip

Forwarding latency ↑ address lookup ↓ VC index

Forwarding information ↑ address per packet ↓ VC id per packet

Switch state ? ?

Resilience to failure

QOS

Page 44: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-44

© James P.G. SterbenzITTC

Network-Layer ServiceComparison of Characteristics

• Connectionless vs. connection-oriented networks– major debate in 1980s and 1990s

• Comparison of characteristics

Characteristic Connectionless Connection-oriented

Setup latency ↓ none ↑ round trip

Forwarding latency ↑ address lookup ↓ VC index

Forwarding information ↑ address per packet ↓ VC id per packet

Switch state ↑ forwarding tables ↓ connection id tables

Resilience to failure ? ?

QOS

Page 45: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-45

© James P.G. SterbenzITTC

Network-Layer ServiceComparison of Characteristics

• Connectionless vs. connection-oriented networks– major debate in 1980s and 1990s

• Comparison of characteristics

Characteristic Connectionless Connection-oriented

Setup latency ↓ none ↑ round trip

Forwarding latency ↑ address lookup ↓ VC index

Forwarding information ↑ address per packet ↓ VC id per packet

Switch state ↑ forwarding tables ↓ connection id tables

Resilience to failure datagrams lost connections terminated

QOS ? ?

Page 46: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-46

© James P.G. SterbenzITTC

Network-Layer ServiceComparison of Characteristics

• Connectionless vs. connection-oriented networks– major debate in 1980s and 1990s

• Comparison of characteristics

Characteristic Connectionless Connection-oriented

Setup latency ↓ none ↑ round trip

Forwarding latency ↑ address lookup ↓ VC index

Forwarding information ↑ address per packet ↓ VC id per packet

Switch state ↑ forwarding tables ↓ connection id tables

Resilience to failure datagrams lost connections terminated

QOS difficult connection reservation

Page 47: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-47

© James P.G. SterbenzITTC

Network LayerN.3 Switches and Packet Structure

N.1 Network layer functions and servicesN.2 Network service models and signallingN.3 Switches and packet structureN.4 ExamplesN.6 Fast datagram routers

Page 48: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-48

© James P.G. SterbenzITTC

SwitchesFunctions: Overview

• Routing / signalling– per flow or longer

• Transfer control– per packet control

• Data manipulation– per byte or packet

routing and signalling

transfer control

routing algorithm

topology link state

traffic management

signalling

input processing switch fabric

output processing

management

data manipulation

link layer decapsulation

link layer framing

packet buffers

forwarding table

link scheduling

congestioncontrol

filter classify

fabric control

Page 49: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-49

© James P.G. SterbenzITTC

SwitchesFunctions: Routing and Signalling

• Routing / signalling– per flow or longer

• Management• Signalling• Topology database• Routing algorithm• Traffic

management

routing and signalling

transfer control

routing algorithm

topology link state

traffic management

signalling

input processing switch fabric

output processing

management

data manipulation

link layer decapsulation

link layer framing

packet buffers

forwarding table

link scheduling

congestioncontrol

filter classify

fabric control

Page 50: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-50

© James P.G. SterbenzITTC

SwitchesFunctions: Transfer Control

• Transfer control– per packet control

• Input control– classification tables– forwarding tables

• Congestion control• Fabric control

– e.g. set crosspoints

• Output control– link scheduling

routing and signalling

transfer control

routing algorithm

topology link state

traffic management

signalling

input processing switch fabric

output processing

management

data manipulation

link layer decapsulation

link layer framing

packet buffers

forwarding table

link scheduling

congestioncontrol

filter classify

fabric control

Page 51: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-51

© James P.G. SterbenzITTC

SwitchesFunctions: Data Manipulation

• Data manipulation– per byte or packet– performance critical

• Input processing– link layer– packet classification– output lookup

• Switch fabric• Packet buffers• Output processing

– packet scheduling– link layer

routing and signalling

transfer control

routing algorithm

topology link state

traffic management

signalling

input processing switch fabric

output processing

management

data manipulation

link layer decapsulation

link layer framing

packet buffers

forwarding table

link scheduling

congestioncontrol

filter classify

fabric control

Page 52: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-52

© James P.G. SterbenzITTC

Store-and-Forward RoutersSecond Generation

CPU M

network

w

NI

buffers

NI

link link

• Second generation (1980s)– network interfaces share bus– general purpose CPU

1

Page 53: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-53

© James P.G. SterbenzITTC

Store-and-Forward RoutersSecond Generation

CPU M

network

w

NI

buffers

NI

link link

• Second generation (1980s)– delays

• store-and-forward• contention for CPU• non-trivial header processing

2

Page 54: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-54

© James P.G. SterbenzITTC

Store-and-Forward RoutersSecond Generation

CPU M

network

w

NI

buffers

NI

link link

• Second generation (1980s)– delays

• store-and-forward• contention for CPU• non-trivial header processing

– buffering• in general purpose memory• contention for memory

3

Page 55: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-55

© James P.G. SterbenzITTC

Store-and-Forward RoutersSecond Generation

CPU M

network

w

NI

buffers

NI

link link

• Second generation (1980s)– delays

• store-and-forward• contention for CPU• non-trivial header processing

– buffering• in general purpose memory• contention for memory

– shared bus interconnect• packets traverse bus twice• severely limits # of ports• DMA transfers help 4

Page 56: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-56

© James P.G. SterbenzITTC

Store-and-Forward RoutersThird Generation

CPU M

w

NI

buffers

NIP

NI

buffers

NIP

network

L2 L2

L3 L3

1

• Third generation (1990s)– NI (network interface)

• packet processing• packet buffers

Page 57: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-57

© James P.G. SterbenzITTC

Store-and-Forward RoutersThird Generation

CPU M

w

NI

buffers

NIP

NI

buffers

NIP

network

L2 L2

L3 L3

2

• Third generation (1990s)– NI (network interface)

• packet processing• packet buffers

– third party bus transfer• bus is switch fabric• single transfer per packet

– still significant bottleneck

Page 58: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-58

© James P.G. SterbenzITTC

Fast Packet SwitchingMotivation

• Allow network switching at line rate– 155 Mb/s (OC-3) in mid 1980s

• Eliminate store-and-forward processing bottlenecks• Eliminate blocking in switch• Provide support for QOS• Solution:

– virtual connection service

Page 59: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-59

© James P.G. SterbenzITTC

Fast Packet SwitchArchitecture

• Connection state– simple per packet

processing

• Switch fabric– eliminate contention– no store-and-forward

input processing output processing

routing and signalling

switch fabric

link scheduling

link

link

link

link

label swap

CID table

switch fabric control

Page 60: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-60

© James P.G. SterbenzITTC

Fast Packet SwitchConnectionless vs. Connection Tradeoff

• Connection-oriented fast packet switching– requires round trip connection setup latency– achieved higher data rate due to simple label swap

• IP lookup was a bottleneck in 1980s

Page 61: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-61

© James P.G. SterbenzITTC

Packet Size and StructureVariability

• Fixed vs. variable size packetstradeoffs?

Page 62: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-62

© James P.G. SterbenzITTC

Packet Size and StructureVariability

• Fixed size (cells)+ easier to design switches– difficult to predetermine the best size

• Variable size– more difficult to design switches+ no need for agreement on size+ less need for fragmentation/segmentation

• Discrete sizes: advantages of both fixed and variable• integral multiples, e.g. 64B, 128B, 192B…• power-of-2 scaling with data rate

e.g. 128B @ OC-3, 256B @ OC-12, 512B @ OC-48

Page 63: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-63

© James P.G. SterbenzITTC

Packet Size and StructureSize

• Small vs. large packetstradeoffs?

Page 64: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-64

© James P.G. SterbenzITTC

Packet Size and StructureSize

• Small packets+ efficient statistical multiplexing– high header/payload overhead– short interarrival time challenge per packet processing

• note: this is one major reason ATM failed

• Large packets+ significantly easier per packet processing– less efficient statistical multiplexing– larger queueing delays+ efficient transport of large data blocks– inefficient transport of signalling and control messages

e.g. TCP ACKs

Page 65: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-65

© James P.G. SterbenzITTC

Packet Size and StructureGranularity

• Important to match granularity to packet processingwhy?

Page 66: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-66

© James P.G. SterbenzITTC

Packet Size and StructureGranularity

• Important to match granularity to packet processing+ byte / octet (8 bits)

• control fields should align to 8-bit boundaries

+ word (typically 32 bits)• most end-system processing at word granularity• payload should align to 32-bit boundaries

+ end system data unit• system buffers and memory structures• power-of-2 size will likely be integral fraction

+ commodity memory components• power-of-2 size

– note: ATM cell was none of these

Page 67: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-67

© James P.G. SterbenzITTC

Packet Size and StructurePacket Format

• Header– fields that determine

packet processing

• Payload– TPDU transport protocol data unit

• Trailer– fields that are dependent on

packet processing• e.g. cheksum to allow cut-through

header

payload

trailer

QOS

protocol id

header check

packet type

connection id

payload length

authentication

data

check

Page 68: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-68

© James P.G. SterbenzITTC

Packet Size and StructureControl Fields

• Control field structure and encoding is critical– simple encoding (bit vectors vs. code points)– byte/octet granularity and alignment– field length

• fixed when possible• variable length prepended with length (skip vs. hunt)

Page 69: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-69

© James P.G. SterbenzITTC

Packet StructureExample: ATM Cells

• ATM cell format– fast packet switching– fine-grained statistical multiplexing

• Size determined by ITU committee compromise– 48B = avg(32, 64)

• 64 from US = min of proposals for data (and voice)• 32 from European PTTs to avoid voice echo cancellers

• Problems:– header tiny to keep overhead low; no room for seq #– nothing a power of 2– 48B + 5B = 53B; not even a multiple of 8

Page 70: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-70

© James P.G. SterbenzITTC

Switch Fabric ArchitectureIntroduction

routing and signalling

transfer control

routing algorithm

topology link state

traffic management

signalling

input processing switch fabric

output processing

management

data manipulation

link layer decapsulation

link layer framing

packet buffers

forwarding table

link scheduling

congestioncontrol

filter classify

fabric control

• Switch fabric determinesinput → output

• Critical issues– blocking– contention

• Designs– many choices

Page 71: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-71

© James P.G. SterbenzITTC

Switch Fabric ArchitectureBlocking

• Blocking (among different outputs)• Goal: nonblocking switch fabric

– input–output path ij→om will not block a different path ik→on

• Some switch designs are mostly nonblocking– strictly nonblocking: under all conditions– wide-sense nonblocking: if particular algorithm is used– rearrangeably nonblocking: if existing paths are rearranged– virtually nonblocking: with extremely low probability

Page 72: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-72

© James P.G. SterbenzITTC

Switch Fabric ArchitectureContention and Buffering

collisions

in1

in2

out delayed

• Contention (burst collisions) in a non-blocking fabric– occurs when traffic destined for same output– requires buffering even for well-behaved traffic

Page 73: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-73

© James P.G. SterbenzITTC

Switch Fabric ArchitectureContention and Buffering

• Input queueing– suffers from

head-of-line blocking

• Output queueing– requires either:

• internal speedup• internal expansion

Page 74: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-74

© James P.G. SterbenzITTC

Switch Fabric ArchitectureHead-of-Line Blocking

todo:animate

Page 75: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-75

© James P.G. SterbenzITTC

Switch Fabric ArchitectureVirtual Output Queueing

• Virtual output queueing– parallel buffers– non-FIFO buffers

todo:animate

Page 76: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-76

© James P.G. SterbenzITTC

Switch Fabric ArchitectureSingle Stage: Bus as a Switch

• Simple design shared medium bus– point of blocking: only one input active at a time

• 2nd/3rd generation routers

– suitable for small switches

• Multicast– inherent broadcast

i0 i1 i2 i3 i4 i5 i6 i7

o0 o1 o2 o3 o4 o5 o6 o7

w

todo:animate

Page 77: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-77

© James P.G. SterbenzITTC

Switch Fabric ArchitectureSingle Stage: Shared Memory Switch

• Simple design– packets written by input– packets read by output

• Shared memory– point of contention– speedup necessary

• but access times not scaling with Moore’s

• Multicast– multiple writes or– multicast output demux

i0

i1

i2

i3

i4

i5

i6

i7

o0 o1 o2 o3 o4 o5 o6 o7

output demultiplex

i nput

mul t i pl ex

shared memory

todo:animate

Page 78: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-78

© James P.G. SterbenzITTC

Switch Fabric ArchitectureSingle Stage: Basic 2×2 Switch Element

• States– point-to-point

• straight• cross

– multicast• Types

– buffered or unbuffered

– self routing orexternally controlled

control headerdecode

header decode

delay

cut-through delay

cut-through

i0

i1 o1

o0

packet buffer

packet buffer

output multiplexor

straight cross duplicate

Page 79: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-79

© James P.G. SterbenzITTC

Switch Fabric ArchitectureSingle Stage: Crossbar Switch

• Crosspoint switch element– electronic

• multicast possible

– optical MEMS• rotating mirror

column

ii

oj

electronic optical MEMS

ii

oj

column

cross turn duplicate

Page 80: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-80

© James P.G. SterbenzITTC

Switch Fabric ArchitectureSingle Stage: Crossbar Switch

i0

i1

i2

i3

i4

i5

i6

i7

o0 o1 o2 o3 o4 o5 o6 o7

• Square array of crosspoint elements– O (n 2) growth

complexity– reasonable for

moderate n

• Strictly nonblocking• Multicast

– inherent topology– requires arbitration

todo:animate

Page 81: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-81

© James P.G. SterbenzITTC

Switch FabricsMultistage Switches

• Large switches built from single stage elements– 2×2 elements or n ×n crossbars– O (n log n) growth complexity

Page 82: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-82

© James P.G. SterbenzITTC

Switch FabricsMultistage Switches

1010

1010 1010 1010 1010

i0

i2

i4

i6

i8

i10

i12

i14

i1

i3

i5

i7

i9

i11

i13

i15

o0

o2

o4

o6

o8

o10

o12

o14

o1

o3

o5

o7

o9

o11

o13

o15

s0 s1 s2 s3

todo:animate

• Example– self-routing

delta fabric

Page 83: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-83

© James P.G. SterbenzITTC

Network LayerN.4 Examples

N.1 Network layer functions and servicesN.2 Network service models and signallingN.3 Switches and packet structureN.4 Examples

N.4.1 PSTNN.4.2 X.25 CONSN.4.3 ISDN and Frame RelayN.4.4 B-ISDN and ATMN.4.5 MPLSN.4.6 IP, ICMP, and IPv6

N.5 Fast datagram routers

Page 84: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-84

© James P.G. SterbenzITTC

PSTNFunctions and Protocols

• PSTN – addressing : telephone number [ITU E.164]– forwarding :

• traditional circuit switch: physical connection• modern virtual circuit: TDM mux/demux Lecture L

and ATM switching• emerging: VoIP

Page 85: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-85

© James P.G. SterbenzITTC

PSTNFunctions and Protocols2

• PSTN network-layer functions and protocols– signalling :

• traditional: in-band audio• modern: out-of-band (common channel signalling) SS7

– routing and traffic management :• traditional: static hierarchy based on telephone number• network engineering to provide required service

– blocking probability

• modern: dynamic routing (e.g. DNHR) Lecture R

Page 86: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-86

© James P.G. SterbenzITTC

PSTN AddressingAddressing Notation

• Notation [ITU E.123] symbol & icons [ITU E.121]– country-specific international access denoted by +– followed by grouped digits (no hyphens, dots)

• grouping based on each country's numbering plan , e.g.+1 785 864 7890+44 1524 510302+41 44 632 70 01

Page 87: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-87

© James P.G. SterbenzITTC

PSTN AddressingAddress Format

• Telephone number format (≤ 15 digits) [ITU E.164]⟨country-code⟩ ⟨national-destination-code⟩ ⟨subscriber-number⟩

– country code (1–3 digits) assigned by ITUList of ITU-T Recommendation E.164 Assigned Country Codeshttp://www.itu.int/pub/T-SP-E.164A-2006/en

– NDC: national destination code (city code or area code)• may be fixed length (e.g. US) or variable length (e.g. UK)• may be structured (e.g.) Germany or unstructured (e.g. US)

– SN: subscriber number• may be structured as in US⟨subscriber number⟩ = ⟨central-office-exch.⟩ ⟨subscriber-line-id⟩

Page 88: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-88

© James P.G. SterbenzITTC

PSTN: AddressingGlobal Addressing

• Bell System IDDD– international direct distance dialing

• ITU Country codes– early numbering in

1960 ITU Red Book– current scheme defined

1963 ITU Blue Book

• Grouped into 10 zones• 1 – 3 digits

– variable length code

zone area1 US, Canada, Caribbean2 Africa34

Europe

5 Mexico, Cental and S. America6 South Pacific7 Russia (former Soviet Union)8 East Asia and special services9 West and South Asia0 spare

Page 89: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-89

© James P.G. SterbenzITTC

PSTN: AddressingZone 1 Country Codes (NANP)

Code TLD Country NotesUnited States

Canada

Mexico

.us

.ca

.mx

+1NXX United StatesCanada

now +52part of Mexico was accessible in NANP before 1991 now

Mexico

(Caribbean Nations)

+1NXX

+1706+1905

+1NXX

Page 90: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-90

© James P.G. SterbenzITTC

PSTN: AddressingZone 2 Country Codes (2-Digit)

Code TLD Country Notesمصر (Misr)

+24X 3-digit codes+25X 3-digit codes+26X 3-digit codes

+27 .zaiNingizimu Afrika

Suid-AfrikaSouth Africa

South Africa

.eg+20 Egypt3-digit codes3-digit codes3-digit codes

unassigned3-digit codes+29X

+21X+22X+23X

+28X

Page 91: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-91

© James P.G. SterbenzITTC

PSTN: AddressingZone 3 Country Codes

Code TLD Country NotesΕλλάς

NederlandBelgië

BelgiqueBelgienFranceEspañaEspanyaEspainiaEspanha

MagyarországDeutsche Dem. Rep.

Jugoslavija / Југославија

Italia

.gr

.nl

.be

.fr

.es

.hu(dd).yu.it

+30 GreeceNetherlands

3-digit codes

now 3-digit codesnow 3-digit codes

Belgium

France

Spain

HungaryEast Germany

Yugoslavia+39 Italy

+31

+32

+33

+34

+35X+36+37+38

Page 92: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-92

© James P.G. SterbenzITTC

PSTN: AddressingZone 3 Country Codes

Code TLD Country NotesGibraltarPortugal

LëtzebuergLuxembourgLuxemburg

ÉireIrelandÍsland

ShqipëriaMaltaΚύπροςKıbrısSuomiFinlansБългария

.gi

.pt

.lu

.ie

.is

.al

.mt

.cy

.fi

.bg

+350 GibraltarPortugal

Luxembourg

Ireland

IcelandAlbaniaMalta

Cyprus

Finland

+359 Bulgaria

+351

+352

+353

+354+355+356

+357

+358

Page 93: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-93

© James P.G. SterbenzITTC

PSTN: AddressingZone 3 Country Codes

Code TLD Country NotesLietuvaLatvijaEesti

MoldovaՀայաստան (Hayastan)

БеларусьBiełaruśAndorraMonacoMunegu

San MarinoCivitatis Vaticanæ

.lt

.lv

.ee

.md

.am

.by

.ad

.mc

.sm

.va

+370 LithuaniaLatviaEstoniaMoldovaArmenia

Belarus

Andorra

Monaco

San Marino+379 Vatican City

+371+372+373+374

+375

+376

+377

+378

Page 94: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-94

© James P.G. SterbenzITTC

PSTN: AddressingZone 3 Country Codes

Code TLD Country NotesУкраїна

Србија и Црна Гора

HrvatskaSlovenija

Bosna i HercegovinaБосна и Херцеговина

Македонија

.ua

.yu

.hr

.si

.ba

.eu

.mk

+380 UkraineSerbia & Montenegro .cs reserved

unassignedunassignedunassigned

European telephony

CroatiaSlovenia

Bosnia & Hercegovina

Europe +389 Macedonia

+381+382+383+384+385+386

+387

+388

Page 95: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-95

© James P.G. SterbenzITTC

PSTN: AddressingZone 4 Country Codes

Code TLD Country NotesRomania

Schweiz / SuisseSvizzera / SvizraČeskoslovenskoČeská Republika

SlovenskoLiechtenstein

ÖsterreichUnited Kingdom

DanmarkSverige

+47 .no Norge Norway

+49 .de Deutschland GermanyPolska

.ro

.ch

.cs

.cz

.sk

.li

.at

.uk

.dk

.se

.pl

+40 Romania

Switzerland

before 1998 was +42was +42was +41 75

CzechloslovakiaCzech Republic

SlovakiaLiechtenstein

AustriaUnited Kingdom

Denmark+46 Sweden

+48 Poland

+41

+42+420+421+423+43+44+45

Page 96: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-96

© James P.G. SterbenzITTC

PSTN: AddressingZone 5 Country Codes (2-Digit)

Code TLD Country Notes

PerúPiruw

MéxicoCuba

+54 .ar Argentina Argentina+55 .br Brasil Brazil+56 .cl Chile Chile+57 .co Colombia Colombia

Venezuela

.pe

.mx

.cu

.ve

+50X 3-digit codes

Peru

3-digit codes

MexicoCuba

Venezuela+59X

+51

+52+53

+58

Page 97: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-97

© James P.G. SterbenzITTC

PSTN: AddressingZone 6 Country Codes (2-Digit)

Code TLD Country NotesMalaysiaڤرسكوتوانAustraliaIndonesiaPilipinas

Philippines+64 .nz New Zealand New Zealand

+65 .sg

Singapura新加坡 (Xīnjiāpō)சிங்கப்பூர்

Singapore

Singapore

+66 .th ไทย (Thai) Thailand+67X 3-digit codes

.my

.au

.id

.ph

+60 Malaysia

Australia

3-digit codes3-digit codes

Indonesia

Philippines

+69X

+61+62

+63

+68X

Page 98: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-98

© James P.G. SterbenzITTC

PSTN: AddressingZone 7 Country Codes

Code TLD Country NotesРосси́я

Қазақстан قازاقستان |Казахстан

.ru

.kz

+7 Russia formerly USSR .su

Kazakstan

other formerSoviet republics

now in+37X Baltic states+99X Asian states

+7

Page 99: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-99

© James P.G. SterbenzITTC

PSTN: AddressingZone 8 Country Codes

Code TLD Country Notes日本 (Nihon)

대한민국 | 大韓民國 (Daehan Minguk)Việt Nam

조선민주주의인민공화국(Chosŏn Minjujuŭi Inmin Konghwaguk)

+852 .hk 香港(Hèung Góng | Xiānggǎng) Hong Kong

+853 .mo 澳門 / Macau (Jyutping / Àomén) Macao+855 .kh កមពជ (Kâmpŭchea) Cambodia+856 .la ນລາວ (Muang Lao) Laos

中国 / 中國 (Zhōngguó)

বাংলােদশ中華民國 (JhōngHuá MínGuó)

.jp

.kr

.vn

.kp

.cn

.bd

.tw

+81 JapanSouth Korea

kp TLD unused

Viet Nam

North Korea

China

Bengladesh+886 Taiwan ROC

+82+84

+850

+86

+880

Page 100: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-100

© James P.G. SterbenzITTC

PSTN: AddressingZone 8 Service Codes

Code TLD Service Notesinternational free phone

Inmarsat+87 maritime mobile +875 – +877+878 universal personal telecommunications+881 global mobile satellite system+882 .int international networks+888 unavailable+89 unassigned

+800 Internat. free phone+83 unassigned

+870 – +874+87

Page 101: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-101

© James P.G. SterbenzITTC

PSTN: AddressingZone 9 Country Codes (2-Digit)

Code TLD Country NotesTürkiye

भारत (Bharat)اسالمیPakistanافغانستان

+94 .lk ශර්ී ලංකාවஇலங்ைக Sri Lanka

+95 .mm မန ္မာ Myanmar (Burma) TLD was .bu+96X 3-digit codes+97X 3-digit codes

ايران

.tr

.in

.pk

.af

.ir

+90 TurkeyIndia

3-digit codesdisaster relief

Pakistan

Afghanistan

Iran

+999

+91

+92

+93

+98

+99X

Page 102: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-102

© James P.G. SterbenzITTC

PSTN AddressingNANP (WZ1) Origins

• Long distance originally required operator assistance• NANP (North American numbering plan) in 1947

– DDD (direct distance dialing) began in 1951

Page 103: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-103

© James P.G. SterbenzITTC

PSTN AddressingNANP (WZ1) Administration

• NANPA (NANP Administrator) www.nanpa.org

• CNA (Canadian Number Administrator) www.cnac.ca

• Regulation by FCC in US– NANC (North American Numbering Counci)

www.fcc.gov/wcb/tapd/Nanc

• Guidance from– ATIS INC (Industry Numbering Committee)

www.atis.org/inc/docs.asp– CISC CSCN (Canadian Steering Committee on Numbering)

www.crtc.gc.ca/cisc/eng/cisf3f.htm

Page 104: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-104

© James P.G. SterbenzITTC

PSTN AddressingNANP (WZ1) Traditional Hierarchical Structure

+1

final trunk group(to class 4 long distance switching) 913

local (class 5)switches

local tandem switches

5 5

T

direct trunk group

tandem trunkgroup

5 5

T

local loops

local office897

tandemoffice

direct trunk group

direct trunkgroup

8538

Page 105: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-105

© James P.G. SterbenzITTC

PSTN AddressingNANP (WZ1) Nomenclature and Format

• Nomenclature: N = {2…9}; X = {0…9}; 0/1 = {0|1}• 1947: 86 NPAs (numbering plan areas or area codes)

– entire state codes of form N0X– split state codes of form N1X– high-population codes generally low N/X

why?

Page 106: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-106

© James P.G. SterbenzITTC

PSTN AddressingNANP (WZ1) Nomenclature and Format

• Nomenclature: N = {2…9}; X = {0…9}; 0/1 = {0|1}– entire state codes of form N0X– split state codes of form N1X– high-population codes generally low N/X

• reduce pulse delay• reduce dial pullback

Page 107: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-107

© James P.G. SterbenzITTC

PSTN AddressingNANP (WZ1) Nomenclature and Format

• Nomenclature: N = {2…9}; X = {0…9}; 0/1 = {0|1}– entire state codes of form N0X– split state codes of form N1X– high-population codes generally low N/X

• reduce pulse delay• reduce dial pullback

• NANP is ITU E.164 compliant⟨national-destination-code⟩ = NPA (area code)⟨subscriber number⟩ = ⟨central-office-exch.⟩ ⟨sub.-line-id⟩– e.g. +1 913 897 8538

US KC OP SLID(KU)

Page 108: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-108

© James P.G. SterbenzITTC

PSTN: AddressingNANP (WZ1) 1947: Original Bell System

• US and Canada– N0X dedicated– N1X spit state

• 86 NPAs assigned– 152 N0/1X poss.– N00 / N11 resv.

913816316

701

605

402

405 501

504

601 205 404

305

303901

704

204 613

715

414

206

503

406

208

702

306403

604

307

303801

602 505213

415

916

915214

713

512

502703

815217

618

312

304

612

314

218

207

902

802

416

419216

513614

812

317

603

515

319

712

203401413617

201302301202

716412

518

315

215

616

717814

514

418

313517 212

Page 109: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-109

© James P.G. SterbenzITTC

PSTN: AddressingNANP Address Capacity

• Address space fields– each CO code has 10 000 SLIDs (subscriber line ID)– each NPA can have 640 NNX CO codes– 152 N0/1X NPAs

• Total address space– 152 × 640 × 10000 = 972800000 ≈ 1010

isn’t this plenty?

Page 110: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-110

© James P.G. SterbenzITTC

PSTN: AddressingNANP Address Capacity

• Address space fields– each CO code has 10000 SLIDs (subscriber line ID)– each NPA can have 640 NNX CO codes– 152 N0/1X NPAs

• Total address space– 152 × 640 × 10000 = 972 800 000 ≈ 1010

• order of magnitude less than 1011 possible with 10 digits• NPA and CO geography determines distribution• usable number much smaller

How to accommodate growth?

Page 111: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-111

© James P.G. SterbenzITTC

PSTN: AddressingNANP Address Capacity

• Options to accommodate growth– add SLIDs to approach 10000 per CO

• some spares needed for churn• reduce redirect period

Page 112: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-112

© James P.G. SterbenzITTC

PSTN: AddressingNANP Address Capacity

• Options to accommodate growth– add SLIDs– add CO codes until 640 per NPA

• adding SLIDs and CO codes is relatively easy• add and expand CO switches and trunks

Page 113: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-113

© James P.G. SterbenzITTC

PSTN: AddressingNANP Address Capacity

• Options to accommodate growth– add SLIDs– add CO codes until 640 per NPA– add NPAs to 152 maximum

• more difficultwhy?

Page 114: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-114

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Growth and Capacity

• NPA capacity process:– NANP forecasts need for new NPAs– balancing act

• too aggressive causes unnecessary number changes• too conservative prevents new number assignments

– jeopardy : demand for new numbers exceed forcasts• new CO code assignments are restricted until relief

Page 115: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-115

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Growth and Capacity

• Options for relief– NPA split– NPA repartition– NPA overlay

• Geographic partition required for hierarchical routingLecture R

– requires user numbers to change: disruptive and expensive

Page 116: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-116

© James P.G. SterbenzITTC

PSTN: AddressingNANP (WZ1): 1960s and 1970s

• US and Canada• NPAs

– near capacity

todo:map

Page 117: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-117

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Growth and Capacity

• Many NPAs near capacity in 1970s– N0/1X NPAs nearly exhausted

Solution?

Page 118: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-118

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Growth and Capacity

• Many NPAs near capacity in 1970s– N0/1X NPAs nearly exhausted

• Option– underused NPA realignment would cause massive disruption

Page 119: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-119

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Growth and Capacity

• 1st step solution– adjust NANP addressing within current framework– institute interchangeable NPA/CO codes– CO codes NNX → NXX

• CO address space increases from 640 → 792• 152 × 792 × 10000 = 1 203 840 000 ≈ 1010 total numbers

implication?

Page 120: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-120

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Growth and Capacity

• 1st step solution– adjust NANP addressing within current framework– institute interchangeable NPA/CO codes– CO codes NNX → NXX

• address space increases from 640 → 792• 152 × 792 × 10000 = 1 203 840 000 ≈ 1010 total numbers

– implication: 10-digit local numbers• NPAs no longer distinguishable from CO codes

Page 121: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-121

© James P.G. SterbenzITTC

PSTN: AddressingNANP (WZ1)

• Nomenclature: N={2…9}; X={0…9}; Y={0…8} 0/1={0|1}

1947 1974CC N+

IDDD + 011

NPA N0/1X [152] N0/1X [152]

Central office NNX [640] NXX [792]

SLID XXXX [10000] XXXX [10000]

free 800 [1]

Service code N11 [8] N11Toll centerSystem code

0XX0/1XX [200]

0XX0/1XX [200]

Page 122: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-122

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Growth and Capacity

• 1st step solution– adjust NANP addressing within current framework– institute interchangeable NPA/CO codes– CO codes NNX → NXX– implication: 10-digit local numbers– still insufficient to meet demand explosion in late 1980s

• fax machines• 2nd residential lines for home computer modems• mobile telephones

solution?

Page 123: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-123

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Growth and Capacity

• 2nd step solution– NPA N0/1X → NYX: NPA space increased from 152 → ~900

• Y={0…8}• usually NYX is still written NXX with a footnote

– address space now ≈ 712 × 792 × 10000 = 6272640 000• note: some NPAs and CO code reserved for special use

issues?

Page 124: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-124

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Growth and Capacity

• Massive growth in 1980s and 1990s– ~500 new NYX NPAs– but frequent NPA splits very disruptive for users and carriers

Solution?

Page 125: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-125

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Growth and Capacity

• Massive growth in 1980s and 1990s– ~500 new NYX NPAs– but frequent NPA splits very disruptive for users and carriers

• 3rd step solution– remove restriction that NPAs be geographically unique– enabled by more flexible switch routing software

• nonhierarchical routing Lecture R– overlay NPAs: multiple NPAs shared in a given area– initially resisted by some PUCs (public utility commissions)

Page 126: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-126

© James P.G. SterbenzITTC

PSTN: AddressingNANP (WZ1)

• Nomenclature: N={2…9}; X={0…9}; Y={0…8} 0/1={0|1}

1947 1974 1995CC N+ N+

NYX [712]

NXX [792]

XXXX [10000]

8xx [8]

IDDD + 011 011N11

NPA N0/1X [152] N0/1X [152]

Central office NNX [640] NXX [792]

SLID XXXX [10000] XXXX [10000]

free 800 [1]

Service code N11 [8] N11Toll centerSystem code

0XX0/1XX [200]

0XX0/1XX [200]

Page 127: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-127

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Evolution Example: KS + MO

816

Wichita

LawrenceTopeka Kansas City

Overland Park

Springfield

St. Louis

Jefferson City

314

816

913

316

618

217

712 515 319

402

502

901501

405

303

• 1947: original NPAs [proper original MO boundary needed]– KS: two N1X codes split between Kansas City and Wichita – MO: two N1X codes split between St. Louis and Kansas City 1

Page 128: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-128

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Evolution Example: KS + MO

• 1950: geographic split– MO: Kansas City keeps 816; St. Louis keeps 314 – MO: southwest replaced with 417 including Springfield

816

Wichita

LawrenceTopeka Kansas City

Overland Park

Springfield

St. Louis

Jefferson City

417 314

816

913

316

618

217

712 515 319

502

901501

2

402

405

303

Page 129: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-129

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Evolution Example: KS + MO

• 1995: geographic split– MO: St. Louis and suburbs keep 314 – MO: rest of east replaced by 573

816

Wichita

LawrenceTopeka Kansas City

Overland Park

Springfield

St. Louis

Jefferson City

417 573

816

913

316

618

217

712 515 319

402308

502

901918

3

314

501

970

719

405

Page 130: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-130

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Evolution Example: KS + MO

816

Wichita

LawrenceTopeka Kansas City

Overland Park

Springfield

St. Louis

Jefferson City

417 573

816

913

316

618

217

712 515 319

402308

502

901918

314

501

970

719

405

• 1996: jeopardy– MO: 816 NPA in danger of CO code exhaustion before relief

4

Page 131: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-131

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Evolution Example: KS + MO

• 1997: geographic split– MO: Kansas City suburbs keep 816– MO: rest of northwest replaced by 660

816

Wichita

LawrenceTopeka Kansas City

Overland Park

Springfield

St. Louis

Jefferson City

417 573

660816

913

316

618

217

712 515 319

402308

901

502870501

918580

5

314

970

719

Page 132: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-132

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Evolution Example: KS + MO

• 1997: jeopardy– KS: KS: Kansas City burbs keep 913– KS: rest of north replaced by 785 including Lawrence

816

Wichita

LawrenceTopeka Kansas City

Overland Park

Springfield

St. Louis

Jefferson City

417 573

660816

913

316

618

217

712 515 319

402308

901

502870501

918580

6

314

970

719

Page 133: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-133

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Evolution Example: KS + MO

• 1997: geographic split– KS: Kansas City suburbs keep 913– KS: rest of north replaced by 785 including Lawrence

816

Wichita

LawrenceTopeka Kansas City

Overland Park

Springfield

St. Louis

Jefferson City

417 573

660816

785 913

316

618

217

712 515 319

402308

901

502870501

918580

7

314

970

719

Page 134: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-134

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Evolution Example: KS + MO

• 1998: jeopardy– MO: 314 NPA in danger of CO code exhaustion before relief– MO: St. Louis suburbs code replaced with 636

816

Wichita

LawrenceTopeka Kansas City

Overland Park

Springfield

St. Louis

Jefferson City

417 573

660816

314785 913

316

618

217

712 515 319

402308

901

502870501

918580

8

970

719

Page 135: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-135

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Evolution Example: KS + MO

• 1999: geographic split– MO: St. Louis city and inner suburbs keeps 314– MO: St. Louis suburbs code replaced with 636

816

Wichita

LawrenceTopeka Kansas City

Overland Park

Springfield

St. Louis

Jefferson City

417 573

660816

636 314785 913

316

618

217

712 515 319

402308

270

502870479

918580

9

970

719

Page 136: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-136

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Evolution Example: KS + MO

• 1999: interchangable codes– KS: Kansas City 10 digit local 913/816 dialing– KS: note that 913 and 816 are in the same LATA

816

Wichita

LawrenceTopeka Kansas City

Overland Park

Springfield

St. Louis

Jefferson City

417 573

660816

636 314785 913

316

618

217

712 515 319

402308

270

502870479

918580

10

970

719

Page 137: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-137

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Evolution Example: KS + MO

• 2001: geographic split– KS: Wichita keeps 316– KS: rest of south replaced by 620

816

Wichita

LawrenceTopeka Kansas City

Overland Park

Springfield

St. Louis

Jefferson City

417 573

660816

636 314785 913

316620

618

217

712 641 563

402308

270

731870479

918580

11

970

719

Page 138: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-138

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Evolution Example: KS + MO

• 2001: first overlays planned– 975 for KC (1.1M metro pop.); 557 for St. Louis (2.0M pop.)– initial plans suspended but codes still reserved

816

Wichita

LawrenceTopeka Kansas City

Overland Park

Springfield

St. Louis

Jefferson City

417 573

660816 | 975

636 314 | 557785 913

316620

618

217

712 641 563

402308

270

731870479

918580

12

970

719

Page 139: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-139

© James P.G. SterbenzITTC

PSTN: AddressingNANP NPA Growth and Capacity

• NYX NXX XXXX addresses– still in danger of exhaustion within next decade– repartition of existing geographical boundaries impractical

• Expansion requires additional digits– ITU E.164 allows 15

• Options– use reserved N9X for more NPA digits– increase number of SLID digits

• Fixed vs. variable length codes– much of world used variable length– US reluctant to change fixed-length tradition

Page 140: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-140

© James P.G. SterbenzITTC

PSTN: AddressingNANP (WZ1)

• Nomenclature: N={2…9}; X={0…9}; Y={0…8} 0/1={0|1}

1947 1974 1995 ProposedCC N+ N+

NYX [712]

NXX [792]

XXXX [10000]

8xx [8]

IDDD + 011 011 011N11

NPA N0/1X [152] N0/1X [152] N9XX [7920]

Central office NNX [640] NXX [792]

SLID XXXX [10000] XXXX [10000] XXXX+ [10n]

free 800 [1] ?

Service code N11 [8] N11 ?Toll centerSystem code

0XX0/1XX [200]

0XX0/1XX [200]

Page 141: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-141

© James P.G. SterbenzITTC

PSTN: AddressingNANP (WZ1) 0/1 Call Type Codes

• Trunk access and operator codes

0/1X Use Notes0 local operator requires digit timeout00 toll operator011 IDDD access1N…1N11

non-local (toll) call8/11 digit number

1+3 digit service codeN…N11

local call7/10 digit number3 digit service code

Page 142: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-142

© James P.G. SterbenzITTC

PSTN: AddressingNANP (WZ1) Service Codes

• N11 codes administered by FCC

N11 Use Basis211 community information & referral services FCC311 non-emergency police & other government services FCC411 local directory assistance traditional511 traffic and transportation info (US) FCC611 repair service traditional711 TRS (telecommunications relay service) FCC811 N11 [8] FCC911 emergency FCC

Page 143: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-143

© James P.G. SterbenzITTC

PSTN: AddressingNANP (WZ1) Reserved NPAs

• NPAs reserved for special use

NXX UseNxx ERC: easily recognisable codes (x = 2nd = 3rd digit)37X reserved for future contiguous block use96X reserved for future contiguous block useN9X reserved for future expansion to 4-digit NPA

Page 144: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-144

© James P.G. SterbenzITTC

PSTN: AddressingNANP (WZ1) Non-Geographic NPAs

• NPAs not tied to geographical region

NXX Use456 inbound international carrier identification5xx personal communication service (“follow-me”)600 Canadian services700 IXC (interexchange) carrier services710 GETS: US government emergency telecom service8xx TRS (telecommunications relay service)900 premium services (additional billing)

Page 145: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-145

© James P.G. SterbenzITTC

PSTN: AddressingNANP (WZ1) Special CO Codes

• Restricted and special use CO codes

NXX-XXXX Use555-XXXX NANP-wide assignment555-01XX fictitious use (media and advertising)555-1212 directory assistance555-1313 Bell Canada700-4141 intraLATA carrier verification950-XXXX CAC: carrier access code (CIC XXXX)958-XXXX test code959-XXXX test code976-XXXX information delivery services (additional billing)

Page 146: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-146

© James P.G. SterbenzITTC

PSTN: AddressingNANP (WZ1) Local Number Portability

• Problem: users must change phone number– when they move– when they change providers (ILEC and new CLECs)– when they convert to mobile telephones for home use– when they change mobile providers

Solution?

Page 147: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-147

© James P.G. SterbenzITTC

PSTN: AddressingNANP (WZ1) Local Number Portability

• Problem: users must change phone number• Solution: local number portability (LNP)

– strongly resisted by providers• ILEC monopolistic customer base• mobile providers want to avoid customer churn

– alternative: signup deals with long contracts and heavy penalties

• Mandated by FCC– 2003

• LNP for wireline providers within an NPA• WLNP (wireless LNP) 100 largest MSAs (metro statistical areas)

– 2004 WLNP in all areas (NPA not required to be portable)

Page 148: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-148

© James P.G. SterbenzITTC

PSTN AddressingUK NTNP (WZ3) Administration

• National Telephone Numbering Plan Administration– formerly GPO (General Post Office)– 1981: BT (British Telecom) split from GPO in 1981– 1984: Oftel (Office of Telecommunications) created– 2003: Oftel merged into Ofcom (Office of Communications)

www.ofcom.org.uk

Page 149: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-149

© James P.G. SterbenzITTC

PSTN AddressingUK NTNP (WZ3) Structure

• Overall structure (ITU E.164 compliant)– country code +44– NDC: area code (formerly STD code)

• variable length: 2–5 digits• geographic area code: beginning with 1–3• non-geographic code: beginning with 4–9

– SN: subscriber number (assigned since 1995)• fixed length within each area code• 5–8 digits = 10 digits – NDC• typically begin with N (2–9) but not 99

– SN: subscriber number (assigned before 1995)• SN+SDC variable number of digits

Page 150: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-150

© James P.G. SterbenzITTC

PSTN: AddressingUK NTNP (WZ3) Structure: Special Codes

• Trunk access, operator, and service codes

Code Use Notes0 STD long distance00 international access100 operator118 directory enquiries European standard195 directory enquires for disabled

14X call features CLID, trace, screen, etc.190X VTN (voice text network) services for disabled

123 speaking clock

999 emergency

Page 151: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-151

© James P.G. SterbenzITTC

PSTN AddressingUK NTNP (WZ3) Structure: Geographic Codes

• Geographic codes

Code # Digits Subscriber # Digits Use1X1 3

3454

1XXXX 5 4 legacy codes2X 2 8 wide area code

large cities11X

77655

small cities1XXX medium cities1XXXX small cities1XXX legacy codes

3X reserved for expansion

Page 152: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-152

© James P.G. SterbenzITTC

PSTN AddressingUK NTNP (WZ3) Structure: Nongeo Codes

• Nongeographic codes

Code # Digits Subscriber # Digits Use4 unassigned

26 unassigned

433334

8

677776

5X corporate numbering

7XXX mobile and personal8XX special services800 freephone808 freephone82X Internet for schools9XXX premium rate

Page 153: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-153

© James P.G. SterbenzITTC

PSTN AddressingUK NTNP (WZ3) Structure: Geographic Codes

• Wide area geographical codes

Code # Digits Subscriber # Digits Use20 2

2345

London23

8888

South Hampshire24 Coventry28 Northern Ireland29 8 Cardiff, planned for Wales

Page 154: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-154

© James P.G. SterbenzITTC

PSTN AddressingUK NTNP (WZ3) Growth History

• Selected highlights of UK NTNP history– 2000: 2X codes introduced

• London171 XXX XXXX → 20 7XXX XXXX (outer)181 XXX XXXX → 20 8XXX XXXX (inner)

– Oftel publishes new NTNP: NDC+SN = 10 digits– 1994–95: phONE day

• most geographic codes prepended by 1• e.g. London 71 → 171; Lancaster 524 → 1524

– 1990: London splits• inner London: from 1 → 171 XXX XXXX

– 1958: STD (subscriber trunk dialing) direct long distance

Page 155: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-155

© James P.G. SterbenzITTC

PSTN SignallingOverview

• Signalling needed for?

Page 156: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-156

© James P.G. SterbenzITTC

PSTN SignallingOverview

• Signalling needed for– call setup and routing– call modification– call release

• Signalling between– telephone and central office (local loop)– inter-office (trunks)

Page 157: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-157

© James P.G. SterbenzITTC

PSTN SignallingIn-Channel Signalling

• In-channel (per-trunk) signalling– same transmission links for voice and signalling– in-band: uses voice frequencies

• SF (single frequency): 2600 Hz tone• MF (multifrequency): interoffice• DTMF (dual-tone multifrequency)

– row {697|770|852|941} Hz + column {1209|1336|1477} Hz

– out-of-band: non-voice frequencies• DC -48V for off-hook• dial pulses from rotary telephone (10 pulse/sec)• 20Hz ringing voltage from central office

Advantages?

Page 158: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-158

© James P.G. SterbenzITTC

PSTN SignallingIn-Channel Signalling

• In-channel (per-trunk) signalling– same transmission links for voice and signalling– in-band: uses voice frequencies– out-of-band: non-voice frequencies

• Advantages– does not require distinct infrastructure– compatible with simple POTS telephones

Disadvantages?

Page 159: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-159

© James P.G. SterbenzITTC

PSTN SignallingIn-Channel Signalling

• In-channel (per-trunk) signalling– same transmission links for voice and signalling– in-band: uses voice frequencies– out-of-band: non-voice frequencies

• Advantages– does not require distinct infrastructure– compatible with simple POTS telephones

• Disadvantages– user can hack into network

• blue boxes, etc.

– security by obscurity

Page 160: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-160

© James P.G. SterbenzITTC

PSTN SignallingCommon Channel Signalling

• Common channel signalling– distinct data network for signalling– connects control processing of switches– associated signalling

• signalling overlay network matches trunk topology

– dissociated signalling• signalling network topology optimised for signalling

Page 161: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-161

© James P.G. SterbenzITTC

PSTN SignallingExample: SS7

• SS7: signalling system #7– signalling network architecture– protocols– signalling messages

todo: expand

Page 162: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-162

© James P.G. SterbenzITTC

Network LayerN.4.2 Examples: X.25 CONS

N.1 Network layer functions and servicesN.2 Network service models and signallingN.3 Switches and packet structureN.4 Examples

N.4.1 PSTNN.4.2 X.25 CONSN.4.3 ISDN and Frame RelayN.4.4 B-ISDN and ATMN.4.5 MPLSN.4.6 IP, ICMP and IPv6

N.5 Fast datagram routers

Page 163: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-163

© James P.G. SterbenzITTC

X.25 CONS PSPDNFunctions and Protocols1

• Recall: early packet-switched public data networks– many based on CCITT X.25 standard [ITU X.25-1976]

• X.25 CONS PSPDN functions and protocols– addressing : international data number [ITU X.121]

• alternatives: E.164, Telex, private

– forwarding :• interfaces

– DTE (end-system) – DCE (intermediate system)– DCE – DCE

• X.25 packet switch

– routing : standards say nothing about routing• PDN provider dependent

Page 164: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-164

© James P.G. SterbenzITTC

X.25 CONS PSPDNOverview

• Packet-switched public data networks (PSPDN)– abundant before emergence of global Internet

• Interface specification– DTE (data terminal equipment) end system– DCE (data communication equipment) intermediate system– X.25 DTE–DCE and DTE–DTE– X.75 DCE–DCE and internetworking between X.25 PSPDNs– ISO CONS (connection-oriented network service)

• [ISO/IEC 8878] (also [ITU X.213]) and [ISO/IEC 8208]

• Historical importance– illustrative of how to construct connection-oriented networks

Page 165: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-165

© James P.G. SterbenzITTC

X.25 CONS PSPDNAddressing

• X.25 addressing needed to determine VC endpoints • Options defined by numbering plan identification

– IDN international data number [ITU X.121]– PSTN number [ITU E.164]– telex number [ITU F.69]– private numbering plan

Page 166: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-166

© James P.G. SterbenzITTC

X.25 CONS PSPDNRouting

• X.25/X.75 does not specify routing mechanism– each network provider chooses algorithms and protocols

• Examples– TRANSPAC (France):

• centralised least-cost (link utilisation) with local optimisations• similar to delta-routing [Rudin 1976]

Page 167: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-167

© James P.G. SterbenzITTC

X.25 CONS PSPDNService Models and Transfer Modes

• Permanent virtual circuits– virtual circuits provisioned in advance by network operator– no per VC signalling; packet forwarding required

• Switched virtual circuits– per virtual connection signalling– connection routing and packet forwarding required

• Fast select (transactions added in [X.25-1980])– CALL REQUEST packet can contain 128B of initial data– connection routing and packet forwarding required

• Datagram (added in [X.25-1980] following ANSI work)– datagram routing and forwarding required

Page 168: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-168

© James P.G. SterbenzITTC

X.25 CONS PSPDNX.25 Signalling Messages

Message Type X.25 Origination X.25 Destination

SETUP Call request Incoming call

CONNECT Call connected Call accepted

RESET Reset request Reset indication

RELEASE Clear request Clear indication

Clear confirmation

todo: expand and diagram

Page 169: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-169

© James P.G. SterbenzITTC

X.25 CONS PSPDNX.25 Generic Packet Format: Type

• GFI: general format indicator [4b]– describes packet format

• LCN/LCGN [12b]• Control data [8b]

– packet type identifier for control packets– control fields for data packets– C/D: 1 = control / 0 = data

• Additional information– control and datagram: additional header– data packet: user data field (payload)

GFI

C/D

LCGN

control data

LCN

8b

additional information

Page 170: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-170

© James P.G. SterbenzITTC

logical channel #

X.25 CONS PSPDNX.25 Generic Packet Format: Channels

• GFI• Logical channel number [12b]

– LCGN logical channel group number [4b]– LCN logical channel number [8b]

• Control data• Additional information

GFI

C/Dcontrol data

8b

LCGN

additional information

Page 171: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-171

© James P.G. SterbenzITTC

X.25 CONS PSPDNX.25 Control Packet Type

• GFI• LCGN/LCN• Packet type identifier

– codepoint for signalling message

• Addressing information• Facilities (options)• User data field (payload)

1

LCGN

LCN

PTI

GFI

SAL DAL

DTE address

Ø Ø facility length

facilities

call user data(0 – 16B)

Page 172: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-172

© James P.G. SterbenzITTC

X.25 CONS PSPDNX.25 Control Packet Addressing

• GFI + LCGN/LCN• Packet type identifier• Addressing information

– source and destination addr length– destination or source address

• TOA type of address [4b]• NPI numbering plan id [4b]• address: BCD encoding• zero filled to even byte

• Facilities (options)• User data field (payload)

1

LCGN

LCN

PTI

GFI

SAL DAL

DTE address

Ø Ø facility length

facilities

call user data(0 – 16B)

Page 173: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-173

© James P.G. SterbenzITTC

X.25 CONS PSPDNX.25 Control Packet Options

• GFI + LCGN/LCN• Packet type identifier• Addressing information• Facilities (options)

– facility length [6b]– facilities

• User data field (payload)

1

LCGN

LCN

PTI

GFI

SAL DAL

DTE address

Ø Ø facility length

facilities

call user data(0 – 16B)

Page 174: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-174

© James P.G. SterbenzITTC

X.25 CONS PSPDNX.25 Data Packet Format

• Header GFI– Q data qualifier bit (user defined)– D delivery confirmation (ACK) requested

• Logical group and channel #• Control data

– P(R) receive sequence no.– M more data 1 = control / 0 = data– P(S) send sequence no.

• User data field (payload)

Ø

group

P(R)

user data field(payload)

logical channel #

P(S)M

1ØDQ

128bmax

Page 175: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-175

© James P.G. SterbenzITTC

X.25 CONS PSPDNX.25 Datagram Format

• Header GFI• Logical channel #• Control data

– sequence numbers (hop-by-hop)

• Addressing information– source and destination addr length– destination and source address

• Facilities• User data (payload)

– datagram ID (optional)

Ø

LCGN

P(R)

user data (payload)

logical channel #

P(S)Ø

1ØDQ

SAL DAL

dest DTE addr

source DTE addr

Ø Ø facility length

facilities

128bmax

datagram ID

Page 176: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-176

© James P.G. SterbenzITTC

Network LayerN.4.3 Examples: ISDN and Frame Relay

N.1 Network layer functions and servicesN.2 Network service models and signallingN.3 Switches and packet StructureN.4 Examples

N.4.1 PSTNN.4.2 X.25 CONSN.4.3 ISDN and Frame RelayN.4.4 B-ISDN and ATMN.4.5 MPLSN.4.6 IP, ICMP and IPv6

N.5 Fast datagram routers

Page 177: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-177

© James P.G. SterbenzITTC

ISDNOverview

• ISDN (integrated services digital network)– evolution of digital network services to end user– intended to support integrated services

• voice• data• eventually video

• Assumed that the PSTN would evolve into the GII– but the the Internet won

todo: expand

Page 178: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-178

© James P.G. SterbenzITTC

Frame RelayOverview

• Frame relay [ITU I.233]– protocol to relay variable length packets

• Simple and connection-oriented– based on X.25 heritage– generally implemented over PVC (permanent virtual circuits)

• Widely deployed as an Internet service

todo: expand

Page 179: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-179

© James P.G. SterbenzITTC

Network LayerN.4.4 Examples: B-ISDN and ATM

N.1 Network layer functions and servicesN.2 Network service models and signallingN.3 Switches and packet StructureN.4 Examples

N.4.1 PSTNN.4.2 X.25 CONSN.4.3 ISDN and Frame RelayN.4.4 B-ISDN and ATMN.4.5 MPLSN.4.6 IP, ICMP and IPv6

N.5 Fast datagram routers

Page 180: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-180

© James P.G. SterbenzITTC

ATMOverview

• Key ideas emerged from fast packet switching– connection-oriented for high-line-speed processing and QOS– needed for 155Mb/s to the desktop

• Standards bodies made some very bad decisions– ITU: 53B cell (5B header + 48B payload)– ATM Forum tried to produce simple quick standards– required replacement of IP-based Internet infrastructure

• Meanwhile:– Ethernet 100b/s standards wars finally ended– IP-based globel Internet became irreplaceable

todo: expand

Page 181: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-181

© James P.G. SterbenzITTC

Packet StructureExample: ATM Cells

• ATM cell format– fast packet switching– fine-grained statistical multiplexing

• Size determined by ITU committee compromise– 48B = avg(32, 64)

• 64 from US = min of proposals for data (and voice)• 32 from European PTTs to avoid voice echo cancellers

• Problems:– header tiny to keep overhead low; no room for seq #– nothing a power of 2– 48B + 5B = 53B; not even a multiple of 8

Page 182: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-182

© James P.G. SterbenzITTC

Packet StructureExample: ATM AAL-5 Cells

PTI 0X1

VPI

VCI CLP

HEC

CRC-32 length CPI

CPCS-UU

SAR-SDU ≤ 40B

last cell – SDU type 1 other cells – SDU type 0

PTI 0X0

VPI

VCI CLP

HEC

SAR-SDU = 48B

header5B

payload

trailer

48B

40B

8B

• AAL 3/4 for data– 4B AAL header

• useless seq#

– 44B payload• not div 8

• AAL 5– no header– trailer last frag– forced on ITU

Page 183: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-183

© James P.G. SterbenzITTC

ATMCurrent State

• ATM is (mostly) dead– some carrier infrastructure remains– some bit are used, e.g. for ADSL

• Fast packet switching technology is thriving– cell-based fast IP routers– MPLS as IP underlay for traffic engineering

Page 184: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-184

© James P.G. SterbenzITTC

Network LayerN.4.5 Examples: MPLS

N.1 Network layer functions and servicesN.2 Network service models and signallingN.3 Switches and packet StructureN.4 Examples

N.4.1 PSTNN.4.2 X.25 CONSN.4.3 ISDN and Frame RelayN.4.4 B-ISDN and ATMN.4.5 MPLSN.4.6 Internet: DNS, IP, ICMP and IPv6

N.5 Fast datagram routers

Page 185: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-185

© James P.G. SterbenzITTC

MPLSOverview

• MPLS (multiprotocol label switching) [RFC 3031]– intended as a label-swapping shim underlay to IP– originally intended to enable Internet fast packet switching

• without using ATM under IP

– fast datagram switching made this unnecessary• now used as a traffic engineering underlay by some ISPs

• RSVP-TE (RSVP for traffic engineering) [RFC 3209]– used for signalling label-switched paths– chosen over competing LDP [RFC 3036] proposal

• GMPLS: generalised MPLS [RFC 3741, 4238]– extensions for optical networks

Page 186: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-186

© James P.G. SterbenzITTC

MPLSPacket Shim Format

network layer packet

stacked labels single label

S=1

label

COS TTL

link layer header

link layer header

label4B

shim

labelstack

link layer trailer link layer trailer

network layer packet

S=1

label

COS TTL

S=0

label

COS TTL

S=0

label

COS TTL

• MPLS label shim– switches swap label– stacked labels

• allows net hierarchy(ala VP/VC)

Page 187: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-187

© James P.G. SterbenzITTC

Network LayerN.4.6 Examples: Internet

N.1 Network layer functions and servicesN.2 Network service models and signallingN.3 Switches and packet StructureN.4 Examples

N.4.1 PSTNN.4.2 X.25 CONSN.4.3 ISDN and Frame RelayN.4.4 B-ISDN and ATMN.4.5 MPLSN.4.6 Internet: DNS, IP, ICMP and IPv6

N.5 Fast datagram routers

Page 188: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-188

© James P.G. SterbenzITTC

InternetFunctions and Protocols1

• Internet network-layer protocols– addressing : IP

• IPv4 [RFC 0791 / STD 0005]• subnetting [RFC 0950 / STD 0005]• CIDR [RFC 1519]• MAC layer address resolution: ARP [RFC 0826 / STD 0037]• IPv6 [RFC 2460, 3513]

– forwarding : IP• IP address lookup in routers

Page 189: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-189

© James P.G. SterbenzITTC

InternetFunctions and Protocols2

• Internet network-layer protocols– routing : Lecture R

• interdomain EGP (exterior gateway protocol): BGP• interdomain IGP (interior gateway protocol): RIP, OSPF, IS-IS…

– signalling : ICMP• ICMPv4 [RFC 0792 / STD 0005]• ICMPv6 [RFC 2463]

– traffic management : Lecture Q• congestion avoidance and control (e.g. RED)• fair queuing• DiffServ• IntServ

Page 190: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-190

© James P.G. SterbenzITTC

Internet ArchitectureOverview

• Interconnection of service provider network– tier 1 service providers,– lower teir (2 and 3) service provider networks – access networks– enterprise, campus, and home LANS

• No organised structure– since end of NSFNET

• Service model– best effort: no performance guarantees– providers may offer SLAs (service level agreements)

• generally by over-provisioning of network infrastructure

Page 191: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-191

© James P.G. SterbenzITTC

Internet ArchitectureOverview: Regulation

• Minimal regulation– ICANN [www.icann.org]

internet corporation for assigned names and numbers• administers DNS TLDs (top level domains) & IP address blocks• registrars administer second level domains and subnets

– IANA [www.iana.org]internet assigned numbers authority

• administers various number- and name-spaces

• Repeated attempts to regulate– by government and traditional PSTN carriers– largely unsuccessful so far– ultimately futile due to global scope of Internet

Page 192: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-192

© James P.G. SterbenzITTC

Internet ArchitectureOverview: Standards

• IAB (Internet Architecture Board) [www.iab.org]– advisory role to ISoc (Internet Society) [www.isoc.org]– committee of Internet Engineering Task Force (IETF)– Internet Research Task Force (IRTF) [www.irtf.org]

• IETF protocol standards [www.ietf.org]– but vendors implement what they wish…

subject to …– service providers offer what they wish…

subject to …– customer demand

Page 193: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-193

© James P.G. SterbenzITTC

Internet ArchitectureDesign Principles

• ARPANET design principles– simple (relatively) stateless core for resiliency– most functionality at end systems– end-to-end addressing transparency– hourglass model (actually a bit later than original design)

• any transport protocol over IP over any link layer

• End-to-end arguments– what functionality must be located on end systems– what functionality should be in the network for performance

Recall: these two are not the same thing

Page 194: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-194

© James P.G. SterbenzITTC

Names and AddressesOverview

• Address: identifier of a node– may only be machine readable (binary address)

• e.g. 10000001 11101101 01010111 00010010

– may be represented by human readable number• e.g. 129.237.87.18 or 148.88.3.47

– may be indirection by human friendly form (e.g. DNS name)• e.g. www.eecs.ku.edu or www.comp.lancs.ac.uk

• Name: global persistent identifier of an entity– e.g. James Philip Guenther Sterbenz

• Unfortunately “name” is commonly used for both

Page 195: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-195

© James P.G. SterbenzITTC

Network LayerN.4.6 Examples: DNS

N.1 Network layer functions and servicesN.2 Network service models and signallingN.3 Switches and packet StructureN.4 Examples

N.4.1 PSTNN.4.2 X.25 CONSN.4.3 ISDN and Frame RelayN.4.4 B-ISDN and ATMN.4.5 MPLSN.4.6 Internet: DNS, IP, ICMP and IPv6

N.5 Fast datagram routers

Page 196: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-196

© James P.G. SterbenzITTC

Domain Name SystemOverview

• DNS: domain name system [RFC 1034/1035 / STD 0013]– directory service for the Internet– resolves hostnames to IP addresses

• hostname is merely a human friendly address redirection

• DNS is– technically an application layer protocol

• runs over TCP or UDP

– an essential network infrastructurewhy?

Page 197: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-197

© James P.G. SterbenzITTC

Domain Name SystemOverview

• DNS: domain name system [RFC 1034/1035 / STD 0013]– directory service for the Internet– resolves hostnames to IP addresses

• hostname is merely a human friendly address redirection

• DNS is– technically an application layer protocol

• runs over TCP or UDP

– in reality an essential network infrastructure servicehttp://www.eecs.ku.edu

rather thanhttp://129.237.87.18

Page 198: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-198

© James P.G. SterbenzITTC

Domain Name SystemServices

• Hostname to IP addresses resolution– e.g. www.eecs.ku.edu to 129.237.87.18

Page 199: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-199

© James P.G. SterbenzITTC

Domain Name SystemServices

• Hostname to IP addresses resolution• Hostname aliasing to canonical name

– allows stable DNS names for Web and mail servers, e.g.• www.sterbenz.org to abell.lunarpages.com:80

• www.ku.edu to raven.cc.ku.edu:80

• mail.ittc.ku.edu to stephens.ku.edu:25

– allows proper default behavior on incoming port 80• http://example.com to http://www.example.com

• many servers not properly configured to do this

Page 200: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-200

© James P.G. SterbenzITTC

Domain Name SystemServices

• Hostname to IP addresses resolution• Hostname aliasing to canonical name• Load distribution

– set of IP addresses for one canonical name– typically used for replicated Web servers– e.g. www.cnn.com to 264.236.{16|24}.n

Page 201: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-201

© James P.G. SterbenzITTC

Domain Name SystemImplementation

• Distributed database implemented in a hierarchy– many name servers– no relationship to IP addressing structure!

• Distributed implementation– improves scalability– decentralises administration

Page 202: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-202

© James P.G. SterbenzITTC

Domain Name SystemName Structure

• Fully qualified domain name (FQDN): … . ⟨SLD⟩ . ⟨TLD⟩• TLD: top level domain

– originally assigned by IANA– now assigned by ICANN www.icann.org/tlds– gTLD: generic TLD– ccTLD: country-code TLD

• SLD: second level domain– may be defined by TLD policy– may be assigned by TLD registrar to domain owner

• n LD: n th level domain– may be defined by TLD or SLD policy– may be assigned by registrar/sub-registrar to domain owner

Page 203: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-203

© James P.G. SterbenzITTC

Domain Name SystemName Structure: Generic TLDs

• gTLD: generic top level domain– assigned by ICANN www.icann.org/tlds– gTLD types

• reserved• infrastructure• unrestricted and restricted• unsponsored and sponsored• pseudo

• SLD: second level domain– policy based on each TLD– direct indicates that SLD assigned to domain owner

Page 204: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-204

© James P.G. SterbenzITTC

Domain Name SystemName Structure: Reserved gTLDs

• DNS names reserved for special use [RFC 2606]

TLD Use.test reserved for DNS code testing.example online and documentation examples for valid DNS name.invalid online and documentation examples for invalid DNS name.localhost resolves to loopback address (typ. 127.0.0.1)

Page 205: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-205

© James P.G. SterbenzITTC

Domain Name SystemName Structure: Infrastructure gTLDs

TLD Use.arpa reverse IP and service lookup.root used by Verisign root DNS servers

• Special names used for DNS infrastructure• .arpa originally used for transition to DNS

– ARPANET host tables to DNS databases

• Remains in use [RFC 3172]– reverse lookup IP address → DNS: in-addr.arpa ip6.arpa

– service mapping: e.164.arpa uri.arpa urn.arpa

• .root used by Verisign root servers– nonstandard but apparently used for end of zone file

Page 206: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-206

© James P.G. SterbenzITTC

Domain Name SystemName Structure: Unrestricted gTLDs

• Among original seven 1980 TLDs [RFC 0920]

• Originally partitioned among– commercial entities and businesses– network service providers– non-profit organisations

• NSI mismanaged assignments & ignored IANA intent– registered to anyone willing to pay annual fee– distinction is now almost meaninglessTLD Original Use Registrar

.com commercial many

.net network service provider many

.org non-profit organisation ISOC Public Interest Reg.

Page 207: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-207

© James P.G. SterbenzITTC

Domain Name SystemName Structure: Restricted gTLDs

• Among original– .edu .gov .edu among seven 1980 TLDs [RFC 0920]

– .nato created in late 1980s but replaced by .int– .int created in late 1080s for international use

• Registrar aets policy and restricts use

TLD Use Registrar.edu higher educational institution EDUCAUSE

.int international IANA

.gov US government US GSA

.mil US DOD (military) US DOD DISA

.nato NATO originally replaced by .int

Page 208: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-208

© James P.G. SterbenzITTC

Domain Name SystemName Structure: Unsponsored gTLDs

• Among second batch of seven new TLDs in 2000• ICANN responsible for TLD policy

– registry delegated under ICANN contract– .biz and .info use and policies loosely applied, at best

TLD SLD Use Registrar.biz direct.info direct information Afilias

⟨first⟩.⟨last⟩⟨3-letter-prof-code⟩

direct

business Neulevel (Neustar)

.name individuals Global Name Registry

.pro professions RegistryPro

Page 209: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-209

© James P.G. SterbenzITTC

Domain Name SystemName Structure: Sponsored gTLDs

• Among second batch of seven new TLDs in 2000• Sponsor represents narrow community• Responsible for TLD policy

– who can register– substructure, e.g. SLDs

TLD SLD Use Sponsor

.aeroIATA airport code

IATA airline designatordirectdirectdirect

air travel SITA

.coop co-ops DotCooperation

.museum museums MuseDoma

Page 210: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-210

© James P.G. SterbenzITTC

Domain Name SystemName Structure: Sponsored gTLDs

• Newly approved TLDs in 2005– expected to come into use in 2006

• Many additional proposals pending to ICANN– .asia .geo .kid .mail .sco .web .xxx

TLD SLD Use Sponsor

.cat

.post yes post offices Universal Postal UnionE.164 digits

direct

Catalan language/culturemay not be used for cats

Fundació puntCAT

.mobi mobile devices Mobi JV corp. consortium

.tel telephony services Telname Ltd.

Page 211: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-211

© James P.G. SterbenzITTC

Domain Name SystemName Structure: Pseudo-TLDs

• Used in DNS-like names– indicates routing within or to non-DNS networks– BITNET, CSNET, and UUCP

• if they had persisted might have been real DNS root entries

TLD Use.bitnet historic BITNET.csnet historic CSNET.uucp historic UUCP.local Apple Mac OSX bonjour/rendezvous zeroconf LAN protocol.onion Onion anonymous routing

Page 212: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-212

© James P.G. SterbenzITTC

Domain Name SystemName Structure: Country Code TLD

• ccTLD: country code top level domain– based on [ISO 3166]

http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/index.html

– administered per nation• some with profit potential, e.g. .tv (Tuvalu)• many domain hacks possible e.g. jam.es

– examples.us .ca .uk .de .ch .jp

Page 213: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-213

© James P.G. SterbenzITTC

Domain Name SystemName Structure: Country Code TLD

• ccTLD exceptions to [ISO 3166] codes– European Union domain .eu– United Kingdom uses .uk (ISO 3166 is gb)– Serbia and Montenegro still uses .yu ; .cs reserved– North Korea has no Internet connectivity; .kp is reserved

Page 214: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-214

© James P.G. SterbenzITTC

Domain Name SystemName Structure: US ccTLD

• US country code TLD– policy specified in [RFC 1480]– US Dept. of Commerce is sponsor and determines policy– registry is Neustar (also the NANPA)

• SLD– some structured by state, e.g. .state.mn.us

(Kansas is using kansas.gov) .hopkinton.k12.ma.us.ci.cambridge.ms.us

– some reserved e.g. .kids.us

– non-conflicting direct assignments since 2002

Page 215: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-215

© James P.G. SterbenzITTC

Domain Name SystemName Structure: US SLDs

• US country code SLDs– reserved SLDs– SLDs based on two-character state postal code

SLD.ccTLD Use Notes.fed.us federal government .gov far more common.nsn.us native soverign nations not commonly used.isa.us interstate agencies not commonly used.dni.us distributed national institutes not commonly used.⟨xx⟩.us state government RFC 1480 substructure

.kids.us restricted content deemed appropriate for kids under 13

compliance reviewed by content managers

Page 216: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-216

© James P.G. SterbenzITTC

Domain Name SystemName Structure: US State 3LDs

• US state 3LDs for state governments and entities

3LD.SLD.ccTLD Use Notes.state.⟨xx⟩.us state government many states use ⟨xx⟩.gov.district.⟨xx⟩.us regional state entity not commonly used.gen.⟨xx⟩.us general use not commonly used

Page 217: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-217

© James P.G. SterbenzITTC

Domain Name SystemName Structure: US State School 3LDs

• US state 3LD structure for schools and libraries

.4LD.3LD.SLD.ccTLD Use Notes.⟨shcool⟩.k12.⟨xx⟩.us public schools school or district name.⟨shcool⟩.pvt.k12.⟨xx⟩.us private schools.⟨name⟩.cc.⟨xx⟩.us community colleges.⟨name⟩.tec.⟨xx⟩.us vocational/technical.⟨library⟩.lib.⟨xx⟩.us libraries

Page 218: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-218

© James P.G. SterbenzITTC

Domain Name SystemName Structure: US City and County 3LDs

• US ccTLD structure for cities and counties– city and county governments use .ci and .co– other entities, e.g.

• chambers of commerce, businesses, organisations

• Many states and most cities do not follow RFC 1480– e.g. kansas.gov lawrenceks.org opkansas.org

– chicken-&-egg: uneducated sysadmins serving naïve public

.4LD.3LD.SLD.ccTLD Use Notes. ci.⟨city⟩.⟨xx⟩.us city government hyphenated city name. co.⟨county⟩.⟨xx⟩.us county government hyphenated county name.⟨name⟩.⟨locality⟩.⟨xx⟩.us any other entity locality is city or county

Page 219: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-219

© James P.G. SterbenzITTC

Domain Name SystemName Structure: UK ccTLD

• UK ccTLD: country code domain structure– most administered by Nominet www.nik.uk– structured SLD equivalent to gTLD (essentially a gSLD)

• All domain registrations must be at the 3rd level– strict rules for assignment in all but .co.uk and .or.uk

Page 220: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-220

© James P.G. SterbenzITTC

Domain Name SystemName Structure: UK SLDs

SLD.ccTLD Use Restrictions.co.uk commercial.ltd.uk private limited co. algorithm based on co. name.me.uk individual person must be individual person.net.uk ISP with IP block and AS# based on ISP name.org.uk non-profit or public service.plc.uk public limited co. algorithm based on co. name.nic.uk network information centre only for use by UK NIC.sch.uk schools ⟨name⟩.⟨LEA⟩.sch.uk.ac.uk academic institutions JANET UKERA.gov.uk government Cabinet Office GSI.mod.uk military and related Ministry of Defense DINSA.nhs.uk National Health Service NHSIA.police.uk police services & organisations PITO

Page 221: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-221

© James P.G. SterbenzITTC

Domain Name SystemName Structure: Examples

• Example DNS names• jpgs-laptop . eecs . ku . edu

user 4LD dept 3LD inst SLD gTLD

• wopr . labs . gte . comuser 4LD div 3LD corp SLD gTLD

• www . tik . ee . ethz . chhost 5LD group 4LD dept 3LD inst SLD Swiss ccTLD

• www . comp . lancs . ac . ukhost 5LD dept 4LD inst 3LD UK-SLD UK ccTLD

• jam.es

SLD ccTLC domain hack for name “James”

Page 222: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-222

© James P.G. SterbenzITTC

Domain Name SystemName Server Structure

root DNS servers

.com DNS servers .org DNS servers .edu DNS servers

google.comDNS servers

amazon.comDNS servers

pbs.orgDNS servers

ku.eduDNS servers

umass.eduDNS servers

• Example: resolve www.amazon.com– client queries a root server to find .com TLD DNS server– client queries .com TLD server to get amazon.com server– client queries amazon.com DNS server to get IP address

Page 223: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-223

© James P.G. SterbenzITTC

Domain Name SystemName Servers: Root

• Root name servers www.root-servers.org– responsible for resolution to proper TLD server– 13 root servers contracted identified as A – M

• Configuration file named.root– used by other DNS servers to locate root servers– contain list of A–M servers and their IP addresses– ftp://ftp.internic.net/domain/named.root

Page 224: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-224

© James P.G. SterbenzITTC

Domain Name SystemRoot Name Servers

A VeriSign, Dulles VAB ISI, Marina Del Rey CAC Cogent, Herndon VA + 3D UMd, College Park MDE NASA Ames, Mountain View CAF ISC, 37 sitesG US DOD NICH ARL, Aberdeen MDI Autonomica/NORDUnet, Stockholm + 28 mirrorsJ VeriSign, Dulles VA + 16 mirrorsK RIPE, London + 16 mirrorsL ICANN, Los Angeles CaM WIDE, Tokyo

MK I

ACDBE GHJFL

selected mirrors shown

CI F

FI

FIK

F

F

F

FJMF

FF

FIJ

FK

F

FI

FK

FI

FIJKMFIKFJKM

F

F

FFF

I

I

IIJ

II

I

I

I

IJ

J

J

KK

K

Page 225: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-225

© James P.G. SterbenzITTC

Domain Name SystemName Servers: TLD

• Root name server• Top-level domain (TLD) server

– responsible for all gTLD and ccTLD resolution– ICANN contracts each gTLD name server– nations responsible for administering or delegating ccTLD

Page 226: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-226

© James P.G. SterbenzITTC

Domain Name SystemName Servers: Authoritative

• Root name server• Top-level domain (TLD) server• Authoritative DNS server

– DNS servers for organisation or corporate entity– provide authoritative hostname resolution

• hosts within its own domain• e.g. ku.edu Web and mail servers

– can be maintained by• organization itself (e.g. ku.edu)• outsourced to service provider (e.g. sterbenz.org)

Page 227: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-227

© James P.G. SterbenzITTC

Domain Name SystemName Servers: Local

• Root name server• Top-level domain (TLD) server• Authoritative DNS server• Local name server (default name server)

– maintained by each service provider or enterprise– resolves host DNS queries– acts as a proxy, forwards query into hierarchy

Page 228: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-228

© James P.G. SterbenzITTC

Domain Name SystemUpdating and Caching Records

• Root name server– contacted by local name server that can not resolve name– contacts authoritative name server if mapping not known– returns mapping to local name server

• When name server learns mapping it is cached– cache entries timeout (disappear) after some time

• TLD servers typically cached in local servers– thus root name servers not often visited

• Update/notify mechanisms [RFC 2136]

Page 229: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-229

© James P.G. SterbenzITTC

Domain Name SystemEssential Tool: whois

• whois– client–server protocol– server listens to port 43

• uses whois database (attempts underway to standardise)• originally stored information on people (Internet white pages)• now stores domain registry information

• Client usage (CLI)– whois ⟨SLD⟩.⟨TLD⟩– whois ⟨3LD⟩.⟨SLD⟩.⟨ccTLD⟩ some structurd ccTLD e.g. .uk– Web interface: http://www.internic.net/whois

• only for gTLDs (but not .edu .mil .gov) try it whois ku.edu

whois lancs.ac.uk

Page 230: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-230

© James P.G. SterbenzITTC

Domain Name SystemEssential Tool: dig

• dig (domain information grouper)– client program to query DNS server– more comprehensive information than nslookup– unfortunately not in Cygwin release (nor Windows)

• Usage (CLI)– dig ⟨DNS-name⟩

• returns DNS records and IP address(es) of ⟨DNS-name⟩– dig -x ⟨IP-address⟩

• reverse lookup: returns DNS name and records of ⟨IP-address⟩try it dig www.ku.edu

dig -x 129.237.33.3dig www.cnn.com

Page 231: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-231

© James P.G. SterbenzITTC

Domain Name SystemEssential Tool: nslookup

• nslookup (name server lookup)– client program to query DNS server– use when dig not available (e.g. Windows boxes)

• Usage (CLI)– nslookup

• returns DNS server of local host and enters interactive mode– nslookup ⟨DNS-name⟩

• returns IP address(es) of ⟨DNS-name⟩– nslookup ⟨IP-address⟩

• reverse lookup: returns DNS name of ⟨IP-address⟩try it nslookup www.ku.edu

nslookup 129.237.33.3nslookup www.cnn.com

Page 232: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-232

© James P.G. SterbenzITTC

Domain Name SystemWeb-Based Tools

• Many DNS and IP utilities on the Web– http://dnsstuff.com is particularly comprehensive– http://kloth.net/services

• Caveats– services aren’t being invoked locally

implication?

Page 233: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-233

© James P.G. SterbenzITTC

Domain Name SystemWeb-Based Tools

• Many DNS and IP utilities on the Web– http://dnsstuff.com is particularly comprehensive– http://kloth.net/services

• Caveats– services aren’t being invoked locally

• e.g. ping will still test liveness but delay number is useless• e.g. traceroute will not trace route from local machine• local DNS information will not be obtained

– pages come and go on the Web

Page 234: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-234

© James P.G. SterbenzITTC

Domain Name SystemDNS Lookup Iterated Query Example

• DNS iterated lookup example– jpgs.ittc.ku.edu

needs IP address ofgaia.cs.umass.edu

– ns1.ittc.ku.eduis local DNS server129.237.125.220obtained via DHCP

jpgs.ittc.ku.edu gaia.cs.umass.edu

0

Page 235: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-235

© James P.G. SterbenzITTC

Domain Name SystemDNS Lookup Iterated Query Example

• DNS iterated lookup example1Q. A? gaia.cs.umass.edu tolocal DNS serverns1.ittc.ku.edu 129.237.125.220

ns1.ittc.ku.edu129.237.125.220local

gaia.cs.umass.edujpgs.ittc.ku.edu

1

Page 236: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-236

© James P.G. SterbenzITTC

Domain Name SystemIterated Query Example

root• DNS lookup example1Q. local DNS query2Q. A? gaia.cs.umass.edu toroot namserver in named.rooth.rootservers.net 128.63.2.53

h.rootservers.net128.63.2.53

local

gaia.cs.umass.edujpgs.ittc.ku.edu

2

Page 237: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-237

© James P.G. SterbenzITTC

Domain Name SystemIterated Query Example

root• DNS lookup example1Q. local DNS query2Q. A? gaia.cs.umass.edu toroot namserver in named.root2R. list of .edu NSs including

NS a3.nstld.comA 192.5.6.32

.edu

a3.nstld.com192.5.6.32

local

gaia.cs.umass.edujpgs.ittc.ku.edu

3

Page 238: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-238

© James P.G. SterbenzITTC

Domain Name SystemIterated Query Example

root

local

• DNS lookup example1Q. local DNS query2QR. root DNS query/response3Q. A? gaia.cs.umass.edu toTLD a3.nstld.com 192.5.6.32

.edu

a3.nstld.com192.5.6.32

gaia.cs.umass.edujpgs.ittc.ku.edu

4

Page 239: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-239

© James P.G. SterbenzITTC

Domain Name SystemIterated Query Example

root

local

• DNS lookup example1Q. local DNS query2QR. root DNS query/response3Q. A? gaia.cs.umass.edu toTLD a3.nstld.com 192.5.6.323R. list of .edu NSs including

NS ns1.umass.eduA 128.119.100.21NS unix1.cs.umass.eduA 128.119.40.22note: contains L3 & L4 entriesuse most specific &authorotative entry

.edu

auth

unix1.cs.umass.edu128.119.40.22

gaia.cs.umass.edujpgs.ittc.ku.edu

5

Page 240: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-240

© James P.G. SterbenzITTC

Domain Name SystemIterated Query Example

root

local

• DNS lookup example1Q. local DNS query2QR. root DNS query/response3QR. TLD DNS query/response4Q. A? gaia.cs.umass.edu toauth unix1.cs.umass.edu

128.119.40.22

.edu

auth

unix1.cs.umass.edu128.119.40.22

gaia.cs.umass.edujpgs.ittc.ku.edu

6

Page 241: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-241

© James P.G. SterbenzITTC

Domain Name SystemIterated Query Example

root

local

• DNS lookup example1Q. local DNS query2QR. root DNS query/response3QR. TLD DNS query/response4Q. A? gaia.cs.umass.edu toauth unix1.cs.umass.edu

128.119.40.22

4R. A 128.119.245.12

.edu

auth

gaia.cs.umass.edujpgs.ittc.ku.edu

7

Page 242: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-242

© James P.G. SterbenzITTC

Domain Name SystemIterated Query Example

root

local

• DNS lookup example1Q. local DNS query2QR. root DNS query/response3QR. TLD DNS query/response4QR. auth DNS query/response1R. A 128.119.245.12

.edu

auth

jpgs.ittc.ku.edu gaia.cs.umass.edu128.119.245.12

8

Page 243: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-243

© James P.G. SterbenzITTC

Domain Name SystemIterated Query Example

root

local

• DNS lookup example1Q. local DNS query2QR. root DNS query/response3QR. TLD DNS query/response4QR. auth DNS query/response1R. A 128.119.245.125Q. ping gaia.cs.umass.edu

.edu

auth

jpgs.ittc.ku.edu gaia.cs.umass.edu128.119.245.12

9

Page 244: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-244

© James P.G. SterbenzITTC

Domain Name SystemIterated Query Example

• DNS lookup example1Q. local DNS query2QR. root DNS query/response3QR. TLD DNS query/response4QR. auth DNS query/response1R. A 128.119.245.125Q. ping gaia.cs.umass.edu5R. …reply from 128.119.245.12…

root

local

.edu

auth

jpgs.ittc.ku.edu gaia.cs.umass.edu128.119.245.12

10

Page 245: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-245

© James P.G. SterbenzITTC

Domain Name SystemIterated Query Example

Iterated query performance? root

local

.edu

auth

1

Page 246: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-246

© James P.G. SterbenzITTC

Domain Name SystemIterated Query Performance

• Iterated query performance problems– multiple round trips per host query– at least 4, perhaps more

Can we do better?

root

local

.edu

auth

1

23

4

2

Page 247: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-247

© James P.G. SterbenzITTC

Domain Name SystemRecursive Queries

• Iterated query performance problems• Recursive queries

– name server resolves• reduces load on host• doesn’t reduce round trips

– support optional– many servers don’t allow

• load problems• security problems Lecture S

root

local

.edu

auth

1

23

4

Page 248: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-248

© James P.G. SterbenzITTC

Domain Name SystemCaching

• Iterated query performance problems• Caching

– each name server caches queries– significantly reduces

• load on root and TLD servers• round trip latency

typically 1 or 2

– hosts cache mapping• no resolution for

recent mappings

root

local

.edu

auth

1

23

4

Page 249: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-249

© James P.G. SterbenzITTC

Domain Name SystemReverse Lookup

• DNS provides mapping function– hostname to IP address

• Problem:– how to get hostname given IP address?

Page 250: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-250

© James P.G. SterbenzITTC

Domain Name SystemReverse Lookup

• DNS provides mapping function– hostname to IP address

• Reverse lookup:– map IP address to hostname

Page 251: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-251

© James P.G. SterbenzITTC

Domain Name SystemReverse Lookup Example

• Reverse lookup example– jpgs.ittc.ku.edu

needs hostname of128.119.245.12

jpgs.ittc.ku.edu 128.119.245.12

0

Page 252: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-252

© James P.G. SterbenzITTC

Domain Name SystemReverse Lookup Example

• DNS iterated lookup example1Q. PNTR? 12.245.119.128.in-addr.arpa tolocal DNS serverns1.ittc.ku.edu 129.237.125.220

ns1.ittc.ku.edu129.237.125.220local

jpgs.ittc.ku.edu 128.119.245.12

1

Page 253: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-253

© James P.G. SterbenzITTC

Domain Name SystemReverse Lookup Example

• DNS lookup example1Q. local reverse DNS query2Q. PNTR? 12.245.119.128.in-addr.arpa toroot namserver in named.root

root

local

jpgs.ittc.ku.edu 128.119.245.12

2

Page 254: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-254

© James P.G. SterbenzITTC

Domain Name SystemReverse Lookup Example

root

local

jpgs.ittc.ku.edu

RIR

figwort.arin.net192.42.93.32

• DNS lookup example1Q. local reverse DNS query2Q. PNTR? 12.245.119.128.in-addr.arpa toroot namserver in named.root2R. NS figwort.arin.net

A 192.42.93.32zone 128.in-addr.arpa

128.119.245.12

3

Page 255: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-255

© James P.G. SterbenzITTC

Domain Name SystemReverse Lookup Example

root

local

jpgs.ittc.ku.edu

RIR

figwort.arin.net192.42.93.32

• DNS lookup example1Q. local reverse DNS query2QR. root reverse DNS query3Q. PNTR? 12.245.119.128.in-addr.arpa to

RIR figwort.arin.net 192.5.6.32

128.119.245.12

4

Page 256: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-256

© James P.G. SterbenzITTC

Domain Name SystemReverse Lookup Example

root

local

jpgs.ittc.ku.edu

RIR

auth

• DNS lookup example1Q. local reverse DNS query2QR. root reverse DNS query3Q. PNTR? 12.245.119.128.in-addr.arpa to

RIR figwort.arin.net 192.5.6.32

3R. NS ns1.umass.eduA 128.119.100.21zone 119.128.in-addr.arpa

128.119.245.12

ns1.umass.edu128.119.100.21

5

Page 257: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-257

© James P.G. SterbenzITTC

Domain Name SystemReverse Lookup Example

root

local

jpgs.ittc.ku.edu

RIR

auth

• DNS lookup example1Q. local reverse DNS query2QR. root reverse DNS query3QR. RIR reverse DNS query4Q. PNTR? 12.245.119.128.in-addr.arpa to

ns1.umass.edu 128.119.100.21

ns1.umass.edu128.119.100.21

128.119.245.12

6

Page 258: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-258

© James P.G. SterbenzITTC

Domain Name SystemReverse Lookup Example

root

local

jpgs.ittc.ku.edu

RIR

auth

• DNS lookup example1Q. local reverse DNS query2QR. root reverse DNS query3QR. RIR reverse DNS query4Q. PNTR? 12.245.119.128.in-addr.arpa to

ns1.umass.edu 128.119.100.21

4R. PTR gaia.cs.umass.eduA 128.119.245.112

128.119.245.12

7

Page 259: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-259

© James P.G. SterbenzITTC

Domain Name SystemReverse Lookup Example

root

local

• DNS lookup example1Q. local reverse DNS query2QR. root reverse DNS query3QR. RIR reverse DNS query4QR auth reverse DNS query1R. PTR gaia.cs.umass.edu

A 128.119.245.112

RIR

auth

jpgs.ittc.ku.edu gaia.cs.umass.edu128.119.245.12

8

Page 260: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-260

© James P.G. SterbenzITTC

Domain Name SystemName Structure: Alternative TLDs

• Alternative DNS root servers– generally used to bypass ICANN in providing new TLD

Is this a good thing?

Page 261: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-261

© James P.G. SterbenzITTC

Domain Name SystemName Structure: Alternative TLDs

• Alternative DNS root servers– generally used to bypass ICANN in providing new TLD

• Strongly opposed by the IAB [RFC 2826]

• Parts of Internet not accessible to all users– DNS names may conflict with one another– poor accessibility from commercial ISPs

• most users don’t know how to configure DNS servers

– poor record of financial stability of providers• many have gone belly-up and abandoned domain holders

• Examples.中国 .shop .love

Page 262: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-262

© James P.G. SterbenzITTC

Domain Name SystemUDP vs. TCP

• DNS uses UDP or TCP for transport• UDP

– generally used for small queries• name resolution and reverse name lookup

– avoids delay of TCP 3-way handshake– automatically retries with TCP if answer too long

• TCP– generally used for large queries

• e.g. zone tranfers

Page 263: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-263

© James P.G. SterbenzITTC

Domain Name SystemDNS Message Header Format

• Header [12b]• Query/response fields

flagsID

QDCOUNT

NSCOUNT ARCOUNT

question(variable number, typ=1)

ANCOUNT

answer RRs(variable number)

authority RRs(variable number)

additional RRs(variable number)

12B

32 bits

Page 264: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-264

© James P.G. SterbenzITTC

Domain Name SystemDNS Message Header Format

• ID– 16-bit identifier matches

query to response• Flags• Count fields

flagsIDQDCOUNT

NSCOUNT ARCOUNT

question(variable number, typ=1)

ANCOUNT

answer RRs(variable number)

authority RRs(variable number)

additional RRs(variable number)

12B

32 bits

Page 265: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-265

© James P.G. SterbenzITTC

Domain Name SystemDNS Message Header Format

• ID• Flags

QR query/replyopcode [4b] 0=normal

1=inverse 2=stats reqAA reply is authoritativeTC truncated to 512BRD recursion desiredRA recursion availablercode: return code [4b]

1=normal 2=server fail 3=name err 4=not impl5=refused

ID

QDCOUNT

NSCOUNT ARCOUNT

question(variable number, typ=1)

ANCOUNT

answer RRs(variable number)

authority RRs(variable number)

additional RRs(variable number)

12B

32 bitsQR

AA

TC

RD

RA

rcode

opcode

000

Page 266: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-266

© James P.G. SterbenzITTC

Domain Name SystemDNS Message Header Format

• ID• Flags• Count fields

QDCOUNT: # questionsANCOUNT: # answer RRsNSCOUNT: # authority RRsARCOUNT: # additional RRs

ID

QDCOUNT

NSCOUNT ARCOUNT

question(variable number, typ=1)

ANCOUNT

answer RRs(variable number)

authority RRs(variable number)

additional RRs(variable number)

12B

32 bits

flags

Page 267: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-267

© James P.G. SterbenzITTC

Domain Name SystemDNS Query Format

• QDCOUNT typically = 1• Questions DNS queries

– QNAME: query DNS name• sequence of⟨count-byte⟩⟨string⟩pairs terminated by 0 byte

• ⟨count-byte⟩ is number ofcharacters in ⟨string⟩

• variable lengthno padding

– QTYPE– QCLASS:

1 = Internet address

flagsID

QDCOUNT = 1

NSCOUNT = 0 ARCOUNT = 0

QNAME

ANCOUNT = 0

QCLASS = 1QTYPE

Page 268: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-268

© James P.G. SterbenzITTC

Domain Name SystemDNS Query Format

• QDCOUNT typically = 1• Questions: DNS queries

– QNAME– QTYPE [16b]

1=A IP address2=NS name server5=CNAME canonical name12=PTR pointer record13=HINFO host info15=MX mail exch. record

252=AXFR req for zone xfer255=ANY req all records

– QCLASS

flagsID

QDCOUNT = 1 ANCOUNT = 0

QCLASS = 1QTYPE

NSCOUNT = 0 ARCOUNT = 0

QNAME

Page 269: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-269

© James P.G. SterbenzITTC

Domain Name SystemDNS Records

• DNS records: ⟨name, value, type TTL⟩• A record for DNS resolution

– name: DNS hostname– type: IP address

• NS record for resolution to authoritative name server– name: domain– type: IP address of authoritative name server for domain

• CNAME record for DNS alias resolution– name: alias DNS name, e.g. www.ku.edu– type: canonical (real) name, e.g. raven.cc.ku.edu

Page 270: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-270

© James P.G. SterbenzITTC

Domain Name SystemDNS Records

• DNS records: ⟨name, value, type TTL⟩• MX record for mail server alias resolution

– name: DNS hostname– type: IP address

• PTR record for pointer queries (reverse lookup)– name: reverse IP DNS name under .in-addr.arpa– type: DNS name

• HINFO record– name: DNS hostname– type: CPU type and operating system

Page 271: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-271

© James P.G. SterbenzITTC

Domain Name SystemDNS Response Format

• 3 types of responses– multiple per response

• Answers– ANCOUNT: # answer RRs– answer RR(s)

• Authority NS answers– NSCOUNT: # authority RRs– authority RRs

• Additional RRs– ARCOUNT: # additional RR– additional RR(s)

flagsID

QDCOUNT

NSCOUNT ARCOUNT

question(variable number, typ=1)

ANCOUNT

answer RRs(variable number)

authority RRs(variable number)

additional RRs(variable number)

Page 272: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-272

© James P.G. SterbenzITTC

RDATA

NAME

Domain Name SystemDNS Response Format

• RRs: resource records– NAME: DNS name

• same format as QNAME– TYPE (same as QTYPE)– CLASS 1=Internet– TTL: time to live

• #sec. RR to be cached• 0 = do not cache

– RDLENGTH:• RDATA length in bytes

– RDATA: resource data• response to query• depends on TYPE

flagsID

QDCOUNT = 0

NSCOUNT ARCOUNT

ANCOUNT

CLASS = 1TYPE

TTL

RDLENGTH

Page 273: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-273

© James P.G. SterbenzITTC

Domain Name SystemRecord Insertion Example

• Example: just created startup “Example Networks, Inc.”– register name example.com at a .com registrar– provide registrar with auth name server information

• primary: ns1.example.com 192.0.2.1

• secondary: ns2.example.com 192.0.2.2

– registrar inserts RRs into the .com TLD server:example.com, ns1.example.com, NSexample.com, ns2.example.com, NSns1.example.com, 192.0.2.1, Ans2.example.com, 192.0.2.2, A

– to get email and Web servers to resolve add:www.example.com, 192.0.2.10, Amail.example.com, 192.0.2.20, MX

Page 274: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-274

© James P.G. SterbenzITTC

Network LayerN.4.6 Examples: IP, ICMP, and IPv6

N.1 Network layer functions and servicesN.2 Network service models and signallingN.3 Switches and packet StructureN.4 Examples

N.4.1 PSTNN.4.2 X.25 CONSN.4.3 ISDN and Frame RelayN.4.4 B-ISDN and ATMN.4.5 MPLSN.4.6 Internet: DNS, IP, ICMP and IPv6

N.5 Fast datagram routers

Page 275: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-275

© James P.G. SterbenzITTC

Internet ProtocolOverview

• IP (Internet Protocol)– waist of the global information infrastructure (GII)– addressing and forwarding– version 4 (IPv4) [RFC 0791 / STD 0005]

• ICMP (Internet control message protocol)– signalling for IP– version 4 (ICMPv4) [RFC 0792 / STD 0005]

Page 276: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-276

© James P.G. SterbenzITTC

Internet ProtocolIP Packet Format

• IP version number– rest of packet

version dependent

• maintained by IANA00 = reserved04 = IPv405 = ST (experimental)06 = IPv607 = TP/IX (proposed IPng)08 = PIP (proposed IPng)09 = TUBA (proposed IPng)15 = reserved

ver

Page 277: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-277

© James P.G. SterbenzITTC

Internet ProtocolIPv4 Packet Format: Header Control Fields

• IP version number = 04• IHL: header length

– [32-b words]

• TOS: type of service– not generally used Lec Q

• TTL: time to live Lecture R

• Protocol to demux– TCP, UDP, etc.

• Header checksum– 1’s comp of 1’s comp Σ

04 total lengthIHL TOSfragment id

TTL protocol header checksumsource address

destination address

options(= hl – 20B)

payload(= length – hl – 20B)

flag frag offset

20B

Page 278: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-278

© James P.G. SterbenzITTC

Internet ProtocolIPv4 Packet Format: Payload Related Fields

• Total length of datagram– header and data [B]

• Payload

04 total lengthIHL TOS

fragment id

TTL protocol header checksum

source address

destination address

options(= hl – 20B)

payload(= length – hl – 20B)

flag frag offsettotal

length

Page 279: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-279

© James P.G. SterbenzITTC

Internet ProtocolIPv4 Packet Format: Addresses

• 32 bit IP addresses– host or router interface

• Destination address– used by forwarding

• Source addressmay be needed for:

• network to record senders• destination to reply

04 total lengthIHL TOS

fragment id

TTL protocol header checksum

source address

destination address

options(= hl – 20B)

payload(= length – hl – 20B)

flag frag offset

Page 280: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-280

© James P.G. SterbenzITTC

Internet ProtocolIP Addresses

• All interfaces that use IP have an address– host–network interfaces

• many hosts have more than one

– router ports

• 32-bit addresses– e.g. www.eecs.ku.edu to 129.237.87.18

– example: ww.eecs.ku.edu (resolved via DNS to)10000001 111101101 01010111 00010010

• Dotted decimal notation:– b7b6 . b5b4 . b3b2 . b1b0 converted to decimal in 4×8bit chunks– example: 129.237.87.18

Page 281: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-281

© James P.G. SterbenzITTC

Internet ProtocolIP Special Addresses

• Localhost– 0.0.0.0 during boot– 127/8 (127.x.x.x) ; generally 127.0.0.1

• Link local communication [RFC 3927]– 169.254/16 (169.254.X.X)

• Broadcast– 255.255.255.255 broadcast for this subnet– subnet address followed by all 1s: broadcast on subnet– generally restricted in use why?

• Example for documentation – 192.0.2/24 (192.0.2.X)

Page 282: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-282

© James P.G. SterbenzITTC

Internet ProtocolIPv4 Address Assignment

• IP addresses not randomly assigned to hostswhy?

Page 283: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-283

© James P.G. SterbenzITTC

Internet ProtocolIPv4 Address Assignment

• IP addresses not randomly assigned to hosts– every table would have to contain every Internet host

• billions of entries – bill

38.66.126.2 B128.10.26.45 A199.31.0.4 A200.23.16.4 A

38.66.126.2 X128.10.26.45 1199.31.0.4 2200.23.16.4 0

200.23.16.4

199.31.0.4

38.66.126.2

128.10.26.45

Tier1XISPA

ISPB38.66.126.2 1128.10.26.45 X199.31.0.4 X200.23.16.4 X

Page 284: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-284

© James P.G. SterbenzITTC

Internet ProtocolIPv4 Address Hierarchy

• IP addresses assigned hierarchically– address aggregation dramatically improves scalability

• forwarding table only needs to contain network address• routing advertisements only contain network address prefix

200.23.16 A199.31.0 B

199.31.0 X200.23.16.4 0200.23.16.12 2200.23.16.45 1

200.23.16.4

200.23.16.12

199.31.0.4

200.23.16.45

Tier1XISPA

ISPB38.66.126.2 1200.23.16 X

Page 285: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-285

© James P.G. SterbenzITTC

IP AddressingClass-Based Addressing Hierarchy

0 net hostA

10 net hostB

110 net hostC

1110 multicast addressD

1111 reservedE

128 networks

16K networks

2M networks

16M hosts

64K hosts

256 hosts

×

×

×

• Divide IP address into 3 level hierarchy– class, network address, host address– byte aligned– simple IP address lookup (3 major cases)– class D for multicast addresses Lecture R

Page 286: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-286

© James P.G. SterbenzITTC

IP AddressingSubnets

10 net hostB16K networks × 64 subnets × 1024 hosts subnet

• Subnets [RFC 0950 / STD 0005]– originally way to divide address class within organisation– example: 6b subnet to class B– subnet mask

• Hosts in subnet share upper IP address bits– natural to cluster similar IP addresses– efficient IP routing to subnet– switched layer 2 LAN with no layer 3 routing Lecture L

Page 287: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-287

© James P.G. SterbenzITTC

IP AddressingClass-Based Addressing Problems

• Principle behind division– A: very large network providers– B: large organisations– C: LANs

• Reality: rigid structure– doesn’t match all organisations perfectly– doesn’t match many organisations well

• especially class B: “three bears problem”

• Inefficient partitioning of address space– large fraction of unusable addresses– imminent exhaustion of IP address space led to…

Page 288: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-288

© James P.G. SterbenzITTC

IP AddressingClassless Addressing (CIDR)

• CIDR: classless interdomain routing [RFC 1519]– eliminate assignment of IP address blocks by class– b7b6 . b5b4 . b3b2 . b1b0 /x

x-bit prefix = arbitrary number of network bits– example: 11001000 00010111 00010000 00000000

200.23.16.0/23

• Service providers get variable IP block– based on need from RIR (or NIR)

• Significant improvement in IP address use– at the cost of significant increase in complexity of IP lookup

Page 289: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-289

© James P.G. SterbenzITTC

IP Address AssignmentAdministrative Delegation

• IP address blocks originally assigned directly by IANA– as class A, B, or C– later managed by InterNIC operated by NSI

• Address assignment now delegated [RFC 2050]– IANA manages and allocates

• http://www.iana.org/assignments/ipv4-address-space

– regional internet registries (RIR) allocate within their range• ARIN, RIPE, APNIC, LACNIC, AfriNIC• Number Resource Organization www.nro.net

– national internet registries operate within APNIC– local internet registries: typically ISPs

Page 290: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-290

© James P.G. SterbenzITTC

IP Address AssignmentOrganisational Subnetworks

• Service provider assigns sub-blocks to subscribers– CIDR enables arbitrary subnetting at multiple levels

• Example– ISP assigned by 200.23.16.0/20 RIR (regional Internet registry)– ISP assigned subnets base on each organisation need

ISPA 11001000 00010111 00010000 00000000 200.23.16.0/20

Org0 11001000 00010111 00010000 00000000 200.23.16.0/23

Org1 11001000 00010111 00010010 00000000 200.23.18.0/23

Org2 11001000 00010111 00010100 00000000 200.23.20.0/23

…Org7 11001000 00010111 00011110 00000000 200.23.30.0/23

Page 291: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-291

© James P.G. SterbenzITTC

IP Address AssignmentHosts

• Static IP address assignment– configuration file (e.g. Unix /etc/rc.config)

• Dynamic IP address assignment– DHCP: dynamic host configuration protocol

[RFC 2131] – DHCPv6 [RFC 3315]• assigns IP address, DNS server

– allows user to “plug into” network and it just works• most of the time

Page 292: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-292

© James P.G. SterbenzITTC

IP Address AssignmentStrict Hierarchy with CIDR

org0200.23.16.0/23

org1200.23.18.0/23

org2200.23.20.0/23

org7200.23.30.0/23

ISPA200.23.30.0/20

ISPB199.31.0.0/16

org9199.31.0.0/23

199.31.0.0/16 B200.23.30.0/20 A

Tier1X

• Forwarding table entries unique to networksissue?

Page 293: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-293

© James P.G. SterbenzITTC

IP Address AssignmentStrict Hierarchy

org0200.23.16.0/23

org1200.23.18.0/23

org2200.23.20.0/23

org7200.23.30.0/23

ISPA200.23.30.0/20

ISPB199.31.0.0/16

org9199.31.0.0/23

199.31.0.0/16 B200.23.30.0/20 A

Tier1X

• Forwarding table entries unique to networks– all organisations must change IP address with ISP change

Page 294: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-294

© James P.G. SterbenzITTC

IP Address AssignmentLoose Hierarchy

org0200.23.16.0/23

org1200.23.18.0/23

org2200.23.20.0/23

org7200.23.30.0/23

ISPA200.23.30.0/20

ISPB199.31.0.0/16200.23.20.0/23

org9199.31.0.0/23

199.31.0.0/16 B200.23.30.0/20 A200.23.20.0/23 B

Tier1X

• Forwarding table entries not unique to networks– longest prefix is used for forwarding (most specific)

Page 295: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-295

© James P.G. SterbenzITTC

IP AddressingNetwork Address Translation

• NAT: network address translation [RFC 2663, 3022]– translates public Internet address ↔ private addresses

Benefits?

org1200.23.18.0/23

org2172.16/12

org7172.16/12

ISPA200.23.30.0/20 199.31.0.0/16 B

200.23.30.0/20 A

Tier1X

NAT

NAT 200.23.18.0

200.23.20.5

Page 296: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-296

© James P.G. SterbenzITTC

IP AddressingNetwork Address Translation

• NAT: network address translation [RFC 2663, 3022]– translates public Internet address ↔ private addresses

• Benefits– provide multiple private addresses for one public addresse

• e.g. home networks without buying multiple IP addresses– change private addresses without impacting ISP assignment– change ISP without impacting private addresses– private addresses not explicitly addressable

• helps resist attacks

Page 297: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-297

© James P.G. SterbenzITTC

IP NATPrivate Address Space

• IP addresses reserved for private Internets [RFC 1918]– reserved by IANA

why?

Page 298: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-298

© James P.G. SterbenzITTC

IP NATPrivate Address Space

• IP addresses reserved for private Internets [RFC 1918]– reserved by IANA– private addresses must not conflict with public addresses

• would prevent routing toward public Internet if conflict

CIDR Prefix Class Range

10/8 A 10 . 0 .0.0 – 10 .255.255.255

172.16/12 B 172. 16 .0.0 – 172. 31 .255.255

192.168/16 C 192.168.0.0 – 192.168.255.255

Page 299: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-299

© James P.G. SterbenzITTC

IP NATImplementation

• NAT Implementationhow to translate multiple private addressesto one public Internet address?

Page 300: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-300

© James P.G. SterbenzITTC

IP NATImplementation

• NAT Implementation– translate multiple private addr. to one public Internet addr.

• Hack using TCP ports– 16-bit port field allows almost 16K flows

• Outgoing translation– choose unused high port number new-portq– ⟨private-addri, portp⟩ → ⟨public-addr, new-portq⟩– store in NAT translation table

• Incoming translation– ⟨public-addr, new-portq⟩ → ⟨private-addri, portp⟩

Disadvantages?

Page 301: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-301

© James P.G. SterbenzITTC

IP NATDisadvantages

• NAT disadvantages– eliminates end-to-end address transparency

• NATed devices not addressable from outside– difficult to be a server or peer

• ugly out-of-band hacks exist– violates protocol layer semantics

• restricts to transport protocols using TCP/UDP socket semantic

• NATs were controversial– but have been widely deployed– and aren’t likely to disappear

Page 302: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-302

© James P.G. SterbenzITTC

IP NATExample

138.76.27.9 1128.119.40.186 2

• Private 10.0.0/24 network NATed behind 138.76.27.9

10.0.0.1

10.0.0.2

ISPNAT

138.76.27.9

org Public Private5001 10.0.0.1:33455007 10.0.0.2:33455042 10.0.0.1:21

128.119.40.186

0

Page 303: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-303

© James P.G. SterbenzITTC

IP NATExample

138.76.27.9 1128.119.40.186 2

• Private 10.0.0/24 network NATed behind 138.76.27.91: 10.0.0.1 generates TCP seg. to server 128.119.40.186:80

10.0.0.1

10.0.0.2

ISPNAT

138.76.27.9

org Public Private

5007 10.0.0.2:33455042 10.0.0.1:21

S: 10.0.0.1:3345D: 128.119.40.186:80

128.119.40.186

1

Page 304: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-304

© James P.G. SterbenzITTC

IP NATExample

138.76.27.9 1128.119.40.186 2

• Private 10.0.0/24 network NATed behind 138.76.27.91: 10.0.0.1 generates TCP seg. to server 128.119.40.186:802: NAT chooses unused port, translates, adds to table

10.0.0.1

10.0.0.2

ISPNAT

138.76.27.9

org Public Private5001 10.0.0.1:33455007 10.0.0.2:33455042 10.0.0.1:21

S: 10.0.0.1:3345D: 128.119.40.186:80 S: 138.76.27.9:5001

D: 128.119.40.186:80 128.119.40.186

2

Page 305: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-305

© James P.G. SterbenzITTC

IP NATExample

138.76.27.9 1128.119.40.186 2

• Private 10.0.0/24 network NATed behind 138.76.27.91: 10.0.0.1 generates TCP seg. to server 128.119.40.186:802: NAT chooses unused port, translates, adds to table3: normal interaction with server

10.0.0.1

10.0.0.2

ISPNAT

138.76.27.9org Public Private

5001 10.0.0.1:33455007 10.0.0.2:33455042 10.0.0.1:21

S: 10.0.0.1:3345D: 128.119.40.186:80 S: 138.76.27.9:5001

D: 128.119.40.186:80 128.119.40.186

S: 138.76.27.9:5001D: 128.119.40.186:80

3

Page 306: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-306

© James P.G. SterbenzITTC

IP NATExample

138.76.27.9 1128.119.40.186 2

• Private 10.0.0/24 network NATed behind 138.76.27.91: 10.0.0.1 generates TCP seg. to server 128.119.40.186:802: NAT chooses unused port, translates, adds to table4: normal interaction with server

10.0.0.1

10.0.0.2

ISPNAT

138.76.27.9org Public Private

5001 10.0.0.1:33455007 10.0.0.2:33455042 10.0.0.1:21

S: 10.0.0.1:3345D: 128.119.40.186:80 S: 138.76.27.9:5001

D: 128.119.40.186:80 128.119.40.186

S: 128.119.40.186:80D: 138.76.27.9:5001

4

Page 307: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-307

© James P.G. SterbenzITTC

IP NATExample

138.76.27.9 1128.119.40.186 2

• Private 10.0.0/24 network NATed behind 138.76.27.91: 10.0.0.1 generates TCP seg. to server 128.119.40.186:802: NAT chooses unused port, translates, adds to table5: normal interaction with server

10.0.0.1

10.0.0.2

ISPNAT

138.76.27.9org Public Private

5001 10.0.0.1:33455007 10.0.0.2:33455042 10.0.0.1:21

S: 10.0.0.1:3345D: 128.119.40.186:80 S: 128.119.40.186:80

D: 138.76.27.9:5001 128.119.40.186

S: 128.119.40.186:80D: 138.76.27.9:5001

5

Page 308: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-308

© James P.G. SterbenzITTC

IP NATExample

• Private 10.0.0/24 network NATed behind 138.76.27.91: 10.0.0.1 generates TCP seg. to server 128.119.40.186:802: NAT chooses unused port, translates, adds to table3: normal interaction with server6: NAT does reverse translation

138.76.27.9 1128.119.40.186 210.0.0.1

10.0.0.2

ISPNAT

138.76.27.9org Public Private

5001 10.0.0.1:33455007 10.0.0.2:33455042 10.0.0.1:21

S: 128.119.40.186:80D: 10.0.0.1:3345 S: 128.119.40.186:80

D: 138.76.27.9:5001 128.119.40.186

S: 128.119.40.186:80D: 138.76.27.9:5001

6

Page 309: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-309

© James P.G. SterbenzITTC

Internet ProtocolIPv4 Packet Format: Option Fields

• Options– optional packet processing– not typically in fast path– many service providers

ignore options

• Examples [IANA]– security– source route– record route taken– router alert– timestamp

04 total lengthIHL TOS

fragment id

TTL protocol header checksum

source address

destination address

options(= hl – 20B)

payload(= length – hl – 20B)

flag frag offset

Page 310: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-310

© James P.G. SterbenzITTC

Internet ProtocolIPv4 Fragmentation

• Packet too big for (sub)network must be fragmented– generally dictated by link layer MTU (maximum transfer unit)

• e.g. Ethernet MTU = 1500B

Performance issues?

Page 311: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-311

© James P.G. SterbenzITTC

Internet ProtocolIPv4 Packet Format: Fragmentation Fields

• Fragment id– common ID for fragments

of a particular datagram

• Flags [3b]– 0: reserved– DF: may/don’t fragment– MF: last/more fragment

• Fragmentation offset– byte offset within datagram

04 total lengthIHL TOS

fragment idTTL protocol header checksum

source address

destination address

options(= hl – 20B)

payload(= length – hl – 20B)

frag offsetDF

MF

0

Page 312: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-312

© James P.G. SterbenzITTC

Internet ProtocolIPv4 Fragmentation: Performance

• Packet too big for (sub)network must be fragmented– generally dictated by link layer MTU (maximum transfer unit)

• e.g. Ethernet MTU = 1500B

• Significant performance penalty– delay in fragmentation and reassembly– buffer space to hold partially fragmented/reassembled

Alternative?

Page 313: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-313

© James P.G. SterbenzITTC

Internet ProtocolIPv4 Fragmentation: Path MTU Discovery

• Path MTU discovery IPv4 [RFC 1191] IPv6 [RFC 1981]– determine MTU of entire path– transport protocol uses to limit packet size

• Done automatically– sender sets DF flag (don’t fragment)– sender uses local link MTU or min(local-link-MTU,576)

• IP router at each hop– forwards if no fragmentation needed– discards and returns ICMP (3,4) message

• Sender retries with smaller MTU

Page 314: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-314

© James P.G. SterbenzITTC

Internet ControlICMP

• Control messages for the Internet– carried in IP datagrams– not a well organised control plane

• unlike the PSTN

• ICMP message– type, code plus first 8 bytes of IP datagram causing error– http://www.iana.org/assignments/icmp-parameters– http://www.iana.org/assignments/icmpv6-parameters

• Not a well-organised control plane (unlike the PSTN)– rather a set of messages– used by other protocols and tools

Page 315: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-315

© James P.G. SterbenzITTC

Internet ControlICMP Selected Message Types

Type Code Description0 0 echo reply (used by ping)3 X destination unreachable4 0 source quench (intended for congestion control)5 X redirect8 0 echo (used by ping)9 X router advertisement [RFC 1256]10 0 router solicitation11 0 TTL exceeded13 0 timestamp14 0 timestamp reply15 0 information request16 0 information reply

Page 316: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-316

© James P.G. SterbenzITTC

Internet ControlICMP Selected Unreachable Codes

Type Code Description3 0 network unreachable3 1 host unreachable3 2 protocol unreachable3 3 port unreachable3 4 fragmentation needed and don’t fragment was set

Page 317: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-317

© James P.G. SterbenzITTC

Internet ControlEssential Tool: ping

• ping used to test liveness of remote host– sends ICMP (8,0) echo message– destination replies with ICMP (0,0) echo reply message

• Client usage (CLI)– ping ⟨dnsname⟩

• DNS first resolves hostname to IP address– ping ⟨address⟩

try it ping www.eecs.ku.eduping www.comp.lancs.ac.uk

Page 318: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-318

© James P.G. SterbenzITTC

Internet ControlEssential Tool: traceroute

• traceroute used map path HBH through network– sends UDP datagrams with increasing TTL and unlikely port– each hop drops and returns ICMP (11,0) TTL exceeded

• many network service provider do not replytraceroute times out and shows “*” for these hops

– done 3 times per hop; source computes and averages RTT– destination replies with ICMP (3,3) port unreachable

• Client usage (CLI)– traceroute ⟨dnsname⟩

• DNS first resolves hostname to IP address– traceroute ⟨address⟩

try it traceroute www.eecs.ku.edutraceroute www.comp.lancs.ac.uk todo: diag

Page 319: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-319

© James P.G. SterbenzITTC

Internet ProtocolIPv6 Motivation

• IPv4 address space exhaustion– CIDR reduced problem with more efficient allocation– NATs reuse addresses in edge networks

• perhaps eliminating the address-motivation for IPv6 completely

• IPv4 didn’t provide explicit support for QoS– other than TOS field

• IPv4 was not designed for efficient processing– options– variable length header

• IPv6 chosen among a number of proposals

Page 320: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-320

© James P.G. SterbenzITTC

Internet ProtocolIPv6 Overview

• IPv6 (Internet Protocol version 6)[RFC 2460] draft standard

• ICMPv6 (Internet control message protocol vers. 6)– signalling for IPv6 [RFC 4443]

• Support for QOS with flow label• More efficient structure for high-speed processing

– fixed 40B header– no options

• but next header can contain options rather than L4 header

– fragmentation not allowed

Page 321: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-321

© James P.G. SterbenzITTC

Internet Protocol: IPv6Packet Format: Header Control Fields

• IP version number = 06• Traffic class [8b]

• Flow label [20b]– flow identifier for soft state

Lecture Q

• Next header– protocol # to demux– extension header

• Hop limit– used as IPv4 TTL

• note: no header checksum

06 flow labelclasspayload length hop limitnext hdr

source address

destination address

payload(= payload length)

Page 322: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-322

© James P.G. SterbenzITTC

Internet Protocol: IPv6Packet Format: Payload Related Fields

• IP version number = 06• Payload length [B]• Payload

06 flow labelclass

payload length hop limitnext hdrl

source address

destination address

payload(= payload length)

Page 323: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-323

© James P.G. SterbenzITTC

Internet Protocol: IPv6Packet Format: Addresses

• 128 bit IP addresses2128 = 3×1038 =

7×1023 addr/m2 on earth

• Structure in allocation– reduces usable number– IANA administers

06 flow labelclass

payload length hop limitnext hdrl

source address

destination address

payload(= payload length)

Page 324: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-324

© James P.G. SterbenzITTC

Internet ProtocolIPv4 → IPv6 Transition

• If IPv6 replaces IPv6, how to transition?– “flag day” (won’t happen)– tunneling:

IPv6 carried in IPv4 datagrams among IPv4 routers– dual stack

• some IP routers now support both IPv4 and IPv6• permits slow transition with dual addressing

Page 325: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-325

© James P.G. SterbenzITTC

Data Networking: Network LayerN.6 Fast Datagram Routers

N.1 Network layer functions and servicesN.2 Network architectureN.3 Network service models and signallingN.4 Switches and forwardingN.5 IP and ICMPN.6 Fast datagram routers

Page 326: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-326

© James P.G. SterbenzITTC

Fast Datagram RoutersMotivation

• Connection-oriented fast packet switching– emerged in ATM standards, but ATM failed

• IP became waist of global network infrastructure– increased processing capability enabled fast IP lookups– apply fast packet switching to IP datagram forwarding

Page 327: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-327

© James P.G. SterbenzITTC

Fast Datagram SwitchesArchitecture

• Fast packetswitch core

• Input processing– IP lookup– packet

classification

• Outputprocessing– packet

scheduling• fair queueing

input processing

management routing and signalling

switch fabric

classify

output processing

output scheduling

link

headerupdate

prefixesinput

processor

link

prefixesinput

processor

link

output scheduling

link

switch fabric

control

Page 328: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-328

© James P.G. SterbenzITTC

Fast Datagram SwitchesThroughput

• Packet processing rate critical [packets/s]– packet processing must sustain at least average rate– critical path must sustain peak line rate for min size packets

Page 329: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-329

© James P.G. SterbenzITTC

Fast Datagram SwitchesSoftware IP Lookup

• Longest prefix match• Critical parameters

– worst case lookup time• brute force: O (log2n)• n tens of thousands

– memory required– forwarding table

update time

payload 101 011 01

prefix pout fstate *00*001*0001*

11*

101*0101*

111*

10100*

pout payload 101 011 01

– hop count

checksum fix

Page 330: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-330

© James P.G. SterbenzITTC

Fast Datagram SwitchesSoftware IP Lookup Example: Trie

• Many algorithms• Example: trie

– sparse binary tree– valid prefixes are root– lookup time O (a)

• a = number of address bits

101 011 01

*

0001 *

11 *

101 *

0101 *

111 *

10100*

0 1

01 10

1010

010

00 *

001 *000

=

101

Page 331: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-331

© James P.G. SterbenzITTC

Fast Datagram SwitchesHardware IP Lookup

• Ternary CAM– 1, 0, X (don’t care)– expensive and complex

• relative to RAM

• Simultaneous match– lookup time constant

• O (1)

payload 101 011 01 pout payload 101 011 01

– hop count

checksum fix

prefix pout fstate * 00XXXX 001XXX 0001XX

11XXXX

101XXX 0101XX

111XXX

10100X

prioritymux

Page 332: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-332

© James P.G. SterbenzITTC

Fast Datagram SwitchesPacket Classification

• Packet classification determines how packet treated– QOS or diffserv

– policy based routing

– security and DOS protection (e.g. firewalls)

– layer 4 and 7 switching

– active network processing

• Before queueing to meet most stringent delay class

Page 333: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-333

© James P.G. SterbenzITTC

Fast Datagram SwitchesPacket Classification

• Multidimensionalclassification– policies may be hierarchal or overlap– precedence rules needed

• More complex than longest prefix match• Hardware and software implementation tradeoffs

payload TOS src adr

R0 R1

R5

R2

source address

TOS

R4

R3

Page 334: ITTCCommunication Networksjpgs/courses/eecs663/lecture-network.pdfNetwork Layer Forwarding vs. Routing • Forwardingtransfers packets at each hop – each switch (router) makes decision

20 April 2006 KU EECS 663 – Network Layer N-334

© James P.G. SterbenzITTC

Acknowledgements

Some content derived from textbook supplementary materials:• Kurose & Ross,

Computer Networking:A Top-Down Approach Featuring the Internet

• Sterbenz & Touch,High-Speed Networking:A Systematic Approach toHigh-Bandwidth Low-Latency Communicationhttp://hsn-book.sterbenz.org

Additional references: