Principles of Computer System Design Lecture 6 on Network Naming

naming in networking n.w
1 / 25
Embed
Share

Explore network naming principles in computer system design with examples of different types of names, including URLs, hostnames, IP addresses, and MAC addresses. Learn about the Internet Protocol stack, MAC layer names, and the importance of globally unique identifiers for network interfaces.

  • Networking
  • Computer Systems
  • Naming Principles
  • Internet Protocol
  • MAC Addresses

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Naming in Networking COS 316: Principles of Computer System Design Lecture 6 Wyatt Lloyd & Rob Fish

  2. Network Naming Type of Name Example Uniform Resource Locator http://cs.princeton.edu/~wlloyd/index.html Hostname cs.princeton.edu Internet Protocol (IP) Address Media Access Control (MAC) Address 128.112.136.61 00:15:C5:49:04:A9 2

  3. Internet Protocol Stack Application Hostname, URL Application Messages Reliable streams Transport <More on this later> Datagrams IP address Best-effort global packet delivery Network Best-effort local packet delivery MAC address Link Bit delivery Physical 3

  4. Internet Protocol Stack host host HTTP message Hostname, URL HTTP HTTP TCP segment <More later> TCP TCP router router IPpacket IPpacket IPpacket IP address IP IP IP IP MAC address Ethernet interface Ethernet interface Optical interface Ethernet interface Ethernet interface Optical interface 5 Ethernet frame Ethernet frame

  5. MAC Layer Names for Local Packet Delivery What are we naming? Values: Names: Network interfaces Ethernet interface WiFi interface Allocation: Lookup:

  6. MAC Layer Names for Local Packet Delivery Who will use the names? Values: Network Interfaces Network adaptors This packet is for you. Is this packet for me? Ethernet interface Names: Allocation: Goals for name? Fast and easy for adaptors to check Lookup:

  7. MAC Layer Names for Local Packet Delivery Who will use the names? Values: Network Interfaces Network adaptors This packet is for you. Is this packet for me? Ethernet interface Names: Allocation: Goals for name? Fast and easy for adaptors to check Globally unique Lookup: MAC addresses are 48-bit addresses 00:15:C5:49:04:A9

  8. MAC Layer Names for Local Packet Delivery Globally unique names? Values: Network Interfaces Ask central authority for every name? X Names: 48-bit address Random allocation? X Allocation: Two-level allocation? Central authority allocates blocks to vendors Vendors assigns address for its blocks 00:15:C5:49:04:A9 Dell Lookup:

  9. MAC Layer Names for Local Packet Delivery Lookup Flood packet to all hosts in the network (Optionally) learn what direction to go Values: Network Interfaces Names: 48-bit address Allocation: Vendor from their assigned blocks Lookup: Local flooding

  10. Network Layer Names for Global Packet Delivery What are we naming? Values: Names: Hosts My laptop Zoom server Your laptop Allocation: Lookup:

  11. Network Layer Names for Global Packet Delivery router Who will use the names? Values: Hosts IP Routers Where is this packet headed? Optical interface Ethernet interface Names: Allocation: Lookup:

  12. Network Layer Names for Global Packet Delivery router Who will use the names? Values: Hosts IP Routers Where is this packet headed? Optical interface Ethernet interface Names: Goals for name? Fast and easy for routers to process Globally unique Location-based: enable routing packets to destination Allocation: Lookup: IP addresses are 32 or 128 bit addresses 128.112.7.156

  13. Network Layer Names for Global Packet Delivery Values: Hosts Globally unique and location-based names? Multi-level allocation? ICANN assigns large blocks to Regional Internet registries assign sub-blocks to Internet Service Providers assign addresses to Hosts Names: 32 bit address Allocation: Lookup: ISPs serve a group of nearby hosts ISPs can route to hosts in their sub-blocks

  14. Network Layer Names for Global Packet Delivery How to map 128.112.7.156 to host? Values: Hosts Names: 32 bit address Network Routing! Can t get all the way there right away, so figure out next hop: use routing table Routing protocols map destination to next- hop IP address (fill in routing table) BGP, OSPF, RIP, ARP maps next-hop IP address to MAC address Allocation: Multi-level, location based Lookup:

  15. Network Layer Names for Global Packet Delivery Values: Hosts ARP: Address Resolution Protocol briefly Names: 32 bit address Broadcast Request: Who has 128.112.7.156? Allocation: Multi- level, location-based Broadcast Response: 00:15:C5:49:04:A9 has 128.112.7.156 Lookup: Routing table for next-hop IP; ARP next-hop IP -> MAC address Hosts cache responses, lookup in local table

  16. Host Names for Applications {Websites} What are we naming? Values: Names: Hosts CS department webserver COS316 webserver Allocation: Lookup:

  17. Host Names for Applications {Websites} Who will use the names? Values: Hosts People Names: Goals for name? Memorable Reflect organizational hierarchical e.g., educational?, princeton? Allocation: Lookup: Hostnames are variable length, hierarchical strings www.cs.princeton.edu vs cos316.princeton.edu

  18. Host Names for Applications {Websites} Globally unique and organizational- hierarchy-based names? Values: Hosts Names: hierarchical variable-length strings Multi-level allocation? IANA assigns top-level domains .com, .edu, Registries assigns second-level domains princeton.edu Organizations assign subdomains cs.princeton.edu OR cos316.princeton.edu And so on www.cs.princeton.edu Allocation: Lookup:

  19. Host Names for Applications {Websites} Values: Hosts How to map cos316.princeton.edu to host? Names: hierarchical variable-length strings Map to IP address, give to networking layer Domain Name System (DNS) maps a hostname to an IP address Allocation: Multi-level, organization based Lookup:

  20. Host Names for Applications {Websites} Values: Hosts How to map cos316.princeton.edu to host? Names: hierarchical variable-length strings Map to IP address, give to networking layer Domain Name System (DNS) maps a hostname to an IP address Allocation: Multi-level, organization based Lookup: DNS maps hostname to IP

  21. Different Layers, Different Names Host name (e.g., www.cs.princeton.edu) Mnemonic, variable-length, appreciated by humans Hierarchical, based on organizations IP address (e.g., 128.112.136.61) Numerical 32-bit address appreciated by routers Hierarchical, based on organizations and location MAC address (e.g., 00:15:C5:49:04:A9) Numerical 48-bit address appreciated by adapters Hierarchical, based on vendors, unrelated to location

  22. Hierarchical Allocation Processes Host name: www.cs.princeton.edu Domain: registries for each top-level domain (e.g., .edu) Host name: local administrator assigns to each host IP addresses: 128.112.136.61 Prefixes: ICANN, regional Internet registries, and ISPs Hosts: static configuration, or dynamic using DHCP MAC addresses: 00:15:C5:49:04:A9 Blocks: assigned to equipment vendors by the IEEE Adapters: assigned by the vendor from its block

  23. Different Layers, Different Lookup Protocols Host name -> IP address via Domain Name System (DNS) Destination IP address to next-hop address via routing table (populated by network routing protocols) Next-hop IP address to MAC address via ARP MAC address to network interface via local flooding (or learning)

  24. Network Naming Conclusion Network names identify remote endpoints Different layers, different names Who will use the name? Multi-level hierarchical allocation Goals: Unique , reflect organizations , location-based? Different layers, different lookup protocols We covered ARP, COS 461 covers them all More on network layers next time

More Related Content