Hierarchical Routing Our routing study thus far – an idealization

Slides:



Advertisements
Similar presentations
4: Network Layer4a-1 IP Addressing: introduction r IP address: 32-bit identifier for host, router interface r interface: connection between host, router.
Advertisements

Network Layer4-1 Hierarchical Routing scale: with 200 million destinations: r can’t store all dest’s in routing tables! r routing table exchange would.
Lecture 9 Overview. Hierarchical Routing scale – with 200 million destinations – can’t store all dests in routing tables! – routing table exchange would.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 22 Omar Meqdadi Department of Computer Science and Software Engineering University.
Announcement r Recitation tomorrow on Project 2 r Midterm Survey at the end of this class.
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.
Week 5: Internet Protocol Continue to discuss Ethernet and ARP –MTU –Ethernet and ARP packet format IP: Internet Protocol –Datagram format –IPv4 addressing.
4a-1 CSE401: Computer Networks Hierarchical Routing & Routing in Internet S. M. Hasibul Haque Lecturer Dept. of CSE, BUET.
Network Layer4-1 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol.
11- IP Network Layer4-1. Network Layer4-2 The Internet Network layer forwarding table Host, router network layer functions: Routing protocols path selection.
Announcement r Project 3 out, due 3/10 r Homework 3 out last week m Due next Mon. 3/1.
14 – Inter/Intra-AS Routing
Announcement r Project 2 Extension ? m Previous grade allocation: Projects 40% –Web client/server7% –TCP stack21% –IP routing12% Midterm 20% Final 20%
Network Layer4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side,
Network Layer4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side,
1 ECE453 – Introduction to Computer Networks Lecture 10 – Network Layer (Routing II)
The Routing & the IP network data link physical network data link physical network data link physical network data link physical network data link physical.
Computer Networks The Network Layer
The Network Layer: IP, subnets, NAT and Routing Based on slides from the Computer Networking: A Top Down Approach Featuring the Internet by Kurose and.
14 – Inter/Intra-AS Routing Network Layer Hierarchical Routing scale: with > 200 million destinations: can’t store all dest’s in routing tables!
Network Layer Lecture # 2 MAHS. 4: Network Layer 4b-2 Hierarchical Routing scale: with 200 million destinations: r can’t store all dest’s in routing tables!
12 – IP, NAT, ICMP, IPv6 Network Layer.
Lecture 14 ICMP: Internet Control Message Protocol r used by hosts, routers, gateways to communication network-level information m error reporting: unreachable.
Network Layer 1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:
Routing in the Internet The Global Internet consists of Autonomous Systems (AS) interconnected with eachother: Stub AS: small corporation Multihomed AS:
4: Network Layer4a-1 Hierarchical Routing r aggregate routers into regions, “autonomous systems” (AS) r routers in same AS run same routing protocol m.
Network Layer4-1 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol.
Routing in the Internet The Global Internet consists of Autonomous Systems (AS) interconnected with eachother: Stub AS: small corporation Multihomed AS:
4: Network Layer4a-1 Routing in the Internet r The Global Internet consists of Autonomous Systems (AS) interconnected with each other: m Stub AS: small.
1 Network Layer Lecture 15 Imran Ahmed University of Management & Technology.
Network Layer4-1 Intra-AS Routing r Also known as Interior Gateway Protocols (IGP) r Most common Intra-AS routing protocols: m RIP: Routing Information.
Network Layer4-1 The Internet Network layer forwarding table Host, router network layer functions: Routing protocols path selection RIP, OSPF, BGP IP protocol.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 06_a Routing Protocols: RIP, OSPF, BGP Instructor: Dr. Li-Chuan Chen Date: 10/06/2003 Based in part upon.
Transport Layer3-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Network Layer4-1 Datagram networks r no call setup at network layer r routers: no state about end-to-end connections m no network-level concept of “connection”
Internet Protocols. ICMP ICMP – Internet Control Message Protocol Each ICMP message is encapsulated in an IP packet – Treated like any other datagram,
4: Network Layer4b-1 OSPF (Open Shortest Path First) r “open”: publicly available r Uses Link State algorithm m LS packet dissemination m Topology map.
IP. Classless Inter-Domain Routing Classful addressing scheme wasteful – IP address space exhaustion – A class B net allocated enough for 65K hosts Even.
The Internet Network layer
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 19 Omar Meqdadi Department of Computer Science and Software Engineering University.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Routing Protocols 1 ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
1 COMP 431 Internet Services & Protocols The IP Internet Protocol Jasleen Kaur April 21, 2016.
CSE 421 Computer Networks. Network Layer 4-2 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside.
Introduction to Networks
12 – IP, NAT, ICMP, IPv6 Network Layer.
Routing in the Internet
14 – Inter/Intra-AS Routing
Homework 4 Out: Fri 2/24/2017 In: Fri 3/10/2017.
Computer Communication Networks
Chapter 4: Network Layer
NAT – Network Address Translation
Chapter 4: Network Layer
Chapter 4: Network Layer
Homework 4 Out: Fri 2/26/2016 In: Fri 3/11/2016.
ICMP ICMP – Internet Control Message Protocol
Chapter 4: Network Layer
Chapter 5: Network Layer (Part III)
CS4470 Computer Networking Protocols
CS 457 – Lecture 10 Internetworking and IP
Department of Computer and IT Engineering University of Kurdistan
Wide Area Networks and Internet CT1403
Part 4: Network Layer Part B: The Internet Routing Protocols
Chapter 4: Network Layer
Overview The Internet (IP) Protocol Datagram format IP fragmentation
Chapter 4: Network Layer
Chapter 4: Network Layer
ECSE-4670: Computer Communication Networks (CCN)
Chapter 4: Network Layer
32 bit destination IP address
Presentation transcript:

