TCPIP Detailed (1)

xiaoxiao2021-03-06  80

TCP / IP detailed

1 Overview

1.1 Introduction Many different manufacturers produce a variety of models, they run a completely different operating system, but the TCP / IP protocol component allows them to communicate with each other. This is very surprised because it has far exceeded the initial ideas. TCP / IP originated in a group exchange network research project funded by the US government in the late 1960s, and now has developed into the most commonly used networking form between computers in the 1990s. It is a real open system because the definition of the protocol component and a variety of implementations can be made publicly available without spending money or spending very little money. It became the basis called "global Internet" or "Internet", which has more than 1 million units around the world. This chapter is mainly summarized for TCP / IP protocol components, and its purpose is to provide full background knowledge for the rest of this book. If the reader wants to learn about the early development of TCP / IP from a historical approach, please refer to [Lynch 1993].

1.2 The layered network protocol usually develops different levels, each of which is responsible for different communication functions. A protocol component, such as TCP / IP, is a combination of multiple protocols at different levels. TCP / IP is often considered a four-layer protocol system as shown in Figure 1.1.

Figure 1. Four levels of TCP / IP protocol components

Each layer is responsible for different features: 1. Link layer, sometimes referred to as a data link layer or network interface layer, typically includes a device driver in an operating system and a corresponding network interface card in the computer. They process the details of the physical interface with the cable (or any other transport medium). 2. Network layers, sometimes referred to as interconnect mesh, handling packets in the network, such as the route selection of packets. In the TCP / IP protocol component, the network layer protocol includes an IP protocol (Internet Protocol), ICMP protocol (Internet Internet Connection Packet Protocol), and IGMP protocol (Internet Group Management Protocol). 3. The transportation layer is mainly providing end-to-end communication on both applications on two hosts. In the TCP / IP protocol component, there are two transmission protocols mutually different: TCP (Transfer Control Protocol) and UDP (User Data News Agreement). TCP provides high reliability data communication for two hosts. It works to include the data to which the application is divided into the following network layers to confirm the received packet, and set the timeout clock that transmits the last confirmation packet. Since the transport layer provides high-reliability end-to-end communication, the application layer can ignore all of these details. On the other hand, UDP provides a very simple service for the application layer. It just sent packets called a datagram from one host to another, but does not guarantee that the data is allowed to reach the other end. Any necessary reliability must be provided by the application layer. These two transportation layer protocols have different uses in different applications, and this will be seen later. 4. The application layer is responsible for handling specific application details. Almost a variety of different TCP / IP implementations will provide the following general applications: • Telnet remote login · FTP file transfer protocol · SMTP Simple Mail Transfer Protocol · SNMP Simple Network Management Agreement] There are also many other applications. We will introduce some of them in the following sections.

Suppose we have two hosts in a local area network (LAN) such as Ethernet, both run the FTP protocol, and Figure 1.2 lists all the protocols involved in the process.

Figure 1.2 Two hosts running FTP on the LAN

Here, we list a FTP client and another FTP server program. Most web applications are designed as customers - server mode. The server provides a service to customers, in this example, the file on the host where the server is located. In the remote login application Telnet, the service provided to the customer is logged in to the server host. On the same layer, both parties have corresponding one or more protocols for communication. For example, a protocol allows TCP layers to communicate, while another protocol allows two IP layers to communicate. On the right of Figure 1.2, we noticed that the application is usually a user process, and the lower three layers are generally implemented in the (operating system) kernel. Although this is not required, it is usually treated, such as a UNIX operating system. In Figure 1.2, there is another key difference between the top and the lower three layers. The application layer is concerned about the details of the application, not the transfer activity of the data in the network. The next three layers don't know anything, but they have to handle all communication details. We have given four different levels of protocols in Figure 1.2. FTP is an application layer protocol. TCP is a transport layer protocol. IP is a network layer protocol, while the Ethernet protocol is applied to the link layer. The TCP / IP protocol component is a set of protocols that are constructed together with different protocols. Although the protocol component is usually called TCP / IP, TCP and IP are just two protocols. (The other name of the protocol component is the Internet protocol suite. The purpose of the network interface layer and the application layer is obvious - the former handles details of the communication medium (Ethernet, token ring network, etc.), The latter handles a particular user application (FTP, Telnet, etc.). However, from the surface, the difference between the network layer and the transportation layer is not so obvious. Why is it divided into two different levels? To understand this, we must extend the field from a single network to a set of networks. One of the reasons why the network grows in the 1980s is that everyone realizes that only one "island" consisting of only one computer is not too significant. So these isolated system groups form a network. With this development, in the 1990s, we gradually realized that this new and larger "island" composed of a single network also did not great significance. Thus, people connect multiple networks together to form a network of networks, or called an Internet. A internet is a network that is interconnected with the same protocol family. The easiest way to construct interconnection is to put two One or more networks are connected via a router. It is a special hardware box for network interconnects. The benefits of routers are for different types of physical networks: Ethernet, token ring, point-to-point link, FDDI (fiber distributed data interface), etc. (below is the original book P.41) These boxes are also known as IP Routers, but we use the router (Router). From history, These boxes are called gateways, using this term in many TCP / IP literature. Now the terminology is only used to represent the application layer gateway: a process that connects two different protocol components (for example, TCP / IP and IBM SNA), it is a particular application service (often email or file transfer).

