* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Review of Important Networking Concepts TCP/IP Introductory
Airborne Networking wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Network tap wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Wake-on-LAN wikipedia , lookup
SIP extensions for the IP Multimedia Subsystem wikipedia , lookup
Power over Ethernet wikipedia , lookup
Deep packet inspection wikipedia , lookup
Computer network wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
TCP congestion control wikipedia , lookup
Point-to-Point Protocol over Ethernet wikipedia , lookup
Real-Time Messaging Protocol wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Review of Important Networking Concepts TCP/IP Introductory material. This module uses the example from the previous module to review important networking concepts: protocol architecture, protocol layers, encapsulation, demultiplexing, network abstractions. 1 Networking Concepts • Addressing TCP/IP • Protocol Architecture • Protocol Layers • Encapsulation • Network Abstractions 2 TCP/IP PROTOCOL SUITE The layers in the TCP/IP protocol suite do not exactly match those in the OSI model. The original TCP/IP protocol suite was defined as having four layers: host-to-network, internet, transport, and application. However, when TCP/IP is compared to OSI, we can say that the TCP/IP protocol suite is made of five layers: physical, data link, network, transport, and application. 3 Summary of OSI layers 4 TCP/IP and OSI model 5 ADDRESSING TCP/IP Four levels of addresses are used in an internet employing the TCP/IP protocols: physical, logical, port, and specific. 6 Relationship of layers and addresses in TCP/IP 7 Example of Physical addresses In Figure a node with physical address 10 sends a frame to a node with physical address 87. The two nodes are connected by a link (bus topology LAN). As the figure shows, the computer with physical address 10 is the sender, and the computer with physical address 87 is the receiver. Most local-area networks use a 48-bit (6-byte) physical address written as 12 hexadecimal digits; every byte (2 hexadecimal digits) is separated by a colon, as shown below: 07:01:02:01:2C:4B A 6-byte (12 hexadecimal digits) physical address. 8 Example of IP addresses Figure below shows a part of an internet with two routers connecting three LANs. Each device (computer or router) has a pair of addresses (logical and physical) for each connection. In this case, each computer is connected to only one link and therefore has only one pair of addresses. Each router, however, is connected to three networks (only two are shown in the figure). So each router has three pairs of addresses, one for each connection. Note. The physical addresses will change from hop to hop, but the logical addresses usually remain the same. 9 Example of IP addresses 10 Example of Port addresses Figure below shows two computers communicating via the Internet. A port address is a 16-bit address represented by one decimal number as show The sending computer is running three processes at this time with port addresses a, b, and c. The receiving computer is running two processes at this time with port addresses j and k. Process a in the sending computer needs to communicate with process j in the receiving computer. Note that although physical addresses change from hop to hop, logical and port addresses remain the same from the source to destination. 753 A 16-bit port address represented as one single number. 11 Example of Port addresses 12 Sending a packet from Argon to Neon argon.tcpip-lab.edu "Argon" 128.143.137.144 neon.tcpip-lab.edu "Neon" 128.143.71.21 router137.tcpip-lab.edu "Router137" 128.143.137.1 router71.tcpip-lab.edu "Router71" 128.143.71.1 Router Ethernet Network Ethernet Network 13 Sending a packet128.143.71.21 from Argon to Neon 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 128.143.137.1? ofaddress “neon.tcpip-lab.edu “neon.tcpip-lab.edu ””is? of ARP: TheofMAC address 128.143.71.21 128.143.137.1 is 00:e0:f9:23:a8:20 argon.tcpip-lab.edu "Argon" 128.143.137.144 ARP: What is the MAC ARP: TheofMAC address of address 128.143.71.21? 128.143.137.1 is neon.tcpip-lab.edu 00:20:af:03:98:28 "Neon" 128.143.71.21 router137.tcpip-lab.edu "Router137" 128.143.137.1 router71.tcpip-lab.edu "Router71" 128.143.71.1 Router frame Ethernet Network frame Ethernet Network 14 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 15 TCP/IP Protocol Suite • The TCP/IP protocol suite is the protocol architecture of the Internet Application User-level programs Transport • The TCP/IP suite has four layers: Application, Transport, Network, and Data Link Layer • End systems (hosts) implement all four layers. Gateways (Routers) only have the bottom two layers. Operating system Network Data Link Data Link Media Access Control (MAC) Sublayer in Local Area Networks 16 Functions of the Layers • Data Link Layer: – Service: Reliable transfer of frames over a link Media Access Control on a LAN – Functions: Framing, media access control, error checking • Network Layer: – Service: Move packets from source host to destination host – Functions: Routing, addressing • Transport Layer: – Service: Delivery of data between hosts – Functions: Connection establishment/termination, error control, flow control • Application Layer: – Service: Application specific (delivery of email, retrieval of HTML documents, reliable transfer of file) – Functions: Application specific 17 TCP/IP Suite and OSI Reference Model Application Layer The TCP/IP protocol stack does not define the lower layers of a complete protocol stack 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 18 Assignment of Protocols to Layers (the themes of the course) 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 19 Layers in the Example HTTP HTTP protocol HTTP TCP TCP protocol TCP IP Ethernet IP IP protocol Ethernet argon.tcpiplab.edu 128.143.137.144 Ethernet IP protocol Ethernet Ethernet router71.tcpip- router137.tcpiplab.edu lab.edu 128.143.137.1 128.143.71.1 00:e0:f9:23:a8:20 IP Ethernet neon.tcpip-lab.edu 128.143.71.21 20 Layers in the Example HTTP TCP IP Frame is an IP datagram Ethernet 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 Send IP data-gram to Send a datagram (which contains a connection Send IP datagram to IP 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 HTTP TCP IP Send the datagram Ethernet to 128.143.7.21 argon.tcpipneon.tcpip-lab.edu router71.tcpip- router137.tcpipSend Ethernet frame Send Ethernet frame lab.edu 128.143.71.21 lab.edu to 00:20:af:03:98:28 to 00:e0:f9:23:a8:20 lab.edu 128.143.137.144 128.143.137.1 128.143.71.1 00:e0:f9:23:a8:20 21 Layers 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 Ethernet to IP: – 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 22 Encapsulation and 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 User data Ethernet Trailer Ethernet frame 23 Encapsulation and 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 9d08 0050 0204 f923 a820 00a0 2471 e444 0800 4500 002c 4000 8006 8bff 808f 8990 808f 4715 065b 0009 465b 0000 0000 6002 2000 598e 0000 05b4 24 Encapsulation and Demultiplexing 6 bytes destination address 4 bytes source address type Ethernet Header CRC IP Header TCP Header Application data Ethernet Trailer Ethernet frame 25 Encapsulation and Demultiplexing: Ethernet Header 00e0 9d08 0050 0204 f923 a820 00a0 2471 e444 0800 4500 002c 4000 8006 8bff 808f 8990 808f 4715 065b 0009 465b 0000 0000 6002 2000 598e 0000 05b4 6 bytes 00:e0:f9:23:a8:20 4 bytes 0:a0:24:71:e4:44 0x0800 Ethernet Header CRC IP Header TCP Header Application data Ethernet Trailer Ethernet frame 26 Encapsulation and 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 Application data Ethernet Trailer Ethernet frame 27 Encapsulation and Demultiplexing: IP Header 00e0 9d08 0050 0204 f923 a820 00a0 2471 e444 0800 4500 002c 4000 8006 8bff 808f 8990 808f 4715 065b 0009 465b 0000 0000 6002 2000 598e 0000 05b4 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 28 Encapsulation and 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 window size urgent pointer length Max. segment size TCP Header Application data Option: maximum segment size Ethernet Trailer Ethernet frame 29 Encapsulation and Demultiplexing: TCP Header 00e0 9d08 0050 0204 f923 a820 00a0 2471 e444 0800 4500 002c 4000 8006 8bff 808f 8990 808f 4715 065b 0009 465b 0000 0000 6002 2000 598e 0000 05b4 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 30 Encapsulation and Demultiplexing: Application data 00e0 9d08 0050 0204 f923 a820 00a0 2471 e444 0800 4500 002c 4000 8006 8bff 808f 8990 808f 4715 065b 0009 465b 0000 0000 6002 2000 598e 0000 05b4 No Application Data in this frame Ethernet Header IP Header TCP Header Application data Ethernet Trailer Ethernet frame 31 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 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 32 Network View of IP Protocol 33 Network View of Ethernet • Ethernet’s view of the network 34