Hierarchical Routing Our routing study thus far – an idealization all routers are identical the network is “flat” … not true in practice Why? administrative autonomy internet = network of networks each network admin may want to control routing in its own network scale: with 55 million+ destination hosts: can’t store all destinations in routing tables! routing table exchange would swamp links! 4: Network Layer

Hierarchical Routing gateway routers aggregate routers into regions, called “autonomous systems” (AS) routers in same AS run same routing protocol “intra-AS” routing (i.e., within an AS) protocol routers in different AS can run different intra-AS routing protocol special routers in AS run intra-AS routing protocol with all other routers in AS also responsible for routing to destinations outside AS run inter-AS routing (i.e., between AS) protocol with other gateway routers 4: Network Layer

Intra-AS and Inter-AS routing b C A B d A.a A.c C.b B.a c Gateways: perform inter-AS routing amongst themselves perform intra-AS routers with other routers in their AS c network layer inter-AS, intra-AS routing in gateway A.c data link layer physical layer 4: Network Layer

Intra-AS and Inter-AS routing between A and B a b C A B d c A.a A.c C.b B.a Host h2 Host h1 Intra-AS routing within AS B Intra-AS routing within AS A We’ll examine specific inter-AS and intra-AS Internet routing protocols shortly (section 4.5) 4: Network Layer

The Internet Network layer Host, router network layer functions… three major components: Transport layer: TCP, UDP IP protocol addressing conventions datagram format packet handling conventions Routing protocols path selection RIP, OSPF, BGP Network layer routing table ICMP protocol error reporting router “signaling” Link layer Physical layer 4: Network Layer

IP Addressing: introduction IP address: 32-bit identifier for host or router interface interface: connection between host or router and the physical link routers typically have multiple interfaces hosts typically have only one IP addresses are associated with the interface, not the host or the router 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 223.1.3.1 223.1.3.2 dotted-decimal notation: 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 4: Network Layer

IP Addressing IP address: network part (high order bits) host part (low order bits) What’s a network ? (from the IP address perspective) device interfaces with the same network part of their IP address hosts can physically reach each other without an intervening router 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 LAN 223.1.3.1 223.1.3.2 Example: network consisting of 3 IP networks (for IP addresses starting with 223, the first 24 bits are the network address – more later) 4: Network Layer

IP Addressing How to find the networks? Detach each interface from routers create “islands of isolated networks 223.1.1.2 223.1.1.1 223.1.1.4 223.1.1.3 223.1.9.2 223.1.7.0 223.1.9.1 223.1.7.1 223.1.8.1 223.1.8.0 223.1.3.2 223.1.3.1 223.1.3.27 223.1.2.6 Interconnected system consisting of six networks 223.1.2.1 223.1.2.2 4: Network Layer

IP Addresses Given the notion of a “network”, let’s look closer at IP addresses: “classful” addressing - class A 1.0.0.0 to 127.255.255.255 network host (24 bits) 27 = 127 networks 224 = 16.8 million+ hosts 214 = 16,384 networks 216 = 65,536 hosts 221 = 2 million+ networks 28 = 256 hosts 24 = 16 networks 228 = 268.4 million+ hosts B 128.0.0.0 to 191.255.255.255 10 network host (16 bits) 192.0.0.0 to 223.255.255.255 C 110 network host (8 bits) 224.0.0.0 to 239.255.255.255 D 1110 multicast address (28 bits) 32 bits What is the address space size (number of hosts) for each class? 4: Network Layer