Figure 1.3 is an interconnect containing two networks: an Ethernet and a token ring network, which is connected to each other through a router. Although this is the two hosts communicating via the router, any host in the Ethernet can communicate with any host in the token ring network. In Figure 1.3, we can divide the End System (both sides of the two hosts) and intermediate systems (intermediate routers). Application layer and transport layer use end-to-to-end protocol. In our figures, only the end system needs these two-layer protocol. However, the network layer is provided with a hop-by-hop protocol, both end systems and each intermediate system. Figure 1.3 Two networks connected via router

In the TCP / IP protocol component, network layer IP provides an unreliable service. That is, it is only as quickly as possible to send the packet from the source knot to the destination node, but does not provide any reliability guarantee. On the other hand, TCP provides a reliable transport layer in an unreliable IP layer. To provide this reliable service, TCP uses mechanisms such as timeout retransmission, transmission, and receiving end-to-end confirmation packets. It can be seen that the transportation layer and the network layer are responsible for different functions. From the definition, a router has two or more network interface layers (because it is connected to two or more networks). Any system with multiple interfaces is called MultiHomed with multiple interfaces. A host can also have multiple interfaces, but generally not referred to as a router unless its function simply simply transmits the packet from an interface to another. Similarly, the router does not necessarily mean that the special hardware box used to forward the packet in the interconnection network. Most TCP / IP implementations also allow a multi-interface host to act as a router, but the host must conduct a special configuration for this. In this case, we can call the system as the host (when it runs an application, such as FTP or Telnet), it can also be called a router (when it forwards the packet from a network to another. ). We use different terms under different situations. One of the objectives of the interconnect is to hide all physical details in the application. Although this is not obvious in the interconnection network composed of two networks in Figure 1.3, the application layer cannot be careful (nor care) a host is in Ethernet, and the other host is on the token ring, they Interconnects through the router. With different types of physical networks, there may be 20 routers, but the application layer is still the same. The hidden physical details makes the interconnection network function is very powerful and very useful. Another way to connect to the network is to use the bridge. The bridge is interconnected on the link layer, while the router is interconnected on the network layer. The bridge makes multiple local area network (LAN) together, so that the upper layer is like a local area network. TCP / IP tends to connect to the network with a router instead of a bridge, so we will focus on the router. Chapter 12 of Literature [Perlman 1992] compares routers and bridges.

1.3 TCP / IP layers have many protocols in TCP / IP protocol components. Figure 1.4 shows the other protocols that this book will be discussed.

Figure 1. Different levels of protocols in TCP / IP protocol components

