Network layer and IP (2)

34
1 SC250 Computer Networking I Network Layer and IP (2) http://lcawww.epfl.ch Prof. Matthias Grossglauser LCA/I&C

Transcript of Network layer and IP (2)

1

SC250Computer Networking I

Network Layer and IP (2)

http://lcawww.epfl.ch

Prof. Matthias Grossglauser

LCA/I&C

2

Objectives

Internet routing in practice Intra-AS routing: RIP, OSPF Inter-AS routing: BGP

Some other protocols/topics of interest ICMP, the IP “signaling” protocol DHCP to obtain an IP address automatically NAT

3Network Layer 4- 3

Network Layer and IP

Routing in the InternetIntra-AS routing: RIP and OSPFInter-AS routing: BGP

4Network Layer 4- 4

Routing in the Internet

The Global Internet consists of Autonomous Systems (AS) interconnected with each other: Stub AS: small corporation: one connection to other AS’s Multihomed AS: large corporation (no transit): multiple

connections to other AS’s Transit AS: provider, hooking many AS’s together

Two-level routing: Intra-AS: administrator responsible for choice of routing

algorithm within network Inter-AS: unique standard for inter-AS routing: BGP

5Network Layer 4- 5

Internet AS Hierarchy

In t ra- AS border (exter ior gateway) routers

In ter- AS in ter ior (gateway) routers

6Network Layer 4- 6

Intra-AS Routing

Also known as Interior Gateway Protocols (IGP)

Most common Intra-AS routing protocols:

RIP: Routing Information Protocol

OSPF: Open Shortest Path First

IGRP: Interior Gateway Routing Protocol (Cisco proprietary)

7Network Layer 4- 7

RIP (Routing Information Protocol)

Distance vector algorithm Included in BSD-UNIX Distribution in 1982 Distance metric: # of hops (max = 15 hops)

Can you guess why?

Distance vectors: exchanged among neighbors every 30 sec via Response Message (also called advertisement)

Each advertisement: list of up to 25 destination nets within AS

8Network Layer 4- 8

RIP: Example

Destination Network Next Router Num. of hops to dest. w A 2

y B 2 z B 7

x - - 1…. …. ....

w x y

z

A

C

D B

Rou t in g tab le in D

9Network Layer 4- 9

RIP: Example

Destination Network Next Router Num. of hops to dest. w A 2

y B 2 z B A 7 5

x - - 1…. …. ....

Rou t in g tab le in D

w x y

z

A

C

D B

Dest Next hops w - - x - - z C 4 …. … ...

Advertisementfrom A to D

10Network Layer 4- 10

RIP: Link Failure and Recovery

If no advertisement heard after 180 sec --> neighbor/link declared dead routes via neighbor invalidated new advertisements sent to neighbors neighbors in turn send out new advertisements (if tables

changed) link failure info quickly propagates to entire net poison reverse used to prevent ping-pong loops (infinite

distance = 16 hops)

11Network Layer 4- 11

RIP Table processing

RIP routing tables managed by application-level process called route-d (daemon)

advertisements sent in UDP packets, periodically repeated

physical

link

network forwarding (IP) table

Transport (UDP)

rou ted

physical

link

network (IP)

Transport (UDP)

rou ted

forwardingtable

12Network Layer 4- 12

RIP Table example (continued)

Router: giroflee.eurocom.fr

Three attached class C networks (LANs) Router only knows routes to attached LANs Default router used to “go up” Route multicast address: 224.0.0.0 Loopback interface (for debugging)

Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- 127.0.0.1 127.0.0.1 UH 0 26492 lo0 192.168.2. 192.168.2.5 U 2 13 fa0 193.55.114. 193.55.114.6 U 3 58503 le0 192.168.3. 192.168.3.5 U 2 25 qaa0 224.0.0.0 193.55.114.6 U 3 0 le0 default 193.55.114.129 UG 0 143454

13Network Layer 4- 13

OSPF (Open Shortest Path First)

“open”: publicly available Uses Link State algorithm