IP addressing: CIDR classful addressing: inefficient use of address space, address space exhaustion e.g., class B network is allocated enough addresses for 65K hosts, even if only 2K hosts exist in that network CIDR: Classless InterDomain Routing network portion of address of arbitrary length address format: a.b.c.d/x, where x is # bits in the network portion of an address 11001000 00010111 00010000 00000000 network part host 200.23.16.0/23 4: Network Layer

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 (RFC 2131): “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 4: Network Layer

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 4: Network Layer

Hierarchical addressing: route aggregation Hierarchical addressing allows efficient advertisement of routing information: Organization 0 200.23.16.0/23 Organization 1 200.23.18.0/23 “Send me anything with addresses beginning 200.23.16.0/20” Organization 2 200.23.20.0/23 . Fly-By-Night-ISP . Internet Routing Hierarchy Organization 7 200.23.30.0/23 “Send me anything with addresses beginning 199.31.0.0/16” ISPs-R-Us 4: Network Layer

Hierarchical addressing: more specific routes ISPs-R-Us has a more specific route to Organization 1 (longest prefix matching): Organization 0 200.23.16.0/23 “Send me anything with addresses beginning 200.23.16.0/20” Organization 2 200.23.20.0/23 . Fly-By-Night-ISP . Internet Routing Hierarchy Organization 7 200.23.30.0/23 “Send me anything with addresses beginning 199.31.0.0/16 or 200.23.18.0/23” ISPs-R-Us Organization 1 200.23.18.0/23 4: Network Layer

IP addressing: the last word... Q: How does an ISP get a block of addresses? A: ICANN: Internet Corporation for Assigned Names and Numbers (RFC 2050) non-profit organization allocates addresses via regional registries (mid-2000) ARIN - North and South America, part of Africa RIPE – Europe and surrounding countries APNIC – Asia Pacific region manages DNS assigns domain names, resolves disputes 4: Network Layer

Getting a datagram from source to dest. routing table* in A dest. net. next router #hops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 IP datagram: misc. fields source IP addr dest data 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.2 223.1.3.1 223.1.3.27 A B E addresses remain unchanged, as the datagram travels from source to destination address fields of interest here (provided by the source host A) * Note – more on this later 4: Network Layer

Getting a datagram from source to dest. misc fields 223.1.1.1 223.1.1.3 data dest. net. next router #hops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 Starting at A, given an IP datagram addressed to B: look up network address of B find B is on same network as A link layer will send datagram directly to B inside link-layer frame B and A are directly connected 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.2 223.1.3.1 223.1.3.27 A B E 4: Network Layer

Getting a datagram from source to dest. misc fields dest. net. next router #hops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.2.2 data Starting at A, destination E: look up network address of E E 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 frame datagram arrives at 223.1.1.4 continued….. 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.2 223.1.3.1 223.1.3.27 A B E 4: Network Layer

Getting a datagram from source to dest. network router #hops 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 misc fields 223.1.1.1 223.1.2.2 data Arriving at 223.1.1.4, destined for 223.1.2.2 look up network address of E E 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!!! 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.2 223.1.3.1 223.1.3.27 A B E 4: Network Layer

Next Lesson: IP Structure and Routing in the Internet 4: Network Layer

32 bit destination IP address IP datagram format IP protocol version number 32 bits total datagram length (bytes) header length (bytes) head. len. type of service ver. datagram length for fragmentation/ reassembly fragment offset “type” of data 16-bit identifier flgs max number of remaining hops (decremented at each router) time to live upper layer header checksum 32 bit source IP address 32 bit destination IP address upper layer protocol to deliver payload to (e.g. TCP, UDP, … see RFC 1700) Options (if any) e.g. timestamp, record route taken, specify list of routers to visit (field is rarely used in practice). data (variable length, typically a TCP or UDP segment) 4: Network Layer

IP Fragmentation & Reassembly network links have MTU (Max. Transfer Unit) 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 and order related fragments fragmentation: in: one large datagram out: 3 smaller datagrams reassembly 4: Network Layer

IP Fragmentation and Reassembly ID =x offset =0 More bit length =3980 One large datagram becomes several smaller datagrams ID =x offset =0 More bit =1 length =1480 ID =x offset =1480 More bit =1 length ID =x offset =2960 More bit =0 length =1020 Note: Offset is actually specified as number of 8-byte (64-bit) units. 4: Network Layer

Transport and application layer in the network core? data link physical application transport Application and transport layer uses in the core routing table updates/broadcasts router management router error reporting application transport network data link physical 4: Network Layer

