35
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 1 ECSE-4670: Computer Communication Networks (CCN) Network Layer Shivkumar Kalyanaraman: [email protected] Biplab Sikdar: [email protected] http://www.ecse.rpi.edu/Homepages/shivkuma

ECSE-4670: Computer Communication Networks (CCN)

Embed Size (px)

DESCRIPTION

ECSE-4670: Computer Communication Networks (CCN). Network Layer Shivkumar Kalyanaraman: [email protected] Biplab Sikdar: [email protected] http://www.ecse.rpi.edu/Homepages/shivkuma. understand principles behind network layer services: Internetworking concepts The network layer IP - PowerPoint PPT Presentation

Citation preview

Page 1: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 1

ECSE-4670: Computer Communication Networks (CCN)

ECSE-4670: Computer Communication Networks (CCN)

Network Layer

Shivkumar Kalyanaraman: [email protected]

Biplab Sikdar: [email protected]

http://www.ecse.rpi.edu/Homepages/shivkuma

Network Layer

Shivkumar Kalyanaraman: [email protected]

Biplab Sikdar: [email protected]

http://www.ecse.rpi.edu/Homepages/shivkuma

Page 2: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 2

• understand principles behind network layer services:– Internetworking concepts– The network layer– IP – routing (path selection)– how a router works

ChapterGoals

Page 3: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 3

• Internetworking• network layer services• IP• routing principle: path selection• hierarchical routing• Internet routing protocols reliable transfer

– intra-domain– inter-domain

• what’s inside a router?

Overview

Page 4: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 4

The Internetworking Problem• Two nodes communicating across a

“network of networks”…

– How to transport packets through this heterogeneous mass ?

A B

Cloud

Cloud

Cloud

Page 5: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 5

The Internetworking Problem

• Problems: heterogeneity and scaling• Heterogeneity:

– How to interconnect a large number of disparate networks ? (lower layers)

– How to support a wide variety of applications ? (upper layers)

• Scaling: – How to support a large number of end-

nodes and applications in this interconnected network ?

Page 6: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 6

Heterogeneity: Solutions

• Translation (eg: bridges): specify a separate mapping between every pair of protocols(+) No software changes in networks required.

() Need to specify N mappings when a new lower layer protocol is added to the list

() When many networks, subset = 0() Mapping may be asymmetric

Page 7: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 7

Heterogeneity: Solutions

– Overlay model: Define a new protocol (IP) and map all networks to IP(+) Require only one mapping (IP -> new

protocol) when a new protocol is added(+) Global address space can be created

for universal addressibility and scaling

() Requires changes in lower networks (eg: protocol type field for IP)

Page 8: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 8

Heterogeneity: Solutions

() IP has to be necessarily simple else mapping will be hard.

– Even in its current form mapping IP to ATM has proven to be really hard.

– Basis for “best-effort” forwarding() Protocol mapping infrastructure

needed: address hierarchy, address resolution, fragmentation

Page 9: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 9

The Internet Network layer

routingtable

Host, router network layer functions:

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

Page 10: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 10

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 may have multiple

interfaces– IP addresses associated

with interface, not host, router

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

Page 11: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 11

IP Addressing - 1• IP address:

– network part (high order bits)

– host part (low order bits)

• What’s a network ? (from IP address perspective)– device interfaces with

same network part of IP address

– can physically reach each other without intervening router

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

network consisting of 3 IP networks(for IP addresses starting with 223, first 24 bits are network address)

LAN

Page 12: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 12

IP Addressing - 2How to find the

networks?• Detach each

interface from router, host

• create “islands of isolated networks

223.1.1.1

223.1.1.3

223.1.1.4

223.1.2.1

223.1.2.6

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

Interconnected system consisting

of six networks

223.1.3.2223.1.3.1

223.1.3.27

223.1.2.2

Page 13: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 13

IP Addresses

0 network host

10 network host

110 network host

1110 multicast address

A

B

C

D

class1.0.0.0 to127.255.255.255

128.0.0.0 to191.255.255.255

192.0.0.0 to223.255.255.255

224.0.0.0 to239.255.255.255

32 bits

given notion of “network”, let’s re-examine IP addresses:

“class-full” addressing:

Page 14: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 14

Some Special IP Addresses

• All-0s This computer• All-1s All hosts on this net (limited

broadcast: don’t forward out of this net)

• All-0 host suffix Network Address (‘0’ means ‘this’)

• All-1 host suffix All hosts on the destination net (directed broadcast).

• 127.*.*.* Loopback through IP layer

Page 15: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 15

IP addressing: CIDR - 1

• classful addressing: – inefficient use of address space,

address space exhaustion

– e.g., class B net allocated enough addresses for 65K hosts, even if only 2K hosts in that network

Page 16: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 16

IP addressing: CIDR - 2

• CIDR: Classless InterDomain Routing– network portion of address of arbitrary

length– address format: a.b.c.d/x, where x is #

bits in network portion of address

11001000 00010111 00010000 00000000

networkpart

hostpart

200.23.16.0/23

Page 17: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 17

Subnet Addressing

– External routers need to store entries only for the “network ID”

– Internal routers & hosts use subnet mask to identify “subnet ID” and route packets between “subnets” within the “network”.

– Eg: Mask: 255.255.255.0 => subnet ID = 8 bits with upto 62 hosts/subnet

Page 18: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 18

Subnet Addressing (Continued)

– Route table lookup: • IF ((Mask[i] & Destination Addr) = =

Destination[i]) Forward to NextHop[i]

– Subnet mask can end on any bit.– Mask must have contiguous 1s followed

by contiguous zeros. Routers do not support other types of masks.