TCP and UDP are two most famous transport level protocols, both of which use IP as a network layer protocol. Although TCP uses unreliable IP services, it provides a reliable transport layer service. Chapter 17 to Chapter 22 of this book will discuss the internal operation details of TCP in detail. Then we will introduce some TCP applications, such as Telnet and Rlogin in Chapter 26, FTP in Chapter 27, and SMTP in Chapter 28. These applications are usually user processes. UDP sends and receives the datagram for the application. A datagram refers to an information unit (eg, information specified by the sender) from the sender to the receiver (eg, information specified by the sender). However, with TCP is that UDP is unreliable, it does not guarantee that data teleconcaps arrive at the end of the ultimate goal. Chapter 11 of this book will discuss UDP, then introduce it in Chapter 14 (Domain Name: Domain Name System), Chapter 15 (Simple File Transfer Protocol Trivial File Transfer Protocol), and Chapter 16 (Boot Protocol Bootstrap Protocol) UDP application. The SNMP (Simple Network Management Agreement) also uses the UDP protocol, but because it has to handle many other protocols, this book has left it to Chapter 25 and discussed. IP is the primary protocol on the network layer and is used by TCP and UDP. Each set of data for TCP and UDP is transmitted in the interconnection network through the end system and the IP layer in each intermediate router. In Figure 1.4, we give an application that directly access IP. This is rare, but it is also possible. (Some older routing protocols are implemented in this way. Of course, new transportation layer protocols may also try this way.) Chapter 3 mainly discusses the IP protocol, but in order to make content more targeted, some details Discussions will be made in the following chapters. Chapter 9 and 10 Chapter 10 discusses how IP performs routing. ICMP is an accessory protocol for IP protocols. The IP layer uses it to exchange error messages and other important information with other hosts or routers. Chapter 6 discusses the details of ICMP. Although ICMP is mainly used by IP, the application may also access it. We will analyze two popular diagnostic tools, Ping and Traceroute (Chapter 7 and Chapter 8), they all use ICMP. IGMP is an Internet group management protocol. It is used to broadcast a UDP datagna to multiple hosts. We describe the broadcast in Chapter 12 (send a UDP datagram to all hosts on a specified network) and multi-point transmission, and then describe the IGMP protocol itself in Chapter 13. ARP (address resolution protocol) and RARP (inverse address resolution protocol) are special protocols used by certain network interfaces such as Ethernet and token ring networks to convert the address used by IP layers and network interface layers. We analyze and introduce these two protocols in Chapters 4 and 5 respectively. 1.4 Interconnect Address Interconnect The Internet must have a unique Internet address (also known as an IP address). IP address length 32 bit. The Internet address does not use the address space in planar form, such as 1, 2, 3, etc. The IP address has a certain structure, and the five different interconnected network address formats are shown in Figure 1.5. These 32-bit addresses are usually written into four decimal numbers, each of which corresponds to one byte. This representation is referred to as "Dotted Decimal Notation). For example, the author's system is a class B address, which is expressed as: 140.252.13.33. The easiest way to distinguish all kinds of addresses is to see its first decimal integer. Figure 1.6 lists the starting range of various addresses, where the first decimal integer is represented by a handle.

Figure 1.5 Five types of internet address diagrams 1.6 range of various IP addresses

It is necessary to point out that the multi-interface host has multiple IP addresses, each of which corresponds to an IP address. Since each interface on the interconnection must have a unique IP address, there must be a management agency to assign an IP address to the network access network. This management is called Internet Network Information Center (Internet Network Information Center). INTERNIC is only assigned a network number. The allocation of the host number is responsible by the system administrator.

(The following is the original book P.81) Internet registration service (IP address, and DNS domain name) The past is being responsible by NIC, and its network address is nic.ddn.mil. On April 1, 1993, INTERNIC was established. Now, NIC is only responsible for handling the registration request of the defense data network, and all other Internet user registration requests are handled by Internet, and its URL is: rs.internic.net. In fact, INTERNIC has three components: RS.Internic.NET, directory, and database service (DS.Internic.net), and information service (is.internic.net). See the exercises 1.8 for additional information about INTERNIC.

There are three types of IP addresses: single-graph transfer address (target is a single host), broadcast transmission address (destination is all hosts on a given network), and multi-purpose transmission addresses (all hosts in the same group). Chapter 12 and Chapter 13 will discuss more details of broadcast transmission and multi-purpose transmission respectively. In Section 3.4, we will further introduce the concept of subnet after introducing IP routing. Figure 3.9 shows several special IP addresses: host numbers and network numbers are all 0 or all 1.

