1dt066 distributed information system chapter 4 network layer

38
1DT066 Distributed Information System Chapter 4 Network Layer

Upload: jonah-collins

Post on 29-Dec-2015

220 views

Category:

Documents


3 download

TRANSCRIPT

1DT066Distributed Information System

Chapter 4

Network Layer

Chapter 4: Network Layer

Chapter goals:

Understand principles behind network layer services: network layer service models forwarding vs routing how a router works routing (path selection) dealing with scale advanced topics: IPv6, mobility

Implementation in the Internet

Chapter 4: Network Layer

4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol

Datagram format IPv4 addressing IPv6

Essence of Networking Layer

Physical

Data Link

BA

Two Key Network-Layer Functions

forwarding: move packets from router’s input to correct router output

routing: determine route taken by packets from source to destination.

routing algorithms (e.g., OSPF, BGP)

routing algorithm

local forwarding tableheader value

output link

0100010101111001

3221

1

23

0111

Value in arrivingpacket’s header

Interplay of forwarding and routing

Chapter 4: Network Layer

4. 1 Introduction 4.2 Virtual Circuit and Datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol

Datagram format IPv4 addressing ICMP IPv6

Network layer connection and connection-less service

Datagram network provides network-layer connectionless service

VC network provides network-layer connection service

Virtual circuits

each packet carries VC identifier (not destination host address)

every router on source-dest path maintains “state” for each passing connection

link, router resources (bandwidth, buffers) may be allocated to VC (dedicated resources = predictable service)

“source-to-dest path behaves like a telephone circuit” performance benefits network actions along source-to-dest path

VC Forwarding table

12 22 32

1 23

VC number

Interfacenumber

Incoming interface Incoming VC # Outgoing interface Outgoing VC #

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

Forwarding table innorthwest router:

Routers maintain connection state information!

VIRTUAL CIRCUITS: SIGNALING PROTOCOLS

used in ATM, frame-relay, X.25 not used in today’s Internet

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

1. Initiate call 2. incoming call

3. Accept call4. Call connected5. Data flow begins 6. Receive data

DATAGRAM NETWORKS no call setup at network layer routers: no state about end-to-end connections

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

packets between same source-dest pair may take different paths

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

1. Send data 2. Receive data

Forwarding table

Destination Address Range Link Interface

11001000 00010111 00010000 00000000 through 0 11001000 00010111 00010111 11111111

11001000 00010111 00011000 00000000 through 1 11001000 00010111 00011000 11111111

11001000 00010111 00011001 00000000 through 2 11001000 00010111 00011111 11111111

Otherwise 3

4 billion possible entries!

Longest prefix matching

Prefix Match Link Interface 11001000 00010111 00010___ ________ 0 11001000 00010111 00011000 ________ 1 11001000 00010111 00011___ ________ 2 Otherwise 3

DEST: 11001000 00010111 00011000 10101010

Examples:

DEST: 11001000 00010111 00010110 10100001 Which interface?

Which interface?

Chapter 4: Network Layer

4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol

Datagram format IPv4 addressing IPv6

ROUTER ARCHITECTURE OVERVIEW

Two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) forwarding datagrams from incoming to outgoing link

Chapter 4: Network Layer

4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol

Datagram format IPv4 addressing IPv6

THE INTERNET NETWORK LAYERHost, router network layer functions:

forwardingtable

Routing protocols•path selection•RIP, OSPF, BGP

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

ICMP protocol•error reporting•router “signaling”

Transport layer: TCP, UDP

Link layer

Physical layer

Networklayer

Chapter 4: Network Layer

4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol

Datagram format IPv4 addressing IPv6

IP DATAGRAM FORMAT

ver length

32 bits

Data (variable length,typically a TCP

or UDP segment)

16-bit identifier

header checksum

time tolive

32 bit source IP address

IP protocol versionnumber

header length (bytes)

max numberremaining hops

(decremented at each router)

fragmentation/reassembly

total datagramlength (bytes)

upper layer protocolto deliver payload to

head.len

type ofservice

“type” of data flgsfragment

offsetupper layer

32 bit destination IP address

Options (if any)

IP FRAGMENTATION & REASSEMBLY

Network links have MTU (max.transfer size) largest possible link-level

frame. Large IP datagram divided

(“fragmented”) within net one datagram becomes

several datagrams “reassembled” only at final

destination IP header bits used to

identify, order related fragments

fragmentation: in: 1 largeout: 3 small

reassembly

Chapter 4: Network Layer

