首页 > 代码库 > Chapel 1.Architecture, history, standards, and trends
Chapel 1.Architecture, history, standards, and trends
Note: Copy from TCP/IP Tutorial and Technical Overview (IBM Redbook GG24-3376-07)[000]
Release date: 12 December, 2014
1.1 TCP/IP architectural model
1.1.1 Internetworking
1.1.2 The TCP/IP protocol layers
1.1.3 TCP/IP applications
1.2 The roots of the Internet
1.2.1 ARPANET
1.2.2 NSFNET
1.2.3 Commercial use of the Internet
1.2.4 Internet2
1.2.5 The Open Systems Interconnection (OSI) Reference Model
1.3 TCP/IP standards
1.3.1 Request for Comments (RFC)
1.3.2 Internet standards
1.4 Future of the Internet
1.4.1 Multimedia applications
1.4.2 Commercial use
1.4.3 The wireless Internet
1.5 RFCs relevant to this chapter
Appendix 1. Reference
Appendix 2. Figure List
Appendix 3. Table List
Appendix 4. Tips
1.1 TCP/IP architectural model
The TCP/IP protocol suite is so named for two of its most important protocols: Transmission Control Protocol (TCP) and Internet Protocol (IP). A less used name for it is the Internet Protocol Suite, which is the phrase used in official Internet standards documents. In this article, we use the more common, shorter term, TCP/IP, to refer to the entire protocol suite.
1.1.1 Internetworking
The main design goal of TCP/IP was to build an interconnection of networks, referred to as an internetwork, or internet, that provided universal communication services over heterogeneous physical networks. The clear benefit of such an internetwork is the enabling of communication between hosts on different networks, perhaps separated by a large geographical area.
The Internet consists of the following groups of networks:
- Backbones: Large networks that exist primarily to interconnect other networks. Also known as network access points (NAPs)[001] or Internet Exchange Points (IXPs)[002]. Currently, the backbones consist of commercial entities.
- Regional networks connecting, for example, universities and colleges.
- Commercial networks providing access to the backbones to subscribers, and networks owned by commercial organizations for internal use that also have connections to the Internet.
- Local networks, such as campus-wide university networks.
In most cases, networks are limited in size by the number of users that can belong to the network, by the maximum geographical distance that the network can span, or by the applicability of the network to certain environments.
Figure 1-1 Internet examples: Two interconnected sets of networks, each seen as onelogical network
Another important aspect of TCP/IP internetworking is the creation of a standardized abstraction of the communication mechanisms provided by each type of network. Each physical network has its own technology-dependent communication interface, in the form of a programming interface that provides basic communication functions (primitives). TCP/IP provides communication services that run between the programming interface of a physical network and user applications. It enables a common interface for these applications, independent of the underlying physical network. The architecture of the physical network is therefore hidden from the user and from the developer of the application. The application need only code to the standardized communication abstraction to be able to function under any type of physical network and operating platform.
As is evident in Figure 1-1, to be able to interconnect two networks, we need a computer that is attached to both networks and can forward data packets from one network to the other; such a machine is called a router. The term IP router is also used because the routing function is part of the Internet Protocol portion of the TCP/IP protocol suite.
To be able to identify a host within the internetwork, each host is assigned an address, called the IP address. When a host has multiple network adapters (interfaces), such as with a router, each interface has a unique IP address. The IP address consists of two parts:
IP address = <network number><host number>
The network number part of the IP address identifies the network within the internet and is assigned by a central authority and is unique throughout the internet. The authority for assigning the host number part of the IP address resides with the organization that controls the network identified by the network number.
1.1.2 The TCP/IP protocol layers
Like most networking software, TCP/IP is modeled in layers. This layered representation leads to the term protocol stack, which refers to the stack of
layers in the protocol suite. It can be used for positioning (but not for functionally comparing) the TCP/IP protocol suite against others, such as Systems Network Architecture (SNA)[003] and the Open System Interconnection (OSI) model. Functional comparisons cannot easily be extracted from this, because there are basic differences in the layered models used by the different protocol suites.
By dividing the communication software into layers, the protocol stack allows for division of labor, ease of implementation and code testing, and the ability to develop alternative layer implementations. Layers communicate with those above and below via concise interfaces. In this regard, a layer provides a service for the layer directly above it and makes use of services provided by the layer directly below it. For example, the IP layer provides the ability to transfer data from one host to another without any guarantee to reliable delivery or duplicate suppression. Transport protocols such as TCP make use of this service to provide applications with reliable, in-order, data stream delivery.
Figure 1-2 The TCP/IP protocol stack: Each layer represents a package of functions
These layers include:
Application layer | The application layer is provided by the program that uses TCP/IP for communication. An application is a user process cooperating with another process usually on a different host (there is also a benefit to application communication within a single host). Examples of applications include Telnet and the File Transfer Protocol (FTP). The interface between the application and transport layers is defined by port numbers and sockets. |
Transport layer | The transport layer provides the end-to-end data transfer by delivering data from an application to its remote peer. Multiple applications can be supported simultaneously. The most-used transport layer protocol is the Transmission Control Protocol (TCP), which provides connection-oriented reliable data delivery, duplicate data suppression, congestion control, and flow control. Another transport layer protocol is the User Datagram Protocol. It provides connectionless, unreliable, best-effort service. As a result, applications using UDP as the transport protocol have to provide their own end-to-end integrity, flow control, and congestion control, if desired. Usually, UDP is used by applications that need a fast transport mechanism and can tolerate the loss of some data. |
Internetwork layer | The internetwork layer, also called the internet layer or the network layer, provides the “virtual network” image of an internet (this layer shields the higher levels from the physical network architecture below it). Internet Protocol (IP) is the most important protocol in this layer. It is a connectionless protocol that does not assume reliability from lower layers. IP does not provide reliability, flow control, or error recovery. These functions must be provided at a higher level. IP provides a routing function that attempts to deliver transmitted messages to their destination. A message unit in an IP network is called an IP datagram. This is the basic unit of information transmitted across TCP/IP networks. Other internetwork-layer protocols are IP, ICMP, IGMP, ARP, and RARP. |
Network interface layer | The network interface layer, also called the link layer or the data-link layer, is the interface to the actual network hardware. This interface may or may not provide reliable delivery, and may be packet or stream oriented. In fact, TCP/IP does not specify any protocol here, but can use almost any network interface available, which illustrates the flexibility of the IP layer. Examples are IEEE 802.2, X.25, ATM, FDDI, and even SNA. TCP/IP specifications do not describe or standardize any network-layer protocols per se; they only standardize ways of accessing those protocols from the internetwork layer. |
Table 1-1 The TCP/IP protocol layers
A more detailed layering model is included in Figure 1-3.
Figure 1-3 Detailed architectural model
1.1.3 TCP/IP applications
The highest-level protocols within the TCP/IP protocol stack are application protocols. They communicate with applications on other internet hosts and are the user-visible interface to the TCP/IP protocol suite.
All application protocols have some characteristics in common:
- They can be user-written applications or applications standardized and shipped with the TCP/IP product. Indeed, the TCP/IP protocol suite includes application protocols such as:
- Telnet for interactive terminal access to remote internet hosts
- File Transfer Protocol (FTP) for high-speed disk-to-disk file transfers
- Simple Mail Transfer Protocol (SMTP) as an internet mailing system
- They can be user-written applications or applications standardized and shipped with the TCP/IP product. Indeed, the TCP/IP protocol suite includes application protocols such as:
These are some of the most widely implemented application protocols, but many others exist. Each particular TCP/IP implementation will include a lesser or greater set of application protocols.
- They use either UDP or TCP as a transport mechanism. Remember that UDP is unreliable and offers no flow-control, so in this case, the application has to provide its own error recovery, flow control, and congestion control functionality. It is often easier to build applications on top of TCP because it is a reliable stream, connection-oriented, congestion-friendly, flow control-enabled protocol. As a result, most application protocols will use TCP, but there are applications built on UDP to achieve better performance through increased protocol efficiencies.
- Most applications use the client/server model of interaction.
The client/server model
TCP is a peer-to-peer, connection-oriented protocol. There are no master/subordinate relationships. The applications, however, typically use a client/server model for communications, as demonstrated in Figure 1-4.
A server is an application that offers a service to internet users. A client is a requester of a service. An application consists of both a server and a client part, which can run on the same or on different systems. Users usually invoke the client part of the application, which builds a request for a particular service and sends it to the server part of the application using TCP/IP as a transport vehicle.
The server is a program that receives a request, performs the required service, and sends back the results in a reply. A server can usually deal with multiple requests and multiple requesting clients at the same time.
Figure 1-4 The clientserver model of applications
Most servers wait for requests at a well-known port so that their clients know to which port (and in turn, which application) they must direct their requests. The client typically uses an arbitrary port called an ephemeral port for its communication. Clients that want to communicate with a server that does not use a well-known port must have another mechanism for learning to which port they must address their requests. This mechanism might employ a registration service such as portmap, which does use a well-known port.
Bridges, routers, and gateways
There are many ways to provide access to other networks. In an internetwork, this done with routers. In this section, we distinguish between a router, a bridge, and a gateway for allowing remote network access:
Bridge | Interconnects LAN segments at the network interface layer level and forwards frames between them. A bridge performs the function of a MAC relay, and is independent of any higher layer protocol (including the logical link protocol). It provides MAC layer protocol conversion, if required. A bridge is said to be transparent to IP. That is, when an IP host sends an IP datagram to another host on a network connected by a bridge, it sends the datagram directly to the host and the datagram “crosses” the bridge without the sending IP host being aware of it. |
Router | Interconnects networks at the internetwork layer level and routes packets between them. The router must understand the addressing structure associated with the networking protocols it supports and take decisions on whether, or how, to forward packets. Routers are able to select the best transmission paths and optimal packet sizes. The basic routing function is implemented in the IP layer of the TCP/IP protocol stack, so any host or workstation running TCP/IP over more than one interface could, in theory and also with most of today‘s TCP/IP implementations, forward IP datagrams. However, dedicated routers provide much more sophisticated routing than the minimum functions implemented by IP. Because IP provides this basic routing function, the term “IP router,” is often used. Other, older terms for router are “IP gateway”, “Internet gateway”, and “gateway”. The term gateway is now normally used for connections at a higher layer than the internetwork layer. A router is said to be visible to IP. That is, when a host sends an IP datagram to another host on a network connected by a router, it sends the datagram to the router so that it can forward it to the target host. |
Gateway | Interconnects networks at higher layers than bridges and routers. A gateway usually supports address mapping from one network to another, and might also provide transformation of the data between the environments to support end-to-end application connectivity. Gateways typically limit the interconnectivity of two networks to a subset of the application protocols supported on either one. For example, a VM host running TCP/IP can be used as an SMTP/RSCS mail gateway. A gateway is said to be opaque to IP. That is, a host cannot send an IP datagram through a gateway; it can only send it to a gateway. The higher-level protocol information carried by the datagrams is then passed on by the gateway using whatever networking rchitecture is used on the other side of the gateway. Note: The term “gateway,” when used in this sense, is not synonymous with “IP gateway.” |
Table 1-2 Distinguish between a router, a bridge, and a gateway
1.2 The roots of the Internet
Networks have become a fundamental, if not the most important, part of today‘s information systems. They form the backbone for information sharing in enterprises, governmental groups, and scientific groups. That information can take several forms. It can be notes and documents, data to be processed by another computer, files sent to colleagues, and multimedia data streams.
A number of networks were installed in the late 1960s and 1970s, when network design was the “state of the art” topic of computer research and sophisticated implementers. It resulted in multiple networking models such as packet-switching technology, collision-detection local area networks, hierarchical networks, and many other excellent communications technologies.
The result of all this great know-how was that any group of users could find a physical network and an architectural model suitable for their specific needs. This ranges from inexpensive asynchronous lines with no other error recovery than a bit-per-bit parity function, through full-function wide area networks (public or private) with reliable protocols such as public packet-switching networks or private SNA networks, to high-speed but limited-distance local area networks.
The down side of the development of such heterogeneous protocol suites is the rather painful situation where one group of users wants to extend its information system to another group of users who have implemented a different network technology and different networking protocols. As a result, even if they could agree on some network technology to physically interconnect the two environments, their applications (such as mailing systems) would still not be able to communicate with each other because of different application protocols and interfaces.
This situation was recognized in the early 1970s by a group of U.S. researchers funded by the Defense Advanced Research Projects Agency (DARPA)[004]. Their work addressed internetworking, or the interconnection of networks. Other official organizations became involved in this area, such as ITU-T (formerly CCITT)[005] and ISO[006]. The main goal was to define a set of protocols, detailed in a well-defined suite, so that applications would be able to communicate with other applications, regardless of the underlying network technology or the operating systems where those applications run.
The official organization of these researchers was the ARPANET Network Working Group, which had its last general meeting in October 1971. DARPA continued its research for an internetworking protocol suite, from the early Network Control Program (NCP)[007] host-to-host protocol to the TCP/IP protocol suite, which took its current form around 1978. At that time, DARPA was well known for its pioneering of packet-switching over radio networks and satellite channels. The first real implementations of the Internet were found around 1980 when DARPA started converting the machines of its research network (ARPANET) to use the new TCP/IP protocols. In 1983, the transition was completed and DARPA demanded that all computers willing to connect to its ARPANET use TCP/IP.
DARPA also contracted Bolt, Beranek, and Newman (BBN) to develop an implementation of the TCP/IP protocols for Berkeley UNIX® on the VAX and funded the University of California at Berkeley to distribute the code free of charge with their UNIX operating system. The first release of the Berkeley Software Distribution (BSD) to include the TCP/IP protocol set was made available in 1983 (4.2BSD). From that point on, TCP/IP spread rapidly among universities and research centers and has become the standard communications subsystem for all UNIX connectivity. The second release (4.3BSD) was distributed in 1986, with updates in 1988 (4.3BSD Tahoe) and 1990 (4.3BSD Reno). 4.4BSD was released in 1993. Due to funding constraints, 4.4BSD was the last release of the BSD by the Computer Systems Research Group of the University of California at Berkeley.
As TCP/IP internetworking spread rapidly, new wide area networks were created in the U.S. and connected to ARPANET. In turn, other networks in the rest of the world, not necessarily based on the TCP/IP protocols, were added to the set of interconnected networks. The result is what is described as the Internet. We describe some examples of the different networks that have played key roles in this development in the next sections.
1.2.1 ARPANET
Sometimes referred to as the “grand-daddy of packet networks”, the ARPANET was built by DARPA (which was called ARPA at that time) in the late 1960s to accommodate research equipment on packet-switching technology and to allow resource sharing for the Department of Defense‘s contractors. The network interconnected research centers, some military bases, and government locations. It soon became popular with researchers for collaboration through electronic mail and other services. It was developed into a research utility run by the Defense Communications Agency (DCA) by the end of 1975 and split in 1983 into MILNET for interconnection of military sites and ARPANET for interconnection of research sites. This formed the beginning of the “capital I” Internet.
In 1974, the ARPANET was based on 56 Kbps leased lines that interconnected packet-switching nodes (PSN)[008] scattered across the continental U.S. and western Europe. These were minicomputers running a protocol known as 1822 (after the number of a report describing it) and dedicated to the packet-switching task. Each PSN had at least two connections to other PSNs (to allow alternate routing in case of circuit failure) and up to 22 ports for user computer (host) connections. These 1822 systems offered reliable, flow-controlled delivery of a packet to a destination node. This is the reason why the original NCP protocol was a rather simple protocol. It was replaced by the TCP/IP protocols, which do not assume the reliability of the underlying network hardware and can be used on other-than-1822 networks. This 1822 protocol did not become an industry standard, so DARPA decided later to replace the 1822 packet switching technology with the CCITT X.25 standard.
Data traffic rapidly exceeded the capacity of the 56 Kbps lines that made up the network, which were no longer able to support the necessary throughput. Today the ARPANET has been replaced by new technologies in its role of backbone on the research side of the connected Internet (see NSFNET later in this chapter), while MILNET continues to form the backbone of the military side.
1.2.2 NSFNET
NSFNET, the National Science Foundation (NSF) Network, is a three-level internetwork in the United States consisting of:
- The backbone: A network that connects separately administered and operated mid-level networks and NSF-funded supercomputer centers. The backbone also has transcontinental links to other networks such as EBONE, the European IP backbone network.
- Mid-level networks: Three kinds of networks (regional, discipline-based, and supercomputer consortium networks).
- Campus networks: Whether academic or commercial, connected to the mid-level networks.
Over the years, the NSF upgraded its backbone to meet the increasing demands of its clients:
- First backbone: Originally established by the NSF as a communications network for researchers and scientists to access the NSF supercomputers, the first NSFNET backbone used six DEC LSI/11 microcomputers as packet switches, interconnected by 56 Kbps leased lines. A primary interconnection between the NSFNET backbone and the ARPANET existed at Carnegie Mellon, which allowed routing of datagrams between users connected to each of those networks.
- Second backbone: The need for a new backbone appeared in 1987, when the first one became overloaded within a few months (estimated growth at thattime was 100% per year). The NSF and MERIT, Inc., a computer network consortium of eight state-supported universities in Michigan, agreed to develop and manage a new, higher-speed backbone with greater transmission and switching capacities. To manage it, they defined the Information Services (IS), which is comprised of an Information Center and a Technical Support Group. The Information Center is responsible for information dissemination, information resource management, and electronic communication. The Technical Support Group provides support directly to the field. The purpose of this is to provide an integrated information system with easy-to-use-and-manage interfaces accessible from any point in the network supported by a full set of training services.
Merit and NSF conducted this project in partnership with IBM and MCI. IBM provided the software, packet-switching, and network-management equipment, while MCI provided the long-distance transport facilities. Installed in 1988, the new network initially used 448 Kbps leased circuits to interconnect 13 nodal switching systems (NSSs), supplied by IBM. Each NSS was composed of nine IBM RISC systems (running an IBM version of 4.3BSD UNIX) loosely coupled by two IBM token-ring networks (for redundancy). One Integrated Digital Network Exchange (IDNX) supplied by IBM was installed at each of the 13 locations, to provide:Third backbone: In 1989, the NSFNET backbone circuits topology was reconfigured after traffic measurements and the speed of the leased lines increased to T1 (1.544 Mbps) using primarily fiber optics.
Due to the constantly increasing need for improved packet switching and transmission capacities, three NSSs were added to the backbone and the link speed was upgraded. The migration of the NSFNET backbone from T1 to T3 (45 Mbps) was completed in late 1992. The subsequent migration to gigabit levels has already started and is continuing today.- Dynamic alternate routing
- Dynamic bandwidth allocation
In April 1995, the U.S. government discontinued its funding of NSFNET. This was, in part, a reaction to growing commercial use of the network. About the same time, NSFNET gradually migrated the main backbone traffic in the U.S. to commercial network service providers, and NSFNET reverted to being a network for the research community. The main backbone network is now run in cooperation with MCI and is known as the vBNS (very high speed Backbone Network Service).
NSFNET has played a key role in the development of the Internet. However, many other networks have also played their part and also make up a part of the Internet today.
1.2.3 Commercial use of the Internet
In recent years the Internet has grown in size and range at a greater rate than anyone could have predicted. A number of key factors have influenced this growth. Some of the most significant milestones have been the free distribution of Gopher in 1991, the first posting, also in 1991, of the specification for hypertext and, in 1993, the release of Mosaic, the first graphics-based browser. Today the vast majority of the hosts now connected to the Internet are of a commercial nature. This is an area of potential and actual conflict with the initial aims of the Internet, which were to foster open communications between academic and research institutions. However, the continued growth in commercial use of the Internet is inevitable, so it will be helpful to explain how this evolution is taking place.
One important initiative to consider is that of the Acceptable Use Policy (AUP). The first of these policies was introduced in 1992 and applies to the use of NSFNET. At the heart of this AUP is a commitment “to support open research and education.” Under “Unacceptable Uses” is a prohibition of “use for for-profit activities,” unless covered by the General Principle or as a specifically acceptable use. However, in spite of this apparently restrictive stance, the NSFNET was increasingly used for a broad range of activities, including many of a commercial nature, before reverting to its original objectives in 1995.
The provision of an AUP is now commonplace among Internet service providers, although the AUP has generally evolved to be more suitable for commercial use. Some networks still provide services free of any AUP.
Let us now focus on the Internet service providers who have been most active in introducing commercial uses to the Internet. Two worth mentioning are PSINet and UUNET, which began in the late 1980s to offer Internet access to both businesses and individuals. The California-based CERFnet provided services free of any AUP. An organization to interconnect PSINet, UUNET, and CERFnet was formed soon after, called the Commercial Internet Exchange (CIX), based on the understanding that the traffic of any member of one network may flow without restriction over the networks of the other members. As of July 1997, CIX had grown to more than 146 members from all over the world, connecting member internets. At about the same time that CIX was formed, a non-profit company, Advance Network and Services (ANS), was formed by IBM, MCI, and Merit, Inc. to operate T1 (subsequently T3) backbone connections for NSFNET. This group was active in increasing the commercial presence on the Internet.
ANS formed a commercially oriented subsidiary called ANS CO+RE to provide linkage between commercial customers and the research and education domains. ANS CO+RE provides access to NSFNET as well as being linked to CIX. In 1995 ANS was acquired by America Online.
In 1995, as the NSFNET was reverting to its previous academic role, the architecture of the Internet changed from having a single dominant backbone in the U.S. to having a number of commercially operated backbones. In order for the different backbones to be able to exchange data, the NSF set up four Network Access Points (NAPs) to serve as data interchange points between the backbone service providers.
Another type of interchange is the Metropolitan Area Ethernet (MAE). Several MAEs have been set up by Metropolitan Fiber Systems (MFS), who also have their own backbone network. NAPs and MAEs are also referred to as public exchange points (IXPs). Internet service providers (ISPs) typically will have connections to a number of IXPs for performance and backup. For a current listing of IXPs, consult the Exchange Point at:
http://www.ep.net
Similar to CIX in the United States, European Internet providers formed the RIPE (Réseaux IP Européens) organization to ensure technical and administrative coordination. RIPE was formed in 1989 to provide a uniform IP service to users throughout Europe. Today, the largest Internet backbones run at OC48 (2.4 Gbps) or OC192 (9.6 Gbps).
1.2.4 Internet2
The success of the Internet and the subsequent frequent congestion of the NSFNET and its commercial replacement led to some frustration among the research community who had previously enjoyed exclusive use of the Internet. The university community, therefore, together with government and industry partners, and encouraged by the funding component of the Next Generation Internet (NGI) initiative, have formed the Internet2 project.
The NGI initiative is a federal research program that is developing advanced networking technologies, introducing revolutionary applications that require advanced networking technologies and demonstrating these technological capabilities on high-speed testbeds.
Mission
The Internet2 mission is to facilitate and coordinate the development, operation, and technology transfer of advanced, network-based applications and network services to further U.S. leadership in research and higher education and accelerate the availability of new services and applications on the Internet.
Internet2 has the following goals:
- Demonstrate new applications that can dramatically enhance researchers’ ability to collaborate and conduct experiments.
- Demonstrate enhanced delivery of education and other services (for instance, health care, environmental monitoring, and so on) by taking advantage of virtual proximity created by an advanced communications infrastructure.
- Support development and adoption of advanced applications by providing middleware and development tools.
- Facilitate development, deployment, and operation of an affordable communications infrastructure, capable of supporting differentiated quality of service (QoS) based on application requirements of the research and education community.
- Promote experimentation with the next generation of communications technologies.
- Coordinate adoption of agreed working standards and common practices among participating institutions to ensure end-to-end quality of service and interoperability.
- Catalyze partnerships with governmental and private sector organizations.Encourage transfer of technology from Internet2 to the rest of the Internet.
- Study the impact of new infrastructure, services, and applications on higher education and the Internet community in general.
Internet2 participants
Internet2 has 180 participating universities across the United States. Affiliate organizations provide the project with valuable input. All participants in the Internet2 project are members of the University Corporation for Advanced Internet Development (UCAID).
In most respects, the partnership and funding arrangements for Internet2 will parallel those of previous joint networking efforts of academia and government, of which the NSFnet project is a very successful example. The United States government will participate in Internet2 through the NGI initiative and related programs.
Internet2 also joins with corporate leaders to create the advanced network services necessary to meet the requirements of broadband, networked applications. Industry partners work primarily with campus-based and regional university teams to provide the services and products needed to implement the applications developed by the project. Major corporations currently participating in Internet2 include Alcatel, Cisco Systems, IBM, Nortel Networks, Sprint, and Sun Microsystems™. Additional support for Internet2 comes from collaboration with non-profit organizations working in research and educational networking. Affiliate organizations committed to the project include MCNC, Merit, National Institutes of Health (NIH), and the State University System of Florida.
For more information about Internet2, see their Web page at:
http://www.internet2.edu
1.2.5 The Open Systems Interconnection (OSI) Reference Model
The OSI (Open Systems Interconnect) Reference Model (ISO 7498) defines a seven-layer model of data communication with physical transport at the lower layer and application protocols at the upper layers. This model, shown in Figure 1-5, is widely accepted as a basis for the understanding of how a network protocol stack should operate and as a reference tool for comparing network stack implementation.
Figure 1-5 The OSI Reference Model
Each layer provides a set of functions to the layer above and, in turn, relies on the functions provided by the layer below. Although messages can only pass vertically through the stack from layer to layer, from a logical point of view, each layer communicates directly with its peer layer on other nodes.
The seven layers are:
Application | Network applications such as terminal emulation and file transfer |
Presentation | Formatting of data and encryption |
Session | Establishment and maintenance of sessions |
Transport | Provision of reliable and unreliable end-to-end delivery |
Network | Packet delivery, including routing |
Data Link | Framing of units of information and error checking |
Physical | Transmission of bits on the physical hardware |
Table 1-3 The OSI Reference Model layers
In contrast to TCP/IP, the OSI approach started from a clean slate and defined standards, adhering tightly to their own model, using a formal committee process without requiring implementations. Internet protocols use a less formal engineering approach, where anybody can propose and comment on Request for Comments, known as RFC, and implementations are required to verify feasibility. The OSI protocols developed slowly, and because running the full protocol stack is resource intensive, they have not been widely deployed, especially in the desktop and small computer market. In the meantime, TCP/IP and the Internet were developing rapidly, with deployment occurring at a very high rate.
1.3 TCP/IP standards
TCP/IP has been popular with developers and users alike because of its inherent openness and perpetual renewal. The same holds true for the Internet as an open communications network. However, this openness could easily turn into something that can help you and hurt you if it were not controlled in some way. Although there is no overall governing body to issue directives and regulations for the Internet—control is mostly based on mutual cooperation—the Internet Society (ISOC) serves as the standardizing body for the Internet community. It is organized and managed by the Internet Architecture Board (IAB)[009].
The IAB itself relies on the Internet Engineering Task Force (IETF)[010] for issuing new standards, and on the Internet Assigned Numbers Authority (IANA)[011] for coordinating values shared among multiple protocols. The RFC Editor is responsible for reviewing and publishing new standards documents.
The IETF itself is governed by the Internet Engineering Steering Group[012] (IESG) and is further organized in the form of Areas and Working Groups where new specifications are discussed and new standards are propsoed.
The Internet Standards Process, described in RFC 2026, The Internet Standards Process, Revision 3, is concerned with all protocols, procedures, and conventions that are used in or by the Internet, whether or not they are part of the TCP/IP protocol suite.
The overall goals of the Internet Standards Process are:
- Technical excellence
- Prior implementation and testing
- Clear, concise, and easily understood documentation
- Openness and fairness
- Timeliness
The process of standardization is summarized as follows:
- In order to have a new specification approved as a standard, applicants have to submit that specification to the IESG where it will be discussed and reviewed for technical merit and feasibility and also published as an Internet draft document. This should take no shorter than two weeks and no longer than six months.
- After the IESG reaches a positive conclusion, it issues a last-call notification to allow the specification to be reviewed by the whole Internet community.
- After the final approval by the IESG, an Internet draft is recommended to the Internet Engineering Taskforce (IETF), another subsidiary of the IAB, for inclusion into the Standards Track and for publication as a Request for Comments.
- Once published as an RFC, a contribution may advance in status as described in 1.3.2, “Internet standards” on page 24. It may also be revised over time or phased out when better solutions are found.
- If the IESG does not approve of a new specification after, or if a document has remained unchanged within, six months of submission, it will be removed from the Internet drafts directory.
1.3.1 Request for Comments (RFC)
The Internet protocol suite is still evolving through the mechanism of Request for Comments (RFC). New protocols (mostly application protocols) are being designed and implemented by researchers, and are brought to the attention of the Internet community in the form of an Internet draft (ID). The largest source of IDs is the Internet Engineering Task Force (IETF), which is a subsidiary of the IAB. However, anyone can submit a memo proposed as an ID to the RFC Editor. There are a set of rules which RFC/ID authors must follow in order for an RFC to be accepted. These rules are themselves described in an RFC (RFC 2223), which also indicates how to submit a proposal for an RFC.
After an RFC has been published, all revisions and replacements are published as new RFCs. A new RFC that revises or replaces an existing RFC is said to “update” or to “obsolete” that RFC. The existing RFC is said to be “updated by” or “obsoleted by” the new one. For example RFC 1542, which describes the BOOTP protocol, is a “second edition,” being a revision of RFC 1532 and an amendment to RFC 951. RFC 1542 is therefore labelled like this: “Obsoletes RFC 1532; Updates RFC 951." Consequently, there is never any confusion over whether two people are referring to different versions of an RFC, because there is never more than one current version.
Some RFCs are described as information documents, while others describe Internet protocols. The Internet Architecture Board (IAB) maintains a list of the RFCs that describe the protocol suite. Each of these is assigned a state and a status.
An Internet protocol can have one of the following states:
Standard | The IAB has established this as an official protocol for the Internet. These are separated into two groups:
|
Draft standard | The IAB is actively considering this protocol as a possible standard protocol. Substantial and widespread testing and comments are desired. Submit comments and test results to the IAB. There is a possibility that changes will be made in a draft protocol before it becomes a standard. |
Proposed standard | These are protocol proposals that might be considered by the IAB for standardization in the future. Implementations and testing by several groups are desirable. Revision of the protocol is likely. |
Experimental | A system should not implement an experimental protocol unless it is participating in the experiment and has coordinated its use of the protocol with the developer of the protocol. |
Informational | Protocols developed by other standard organizations, or vendors, or that are for other reasons outside the purview of the IAB may be published as RFCs for the convenience of the Internet community as informational protocols. Such protocols might, in some cases, also be recommended for use on the Internet by the IAB. |
Historic | These are protocols that are unlikely to ever become standards in the Internet either because they have been superseded by later developments or due to lack of interest. |
Required | A system must implement the required protocols. |
Recommended | A system should implement the recommended protocol. |
Elective | A system may or may not implement an elective protocol. The general notion is that if you are going to do something like this, you must do exactly this. |
Limited use | These protocols are for use in limited circumstances. This may be because of their experimental state, specialized nature, limited functionality, or historic state. |
Not recommended | These protocols are not recommended for general use. This may be because of their limited functionality, specialized nature, or experimental or historic state. |
Table 1-4 An Internet protocol states
1.3.2 Internet standards
Proposed standard, draft standard, and standard protocols are described as being on the Internet Standards Track. When a protocol reaches the standard state, it is assigned a standard (STD) number. The purpose of STD numbers is to clearly indicate which RFCs describe Internet standards. STD numbers reference multiple RFCs when the specification of a standard is spread across multiple documents. Unlike RFCs, where the number refers to a specific document, STD numbers do not change when a standard is updated. STD numbers do not, however, have version numbers because all updates are made through RFCs and the RFC numbers are unique. Therefore, to clearly specify which version of a standard one is referring to, the standard number and all of the RFCs that it includes should be stated. For instance, the Domain Name System (DNS) is STD 13 and is described in RFCs 1034 and 1035. To reference the standard, a form such as “STD-13/RFC1034/RFC1035” should be used.
For some Standards Track RFCs, the status category does not always contain enough information to be useful. It is therefore supplemented, notably for routing protocols, by an applicability statement, which is given either in STD 1 or in a separate RFC.
The following Internet standards are of particular importance:
- STD 1 – Internet Official Protocol Standards
This standard gives the state and status of each Internet protocol or standard and defines the meanings attributed to each state or status. It is issued by the IAB approximately quarterly. At the time of writing, this standard is in RFC 3700. - STD 2 – Assigned Internet Numbers
This standard lists currently assigned numbers and other protocol parameters in the Internet protocol suite. It is issued by the Internet Assigned Numbers Authority (IANA). The current edition at the time of writing is RFC 3232. - STD 3 – Host Requirements
This standard defines the requirements for Internet host software (often by reference to the relevant RFCs). The standard comes in three parts: STD 4 – Router Requirements
This standard defines the requirements for IPv4 Internet gateway (router) software. It is defined in RFC 1812 – Requirements for IPv4 Routers.- RFC 1122 – Requirements for Internet hosts – communications layer
- RFC 1123 – Requirements for Internet hosts – application and support
- RFC 2181 – Clarifications to the DNS Specification
- STD 1 – Internet Official Protocol Standards
For Your Information (FYI)
A number of RFCs that are intended to be of wide interest to Internet users are classified as For Your Information (FYI) documents. They frequently contain introductory or other helpful information. Like STD numbers, an FYI number is not changed when a revised RFC is issued. Unlike STDs, FYIs correspond to a single RFC document. For example, FYI 4 - FYI on Questions and Answers - Answers to Commonly asked “New Internet User” Questions, is currently in its fifth edition. The RFC numbers are 1177, 1206, 1325 and 1594, and 2664.
Obtaining RFCs
RFC and ID documents are available publicly and online and best obtained from the IETF Web site:
http://www.ietf.org
A complete list of current Internet Standards can be found in RFC 3700 – Internet Official Protocol Standards.
1.4 Future of the Internet
Trying to predict the future of the Internet is not an easy task. Few would have imagined, even five years ago, the extent to which the Internet has now become a part of everyday life in business, homes, and schools. There are a number of things, however, about which we can be fairly certain.
1.4.1 Multimedia applications
Bandwidth requirements will continue to increase at massive rates; not only is the number of Internet users growing rapidly, but the applications being used are becoming more advanced and therefore consume more bandwidth. New technologies such as dense wave division multiplexing (DWDM) are emerging to meet these high bandwidth demands being placed on the Internet.
Much of this increasing demand is attributable to the increased use of multimedia applications. One example is that of Voice over IP technology. As this technology matures, we are almost certain to see a sharing of bandwidth between voice and data across the Internet. This raises some interesting questions for phone companies. The cost to a user of an Internet connection between Raleigh, NC and Santiago, Chile is the same as a connection within Raleigh, not so for a traditional phone connection. Inevitably, voice conversations will become video conversations as phone calls become video conferences.
Today, it is possible to hear radio stations from almost any part of the globe through the Internet with FM quality. We can watch television channels from all around the world, leading to the clear potential of using the Internet as the vehicle for delivering movies and all sorts of video signals to consumers everywhere. It all comes at a price, however, as the infrastructure of the Internet must adapt to such high bandwidth demands.
1.4.2 Commercial use
The Internet has been through an explosion in terms of commercial use. Today, almost all large business depend on the Internet, whether for marketing, sales, customer service, or employee access. These trends are expected to continue. Electronic stores will continue to flourish by providing convenience to customers that do not have time to make their way to traditional stores.
Businesses will rely more and more on the Internet as a means for communicating branches across the globe. With the popularity of virtual private networks (VPNs), businesses can securely conduct their internal business over a wide area using the Internet; employees can work from home offices yielding a virtual office environment. Virtual meetings probably will be common occurrences.
1.4.3 The wireless Internet
Perhaps the most widespread growth in the use of the Internet, however, is that of wireless applications. Recently, there has been an incredible focus on the enablement of wireless and pervasive computing. This focus has been largely motivated by the convenience of wireless connectivity. For example, it is impractical to physically connect a mobile workstation, which by definition, is free to roam. Constraining such a workstation to some physical geography simply defeats the purpose. In other cases, wired connectivity simply is not feasible. Examples include the ruins of Macchu Picchu or offices in the Sistine Chapel. In these circumstances, fixed workstations also benefit from otherwise unavailable network access.
Protocols such as Bluetooth, IEEE 802.11, and Wireless Application Protocol (WAP) are paving the way toward a wireless Internet. While the personal benefits of such access are quite advantageous, even more appealing are the business applications that are facilitated by such technology. Every business, from factories to hospitals, could enhance their respective services. Wireless devices will become standard equipment in vehicles, not only for the personal enjoyment of the driver, but also for the flow of maintenance information to your favorite automobile mechanic. The applications are limitless.
1.5 RFCs relevant to this chapter
The following RFCs provide detailed information about the connection protocols and architectures presented throughout this chapter:
- RFC 2026 – The Internet Standards Process -- Revision 3 (October 1996)
- RFC 2223 – Instructions to RFC (October 1997)
- RFC 2900 – Internet Official Protocol Standards (August 2001)
- RFC 3232 – Assigned Numbers: RFC 1700 is Replaced by an On-line Database (January 2002)
Appendix 1. Reference
[000] TCP/IP Tutorial and Technical Overview
http://www.redbooks.ibm.com/
[001] Network access point
http://en.wikipedia.org/wiki/Network_access_point
[002] Internet exchange point
http://en.wikipedia.org/wiki/Internet_exchange_point
[003] IBM Systems Network Architecture
http://en.wikipedia.org/wiki/IBM_Systems_Network_Architecture
[004] DARPA
http://en.wikipedia.org/wiki/DARPA
[005] ITU-T
http://en.wikipedia.org/wiki/ITU-T
[006] International Organization for Standardization
http://en.wikipedia.org/wiki/International_Organization_for_Standardization
[007] Network Control Program
http://en.wikipedia.org/wiki/Network_Control_Program
[008] Packet-switching node
http://en.wikipedia.org/wiki/Packet-switching_node
[009] Internet Architecture Board
http://en.wikipedia.org/wiki/Internet_Architecture_Board
[010] Internet Engineering Task Force
http://en.wikipedia.org/wiki/Internet_Engineering_Task_Force
[011] Internet Assigned Numbers Authority
http://en.wikipedia.org/wiki/Internet_Assigned_Numbers_Authority
[012] Internet Engineering Steering Group
http://en.wikipedia.org/wiki/Internet_Engineering_Steering_Group
Appendix 2. Figure List
Figure 1-1 Internet examples: Two interconnected sets of networks, each seen as onelogical network
Figure 1-2 The TCP/IP protocol stack: Each layer represents a package of functions
Figure 1-3 Detailed architectural model
Figure 1-4 The clientserver model of applications
Figure 1-5 The OSI Reference Model
Appendix 3. Table List
Table 1-1 The TCP/IP protocol layers
Table 1-2 Distinguish between a router, a bridge, and a gateway
Table 1-3 The OSI Reference Model layers
Table 1-4 An Internet protocol states
Appendix 4. Tips
About OSI and TCP/IP
首先,简单地说:OSI参考模型是学术上和法律上的国际标准,是完整的权威的网络参考模型。
而TCP/IP参考模型是事实上的国际标准,即现实生活中被广泛使用的网络参考模型。
这种情形是怎么导致的呢。慢慢道来:
早在20世纪7-80年代,网络开始发展起来,开始的时候各个生产厂商各自为营,生产出许多不同的网络,它们都相互不兼容。因此一个叫 国际标准组织的机构跑出来说:我们应该就网络制定个开放标准,只要大家都遵循这个标准,生产出来的东西相互兼容,这样消费者满意,大家也都有肉吃了。。这个想法呢,也得到大家的拥护。。于是呢,这个机构就组织一批搞网络的专家研究网络通信的一些原理及解决方案。大家都知道,搞学术的人都有拖沓的臭毛病,搞啊搞的搞了好多年,终于弄出了OSI,这个OSI也不是盖的,把网络通信问题都研究透了,很权威。专家们都很满意,不过,却也很惊讶地发现满世界已经有许多网络产品在使用了,而且,遵循的并不是OSI标准,这是怎么回事呢??原来啊,国际标准化组织说搞一个开放标准出来,那些个生产厂商开始也是很拥护的,就等着出结果呢,结果呢,等了一段时间始终发现没标准出来,而现实中网络的发展和需求不等人啊。。怎么办呢,摸着石头过河吧。。这个石头就是TCP/IP参考模型了。这是一个很势利的模型,它主要只研究网络互联方面的一些问题,在网络连接过程出现了什么问题,那么才考虑去解决它,也就是说让 现实去改正,这么一来二去,几年的时间里,生产厂商们发现这个TCP/IP啊也挺好用,于是就占领了整个市场。等OSI从实验室里出来的时候,发现现实世界已经被TCP/IP这个草根占领了,想呼吁生产厂商们改用OSI标准,也没人听了哦。。
于是,就是现如今这种状况了。。
By sanjor_ch @ http://zhidao.baidu.com/question/319485749.html
Chapel 1.Architecture, history, standards, and trends