ICMP: Internet Control Message Protocol Type Code description 0 0 echo reply (ping) 3 0 dest network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (congestion 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 … used by hosts, routers, gateways to communicate network-level information error reporting: unreachable host, network, port, protocol echo request/reply (used by ping) network-layer “above” IP: ICMP messages are carried in IP datagrams ICMP message: type, code, and checksum, plus header and first 8 bytes of IP datagram causing error/ response (See RFC 792, 1296*) 4: Network Layer

Routing in the Internet The Global Internet consists of Autonomous Systems (AS) interconnected with each other: Stub AS: small corporation Multi-homed AS: large corporation (no transit) Transit AS: provider Two-level routing: Intra-AS: administrator is responsible for choice Inter-AS: unique standard 4: Network Layer

Internet AS Hierarchy Inter-AS border (exterior gateway) routers Intra-AS (interior gateway) routers 4: Network Layer

Intra-AS Routing Also known as Interior Gateway Protocols (IGP) Most common IGPs: RIP: Routing Information Protocol (legacy) OSPF: Open Shortest Path First (common) EIGRP: Enhanced Interior Gateway Routing Protocol (proprietary – Cisco Systems) 4: Network Layer

RIP ( Routing Information Protocol) Distance vector algorithm Included in BSD-UNIX Distribution in 1982 RFC 1058 (version 1), RFC 1723 (version 2) Distance metric: # of hops (max = 15 hops) Can you guess why? Distance vectors: exchanged every 30 seconds via Response Message (also called advertisement) Each advertisement: routing info for maximum of 25 destination nets within the AS 4: Network Layer

RIP (Routing Information Protocol) z w x y A D B C Destination Network Next Router Num. of hops to dest. w A 2 y B 2 z B 7 x -- 1 … … … Routing table in D 4: Network Layer

RIP: Link Failure and Recovery If no advertisement heard after 180 sec --> neighbor/link declared dead routes via that neighbor are 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) 4: Network Layer

RIP Table processing example (BSD UNIX) RIP routing tables managed by application-level process called route-d (BSD UNIX daemon) advertisements sent in UDP packets, periodically repeated 4: Network Layer

RIP Table example (continued) Router: giroflee.eurocom.fr 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” to next logical level Route multicast address: 224.0.0.0 Loopback interface (for debugging) 4: Network Layer

Problems/limitations with RIP Good for small systems, but doesn’t scale well Count-to-infinity problem… poisoned reverse only Comparatively slow convergence 1979 – RIP version 2, link state algorithm 1988 – IETF initiates work on replacement 1990 – OSPF became new standard 4: Network Layer

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 However…. OSPF advertisement carries only one entry per neighbor router Advertisements disseminated to entire AS (via flooding) 4: Network Layer

OSPF “advanced” features (not in RIP) Security: all OSPF messages are authenticated (to prevent malicious intrusion); TCP connections used Multiple same-cost paths allowed (only one path in RIP) For each link, multiple cost metrics for different Types Of Service (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. 4: Network Layer

Hierarchical OSPF 4: Network Layer

Hierarchical OSPF Two-level hierarchy: local area and backbone. link-state advertisements only in local area each node 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 ASs. (Note: synonymous with the “gateway routers” we discussed in section 4.3) 4: Network Layer

EIGRP (Enhanced Interior Gateway Routing Protocol) CISCO proprietary; successor of RIP (mid 80’s) uses Distance Vector, like RIP several cost metrics (delay, bandwidth, reliability, load etc) uses TCP (!) to exchange routing updates Loop-free routing via a distributed update routing algorithm (called DUAL) based on diffused computation 4: Network Layer

Inter-AS routing 4: Network Layer

Internet inter-AS routing: BGP BGP (Border Gateway Protocol): the de facto standard Path Vector protocol: similar to Distance Vector protocol each Border Gateway broadcasts to neighbors (peers) the entire path (I.e, sequence of ASs) to destination E.g., Gateway X may send its path to destination Z: Path (X,Z) = X,Y1,Y2,Y3,…,Z 4: Network Layer

Internet inter-AS routing: BGP Suppose: gateway X send its path to peer gateway W W may or may not select a path offered by X cost, policy (don’t route via competitors AS), loop prevention reasons. If W selects a path advertised by X, then: Path (W,Z) = W, Path (X,Z) Note: X can control incoming traffic by controlling its route advertisements to peers: e.g., don’t want to route traffic to Z -> don’t advertise any routes to Z 4: Network Layer

Internet inter-AS routing: BGP 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 message; also used to close connection 4: Network Layer

Why different Intra- and Inter-AS routing ? Policy: Inter-AS: admin wants control over how its traffic is routed, who routes through its net. Intra-AS: single admin, so no policy decisions needed Scale: hierarchical routing saves table size, reduces update traffic Performance: Intra-AS: can focus on performance Inter-AS: policy may dominate over performance 4: Network Layer