1 / 47

Computer Networks 1

Computer Networks 1. Lectured by: Nguyễn Lê Duy Lai. Lecture 6: The Network Layer in the Internet. Reference : Chapter 5 - “Computer Networks”, Andrew S.  Tanenbaum , 4th Edition, Prentice Hall, 2003. Outline. The IP Protocol IP Addresses Internet Control Protocols

norah
Download Presentation

Computer Networks 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Networks 1 Lectured by: NguyễnLêDuy Lai HCM City University of Technology

  2. Lecture 6: The Network Layer in the Internet • Reference: Chapter 5 - “Computer Networks”, Andrew S. Tanenbaum, 4th Edition, Prentice Hall, 2003. HCM City University of Technology

  3. Outline • The IP Protocol • IP Addresses • Internet Control Protocols • OSPF – The Interior Gateway Routing Protocol • BGP – The Exterior Gateway Routing Protocol • IPv6

  4. Design Principles for Internet • Make sure it works • Keep it simple • Make clear choices • Exploit modularity • Expect heterogeneity • Avoid static options and parameters • Look for a good design; it need not be perfect • Be strict when sending and tolerant when receiving • Think about scalability • Consider performance and cost

  5. Collection of Subnetworks • The Internet is an interconnected collection of many networks

  6. Internet Protocol (IP) • IP was designed from the beginning with internetworking in mind • The job is to provide a best-efforts way to transport datagrams from source to destination, without regard to the network location • The transport layer takes data streams and breaks them up into datagrams • Each datagram is transmitted through the Internet, possibly being fragmented into smaller units as it goes • When all the pieces finally get to the destination machine, they are reassembled by the network layer into the original datagram

  7. IP Datagram Format • IPv4 datagram = IP header + Data (from Transport Layer)

  8. IP Header • Version: version of the protocol used (version 4, actually) • IHL: IP header length (number of 32-bit words) • Type of service (ToS): combination of reliability and speed, commonly ignored by routers • Total length: length of the datagram • Identification: to identify a fragment within a datagram • DF: don’t fragment, tell the routers not to fragment • MF: more fragments • Time-to-live: a time counter to limit the message lifetime • Header checksum: of the header only • Source and destination addresses: address of the source and destination of the datagram

  9. IP Options • IP header = 20-byte fixed + a variable length options • Some of the IP options

  10. IP Addresses • Every host and router on the Internet has an IP address, which encodes its network number and host number

  11. IP Address Classes • Class A: 128 networks, 16 million hosts each • Class B: 16.384 networks, 64 thousands hosts each • Class C: 2 million networks, 256 hosts each • Class D: for multicast • Class E: Reserved • Network numbers are managed by a nonprofit corporation called ICANN (Internet Corporation for Assigned Names and Numbers) to avoid conflicts

  12. Special IP Addresses • 32-bit IP address is written in dotted decimal notation • The values 0 (all 0s) and 1 (all 1s) have special meanings

  13. Subnets • A campus network consisting of LANs for various departments

  14. Subnet and Subnet Mask • Some bits are taken away from the host number to create a subnet number • Subnet masks are used to indicate the splits between network, subnet number and host number • Ex: A class B network subnetted into 64 subnets (6 bits)

  15. Subnetting • Subnetting is the solution to allow a network to be split into several parts for internal use but still act like a single network to the outside world • Example: 130.50.0.0/16 -> 130.50.0.0/24 • Subnet 1: 10000010 00110010 000001|00 00000001 (130.50.4.1) • Subnet 2: 10000010 00110010 000010|00 00000001 (130.50.8.1) • Subnet 3: 10000010 00110010 000011|00 00000001 (130.50.12.1)

  16. Routing with Subnetting • Each router has a table listing some number of (network, 0) IP addresses and some number of (this-network, host) IP addresses • (this-network, subnet, 0): to route message to another subnet • (this-network, this-subnet, host): to route message to a host within this-subnet • Associated with each table is the network interface to use to reach the destination, and certain other information • When an IP packet arrives, its destination address is looked up in the routing table: • If the packet is for a distant network, it is forwarded to the next router on the interface given in the table • If it is a local host (e.g., on the router's LAN), it is sent directly to the destination

  17. IP Addressing Issues • IP is rapidly becoming a victim of its own popularity: it is running out of addresses • Practice of organizing the address space by classes wastes millions address • The routing table explosion: Routers do have to know about all the networks • Complexity of various algorithms relating to management of the tables • Various routing algorithms require each router to transmit its tables periodically

  18. CIDR – Classless InterDomain Routing • Allocate IP addresses in variable size block without regard to classes • Routing process is more complicated • Ex: A set of IP address assignments for 3 universities

  19. IP Address Aggregation • Binary address of 3 universities • C: 11000010 00011000 00000000 00000000 • Mask: 11111111 11111111 11111000 00000000 • E: 11000010 00011000 00001000 00000000 • Mask: 11111111 11111111 11111100 00000000 • O: 11000010 00011000 00010000 00000000 • Mask: 11111111 11111111 11110000 00000000 • The router software can combine all three entries into a single aggregateentry 194.24.0.0/19 with a binary address and submask as follows: • A: 11000010 0000000 00000000 00000000 • Mask: 11111111 11111111 11100000 00000000

  20. ISP Issues and Solution • IP addresses are scarce • Dynamically assign an IP address to a computer when calling up/loging in and take the IP address back when ending the session • Business customers expect to be on-line continuously • ADSL or Internet over cable make matters worse • This quick fix came in the form of NAT(Network Address Translation)

  21. NAT – Network Address Translation • Placement and operation of a NAT box

  22. Private IP Address • Assign each company a small number of IP address • Within the company, every computer gets a unique private IP address, which is used for routing intramural traffic • 10.0.0.0 10.255.255.255/8 (16,777,216 hosts) • 172.16.0.0 172.31.255.255/12 (1,048,576 hosts) • 192.168.0.0 192.168.255.255/16 (65,536 hosts) • When a packet exits the company and goes to the ISP, an address translation takes place

  23. NAT – Mapping • Use TCP or UDP header (source port field) of a message to keep track of its outgoing connection • The TCP Source port field is replaced by an index into the NAT box's 65,536-entry translation table. This table entry contains the original IP address and the original source port • Incoming message address is reversed back to original private IP and source port using the index • The NAT box is often combined in a single device with a firewall

  24. ICMP - Internet Control Message Protocol • Used when unexpected events occurred in the network, also used to test the network • The principal ICMP message types

  25. ARP – The Address Resolution Protocol • Used to map an IP addresses to data link layer addresses, (e.g. Ethernet addresses) • Ex: 3 interconnected /24 networks: two Ethernets and an FDDI ring

  26. ARP Optimization • Once a machine has run ARP, it caches the result in case it needs to contact the same machine shortly • All machines on the Ethernet can enter this mapping into their ARP caches • Every machine broadcast its mapping when it boots • Entries in the ARP cache should time out after a few minutes • Proxy ARP used on Router when searching a MAC address of host on different network

  27. RARP, BOOTP • Given an Ethernet address, what is the corresponding IP address? • RARP (Reverse Address Resolution Protocol) allows a newly-booted workstation to broadcast its Ethernet address to find out its IP address • An alternative bootstrap protocol called BOOTP using UDP message, which are forwarded over routers • Problem with BOOTP is that it requires manual configuration of tables mapping IP address to Ethernet address

  28. DHCP – Dynamic Host Configuration Protocol • A replacement for RARP (Reverse ARP) and BOOTP • Since the DHCP server may not be reachable by broadcasting, a DHCP relay agent is needed on each LAN

  29. Routing in The Internet • The Internet is made up of a large number of autonomous systems (ASes) • Each AS is operated by a different organization and can use its own routing algorithm inside • A routing algorithm within an AS is called an interior gateway protocol (IGP) • An algorithm for routing between ASes is called an exterior gateway protocol (EGP)

  30. OSPF – Open Shortest Path First • To replace RIP (distance vector protocol) with non-scalable, count-to-infinity, slow convergence problems • Similar to Link State Routing Protocol • Requirements: • Open, dynamic algorithm • Support variety of distance metrics • Support service based routing • Do load balancing • Support hierarchical systems • Security

  31. OSPF: Connections and Network • OSPF supports three kinds of connections and networks: • Point-to-point lines between exactly two routers. • Multiaccess networks with broadcasting (e.g., most LANs). • Multiaccess networks without broadcasting (e.g., most packet-switched WANs)

  32. OSPF Graph (a) An autonomous system. (b)A graph representation

  33. OSPF Operations • Abstracting the collection of actual networks, routers, and lines into a directed graph • Each arc is assigned a cost (distance, delay,...) • Computing the shortest path based on the weights on the arcs from every router to every other router • OSPF allows ASes to be divided into numbered Areas • Areas do not overlap but need not be exhaustive

  34. OSPF Design

  35. OSPF Routes • Three kinds of routes may be needed: intra-area, inter-area, and inter-AS • Inter-area routing always proceeds in three steps: go from the source to the backbone; go across the backbone to the destination area; go to the destination • OSPF class of routers: Internal, Area Border Router (ABR), AS Boundary Router (ASBR)

  36. OSPF Messages • When a router boots, it sends HELLO messages to all other routers • OSPF works by exchanging information between adjacent routers • Each router periodically floods LINK STATE UPDATE messages to each of its adjacent routers

  37. Border Gateway Protocol (BGP) • A different protocol is needed between ASes because the goals of an interior gateway protocol and an exterior gateway protocol are not the same • Exterior gateway protocol routers have to worry about politics a great deal • BGP in particular, have been designed to allow many kinds of routing policies to be enforced in the inter-ASes traffic

  38. BGP – Introduction • Point of view of a BGP router, the world consists of ASes and the lines connecting them • Often constrained by: • Politics • Security • Economic considerations • Policies are typically manually configured into each BGP router

  39. BGP: Network Categories • Stub networks: have only one connection to the BGP graph. These cannot be used for transit traffic because there is no one on the other side • Multiconnected networks: could be used for transit traffic, except that they refuse • Transit networks: such as backbones, which are willing to handle third-party packets, possibly with some restrictions, and usually for pay

  40. BGP: Characteristics • Fundamentally a distance vector protocol • BGP routers communicate by establishing TCP connection • Instead of maintaining just the cost to each destination, each BGP router keeps track of the path used • Each BGP router tells its neighbors the exact path it is using

  41. BGP: Path Determination • After all the paths come in from the neighbors, F examines them to see which is the best • Every BGP router contains a module that examines routes to a given destination and scores them

  42. IPv6 • IPv4 address is going to be exhausted in the very near future • IPv6 is introduced to cop with increasing demand for IP address • IPv6 is designed, that would: • never run out of addresses • solve a variety of other problems • be more flexible and efficient as well

  43. IPv6 Design Goals • Support billions of hosts, even with inefficient address space allocation • Reduce the size of the routing tables • Simplify the protocol, to allow routers to process packets faster • Provide better security (authentication and privacy) than current IP • Pay more attention to type of service, particularly for real-time data • Aid multicasting by allowing scopes to be specified • Make it possible for a host to roam without changing its address • Allow the protocol to evolve in the future • Permit the old and new protocols to coexist for years

  44. IPv6 Features • Pv6 is not compatible with Ipv4 • Other auxiliary Internet protocols, including TCP, UDP, ICMP, IGMP, OSPF, BGP, and DNS are mostly compatible • IPv6 has longer addresses than Ipv4 • IPv6 represents a big advance is in security • Quality of service has been paid more attention • The simplification of the header, better support for options

  45. The Main IPv6 Header

  46. Extension Headers • IPv6 has introduced the concept of an (optional) extension header • Some of the headers have a fixed format; others contain a variable number of variable-length fields

  47. IPv6 Address • 16-byte length address • Consists of eight groups of 4 hex digits with colon between groups • 8000:0000:0000:0000:0123:4567:89AB:CDEF • Leading zero can be ommited • One or more groups of 16-zero bits can be replace by a pair of colons: • 8000::123:4567:89AB:CDEF • IPv4 addresses can be written as a pair of colons and old dotted decimal number: • ::192.31.20.46

More Related