Review of Important Networking Concepts Review: ed communication architecture The TCP/IP protocol suite 1 Networking Concepts Protocol Architecture Protocol s Encapsulation Network Abstractions 2 1
Sending a packet from Argon to Neon argon.cerf.edu "Argon" 128.143.137.144 neon.cerf.edu "Neon" 128.143.71.21 router137.cerf.edu "Router137" 128.143.137.1 router71.cerf.edu "Router71" 128.143.71.1 Router Network Network 3 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 default 128.143.71.21 gateway with ison address my local 128.143.137.1 network. DNS: ARP: What What The IP is is the address the IP MAC address of Therefore, I can send the packet directly. of address ARP: neon.cerf.edu? The of MAC 128.143.137.1? address is of 128.143.71.21 128.143.137.1 is 00:e0:f9:23:a8:20 ARP: What is the MAC ARP: address The of MAC 128.143.71.21? address of 128.143.137.1 is 00:20:af:03:98:28 argon.cerf.edu "Argon" 128.143.137.144 neon.cerf.edu "Neon" 128.143.71.21 router137.cerf.edu "Router137" 128.143.137.1 router71.cerf.edu "Router71" 128.143.71.1 Router frame frame Network Network 4 2
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 5 TCP/IP Protocol Suite The TCP/IP protocol suite is the protocol architecture of the Internet The TCP/IP suite has four layers: Application, Transport, Network, and Data Link End systems (hosts) implement all four layers. Gateways (Routers) only have the bottom two layers. Application Transport Network Data Link Data Link Media Access Control (MAC) User-level programs Operating system Sublayer in Local Area Networks 6 3
Functions of the s Data Link : Service: Reliable transfer of frames over a link Media Access Control on a LAN Functions: Framing, media access control, error checking Network : Service: Move packets from source host to destination host Functions: Routing, addressing Transport : Service: Delivery of data between hosts Functions: Connection establishment/termination, error control, flow control Application : Service: Application specific (delivery of email, retrieval of HTML documents, reliable transfer of file) Functions: Application specific 7 TCP/IP Suite and OSI Reference Model The TCP/IP protocol stack does not define the lower layers of a complete protocol stack Application Transport Network (Data) Link TCP/IP Suite Application Presentation Session Transport Network (Data) Link Physical OSI Reference Model 8 4
Assignment of Protocols to s ping application HTTP Telnet FTP DNS SNMP Application TCP UDP Transport Routing Protocols ICMP RIP IGMP IP PIM Network DHCP OSPF ARP Data Link Network Interface 9 ed 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 N+1 N+1 Protocol N+1 layer N+1/N interface N N N Protocol N layer N/N-1 interface N-1 N-1 N-1 Protocol N-1 10 5
Service Primitives Communication services are invoked via function calls. The functions are called service primitives N+1 N+1 Peer Protocol N+1 Request Delivery Indicate Delivery N N 11 Service Primitives Recall: A layer N+1 entity sees the lower layers only as a service provider N+1 N+1 Peer Protocol N+1 Request Delivery Indicate Delivery Service Provider 12 6
Service Access Points A service user accesses services of the service provider at Service Access Points (SAPs) A SAP has an address that uniquely identifies where the service can be accessed N layer N/N-1 service interface N-1 -N - N-1 N-1 SAP 13 Exchange of Data Assume a layer-n entity at A wants to send data to a layer-n peer entity to B The unit of data send between peer entities is called a Protocol Data Unit (PDU) For now, let us think of a PDU as a single packet A N PDU (at layer N) N B What actually happens: N passes the PDU to one of A s SAPs at layer N-1 The layer N-1 entity (at A) then constructs its own PDU which it sends to the layer N-1 entity at B Note: PDU at layer N-1 = Header + PDU at layer N 14 7
Exchange of Data A B -N control N PDU When passed to the SAP, the PDU is called a Service Data Unit (SDU) (-N PDU = - N-1 SDU) -N SAPs - N-1 - N-1 control N PDU Header (of layer N-1) N PDU PDU of -N-1 15 s in the Example HTTP HTTP protocol HTTP TCP TCP protocol TCP IP IP protocol IP IP protocol IP argon.cerf.edu 128.143.137.144 router71.cerf.edu router137.cerf.edu 128.143.137.1 128.143.71.1 00:e0:f9:23:a8:20 neon.cerf.edu 128.143.71.21 16 8
s in the Example HTTP Send HTTP Request to neon HTTP Establish a connection to 128.143.71.21 at TCP port 80Open TCP connection to 128.143.71.21 port 80 IP datagram is a TCP TCP IP segment for port 80 Send a datagram (which Send contains IP data-gram a connection to Send IP datagram IP to request) to 128.143.71.21 128.143.71.21 128.143.71.21 IP Frame is an IP Frame is an IP datagram Send the datagram to 128.143.137.1 datagram Send the datagram to 128.143.7.21 argon.cerf.edu router71.cerf.edu router137.cerf.edu neon.cerf.edu 128.143.137.144 Send frame Send frame 128.143.137.1 128.143.71.1 128.143.71.21 to 00:e0:f9:23:a8:20 to 00:20:af:03:98:28 00:e0:f9:23:a8:20 17 s and Services Service provided by TCP to HTTP: reliable transmission of data over a logical connection Service provided by IP to TCP: unreliable transmission of IP datagrams across an IP network Service provided by to IP: transmission of a frame across an segment Other services: DNS: translation between domain names and IP addresses ARP: Translation between IP addresses and MAC addresses 18 9
Encapsulation As data is moving down the protocol stack, each protocol is adding layer-specific control information User data HTTP HTTP Header User data TCP HTTP Header User data IP TCP segment HTTP Header User data IP datagram Header HTTP Header User data Trailer frame 19 Encapsulation in our Example Let us look in detail at the frame between Argon and the Router, which contains the TCP connection request to Neon. This is the frame in hexadecimal notation. 00e0 f923 a820 00a0 2471 e444 0800 4500 002c 9d08 4000 8006 8bff 808f 8990 808f 4715 065b 0050 0009 465b 0000 0000 6002 2000 598e 0000 0204 05b4 20 10
Encapsulation 6 bytes destination address source address type 4 bytes CRC Header Application data Trailer frame 21 Encapsulation: Header 6 bytes 00:e0:f9:23:a8:20 0:a0:24:71:e4:44 0x0800 4 bytes CRC Header Application data Trailer frame 22 11
Encapsulation: 32 bits version (4 bits) header length TTL Time-to-Live (8 bits) DS Identification (16 bits) Protocol (8 bits) ECN flags (3 bits) Total Length (in bytes) (16 bits) Fragment Offset (13 bits) Header Checksum (16 bits) Source IP address (32 bits) Destination IP address (32 bits) Header Application data Trailer frame 23 Encapsulation: 32 bits 0x4 0x5 0x0 0x0 44 10 9d08 010 2 0000000000000 2 128 10 0x06 8bff 128.143.137.144 128.143.71.21 Header Application data Trailer frame 24 12
Encapsulation: 32 bits Source Port Number Destination Port Number Sequence number (32 bits) header length Acknowledgement number (32 bits) 0 Flags TCP checksum option type length window size urgent pointer Max. segment size Option: maximum segment size Header Application data Trailer frame 25 Encapsulation: 32 bits 1627 10 80 10 607835 10 0 10 819210 6 10 000000 2 000010 2 0x598e 0000 2 2 10 4 10 1460 10 Header Application data Trailer frame 26 13
Encapsulation: Application data No Application Data in this frame Header Application data Trailer frame 27 Different Views of Networking Different s of the protocol stack have a different view of the network. This is HTTP s and TCP s view of the network. Argon 128.143.137.144 Neon 128.143.71.21 HTTP client HTTP server HTTP server TCP client TCP server TCP server IP Network 28 14
Network View of IP Protocol 128.143.137.144 128.143.71.21 128.143.137.1 128.143.71.1 Router 128.143.137.0/24 Subnetwork 128.143.71.0/24 Subnetwork 29 Different Views of Networking s view of the network Argon (128.143.137.144) Router137 (128.143.137.1) Network 30 15
View of Network Hardware Argon TCP Building neon IP Building 100 Mbps 10 Mbps router71 / router137 155 Mbps ATM 155 Mbps ATM 622 Mbps ATM 31 16