(From http://www.redbooks.ibm.com/redbooks/gg243376.html
Translated by frank)
First part TCP / IP core protocol
Chapter 1 Architecture, History, Standards and Development Trends
Today, in many people in the world, Internet and World Wide Web are a very familiar term. Many people are using Internet-based applications such as email and web access. In addition, the popularity of commercial applications has become a focus. Transfer Control Protocol and Internet Protocol Group (TCP / IP) are Engines in the Internet and the online world. Its simple and powerful features have made it a unique choice for today's network protocol. In this chapter, we discuss the formation, development and future possible development trend of Internet.
1.1 TCP / IP architecture model
Two important protocols specified by the TCP / IP Protocol group are: Transfer Control Protocol (TCP) and Internet Protocol (IP). A lessigned name is the Internet Protocol Suite, which typically appears in a formal Internet standard document. In this book, when it comes to the entire protocol group, we represent it with a relatively universal referral TCP / IP.
1.1.1 Interactive Network (InterWorking)
The main goal of TCP / IP design is to create an interactive network called InterNet, or an Internet that provides universal communication services in different physical networks. This universal interactive network is a significant benefit of strengthening the hosts in different networks (possibly a large distance from the geographic area).
The interwork (interactive network) and Internet are all abbreviations of Interconnected Network. However, when the letter I is capitalized, the Internet means a collection of world-wide connected networks. Therefore, the Internet is an Internet, but it is not applicable in turn. Internet is sometimes referred to as a Connected Internet.
The Internet contains a few sets of networks:
• Backbones: Mainly a large network that connects other networks. Today's Backbones is North American nsfnet, European Europe and large business backbones.
• Regional network connection, such as universities and colleges.
• Provide users with a commercial network that accesss the main network service, which is used as a domestic connection Internet.
• 域 网: For example, campus network
In most cases, the number of maximum users owned by a network is limited to the distance within the geographic range, or the capacity of this network in some environment. For example, an Ethernet solid property makes it limiting in a geographic range. Therefore, the ability to interconnect a large number of networks in some tissue methods in some levels of organization enhance communication between two hosts in the Internet network. Figure 1 shows two examples of the Internet, which consists of two or more physical networks.
Figure 1. Internet Example - 2 connection logical network, you can see a network
One important aspect of the TCP network protocol is to create standard abstractions for the communication mechanism of various networks. Each physical network has a communication interface that is dependent on the process, which provides basic (simple) communication functions in a programming interface. TCP / IP provides communication services between different physical networks and user applications. It provides a common interface for these applications that do not rely on the underlying physical network. Therefore, for the developers of users and applications, physical network structures and operational platforms are transparent.
Figure 1 also shows that in order to join two networks, we need a computer that connects these two networks, which can transfer the data packet from a network to another, such a machine called router. The term IP router is also used, because the road function is only the IP part of the TCP / IP protocol group (see "IP protocol layers" on page 5 1.1.2).
In order to identify a host in the network, each host is assigned an address, ie IP address. When a host has multiple network adapters (interfaces), such as coupling with a router, each interface has a unique IP address. IP address includes two parts: IP address =
The
1.1.2 TCP / IP protocol layer
Like most network software, TCP / IP is modeled in layers. This hierarchy represents a new term protocol stack that involves the stack of layers in the protocol group. It can be used to distinguish between TCP / IP protocol groups with other models (rather than basic functions), such as system network structure (SNA) and open system interconnect (OSI) reference model. From this is not possible to simply extract the function, because the models used in their different protocol groups are fundamentally different.
Divide the communication software in layers, the protocol stack allows distinction, each implementation, and code testing and development of optional layer implementations. A simple interface communicates with its previous and next layer. In this way, a layer provides services directly to it, and fully utilizing the services provided below it. For example, the IP layer provides the ability to transfer data from one host to another, but does not guarantee the reliability and integrity of the data. Transfer protocols For example, TCP takes full advantage of this service to provide reliable, orderly, data streaming applications. Figure 2 shows how the TCP / IP protocol is molded in four layers.
These layers include:
Application layer:
The application layer provides a program that communicates with the TCP / IP protocol. Application refers to the user's process on a host collaborate on another host (there is also a benefit only on one host). Examples of applications include Telnet and File Transfer Protocol (FTP). The interface between the application layer and the transport layer is defined as a port number and socket, which will be explained in detail in 5.1 "port and socket".
Transport layer:
The transport layer transmits data from one application to its remote end to provide the first bit of data transmission. Multiple applications can be supported simultaneously. The transport layer protocol used is the Transmission Control Protocol (TCP) that provides data transmission for connection-oriented, integrity check, congestion control river control. This is in the 5.3 "Transmission Control Protocol (TCP)" page 206 for further detailed explanation.
There is also a data transfer protocol is the User Data News Agreement (UDP, 52 "User Data Real Agreement (UDP)" on page 204). It provides connectionless, unreliable transmission. As a result, when the application uses the UDP protocol, if they are very hopeful, they have to provide the integrity, stream control and congestion control of the first tail connection. Typically, UDP is applied to some applications that require fast transport mechanisms and allow some data loss.
Network layer:
Internetwork Layer, also known as Internet Layer or Network Layer, which provides "virtual" network (this layer is separated from the physical network structure than it). The IP protocol is the most important protocol in this layer. It is an unconnected protocol that does not guarantee the reliability of the layer low than it. The IP protocol does not provide reliability, stream control, or error recovery. These features must be provided by a higher layer. The IP protocol provides a routing function that is responsible for transmitting information that needs to be transmitted to its destination. IP will discuss on page 65 3.1 "IP Protocol (IP)". The information unit in an IP network is called IP datagram. This is the basic unit of transmitting information through TCP / IP network. Other network layer protocols have IP, ICMP, IGMP, ARP, and RARP.
Network interface layer:
The network interface layer is also referred to as a link layer or a data-link layer, which is an excuse for a real network. This interface may provide reliable data transmission, or may not be provided, it may be a data stream or packet. In fact, TCP / IP does not have any protocols here, but can utilize almost all available network interfaces, which enhances the adaptability of the IP layer. For example, IEEE 802.2, X.25 (which is reliable), ATM, FDDI, and even SNA. Chapter 29 Chapter 29, "Network Interface" will discuss some physical networks and interfaces of the protocol. There is no mandatory in the TCP / IP specification to describe or customize a standard for network layers; they are tightly customized from the network interface layer to access these protocols.
Figure 3 includes a model of a more detailed layer.
1.1.3 TCP / IP application
The highest level protocol in the TCP / IP protocol stack is an application protocol. They communicate with other hosts on the Internet, which is the user visible interface in the TCP / IP protocol group.
The application agreement has the following characteristics:
• They can be written by users or standard applications with TCP / IP products. Indeed, the TCP / IP protocol group includes some applications, such as:
--Telnet is an interactive terminal to access the remote host.
- FTP (File Transfer Protocol) For high-speed disks to file transfer.
--SMTP (Simple Mail Transfer Protocol) As an Internet Mail System.
These are all the most widely implemented application agreements, but there are many other. The details of each TCP / IP implementation are more or less include some application protocols.
• They use UDP or TCP as a transmission mechanism. Remembering UDP is unreliable, and it does not provide flow control, in which case the application has to provide its own error recovery, stream control, and congestion control. Creating an application is easier to create an application based on TCP because it is a reliable stream, facing connected, congested friendly, and streamable protocols. As a result, most application protocols use TCP, but also have applications created on the UDP By reducing protocol heads to achieve better performance.
• Most applications use the client / server interaction model.
1.1.3.1 Client / Server Model
TCP is a point-to-point, a connection-oriented protocol. There is no master / relationship. However, representative applications are to communicate using client / server (Client / Server, referred to as C / S) model.
The server is an application that provides services to the Internet user; the client is a service requester. An application includes both a server, including a client part, which can be run on the same or different systems. Users typically call the client's application section, which creates a special service request and sends it to the application's service part with TCP / IP.
The server is a program that receives the request, which performs the request service and responds to the result of the return. One server typically handles multiple requests and multiple request clients.
Most of the server is waiting for a request in a known port so that their client knows which port (order, which application) requests service. The client usually communicates with any port called a short port (Ephemeral Port). Customer If you want to communicate with one it doesn't know the port, it must have a mechanism to find its port to locate their request, which might be using a registration service such as a port image, which is used A portable port. For information on the TCP / IP application protocol, please refer to the second part of the "TCP / IP Application Protocol" on page 259.
1.1.4 Bridge, router and gateway
There are many ways to provide access to other networks. In the internet network, this is done by the router. In this section, we distinguish between routers, bridges, and gateways allow for remote network access. Bridge:
LAN network segments that are connected to each other in the network interface and the forward structure between them. The bridge performs the functionality of the MAC relay and does not rely on any higher-level protocol (including the logical connection protocol). If needed, it provides MAC layer protocol conversion. It is said that the bridge is transparent to IP. That is, when an IP host sends an IP data to report another host on the network connected by a bridge, it directly supplies the data to the host, and this datagon "through" bridge does not need to send it know. IP host. router:
The network is connected to the network and transmits the packet between them. The router must understand the relevant addressing structure of its supported network protocol, and decide whether or how to send the package. The router can choose the best transfer path and optimize the size of the package. Its most basic routing is the IP layer for implementing the TCP / IP protocol stack, so hosts or workstations that run TCP / IP one or more interfaces can theoretically transmit data packets with most TCP / IPs today. However, compared with the IP protocol, the professional router provides more, mature functions in addition to their functions. Because the IP protocol provides basic routing, the term "IP router" is used more. For routers, some other earlier terms are "IP Gateway", "Internet Gateway", "Gateway". In formal documents, the term gateway is now generally used in a higher layer than the network layer. It is said that the router is visible to IP. That is, when a host sends an IP package to a host on another network connected to the router, it sends a packet to the router so that it can be transferred forward to the target host.
Gateway: Connect the network on a higher layer than the bridge and the router. The gateway typically supports address mapping from a network to another, which may also provide data transfer in both environments to support application connectivity of the first tail connection. Representative, the application of a subset of a subset of any network support in two networks, along with the same performance. For example, virtual machines running on TCP / IP may use SMTP / RSCs as a gateway. Note: The term "gateway" is under this understanding, it is not equivalent to "IP Gateway".
It is said that the gateway is opaque for IP. That is, a host cannot transmit IP datagrams through the gateway. If the datagon contains information about the higher level protocol, any part of the network architecture can pass from the gateway.
The close content associated with routers and gateways is a firewall or firewall gateway, which is used by some organizations to limit Internet and some untrusted networks or network groups due to security factors. See 21.3 "Firewall" on page 678 to get more information about the gateway.