* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download CHAP06
Multiprotocol Label Switching wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Distributed firewall wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
TCP congestion control wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Network tap wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Airborne Networking wikipedia , lookup
Computer network wikipedia , lookup
Deep packet inspection wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Internet protocol suite wikipedia , lookup
UniPro protocol stack wikipedia , lookup
Routing in delay-tolerant networking wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Business Data Communications and Networking, 6th ed. FitzGerald and Dennis 6-1 Copyright © 1999 John Wiley & Sons, Inc. All rights reserved. Reproduction or translation of this work beyond that permitted in Section 117 of the 1976 United States Copyright Act without the express written permission of the copyright owner is unlawful. Request for further information should be addressed to the Permissions Department, John Wiley & Sons, Inc. The purchaser may make back-up copies for his/her own use only and not for redistribution or resale. The Publisher assumes no responsibility for errors, omissions, or damages, caused by the use of these programs or from the use of the information contained herein. 6-2 Objectives of Chapter 6 Become familiar with… four standard network protocols, network addressing, different types of routing, Understand how TCP/IP works. 6-3 INTRODUCTION 6-4 Introduction The network layer sits between the application layer and the data link layer. It accepts messages from the application layer and formats and addresses them for transmission by the data link layer. Both the sender and receiver have to agree on the rules or protocols that govern how their network layers will communicate with each other. 6-5 Introduction A network protocol provides three functions: • Breaks large messages into packets for transmission and reassembles them at the receiver’s end (packetizing). • Determines the correct network layer and data link layer addresses. (addressing). • Determines where the message should be send next on its way to its final destination (routing). 6-6 Introduction Some network layers are compatible with a variety of different data link layer protocols and can be used interchangeably in the same network. 6-7 NETWORK PROTOCOLS 6-8 Network Protocols There are many different network layer protocols.Each protocol performs essentially the same functions, but each is incompatible with others unless there is a special device to translate between them. The four most commonly used network protocols are: TCP/IP X.25 IPX/SPX SNA 6-9 Transmission Control Protocol/ Internet Protocol (TCP/IP) The Transmission Control Protocol/ Internet Protocol (TCP/IP) was developed for the U.S. Dept of Defense’s Advanced Research Project Agency Network (ARPANET) in 1974. TCP/IP allows reasonable efficient and errorfree transmission. 6-10 Transmission Control Protocol/ Internet Protocol (TCP/IP) TCP/IP has two parts: • TCP - performs packetizing: breaking the data into smaller packets, numbering them, ensuring each packet is reliably delivered, and putting them into the proper order at the destination. TCP is only active at the sender and receiver. • IP - performs routing and addressing. A typical TCP packet has 192-bit header of control information. 6-11 Transmission Control Protocol/ Internet Protocol (TCP/IP) Two forms of IP are currently in use: • IPv4 also has a 192-bit header. • IPv6 has a 320-bit header. The primary reason for the increase in packet size is an increase in the address size from 32 bits to 128 bits, due to the dramatic growth in the usage of the Internet. The size of the message field depends on the data link layer protocol used. TCP/IP is commonly combined with Ethernet. 6-12 TCP Packet 1 2 3 4 1 2 3 4 5 6 7 8 9 10 11 5 6 7 8 9 Source ID Destination ID Sequence number ACK number Header length Unused Flags Flow control CRC 16 Urgent pointer Options 10 11 User Data 16 bits 16 bits 32 bits 32 bits 4 bits 6 bits 6 bits 16 bits 16 bits 16 bits 16 bits 6-13 IP Packet version IP4 1 1 2 3 4 5 6 7 8 2 3 4 5 Version number Header length Type of Service Total length Identifiers Flags Packet offset Hop limit 6 7 8 4 bits 4 bits 8 bits 16 bits 16 bits 3 bits 13 bits 8 bits 9 10 11 12 13 14 15 16 9 10 11 12 13 Protocol CRC 16 Source address Destination Address Options User data Flow name Next header 14 8 bits 16 bits 32 bits 32 bits varies varies 24 bits 8 bits IP6 1 15 4 16 8 11 (128 bits) 12 (128 bits) 14 6-14 IPX/SPX Internet Packet Exchange /Sequenced Packet Exchange (IPX/SPX) is based on a routing protocol developed by Xerox in the 1970s, and is the primary network protocol used by Novell Netware, although Novell plans to replace IPX/SPX with TCP/IP. 6-15 IPX/SPX IPX/SPX has two parts: • SPX performs the same packetizing functions of TCP: breaking the data into smaller packets, numbering them, ensuring each packet is reliably delivered, and putting them into the proper order at the destination. • IPX performs the same routing and addressing functions as IP. IPX/SPX is similar to TCP/IP in concept, but different in structure. 6-16 IPX/SPX A typical SPX packet has a 12-byte header of control information. IPX has a 30-byte header. The size of the message field depends on the data link layer protocol used. IPX/SPX is often used with Ethernet. 6-17 IPX/SPX SPX packet 1 1 2 3 4 5 6 7 2 3 Control Type 1 byte Source ID Destination ID Sequence number ACK number Allocation number 4 5 1 byte 2 3 4 2 bytes 2 bytes 2 bytes 2 bytes 2 bytes 5 6 7 User Data 1 Checksum 2 Lensill 3 Control 4 Type 1 byte 5 Destination address 6 Destination network address 7 Destination socket 8 Source address 9 Source network address 10 Source socket IPX packet 1 6 7 8 9 10 2 bytes 2 byte 1 byte 6 bytes 4 bytes 2 bytes 6 bytes 4 bytes 2 bytes User Data 6-18 X.25 X.25 is a standard developed by ITU-ISS for use in wide area networks. X.25 also has two parts: • Packet layer protocol (PLP) the routing protocol that performs routing and addressing functions similar to IP • X.3 performs the packetizing functions of TCP. 6-19 X.25 There are several types of PLP packets. A typical packet used to transmit data has a 3-byte header. PLP typically combined with LAP-B at the data link layer. 6-20 System Network Architecture (SNA) System Network Architecture (SNA) is an approach to networking developed by IBM in 1974. SNA is used only on IBM and compatible mainframes. As with the other network layer protocols, SNA has two parts. The transmission control layer performs functions similar to TCP, and the path control layer performs functions similar to IP. SNA typically uses SDLC as its data link layer protocol. 6-21 ADDRESSING 6-22 Addressing Before you can send a message, you must know the destination address. When the users work with application software, they typically use the application layer address. The network layer translates this application layer address into a network layer address. 6-23 Types of addresses Address Example Software Application Layer Network Layer Data Link Layer Web browser TCP/IP Ethernet Example Address www.cba.uga.edu 128.192.98.5 00-0C-00-F5-03-5A 6-24 Addressing The network layer then determines the best route through the network to the final destination. Based on this routing, the network layer identifies the data link layer address of the next computer to which the message should be sent. 6-25 Assigning Addresses In general, the data link layer address is permanently encoded in each network card, and as part of the hardware cannot be changed. Network layer addresses are generally assigned by software. Every network layer software package usually has a configuration file that specifies the network layer address for that computer. 6-26 Assigning Addresses Application layer addresses (or server addresses) are also assigned by a software configuration file. Virtually all servers have an application layer address, but most client computers do not. Network layer addresses and application layer addresses go hand in hand. (www.uga.edu -application means 192.128.98.53 at the network layer. 6-27 Internet Addresses On the Internet, InterNIC is responsible for network layer addresses (IP addresses) and application layer addresses or domain names (www.uga.edu). There are five classes of Internet addresses. Classes A, B, and C are presented in Figure 6-7 Class D and E are reserved for special purposes and are not assigned to organizations. 6-28 Internet Address Classes Number of Addresses Class Available to User Address Structure Example Class A 16 million First byte fixed 50.x.x.x Organization assigns last three bytes Class B 16,000 First two bytes fixed 128.192.x.x Organization assigns last two bytes Class C 250 First three bytes fixed Organization assigns last byte 192.1.56.x 6-29 Internet Addresses One of the problems with the current address class system is that the Internet is quickly running out of addresses. Although there are more than 1 billion possible addresses, the fact that they are assigned in sets (or groups) significantly restricts the number of usable addresses. The IP address shortage was one of the reasons behind the IPv6, providing in theory, 3.2 x 1038 possible addresses. 6-30 Subnets Each organization must assign the IP addresses it has received to specific computers on its networks. In general, IP addresses are assigned so that all computers on the same local area network have a similar address. 6-31 6-32 Subnets Each LAN that is logically grouped together by IP number is called a TCP/IP subnet. While it is customary to use the last byte of the IP address to indicate different subnets it is not required. Any portion of the IP address can be designated as a subnet by using a subnet mask. IP addresses are binary numbers, so partial bytes can be used as subnets. 6-33 Dynamic Addressing Every computer knows its network layer address from a configuration file that is installed when the computer is first attached to the network. However, each time the computer is moved, or its network is assigned a new address, the software on each individual computer must be updated. 6-34 Dynamic Addressing The easiest way around this problem is dynamic addressing. With this approach, a server is designated to supply a network layer address to a computer each time the computer connects to the network. Two standards for dynamic addressing are commonly used in TCP/IP networks: • Bootstrap Protocol (bootp) • Dynamic Host Control Protocol (DHCP) 6-35 Dynamic Addressing The boot or DHCP server can be configured to assign the same network layer address to the computer each time it requests an address or it can lease the address to the computer by picking the “next available” network layer address from a list of authorized addresses. Dynamic addressing greatly simplifies network management in non-dial-up networks too. 6-36 Address Resolution In order to send a message, the sender must be able to translate the application layer address (or server name) of the destination into a network layer address and in turn translate that into a data link layer address. This process is called address resolution. TCP/IP uses two different approaches, one for resolving application layer addresses into IP addresses and one for resolving IP addresses into data link layer addresses. 6-37 Server Name Resolution Server name resolution is the translation of application layer addresses into network layer addresses. This is done using the Domain Name Service (DNS). Whenever you receive a set of Internet addresses, you must inform InterNIC of the name and IP addresses of the name server that will provide DNS information for all addresses in that Class. 6-38 Server Name Resolution When TCP/IP needs to translate an application layer address into an IP address, it sends a special TCP-level packet to the nearest DNS server. This packet asks the DNS server to send the requesting computer the IP address that matches the Internet address provided. This is why it sometimes takes a long time to access certain sites. IP addresses are then temporarily stored in a server address table. 6-39 Data Link Layer Address Resolution In order to actually send a message, the network layer software must know the data link layer of the destination computer. In the case of a distant computer, the network layer would route the message by selecting a path through the network that would ultimately lead to the destination. 6-40 Data Link Layer Address Resolution To send a message to a computer in its network, a computer must know the correct data link layer address. In this case, TCP/IP software sends a broadcast message (using Address-ResolutionProtocol or ARP) to all computers in its subnet requesting the data link layer address. 6-41 ROUTING 6-42 Routing In many networks, there are many possible routes or paths a message can take to get from one computer to another. Routing is the process of determining the route or path through the network that a message will travel from the sender to the receiver. Every computer that performs routing has a routing table developed by the network manager that specifies how message will travel through the network. 6-43 Routing 6-44 Routing Table Destination A C D E F G Route A C A E E C 6-45 Routing There are two fundamental approaches to routing: • Centralized routing - all routing decisions are made by one central computer. • Decentralized Routing - allows all computers in the network to make their own routing decisions following a formal routing protocol. Most decentralized routing protocols are selfadjusting, adapting to changes in the network configurations. 6-46 Static Routing There are two types of dynamic routing: Static Routing - where the routing table developed by the network manager, and changes made only when computers are added or removed from network. 6-47 Dynamic Routing Dynamic Routing (adaptive routing)- is used when there are multiple routes through a network and it is important to select the best (or fastest) route, in order to route messages away from traffic on busy circuits. An initial routing table is developed by the network manager, but is continuously updated by the computers themselves to reflect changing network conditions, such as network traffic. 6-48 Dynamic Routing There are three commonly used dynamic routing protocols • Routing Information Protocol (RIP)- used by the network manager to develop the routing table. Used by both TCP/IP and IPX/SPX. • Internet Control Message Protocol (ICMP)-used on the internet with TCP/IP. • Open Shortest Path First (OSPF) uses the number of computers in a route as well as network traffic and error rates to select the best route. 6-49 Dynamic Routing OSPF is more efficient than RIP because it normally doesn’t use broadcast messages. Instead it selectively sends status update messages directly to selected computes (used by TCP/IP). Two drawbacks to Dynamic Routing. • It requires more processing by each computer in the network than centralized or static routing. • The transmission of status information “wastes” network capacity. 6-50 Connectionless vs. Connection-Oriented Routing Some messages or blocks of application data are small enough that they can be transmitted in one packet or frame at the data link layer. In other cases the application data in one message is too large and must be broken into several packets. 6-51 Connectionless vs. Connection-Oriented Routing There are two ways these sets of packets can be routed through a network. • Connectionless routing means each packet is treated separately and makes its own way through the network. • Connection-Oriented routing Sets up a virtual circuit between the sender and receiver. Appears to use point-to-point circuit-switching, but actually uses store-and-forward. Has greater overhead than connectionless, due to the routing information. 6-52 Connectionless vs. Connection-Oriented Routing TCP/IP can operate as connection-oriented or connectionless. When connection-oriented routing is needed, both TCP and IP are used. TCP establishes the virtual circuit and IP routes the messages. When connectionless routing is desired, only IP is needed, and the TCP packet is replaced with a User Datagram Protocol (UDP) packet. 6-53 Connectionless vs. Connection-Oriented Routing IPX/SPX can also operate as either as connection-oriented or connectionless. When connection-oriented routing is needed, both IPX and SPX are used. SPC establishes the virtual circuit and IPX routes the messages. When connectionless routing is desired, only IPX is needed. 6-54 Connectionless vs. Connection-Oriented Routing Quality of Service (QoS) routing is a special type of connection-oriented dynamic routing in which different messages or packets are assigned different priorities. With QoS routing, different classes of service are defined each with different priorities. QoS routing is common in certain kinds of networks (e.g. ATM). 6-55 Multicasting The most common type of message in a network is the usual transmission between two computers. This is called a unicast message. A broadcast message can also be sent to all computers on a LAN or subnet. A third type of message, called a multicast message is used to send the same message to a group of computers. 6-56 Multicasting Computers wishing to participate in a multicast end a message to the sending computer or some other computer performing routing along the way using a special type of TCP-level packet called Internet Group Management Protocol. Each multicast group is temporarily assigned a special Class D IP address to identify the group, thus allowing a restricted broadcast of messages to this specific group. 6-57 6-58 Data transmission using TCP/IP and Ethernet Ethernet packet header IP packet TCP packet HTTP packet User Data Ethernet packet trailer 6-59 End of Chapter 6 6-60