Review of Important Networking Concepts Introductory material using Prof. Liebeherr on-line notes Review of important networking concepts: protocol architecture, protocol layers, encapsulation, demultiplexing, network abstractions. Networking Concepts Layered Architecture to reduce complexity Encapsulation Abstractions Sending a packet from Argon to Neon neon.netlab.edu "Neon" 128.143.71.21 argon.netlab.edu "Argon" 128.143.137.144 router137.netlab.edu "Router137" 128.143.137.1 router71.netlab.edu "Router71" 128.143.71.1 Router Ethernet Network Ethernet Network Sending a packet from Argon to Neon 128.143.71.21 is not on my local network. Therefore, I need to send the packet to my 128.143.71.21 on my local network. default gateway withisaddress 128.143.137.1 DNS: DNS: The is IPisthe address address of Therefore, I can send the packet directly. ARP:What What theIPMAC of“neon.netlab.edu “neon.netlab.edu ””is? of address 128.143.137.1? ARP: TheofMAC address 128.143.71.21 128.143.137.1 is 00:e0:f9:23:a8:20 argon.netlab.edu "Argon" 128.143.137.144 ARP: What is the MAC ARP: TheofMAC address of address 128.143.71.21? neon.netlab.edu 128.143.137.1 is 00:20:af:03:98:28 "Neon" 128.143.71.21 router137.netlab.edu "Router137" 128.143.137.1 router71.netlab.edu "Router71" 128.143.71.1 Router frame Ethernet Network frame Ethernet Network What’s a protocol? human protocols: “what’s the time?” “I have a question” introductions … specific msgs sent … specific actions taken when msgs received, or other events network protocols: machines rather than humans all communication activity in Internet governed by protocols protocols define format, order of msgs sent and received among network entities, and actions taken on msg transmission, receipt What’s a protocol? a human protocol and a computer network protocol: Hi TCP connection req Hi TCP connection response Got the time? Get http://www.awl.com/kurose-ross 2:00 <file> time Q: Other human protocols? Communications Architecture The complexity of the communication task is reduced by using multiple protocol layers: Each protocol is implemented independently Each protocol is responsible for a specific subtask Protocols are grouped in a hierarchy A structured set of protocols is called a communications architecture or protocol suite TCP/IP Protocol Suite The TCP/IP protocol suite is the protocol architecture of the Internet Application The TCP/IP suite has four layers: Application, Transport, Network, and Data Link Layer Network End systems (hosts) implement all four layers. Gateways (Routers) only have the bottom two layers. User-level programs Transport Operating system Data Link Data Link Media Access Control (MAC) Sublayer in Local Area Networks Functions of the Layers Data Link Layer: Service: Functions: Network Layer: Service: Functions: Move packets from source host to destination host Routing, addressing Transport Layer: Reliable transfer of frames over a link Media Access Control on a LAN Framing, media access control, error checking Service: Functions: Delivery of data between hosts Connection establishment/termination, error control, flow control Application Layer: Service: Functions: Application specific (delivery of email, retrieval of HTML documents, reliable transfer of file) Application specific TCP/IP Suite and OSI Reference Model The TCP/IP protocol stack does not define the lower layers of a complete protocol stack Application Layer Application Layer Transport Layer Network Layer (Data) Link Layer Presentation Layer Session Layer Transport Layer Network Layer (Data) Link Layer Physical Layer TCP/IP Suite OSI Reference Model Assignment of Protocols to Layers ping application HTTP Telnet FTP TCP DNS SNMP Application Layer Transport Layer UDP Routing Protocols ICMP RIP IP IGMP PIM Network Layer OSPF DHCP ARP Ethernet Network Interface Data Link Layer Layered Communications An entity of a particular layer can only communicate with: 1. a peer layer entity using a common protocol (Peer Protocol) 2. adjacent layers to provide services and to receive services N+1 Layer N+1 Layer Entity N+1 Layer Protocol N+1 Layer Entity N Layer Entity N Layer Protocol N Layer Entity N-1 Layer Entity N-1 Layer Protocol N-1 Layer Entity layer N+1/N interface N Layer layer N/N-1 interface N-1 Layer Service Primitives Communication services are invoked via function calls. The functions are called service primitives N+1 Layer Entity Request Delivery N Layer Entity N+1 Layer Peer Protocol N+1 Layer Entity Indicate Delivery N Layer Entity Service Primitives Recall: A layer N+1 entity sees the lower layers only as a service provider N+1 Layer Entity N+1 Layer Peer Protocol N+1 Layer Entity Indicate Delivery Request Delivery Service Provider Layers in the Example HTTP HTTP protocol HTTP TCP TCP protocol TCP IP Ethernet IP IP protocol Ethernet argon.netlab.edu 128.143.137.144 Ethernet IP protocol Ethernet Ethernet router71.netlab.edu router137.netlab.edu 128.143.137.1 128.143.71.1 00:e0:f9:23:a8:20 IP Ethernet neon.netlab.edu 128.143.71.21 Layers in the Example HTTP TCP IP Frame is an IP datagram Ethernet HTTP Send HTTP Request to neon Establish a connection to 128.143.71.21 at port 80Open TCP connection to 128.143.71.21 port 80 IP datagram is a TCP segment for port 80 IP data-gram to Send a datagram (which contains a connection IPSend Send IP datagram to 128.143.71.21 request) to 128.143.71.21 128.143.71.21 Frame is an IP datagram Send the datagram to 128.143.137.1 Ethernet Ethernet TCP IP Send the datagram Ethernet to 128.143.7.21 argon.netlab.edu neon.tcpip-lab.edu router71.netlab.edu router137.netlab.edu Send Ethernet frame Send Ethernet frame 128.143.71.1 128.143.137.144 128.143.71.21 128.143.137.1 to 00:20:af:03:98:28 to 00:e0:f9:23:a8:20 00:e0:f9:23:a8:20 Layers and Services Service provided by TCP to HTTP: Service provided by IP to TCP: unreliable transmission of IP datagrams across an IP network Service provided by Ethernet to IP: reliable transmission of byte streams over a logical connection transmission of a frame across an Ethernet segment Other services: DNS: translation between domain names and IP addresses ARP: Translation between IP addresses and MAC addresses Encapsulation & Demultiplexing As data is moving down the protocol stack, each protocol is adding layer-specific control information User data HTTP HTTP Header User data HTTP Header User data TCP TCP Header IP TCP segment IP Header Ethernet TCP Header HTTP Header User data IP datagram Ethernet Header IP Header TCP Header HTTP Header Ethernet frame User data Ethernet Trailer Encapsulation & Demultiplexing in our Example Let us look in detail at the Ethernet frame between Argon and the Router, which contains the TCP connection request to Neon. This is the frame in hexadecimal notation. 00e0 002c 4715 2000 f923 9d08 065b 598e a820 4000 0050 0000 00a0 8006 0009 0204 2471 e444 0800 4500 8bff 808f 8990 808f 465b 0000 0000 6002 05b4 Encapsulation & Demultiplexing 6 bytes destination address 4 bytes source address type Ethernet Header CRC IP Header TCP Header Ethernet frame Application data Ethernet Trailer Encapsulation & Demultiplexing: Ethernet Header 6 bytes 00:e0:f9:23:a8:20 4 bytes 0:a0:24:71:e4:44 0x0800 Ethernet Header CRC IP Header TCP Header Ethernet frame Application data Ethernet Trailer Encapsulation & Demultiplexing: IP Header 32 bits version (4 bits) header length DS flags (3 bits) Identification (16 bits) TTL Time-to-Live (8 bits) Total Length (in bytes) (16 bits) ECN Protocol (8 bits) Fragment Offset (13 bits) Header Checksum (16 bits) Source IP address (32 bits) Destination IP address (32 bits) Ethernet Header IP Header TCP Header Ethernet frame Application data Ethernet Trailer Encapsulation & Demultiplexing: IP Header 32 bits 0x4 0x5 0x0 0x0 9d08 12810 4410 0102 00000000000002 0x06 8bff 128.143.137.144 128.143.71.21 Ethernet Header IP Header TCP Header Ethernet frame Application data Ethernet Trailer Encapsulation & Demultiplexing: TCP Header 32 bits Source Port Number Destination Port Number Sequence number (32 bits) Acknowledgement number (32 bits) header length 0 Flags TCP checksum option type Ethernet Header IP Header length window size urgent pointer Max. segment size TCP Header Ethernet frame Application data Option: maximum segment size Ethernet Trailer Encapsulation & Demultiplexing: TCP Header 32 bits 162710 8010 60783510 010 610 0000002 0000102 0x598e 210 Ethernet Header IP Header 819210 00002 410 TCP Header Ethernet frame 146010 Application data Ethernet Trailer Encapsulation & Demultiplexing: Application data Ethernet Header IP Header TCP Header Ethernet frame Application data Ethernet Trailer Different Views of Networking Different Layers of the protocol stack have a different view of the network. This is HTTP’s and TCP’s view of Neon the network.Argon 128.143.137.144 128.143.71.21 HTTP client HTTP server HTTP server TCP client TCP server TCP server IP Network Network View of IP Protocol Network View of Ethernet Ethernet’s view of the network The Evolution of Internet Introductory material. An overview lecture that covers Internet related topics, including a definition of the Internet, an overview of its history and growth, and standardization and naming. A Definition On October 24, 1995, the FNC unanimously passed a resolution defining the term Internet. •RESOLUTION: The Federal Networking Council (FNC) agrees that the following language reflects our definition of the term "Internet". "Internet" refers to the global information system that -•(i) is logically linked together by a globally unique address space based on the Internet Protocol (IP) or its subsequent extensions/follow-ons; •(ii) is able to support communications using the Transmission Control Protocol/Internet Protocol (TCP/IP) suite or its subsequent extensions/follow-ons, and/or other IP-compatible protocols; and •(iii) provides, uses or makes accessible, either publicly or privately, high level services layered on the communications and related infrastructure described herein. Internet History 1961-1972: Early packet-switching principles 1961: Kleinrock - queueing theory shows effectiveness of packet-switching 1972: 1964: Baran - packetswitching in military nets 1967: ARPAnet conceived by Advanced Research Projects Agency 1969: first ARPAnet node operational ARPAnet demonstrated publicly NCP (Network Control Protocol) first host-host protocol first e-mail program ARPAnet has 15 nodes Internet History 1972-1980: Internetworking, new and proprietary nets 1970: ALOHAnet satellite network in Hawaii 1973: Metcalfe’s PhD thesis proposes Ethernet 1974: Cerf and Kahn architecture for interconnecting networks late70’s: proprietary architectures: DECnet, SNA, XNA late 70’s: switching fixed length packets (ATM precursor) 1979: ARPAnet has 200 nodes Cerf and Kahn’s internetworking principles: minimalism, autonomy - no internal changes required to interconnect networks best effort service model stateless routers decentralized control define today’s Internet architecture Internet History 1990, 2000’s: commercialization, the Web, new apps Early 1990’s: ARPAnet decommissioned 1991: NSF lifts restrictions on commercial use of NSFnet (decommissioned, 1995) early 1990s: Web hypertext [Bush 1945, Nelson 1960’s] HTML, HTTP: Berners-Lee 1994: Mosaic, later Netscape late 1990’s: commercialization of the Web Late 1990’s – 2000’s: more killer apps: instant messaging, P2P file sharing network security to forefront est. 50 million host, 100 million+ users backbone links running at Gbps Applications of the Internet Traditional core applications: Email News Remote Login File Transfer The killer application: World-Wide Web (WWW), P2P Future applications: Videoconferencing and Telephony Multimedia Services Internet Broadcast Growth of the Internet Source: Internet Software Consortium Internet Infrastructure Regional Network Backbone Network Regional Network IXP local ISP IXP Backbone Network local ISP Regional Network local ISP IXP corporate network Regional Network campus network Internet Infrastructure The infrastructure of the Internet consists of a federation of connected networks that are each independently managed (“autonomous system”) Note: Each “autononmous system may consist of multiple IP networks Hierarchy of network service providers Tier-1: nation or worldwide network (US: less than 20) Tier-2: regional networks (in US: less than 100) Tier-3: local Internet service provider (in US: several thousand) Internet Infrastructure Location where a network (ISP, corporate network, or regional network) gets access to the Internet is called a Point-of-Presence (POP). Locations (Tier-1 or Tier-2) networks are connected for the purpose of exchanging traffic are called peering points. Public peering: Traffic is swapped in a specific location, called Internet exchange points (IXPs) Private peering: Two networks establish a direct link to each other. Tier-1 ISP: e.g., Sprint Sprint US backbone network Who is Who on the Internet ? Internet Society (ISOC): Founded in 1992, an international nonprofit professional organization that provides administrative support for the Internet. Founded in 1992, ISOC is the organizational home for the standardization bodies of the Internet. Internet Engineering Task Force (IETF): Forum that coordinates the development of new protocols and standards. Organized into working groups that are each devoted to a specific topic or protocol. Working groups document their work in reports, called Request For Comments (RFCs). IRTF (Internet Research Task Force): The Internet Research Task Force is a composed of a number of focused, long-term and small Research Groups. Internet Architecture Board (IAB): a technical advisory group of the Internet Society, provides oversight of the architecture for the protocols and the standardization process The Internet Engineering Steering Group (IESG): The IESG is responsible for technical management of IETF activities and the Internet standards process. Standards. Composed of the Area Directors of the IETF working groups. Internet Standardization Process Working groups present their work i of the Internet are published as RFC (Request for Comments). RFCs are the basis for Internet standards. Not all RFCs become Internet Standards ! (There are >3000 RFCs and less than 70 Internet standards A typical (but not only) way of standardization is: Internet Drafts RFC Proposed Standard Draft Standard (requires 2 working implementation) Internet Standard (declared by IAB) Assigning Identifiers for the Internet Who gives University the domain name “netlab.edu” and who assigns it the network prefix “128.143.0.0/16”? Who assigns port 80 as the default port for web servers? The functions associated with the assignment of numbers is referred to as Internet Assigned Number Authority (IANA). Early days of the Internet: IANA functions are administered by a single person (Jon Postel). Today: Internet Corporation for Assigned Names and Numbers (ICANN) assumes the responsibility for the assignment of technical protocol parameters, allocation of the IP address space, management of the domain name system, and others. Management of IP address done by Regional Internet Registries (RIRs): APNIC (Asia Pacific Network Information Centre) RIPE NCC (Réseaux IP Européens Network Coordination Centre) ARIN (American Registry for Internet Numbers) Domain names are administered by a large number of private organizations that are accredited by ICANN. Summary Layered Internet architecture Reduce complexity Higher layer views lower layer as service provider Application layer, transport layer, network layer, and link layer