4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol

Datagram format IPv4 addressing IPv6

IP ADDRESSING: INTRODUCTION IP address: 32-bit

identifier for host, router interface

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

multiple interfaces host typically has one

interface IP addresses

associated with each interface

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 11

Subnets IP address:

subnet part (high order bits) host part (low order bits)

What is a subnet ? device interfaces with same subnet part of IP address can physically reach each other without intervening

router

11001000 00010111 00010000 00000000

subnetpart

hostpart

200.23.16.0/24

Subnets

To determine the subnets, detach each interface from its host or router, creating islands of isolated networks. Each isolated network is called a subnet.

223.1.1.0/24 223.1.2.0/24

223.1.3.0/24

Subnet mask: /24

SubnetsHow many? 223.1.1.1

223.1.1.3

223.1.1.4

223.1.2.2223.1.2.1

223.1.2.6

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.2

223.1.7.0

223.1.7.1223.1.8.0223.1.8.1

223.1.9.1

223.1.9.2

IP addressing: CIDRCIDR: Classless InterDomain Routing

Subnet portion of address of arbitrary length address format: a.b.c.d/x, where x is # bits in subnet

portion of address

11001000 00010111 00010000 00000000

subnetpart

hostpart

200.23.16.0/23

IP ADDRESSES: HOW TO GET ONE?

Q: How does a host get IP address?

Hard-coded by system admin in a file Windows: control-panel->network->configuration->tcp/ip-

>properties UNIX: /etc/rc.config

DHCP: Dynamic Host Configuration Protocol: dynamically get address from a server “plug-and-play”

DHCP: Dynamic Host Configuration Protocol

Goal: allow host to dynamically obtain its IP address from network server when it joins network Allows reuse of addresses

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

DHCP server

arriving DHCP client needsaddress in thisnetwork

IP ADDRESSES: HOW TO GET ONE?Q: How does network get subnet part of IP addr?A: It’s allocated portion of its provider ISP’s address space

ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20

Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. ….

Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23

HIERARCHICAL ADDRESSING: ROUTE AGGREGATION

Netw

ork

Layer“Send me anything

with addresses beginning 200.23.16.0/20”

200.23.16.0/23

200.23.18.0/23

200.23.30.0/23

ISP Inc.

Organization 0

Organization 7Internet

Organization 1

ISPs-R-Us“Send me anythingwith addresses beginning 199.31.0.0/16”

200.23.20.0/23Organization 2

...

...

Hierarchical addressing allows efficient advertisement of routing information:

NAT: Network Address Translation

4-35

10.0.0.1

10.0.0.2

10.0.0.3

10.0.0.4

138.76.29.7

local network(e.g., home network)

10.0.0/24

rest ofInternet

Datagrams with source or destination in this networkhave 10.0.0/24 address for

source, destination (as usual)

All datagrams leaving localnetwork have same single source

NAT IP address: 138.76.29.7,different source port numbers

NAT: Network Address Translation

Motivation: local network uses just one IP address as far as outside world is concerned:

Only one IP address for all devices Can change addresses of devices in LAN without

notifying outside world Can change ISP without changing addresses of devices in

local network Devices inside local net not explicitly addressable, visible

by outside world (a security plus).

4-36

Netw

ork

Layer

NAT: Network Address Translation

Netw

ork

Layer10.0.0.1

10.0.0.2

10.0.0.3

S: 10.0.0.1, 3345D: 128.119.40.186, 80

1

10.0.0.4

138.76.29.7

1: host 10.0.0.1 sends datagram to 128.119.40.186, 80

NAT translation tableWAN side addr LAN side addr

138.76.29.7, 5001 10.0.0.1, 3345…… ……

S: 128.119.40.186, 80 D: 10.0.0.1, 3345

4

S: 138.76.29.7, 5001D: 128.119.40.186, 80

2

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

S: 128.119.40.186, 80 D: 138.76.29.7, 5001

3

3: Reply arrives dest. address: 138.76.29.7, 5001

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

Chapter 4: Network Layer

Netw

ork

Layer

4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol

Datagram format IPv4 addressing IPv6

IPv6

IPv6 Header (Cont)Priority: identify priority among datagrams in flowFlow Label: identify datagrams in same “flow.” (concept of“flow” not well defined).Next header: identify upper layer protocol for data

Chapter 4: summary 4. 1 Introduction 4.2 Virtual circuit

and datagram networks

4.3 What’s inside a router

4.4 IP: Internet Protocol Datagram format IPv4 addressing IPv6