1.5 Domain Name System Although the network interface on the host can be identified via the IP address, the host is access to the host, but people like to use or host names. In the TCP / IP field, the Domain Name System (DNS) is a distributed database that provides mapping information between IP addresses and hostnames. We will discuss DNS in Chapter 14. Now, we must understand that any application can call a standard library function to view the IP address of the host of the given name. Similarly, the system also provides an inverse function - the IP address of a given host, see the host name it corresponds to. Most applications using hostnames as parameters can also use IP addresses as parameters. For example, in Chapter 4 When we remotely log in with Telnet, we can specify a host name or specify an IP address.

1.6 Package When the application is transmitted with TCP, the data is sent to the protocol stack, then pass each layer by one by one to the network. Each of these layers have to increase some of the first information (sometimes adding the tail information), which is shown in Figure 1.7. The data unit transmitted to the IP is referred to as a TCP message segment or a TCP Segment. The IP transmitted to the network interface layer is referred to as an IP Data (IP DataGram). Bit streams transmitted by Ethernet are called frames. Figure 1.7 The numbers listed below the frame head and frame below are the byte length of the typical Ethernet frame header. In the following chapters, we will discuss the specific meaning of these frame headers in detail. The physical characteristics of the Ethernet data frame are between 46-1500 bytes. We will encounter the minimum length of data frames in Section 4.5, and encounter the maximum length of data frames in Section 2.8.

(Below is the original book P.91) All Internet standards and most books about TCP / IP use OcTet this term to represent bytes. The use of this excessively carved term is historical reason, because many of TCP / IP works on the DEC-10 system, but it does not use the 8 bit of bytes. Since almost all computer systems use 8 BIT bytes, we use bytes (byte) in this book. More specifically, the data unit transmitted between IP and network interface layers in Figure 1.7 should be a packet. Grouping can be an IP datagram, or a piece of FRAGMENT. We will discuss the details of IP datashes in Section 11.5. UDP data is basically consistent with TCP data. The only difference is that the UDP is transmitted to IP, referred to as UDP DataGram, and the head of UDP is 8 bytes.

Figure 1.7 Packaging process when data enters the protocol stack

Recalling Figure 1.4 on page 6. Because TCP, UDP, ICMP, and IGMP are transferred to IP, IP must add some identifier in the generated IP header to indicate which layer is of which data belongs to. To this end, IP stores a value of 8 bits in the header, referred to as a protocol. 1 is expressed as the ICMP protocol, 2 is expressed as the IGMP protocol, and 6 is represented as a TCP protocol, and 17 is represented as a UDP protocol. Similarly, many applications can use TCP or UDP to transmit data. The transport layer protocol is stored in an identifier of an application when generating a message header. Both TCP and UDP represent different applications with a 16-bit port number. TCP and UDP store the source port number and destination port number into the packet header, respectively. The network interface is to send and receive IP, ARP, and RARP data, so some form of identity must also be added to the frame header of the Ethernet to indicate the network layer protocol to generate data. To this end, the frame header of the Ethernet also has a 16-bit frame type field.

1.7 DEMULTIPLEXING) When the destination host receives an Ethernet data frame, the data begins to rise from the protocol stack, while the header of the packets plus each layer protocol. Each layer protocol box is to check the protocol identity in the header of the packet to determine the upper level protocol of the received data. This process is called a distribution, and Figure 1.8 shows how the process has occurred.

Figure 1.8 Ethernet data frame division process

(The following is a translation of the original book P.111) to the protocol ICMP and IGMP positioning have always been a very tricky thing. In Figure 1.4, we put them on the same floor with IP, because in fact they are an IP's subsidiary agreement. But here we put them on the IP layer, because ICMP and IGMP packets are encapsulated in IP datagrams. We also encounter similar problems for ARP and RARP. Here we put them above the Ethernet device driver because they have their own Ethernet data frame types as they are in the IP datagram. However, in Figure 2.4, we put the ARP as part of the Ethernet device driver, which is placed under the IP layer, which is logically reasonable.

When further describing the details of TCP, we will see that the protocol is indeed unbearable by destination port number, source IP address, and source port number.