LS packet dissemination Topology map at each node Route computation using Dijkstra’s algorithm

OSPF advertisement carries one entry per neighbor router

Advertisements disseminated to entire AS (via flooding) Carried in OSPF messages directly over IP (rather than

TCP or UDP

14Network Layer 4- 14

OSPF “advanced” features (not in RIP)

Security: all OSPF messages authenticated (to prevent malicious intrusion)

Multiple same-cost paths allowed (only one path in RIP)

For each link, multiple cost metrics for different TOS (e.g., satellite link cost set “low” for best effort; high for real time)

Integrated uni- and multicast support: Multicast OSPF (MOSPF) uses same topology data base as

OSPF

Hierarchical OSPF in large domains.

15Network Layer 4- 15

Hierarchical OSPF

16Network Layer 4- 16

Hierarchical OSPF

Two-level hierarchy: local area, backbone. Link-state advertisements only in area each nodes has detailed area topology; only

know direction (shortest path) to nets in other areas.

Area border routers: “summarize” distances to nets in own area, advertise to other Area Border routers.

Backbone routers: run OSPF routing limited to backbone.

Boundary routers: connect to other AS’s.

17Network Layer 4- 17

Inter-AS routing in the Internet: BGP

Figure 4.5.2-new2: BGP use for inter-domain routing

AS2 (OSPF

int ra-AS r out ing)

AS1 (RI P int r a-AS

r out ing) BGP

AS3 (OSPF int ra-AS

r out ing)

BGP

R1 R2

R3

R4

R5

18Network Layer 4- 18

Internet inter-AS routing: BGP

BGP (Border Gateway Protocol): the de facto standard

Path Vector protocol: similar to Distance Vector protocol each Border Gateway broadcast to neighbors (peers)

entire path (i.e., sequence of AS’s) to destination BGP routes to networks (ASs), not individual hosts E.g., Gateway X may send its path to dest. Z:

Path (X,Z) = X,Y1,Y2,Y3,…,Z

19Network Layer 4- 19

Internet inter-AS routing: BGP

Suppose: gateway X send its path to peer gateway W W may or may not select path offered by X

cost, policy (don’t route via competitors AS), loop prevention reasons.

If W selects path advertised by X, then:

Path (W,Z) = w, Path (X,Z) Note: X can control incoming traffic by controlling it

route advertisements to peers: e.g., don’t want to route traffic to Z -> don’t

advertise any routes to Z

20Network Layer 4- 20

BGP: controlling who routes to you

Figure 4.5 -BGPnew: a simple BGP scenario

A

B

C

W X

Y

legend:

customer network:

provider network

A,B,C are provider networks X,W,Y are customer (of provider networks) X is dual-homed: attached to two networks

X does not want to route from B via X to C .. so X will not advertise to B a route to C

21Network Layer 4- 21

BGP: controlling who routes to you

Figure 4.5 -BGPnew: a simple BGP scenario

A

B

C

W X

Y

legend:

customer network:

provider network

A advertises to B the path AW B advertises to X the path BAW Should B advertise to C the path BAW?

No way! B gets no “revenue” for routing CBAW since neither W nor C are B’s customers

B wants to force C to route to w via A B wants to route only to/from its customers!

22Network Layer 4- 22

BGP operation

Q: What does a BGP router do? Receiving and filtering route advertisements

from directly attached neighbor(s). Route selection.

To route to destination X, which path (of several advertised) will be taken?

Sending route advertisements to neighbors.

23Network Layer 4- 23

BGP messages

BGP messages exchanged using TCP. BGP messages:

OPEN: opens TCP connection to peer and authenticates sender

UPDATE: advertises new path (or withdraws old) KEEPALIVE keeps connection alive in absence of

UPDATES; also ACKs OPEN request NOTIFICATION: reports errors in previous msg; also used

to close connection

24Network Layer 4- 24

Why different Intra- and Inter-AS routing ?

Policy: Inter-AS: admin wants control over how its traffic

routed, who routes through its net. Intra-AS: single admin, so no policy decisions

needed

Scale: hierarchical routing saves table size, reduced

update traffic

Performance: Intra-AS: can focus on performance Inter-AS: policy may dominate over performance

25

Network Layer and IP

ICMP: Internet Control Message ProtocolDHCP: Dynamic Host Configuration ProtocolNAT: Network Address Translation

26Network Layer 4- 26

ICMP: Internet Control Message Protocol

used by hosts, routers, gateways to communication network-level information

error reporting: unreachable host, network, port, protocol

echo request/reply (used by ping)

network-layer “above” IP: ICMP msgs carried in IP

datagrams ICMP message: type, code

plus first 8 bytes of IP datagram causing error

Type Code description0 0 echo reply (ping)3 0 dest. network unreachable3 1 dest host unreachable3 2 dest protocol unreachable3 3 dest port unreachable3 6 dest network unknown3 7 dest host unknown4 0 source quench (congestion control - not used)8 0 echo request (ping)9 0 route advertisement10 0 router discovery11 0 TTL expired12 0 bad IP header

27Network Layer 4- 27

DHCP: Dynamic Host Configuration Protocol

Goal: allow host to dynamically obtain its IP address from network server when it joins network Can renew its lease on address in use Allows reuse of addresses (only hold address while

connected an “on” Support for mobile users who want to join network (more

shortly) DHCP overview:

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

28Network Layer 4- 28

DHCP client-server scenario

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 needs

address in this

network

29Network Layer 4- 29

DHCP client-server scenarioDHCP server : 223.1.2.5 ar r iving

cl ien t

t ime

DHCP discover

src : 0.0.0.0, 68 dest.: 255.255.255.255,67yiaddr: 0.0.0.0transaction ID: 654

DHCP offersrc: 223.1.2.5, 67 dest: 255.255.255.255, 68yiaddrr: 223.1.2.4transaction ID: 654Lifetime: 3600 secs

DHCP requestsrc: 0.0.0.0, 68 dest:: 255.255.255.255, 67yiaddrr: 223.1.2.4transaction ID: 655Lifetime: 3600 secs

DHCP ACKsrc: 223.1.2.5, 67 dest: 255.255.255.255, 68yiaddrr: 223.1.2.4transaction ID: 655Lifetime: 3600 secs

30Network Layer 4- 30

NAT: Network Address Translation

10.0.0.1

10.0.0.2

10.0.0.3

10.0.0.4

138.76.29.7

local n etw ork(e.g., h om e n etw ork)

10 .0 .0 / 24

rest ofIn tern et

Datagrams with source or dest inat ion in th is networkhave 10.0.0/ 24 address for

source, dest inat ion (as usual)

All datagrams leaving localnetwork have same single

source NAT IP address: 138.76.29.7,

dif feren t source por t numbers

31Network Layer 4- 31

NAT: Network Address Translation

Motivation: local network uses just one IP address as far as outside word is concerned: no need to be allocated range of addresses from ISP: - just

one IP address is used for all devices can change addresses of devices in local network without

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

local network devices inside local net not explicitly addressable, visible by

outside world (a security plus).

32Network Layer 4- 32

NAT: Network Address TranslationImplementation: NAT router must:

outgoing datagrams: replace (source IP address, port #) of every outgoing datagram to (NAT IP address, new port #). . . remote clients/servers will respond using

(NAT IP address, new port #) as destination addr.

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

incoming datagrams: replace (NAT IP address, new port #) in dest fields of every incoming datagram with corresponding (source IP address, port #) stored in NAT table

33Network Layer 4- 33

NAT: Network Address Translation

10.0.0.1

10.0.0.2

10.0.0.3

S: 10.0.0.1, 3345D: 128.119.40.186, 80

1

10.0.0.4

138.76.29.7

1: host 10.0.0.1 sends datagram to 128.119.40, 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, 802

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

S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3

3: Reply arrives dest. address: 138.76.29.7, 5001

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

34Network Layer 4- 34

NAT: Network Address Translation

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

side address! NAT is controversial:

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

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

address shortage should instead be solved by IPv6