Download Part I: Introduction

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Net bias wikipedia , lookup

Deep packet inspection wikipedia , lookup

Network tap wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Parallel port wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Computer network wikipedia , lookup

Airborne Networking wikipedia , lookup

Spanning Tree Protocol wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Nonblocking minimal spanning switch wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Peering wikipedia , lookup

Internet protocol suite wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

IEEE 1355 wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Routing wikipedia , lookup

Transcript
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
0
3
3
3
3
3
3
4
Code
0
0
1
2
3
6
7
0
8
9
10
11
12
0
0
0
0
0
description
echo reply (ping)
dest. network unreachable
dest host unreachable
dest protocol unreachable
dest port unreachable
dest network unknown
dest host unknown
source quench (congestion
control - not used)
echo request (ping)
route advertisement
router discovery
TTL expired
bad IP header
Lecture 14
-1
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
-2
Internet AS Hierarchy
Lecture 14
-3
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
-4
RIP (from perspective of router D)
Letters are routers and numbers on links are network addresses






dest net
1
20
30
10
….
next router number of hops
to destination
A
B
B
-….
2
2
7
1
....
Lecture 14
-5
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
-6
RIP Table processing
 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
-7
RIP Table processing
Lecture 14
-8
RIP Table example
Destination
-------------------127.0.0.1
192.168.2.
193.55.114.
192.168.3.
224.0.0.0
default
Gateway
Flags Ref
Use
Interface
-------------------- ----- ----- ------ --------127.0.0.1
UH
0 26492 lo0
192.168.2.5
U
2
13 fa0
193.55.114.6
U
3 58503 le0
192.168.3.5
U
2
25 qaa0
193.55.114.6
U
3
0 le0
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
-9
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
-10
OSPF “advanced” features (not in RIP)
Hierarchical OSPF in large domains; thousands of routers
Lecture 14
-11
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
-12
Inter-AS routing
Lecture 14
-13
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
-14
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
-15
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
-16
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
-17
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
-18
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
-19
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
-20
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
Lecture 14
-21