1.8 Customer Server Models Most web applications are written when writing is a customer, the other end is a server, and its purpose is to allow the server to provide customers with some specific services. We can divide this service into two types: repeat type or concurrent. The repeat server interacts with the following steps: I1. Waiting for a customer request. I2. Handle the customer request. I3. Send a response to a customer who sends a request. I4. Returns I1 steps. The main problem of repeated servers occurs in the I2 state. At this time, it cannot serve other clients. Accordingly, the concurrent hairstyle server uses the following steps: C1. Waiting for a customer request to come C2. Start a new server to process the customer's request. During this period, a new process, task or thread may generate, and rely on the support of the underlying operating system. How this step depends on the operating system. The generated new server processes all the requests of the customer. After processing, the new server is terminated. C3. Returns the C1 step. The advantage of a concurrent server is that it is a process that generates other servers to handle the customer's request. That is, each customer has its own corresponding server. If the operating system allows multiple tasks, you can simultaneously serve multiple customers at the same time. We are for the server, not the customer's classification. In general, TCP servers are concurrent, and the UDP server is repeated, but there are some exceptions. We will discuss the impact of UDP on its server in Section 11.12, and discuss the impact of TCP on its server in Section 18.11. 1.9 Port We have indicated that TCP and UDP use 16-bit port numbers to identify applications. So how do these port numbers choose? The server is generally identified by a port number well known. For example, for each TCP / IP implementation, the TCP port number of the FTP server is 21, each TELNET server TCP port number is 23, each TFTP (Simple File Transfer Protocol) server UDP port number is 69. Any TCP / IP implementation is provided with a well-known port number between 1-1023. The port numbers that these people are well known are managed by the Internet Accommbers Authority, IANA.

(Below is the original book P.131) to 1992, the port number well known is between 1-255. The port numbers between 256-1023 are usually occupied by UNIX systems to provide some specific UNIX services - that means of providing only UNIX systems, while other operating systems may not provide services. Now all port numbers between IANA management 1-1023. A difference between the Internet extension service and UNIX-specific services is Telnet and Rlogin. They all allow us to log in to other hosts via a computer network. Telnet is a TCP / IP standard with a port number 23 and can be implemented on all operating systems. In contrast, Rlogin is only designed for UNIX systems (although many non-Unix systems now also provide this service), it is 513 in the early 1980s.

The client usually does not care about the port number it uses, and it is only necessary to ensure that the port number is unique on this unit. The client port number is also called a temporary port number (ie there is time very short). This is because it usually exists when the user runs the client, and the server will run as long as the host is turned. Most TCP / IP implements a port number between 1024-5000 to the temporary port. The port number greater than 5000 is reserved for other servers (not commonly used on the Internet). We can see many examples of such a port number for the temporary port.

(The following is the original book P.132) Solaris 2.2 is a very famous exception. Usually the default temporary port number of TCP and UDP starts with 32768. In E.4, we will detail how system administrators modify the configuration options to change these defaults. File / etc / services of most UNIX systems contains a well-known port number. In order to find the port number of the Telnet server and the domain name system, we can run the following statement: (see the original book P.13 3)

The retained port number Unix system has the concept of reserving the port number. Only a process with superuser privileges allows it to allocate a reserved port number. These port numbers are between 1 and 1023, some applications (such as named RLogin, 26.2) use it as part of the authentication between customers and servers.

1.10 Standardization process Who controls TCP / IP protocol components, who is defining new standards and other similar things? In fact, there are four groups responsible for Internet technology. 1. The Internet Association (ISOC: Internet Society) is a professional organization that drives, supports and promotes the growing and development of Internet, which puts Internet as an infrastructure for global research. 2. The Internet Architecture Commission (IAB: Internet Architecture Board) is a technical supervision and coordinated institution. It consists of 15 volunteers from different majors, and its functions are the last editing and technical review of Internet standards. IAB is part of ISOC. 3. Internet Engineering Special Team (IETF: Internet Engineering Task Force) is an organization-oriented organization that is divided into nine fields (applications, diameters, and addressing, security, etc.). IETF has developed a statute to become an Internet standard. In order to help the IETF Chair, the Internet Engineering Guidance Group (IESG: Internet Engineering Steering Group) is established. 4. The Internet Research Group is mainly studied for long-term projects. IRTF and IETF are affiliated with IAB. Literature [CROCKER 1993] provides information about the Internet internal standardization process, and also introduces its early history.