Page 19: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 19

Route Table Lookup: Example

Destination Mask Next Hop30.0.0.0 255.0.0.0 40.0.0.740.0.0.0 255.0.0.0 Deliver direct128.1.0.0 255.255.0.0 Deliver direct192.4.10.0 255.255.255.0 128.1.0.9

30.0.0.030.0.0.0 40.0.0.040.0.0.0 128.1.0.0128.1.0.0 192.4.0.0192.4.0.0

30.0.0.7

40.0.0.7 128.1.0.8 192.4.10.9

40.0.0.8 128.1.0.9

Page 20: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 20

IP addresses: how to get one?

Hosts (host portion):• hard-coded by system admin in a file• DHCP: Dynamic Host Configuration

Protocol: dynamically get address: “plug-and-play”– host broadcasts “DHCP discover” msg– DHCP server responds with “DHCP offer” msg– host requests IP address: “DHCP request”

msg– DHCP server sends address: “DHCP ack” msg

Page 21: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 21

IP addresses: how to get one?

Network (network portion):• get allocated portion of 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

Page 22: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 22

Hierarchical addressing: route aggregation

“Send me anythingwith addresses beginning 200.23.16.0/20”

200.23.16.0/23

200.23.18.0/23

200.23.30.0/23

Fly-By-Night-ISP

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:

Page 23: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 23

Hierarchical addressing: more specific routes

ISPs-R-Us has a more specific route to Organization 1

“Send me anythingwith addresses beginning 200.23.16.0/20”

200.23.16.0/23

200.23.18.0/23

200.23.30.0/23

Fly-By-Night-ISP

Organization 0

Organization 7Internet

Organization 1

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

200.23.20.0/23Organization 2

...

...

Page 24: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 24

IP addressing: the last word...

Q: How does an ISP get block of addresses?

A: ICANN: Internet Corporation for Assigned Names and Numbers

– allocates addresses– manages DNS– assigns domain names, resolves

disputes

Page 25: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 25

Getting a datagramfrom source to dest. - 1

IP datagram:

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

B

E

miscfields

sourceIP addr

destIP addr data

datagram remains unchanged, as it travels source to destinationaddr fields of interest here

routing table in ADest. Net. next router Nhops

223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2

Page 26: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 26

Getting a datagramfrom source to dest. - 2

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

B

E

Starting at A, given IP datagram addressed to B:look up net. address of Bfind B is on same net. as Alink layer will send datagram directly to B inside link-layer frame

B and A are directly connected

Dest. Net. next router Nhops

223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2

miscfields 223.1.1.1 223.1.1.3 data

Page 27: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 27

Getting a datagramfrom source to dest. - 3

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

B

E

Dest. Net. next router Nhops

223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2

Starting at A, dest. E:look up network address of EE on different network

A, E not directly attached

routing table: next hop router to E is 223.1.1.4 link layer sends datagram to router 223.1.1.4 inside link-layer framedatagram arrives at 223.1.1.4 continued…..

miscfields 223.1.1.1 223.1.2.2 data

Page 28: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 28

Getting a datagramfrom source to dest. – 4

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

B

E

Arriving at 223.1.4, destined for 223.1.2.2look up network address of EE on same network as router’s

interface 223.1.2.9 router, E directly attached

link layer sends datagram to 223.1.2.2 inside link-layer frame

via interface 223.1.2.9 datagram arrives at 223.1.2.2!!! (hooray!)

miscfields 223.1.1.1 223.1.2.2 data network router Nhops interface

223.1.1 - 1 223.1.1.4 223.1.2 - 1 223.1.2.9

223.1.3 - 1 223.1.3.27

Dest. next

Page 29: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 29

IP Features

• Connectionless service• Addressing• Data forwarding• Fragmentation and reassembly • Supports variable size datagrams• Best-effort delivery• Provides only “Send” and “Delivery”

services. Error and control messages generated by Internet Control Message Protocol (ICMP)

Page 30: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 30

What IP does NOT provide

• End-to-end data reliability & flow control (done by TCP or application layer protocols)

• Sequencing of packets (like TCP)

• Error detection in payload (TCP, UDP or other transport layers)

• Error reporting (ICMP)

Page 31: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 31

What IP does NOT provide (Continued)

• Setting up route tables (RIP, OSPF, BGP etc)

• Connection setup (it is connectionless)

• Address/Name resolution (ARP, RARP, DNS)

• Configuration (BOOTP, DHCP)• Multicast (IGMP, MBONE)

Page 32: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 32

IP datagram format

ver length

32 bits

data (variable length,typically a TCP

or UDP segment)

16-bit identifier

Internet checksum

time tolive

32 bit source IP address

IP protocol versionnumber

header length (bytes)

max numberremaining hops

(decremented at each router)

forfragmentation/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) E.g. timestamp,record routetaken, pecifylist of routers to visit.

Page 33: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 33

IP Fragmentation & Reassembly - 1

• network links have MTU (max.transfer size) - largest possible link-level frame.– different link types,

different MTUs • 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: one large datagramout: 3 smaller datagrams

reassembly

Page 34: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 34

IP Fragmentation and Reassembly - 2

ID=x

offset=0

fragflag=0

length=4000

ID=x

offset=0

fragflag=1

length=1500

ID=x

offset=1480

fragflag=1

length=1500

ID=x

offset=2960

fragflag=0

length=1040

One large datagram becomesseveral smaller datagrams

Page 35: ECSE-4670: Computer Communication Networks (CCN)

Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 35

Summary

• Internet architectural principles• IP addressing and header• Fragmentation/Reassembly, Path

MTU discovery