21
Lecture 14 -1 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 description 0 0 echo reply (ping) 3 0 dest. network unreach 3 1 dest host unreachable 3 2 dest protocol unreach 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (conges control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header

ICMP: Internet Control Message Protocol

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Lecture 14 -1

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

Lecture 14 -2

Routing in the Internet

The Global Internet consists of Autonomous Systems (AS) interconnected with each other:

Stub AS: small corporation Multihomed AS: large corporation (no transit) Transit AS: provider Two level routing: Intra-AS: administrator is responsible for choice

RIP: Routing Information Protocol - distance vector

OSPF: Open Shortest Path First - link-state

EIGRP: Enhanced Internal Gateway Routing Protocol (Cisco proprietary successor for RIP)

Inter-AS: unique standard : BGP

Lecture 14 -3

Internet AS Hierarchy

Lecture 14 -4

RIP ( Routing Info Protocol)

Distance vector type scheme Included in BSD-UNIX Distribution in 1982 Distance metric: # of hops (max = 15 hops) Distance vector: exchanged every 30 sec via a

Response Message (also called Advertisement) Each Advertisement contains up to 25 destination nets

Lecture 14 -5

RIP (from perspective of router D)

Letters are routers and numbers on links are network addresses

dest net next router number of hops to destination

1 A 2 20 B 2 30 B 7 10 -- 1 …. …. ....

Lecture 14 -6

RIP: Link Failure and Recovery

If no advertisement heard after 180 sec, neighbor/link dead

Routes via the neighbor are invalidated; new advertisements sent to neighbors

Neighbors in turn send out new advertisements if their tables changed

Link failure info quickly propagates to entire net Poison reverse used to prevent ping-pong loops (infinite

distance = 16 hops) Routers can request info about neighbor’s cost Advertisements are sent via UDP using port #520 as

standard IP datagram

Lecture 14 -7

RIP Table processingrocessing

RIP routing tables managed by an application process called routed (daemon)

routed is pronounced route-d The application process is a part of the Unix OS and

uses socket programming as we know it Each routed exchanges information with other routed

processes running on other machines advertisements encapsulated in UDP packets (no

reliable delivery required; advertisements are periodically repeated)

Lecture 14 -8

RIP Table processing

Lecture 14 -9

RIP Table example

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

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)

Lecture 14 -10

OSPF (Open Shortest Path First)

“open”: publicly available uses the Link State algorithm (ie, LS packet

dissemination; topology map at each node; route computation using Dijkstra’s alg)

OSPF advertisement carries one entry per neighbor router

advertisements disseminated to ENTIRE Autonomous System (via flooding)

Lecture 14 -11

Hierarchical OSPF in large domains; thousands of routers

OSPF “advanced” features (not in RIP)

Lecture 14 -12

Hierarchical OSPF

Two level hierarchy: local area and backbone Link state advertisements do not leave respective areas Nodes in each area have detailed area topology; they

only know direction (shortest path) to networks in other areas

Area Border routers “summarize” distances to networks in the area and advertise them to other Area Border routers

Backbone routers run an OSPF routing alg limited to the backbone

Lecture 14 -13

Inter-AS routing

Lecture 14 -14

Why different Intra- and Inter-AS routing ?

Scale: Inter provides an extra level of routing table size and routing update traffic reduction above the Intra layer

Policy: Inter is concerned with policies (which provider we must select/avoid, etc). Intra is contained in a single organization, so, no policy decisions necessary

Performance: Intra is focused on performance metrics; needs to keep costs low. In Inter it is difficult to propagate performance metrics efficiently (latency, privacy etc). Besides, policy related information is more meaningful.

We need BOTH!

Lecture 14 -15

Inter-AS routing (cont)

BGP (Border Gateway Protocol): the de facto standard Path Vector protocol: an extension of Distance Vector Each Border Gateway broadcasts to neighbors (peers)

the entire path (ie, sequence of ASes) to destination (no cost info is sent)

For example, Gwy X may store the following path to destination Z:Path (X,Z) = 102,111,120,…,2012

Path (X,Z) = 102,111,120,…,2012

Loop Avoidance Policy Routing

Lecture 14 -16

Inter-AS routing (cont)

Peers exchange BGP messages using TCP (peers are immediate neighbor ASs)

OPEN msg opens TCP connection to peer UPDATE msg advertises new path (or withdraws old) KEEPALIVE msg keeps connection alive in absence of

UPDATES; it also serves as ACK to an OPEN request NOTIFICATION msg reports errors in previous msg; also

used to close a connection

Lecture 14 -17

Address Management

As Internet grows, we run out of addresses Solution (a): subnetting. Eg, Class B Host field (16bits)

is subdivided into <subnet;host> fields Solution (b): CIDR (Classless Inter Domain Routing):

assign block of contiguous Class C addresses to the same organization; these addresses all share a common prefix

Lecture 14 -18

Router Architecture Overview

Router main functions: routing algorithms and protocols processing, switching datagrams from an incoming link to an outgoing link

Router Components

Lecture 14 -19

Input and Output Port Processing

Line Termination corresponds to physical layer Data link processing corresponds to link layer Usually, copy of routing table is stored at each

input port - avoids using one central CPU Packet dropping occurs at input and output queues

Lecture 14 -20

The switching fabric

Switching via memory, a) by shared memory with processors at ports or b) via CPU & ports as IO devices

Switching via bus, only one packet at time (one bus - (but there are gigabit buses)

Switching via interconnection network - (crossbar) 2N buses for N output and N input ports

Lecture 14 -21

Queuing At Input and Output Ports Queues build up whenever there is a rate mismatch or

blocking. Consider the following scenarios: Fabric speed is faster than all input ports combined; more

datagrams are destined to an output port than other output ports; queuing occurs at output port

Fabric bandwidth is not as fast as all input ports combined; queuing may occur at input queues;

HOL blocking: fabric can deliver datagrams from input ports in parallel, except if datagrams are destined to same output port; in this case datagrams are queued at input queues; there may be queued datagrams that are held behind HOL conflict, even when their output port is available