1.11 RFC All formal standards for Internet are published in the RFC (Request for Comment) documentation. In addition, a large number of RFCs are not formal standards, and the purpose of publication is to provide information. The space of the RFC is from 1 pages to 200 pages. Each item is identified by a number, such as RFC 1122, the bigger the number, the more the contents of the RFC. All RFCs can be grouped for free by email or with FTP from the INTERNET. If you send the email below, you will receive a list of ways to get RFC:

To: rfc-info@isi.edusubject: getting rfcshelp: ways_to_get_rfcs

The latest RFC index always searches the starting point of the information. This index lists the time of RFC alternative or partially updated. Here are some important RFC documents: 1. Assign RFC (Assigned Numbers RFC) lists the numbers and constants used in all Internet protocols. As this book is published, the latest RFC number is 1340 [Reynolds and Postel 1992]. All famous internet port numbers are listed here. When this RFC is updated (usually at least once a year), the index list will list the time of the RFC 1340 is replaced. 2. Internet official protocol standard, currently RFC 1600 [Postel 1994]. This RFC describes the standardization status of various Internet protocols. Each protocol is one of the following standardized states: standards, draft standards, proposals, experimental standards, information standards, and historical standards. In addition, there is a requirement for each protocol: necessary, suggested, optional, limited, or not recommended. Like the assignment RFC, this RFC is regularly updated. Please check the latest version at any time. 3. Host requirements RFC, 1122, and 1123 [BRADEN 1989A, 1989B]. The RFC 1122 is directed to the link layer, the network layer, and the transport layer, and the RFC 1123 is for the application layer. These two RFCs have made a lot of corrective and explanations for early important RFC documents. If you want to see more detailed details of the protocol, they are usually an entry point. They list the characteristics of "must", "should", "can", "should not" or "can not", "" should not "or" can not ". Document [Borman 1993b] provides practical content related to these two RFCs. RFC 1127 [BRADEN 1989C] The discussion content and conclusions of the work group development host demand RFC process were informally summarized. 4. Router demand RFC, the official version is RFC 1009 [BRADEN AND POSTEL 1987], but a new version is close to complete [Aknqyust 1993]. It is similar to the host's demand RFC, but only describes the need for the router. 1.12 Simple service of standards Some standard simple services are available for almost every implementation. In this book we will use some of the services, and the customer program usually chooses Telnet. Figure 1.9 describes these services. From this figure we can see that when using TCP and UDP, the same port number is generally selected.

