1 CS716 Advanced Computer Networks By Dr. Amir Qayyum
Lecture No. 23
Where we are - What we understand Concepts of networking & network programming –Elements of networks: nodes and links –Building a packet abstraction on a link Issues related to bits/frames sent on a single link –How to detect transmission errors in a frame after encoding and framing it –How to simulate a reliable channel (sliding window) –How to arbitrate access to shared media in any network Design issues of direct link networks –Functionality of network adaptors
Where we are – What we understand How switches may provide indirect connectivity –Different ways to move through a network (forwarding) –Bridge approach to extending LAN concept –Example of a real virtual circuit network (ATM) –How switches are built and contention within switches How different networks work together –(Common connecting protocol IP) and its service model –Routing protocols in simple networks Next: large networks working together
Internetworking Reading: Peterson and Davie, Chapter 4 Global internets (scale) Dealing with global scale –Virtual geography and addresses –Hierarchical routing –Multicast traffic –MPLS Future internetworking: IPv6
How Should Hierarchy be Defined ? Hierarchy reduces information requirements for forwarding
Internetworking Main problems addressed by internetworking –Heterogeneity –Scale Bridges scale to level of medium organization IP addresses most end-to-end heterogeneity issues Today: issues of global scale
Global Internets Evolution of Internet structure Virtual geographies: networks, domains, and translations Problems of scale IP address hierarchy evolution Notion of autonomous systems (AS’s) Common intradomain routing protocols Standard interdomain routing protocol
Diameter of the Internet Connect all nodes of a network in a big ring –Network diameter will be half the ring circumference Adding more links brings down network diameter –Diameter can be quarter of the ring with one link … How many links should be added to bring the diameter below some threshold ?
Internet Structure in Recent Past 1990 Tree structure, centered around one backbone Interconnection of thousands of “organizations” –End users and service providers Scalability of routing protocols in global Internet –Network entities are administratively independent NSFNET backbone Stanford BARRNET regional Berkeley PARC NCAR UA UNM Westnet regional UNL KU ISU MidNet regional …
Internet Structure Today Multiple backbone service providers Arbitrary graph structure Different QoS in different backbones (commercial) Backbone service provider Peering point Peering point Large corporation Small corporation “ Consumer” ISP “Consumer” ISP “ Consumer” ISP Small corporation
Virtual Geographies Internet domain names (understood by people) IP network numbers (understood by routers) Internet domain name hierarchy –ASCII strings separated by periods; typical formats: host.domain.domain_type –xyz.carepvtltd.com host.subdomain.domain.domain_type –abc.cs.berkeley.edu host.domain.domain_type.country –
Virtual Geographies and IP Address Routers use IP network numbers Original intention: –One network number per physical network Closer to real geography (than domain names) Some jumps, e.g., –Divisions of one company –Organizations with network research testbeds ClassNetworkHost IP Address
Virtual Geographies and DNS Translation from domain name to IP address –Domain to IP: Domain Name Service (DNS) –IP to domain: relies on host Not secure Use reverse lookup(domain to IP) for security DNS is a hierarchical, (mostly) distributed application (more detail later)
Scaling Problems for the Internet Inefficient address allocation Too many networks for routing Can trade off between these two Questions –What network(s) should you allocate to a company with 1000 machines ? –What about a company with 200 machines ? –What about a company with 2 machines that plans to grow rapidly ?
Scaling Problems for the Internet Pressure primarily on class B networks –Most companies plan to grow beyond 255 machines –Renumbering is a hassle and can interrupt service –Only around 16,000 class B networks available (14 bit) Class B networks aren’t very efficient –Few organizations have O(10,000) machines –More likely a network uses O(1,000) of 65,000 address Scaling problems with alternatives –Multiple table entries if class C networks used instead –Protocols do not scale beyond O(10,000) networks
IP Address Hierarchy Evolution Begin with class-based system Subnetting within an organization –Network can be broken into smaller networks –Recognized only within the organization –Implemented by packet-switching –Smaller networks called subnets Class A: 0network (7)host (24 bits) Class B: 1network (14 bits)host (16 bits)0 Class C: 1network (21 bits)host (8 bits)10
Subnetting Another level to address/routing hierarchy: subnet Subnet masks define variable partition of host part Subnets visible only within site (close to each other) ClassNetworkHost IP address NetworkHost Subnetted IP address Subnet Subnet Mask Class Non- contiguous Mask
Forwarding table at router R1 Subnet Number Subnet Mask Next Hop interface interface R2 Subnetting Example All hosts have address && mask = subnet address Subnet mask: Subnet number: H1 R Subnet mask: Subnet number: R2 H Subnet mask: Subnet number: H3
Forwarding Algorithm D = destination IP address for each entry (SubnetNum, SubnetMask, NextHop) D1 = SubnetMask & D if D1 = SubnetNum if NextHop is an interface deliver datagram directly to D else deliver datagram to NextHop Comparisons in parallel, taking the longest match Use a default router if nothing matches Not necessary for 1s in subnet mask to be contiguous Can put multiple subnets on one physical network
Subnetting Subnets allow hierarchy within organizations But do not reduce class B address pressure