(The following is the original book P.151 translation) If you carefully check the port numbers of these standards and other standard TCP / IP services (such as Telnet, FTP, SMTP, etc.), we find that they are odd. This is historical reason, because these port numbers are derived from the NCP port number. (NCP, the network control protocol, is the transport layer protocol of Arpanet, the predecessor of TCP. NCP is single, not full-duplex, so each application requires two connections, need to reserve a pair of odd numbers and even numbers Port number. When TCP and UDP become a standard transport layer protocol, each application only needs one port number, so the odd number in NCP is used.

(The following is the translation of the original book P.16 Figure 1.9) Name TCP port number UDP port number RFC Description Echo77862 server returns all the content sent by the customer. Discard99863 Server Discards all content sent by the customer. Daytime1313867 Server returns time and date in readable form. Chargen1919864 When a customer sends a datagram, the TCP server sends a string of consecutive character stream until the client interrupts. The UDP server sends a random length datagram. Time3737868 The server returns a binary form of 32 bit, indicating the number of seconds from UTC time. The number of seconds of midnight on January 1, 1900. Figure 1. Simple service of most implementation

1.13 Interconnect Network In Figure 1.3, we list a interconnect consistent with two networks - an Ethernet and a token ring network. In a 1.4 and 1.9, we discussed the world's interconnected network -Internet, as well as the need for IP addresses (INTERNIC), and the famous port number (IANA) is discussed. Internet The first letter is uppercase that it has different meaning. Internet intends to connect multiple networks with a common protocol. The Internet refers to all host collections (more than 1 million units) through TCP / IP. Internet is an Internet, but the Internet is not equal to the Internet.

1.14 Implementation of TCP / IP software that is both a fact-specific standard, a computer system research team from California University, California. Historically, the software is published with the 4.x BSD system (Berkeley Software Distribution). Its source code is the basis of many other implementations. Figure 1.10 lists the time issued by various BSD versions, and labeled important TCP / IP features. Column BSD network version on the left, all of its network source code can be disclosed: including protocol itself and many applications and tools (such as Telnet and FTP). In this book, we will use the "Berkeley derived system" to refer to the system of Sunos 4.x, SVR4, and AIX 3.2, etc. Berkeley source code. These systems have a lot of common, often containing the same error.

(The following is a translation of the original book P.17 Figure 1.10) -------------- 4.2BSD (1983) The first widely available TCP / IP release 4.3BSD (1986) TCP performance Improve 4.3BSD Tahoe (1988) started slow, congestion avoidance measures BSD network software version 1.0 (1989): Net / 1 -------------- 4.3BSD RENO (1990) TCP head forecast Slip header compression ---------------- Routing table Modify BSD Network Software 2.0 (1991): Net / 2 --------------- -4.4BSD (1993) multicast, long fat pipeline modification 4.4bsd-lite (1994) is also known as NET / 3 Figure 1.10 Different BSD Edition and its important TCP / IP features

Many research on the Internet is still applicable in the Berkeley system - new congestion control algorithm (21.7), multi-purpose transfer (12.4), "Seat and Pipeline" modified (24.3), and other similar the study.

1.15 Application Programming Interface The application using TCP / IP protocol usually uses two application programming interfaces (APIs): Socket and TLI (transport layer interface: Transport Layer Interface). The former is sometimes referred to as "Berkeley Socket" indicating that it is developing from Berkeley. The latter initially developed by AT & T, sometimes referred to as XTI (X / Open Transfer Interface) to recognize the work of X / Open's own definition of standard international computer producers. XTi is actually a supercoming of TLI. This book is not a book in programming, but occasionally refers to some content to illustrate the characteristics of TCP / IP, regardless of whether most API (Socket) provides them. All Programming Details on Socket and TLI See Document [Stevens 1990]. 1.16 Test Network Figure 1.11 is a test network that runs all of this book. For reading, the reference is convenient, and the figure is also replicated inside the cover of the book.

Figure 1.11 This book example runs the test network, all IP addresses starts from 140.252.

In this figure (the author's subnet), most examples run in the following four systems. The IP address all in the figure belongs to the class B address, the network number is 140.252. All hostnames belong to this domain of .tuc.noao.edu. (NOAO represents National Optical Astronomy Observatories, TUC representative tucson). For example, the system in the lower right has a complete name: svr4.tuc.noao.edu, its IP address is: 140.252.13.34. The name above each box is the operating system running on the host. This group of systems and hosts and routers on the network run in different TCP / IP implementations. It should be pointed out that NOAO.EDUs are much more than in this domain. It is only the system that will be used herein. In Section 3.4, we will describe the subnet forms used in this network, in 4.6 we will introduce the details of the Co-winning SLIP between Sun and NetB. Section 2.4 will discuss SLIP in detail.

1.17 Summary This chapter quickly browses the TCP / IP protocol family, introduces many terms and agreements that we will discuss in detail in the later chapters. TCP / IP protocol family is divided into four layers: link layers, network layers, transportation layers, and application layers, each layer has different responsibilities. In TCP / IP, the difference between network layers and transportation layers is the most critical: network layer (IP) provides a point-to-point service, while transportation layers (TCP and UDP) provide end-to-end services. A internet is a network network. The common cornerstone constructing interconnect is a router that connects the network together in the IP layer. The first letter of letters refers to a large-scale interconnection network distributed around the world, including more than 10,000 networks and more than 1 million hosts. On a interconnect, each interface is identified by an IP address, although user habits use the host name instead of an IP address. The domain name system provides dynamic mapping between host name and IP address. Port numbers are used to identify applications that communicate with each other. The server uses well-known port numbers while customers use the temporary set port number.

转载请注明原文地址:https://www.9cbs.com/read-106498.html

New Post(0)