许多国际标准化组织和技术开发商经过多年的技术开发和发展,形成了多种网络协议模型。最流行的是TCP/IP协议,它是互联网通信的核心。

TCP/IP指的是一组数据通信协议,它有时被人们误解,因为TCP和IP只是协议栈中的两个协议。这个名称来源于协议栈中两个重要的协议:传输控制协议(TCP)和网际协议(IP)。 TCP/IP来源于1969年国防部(DoD) 对网络协议的开发研究。20世纪80年代初期,TCP/IP得到了发果。1983年, 它成为ARPA网的标准协议。 由于TCP/IP协议栈的发展历史, 它也经常被称作DoD协议线或Internet协议线。

TCP/IP协议线包含了100多个协议,我们看看其中的几个典型协议:

★ 超文本传输协议(HTTP)

HTTP是一个应用层的协议,用来发布、 协调超文本信息。从1990年起它一直为WWW万维网所使用。HTTP是一种通过请求方法、错误代码和报头的扩展格式来实现的无状态协议。它除了用于超文本传输之外,还用于很多其他的任务,例如,名称服务器和分布式的对象管理系统。HTTP的特点是允许系统独立地创建数据表示方法的类型和协商能力,而不依赖于所要传输的数据。

★ 文件传输协议(FTP)

FTP协议使在主机之间共享文件成为可能。FTP使用TCP为控制信息建立虚拟连接,然后为数据传输创建一个单独的TCP连接。控制连接使用TELNET协议在主机之间交换命令和消息。

★ 传输控制协议(TCP)

传输控制协议(TCP)工作在传输层。TCP指定了两台计算机之间为了进行可靠传输而交换的数据和确认信息的格式,还指定了计算机为了确保数据的正确到达而采取的步骤。该协议规定了TCP软件如何识别给定机器上的多个目标,及如何对类似分组丢失和分组重复这样的错误进行恢复。该协议还指出了如何在计算机之间实现发起TCP数据流的传输,以及完成后计算机如何同意开始传输数据。由于TCP对底层通信系统没有什么特殊要求,因此可用于包括IP数据报交付服务在内的多种数据包传输系统,这正是其强大功能的体现。

★ 用户数据报协议(UDP)

UDP工作在传输层。UDP提供应用程序之间传输数据报的基本机制。UDP提供的协议端口能够区分在一台机器上运行的多个程序。UDP使 用底层的IP协议在各个机器之间传输报文,提供和IP一样不可靠、无连接的数据报传输服务。它没有使用确认机制来确保报文的准确到达,没有对传入的报文排序,也不提供反馈信息来控制机器之间信息传输的速度。

★ 网际协议(IP)

IP协议工作在网络层。IP协议提供了三个重要的定义。

  1. IP协议定义了在整个TCP/IP互联网上数据传输所用的基本单元。因此,它规定了互联网上传输的数据的确切格式
  2. IP软件完成路由选择的功能,选择一个数据发送的路径;
  3. IP包括了一 组体现了不可靠数据传输的规则,这意味着不能保证数据一定能到达目的地。

数据报可能被损坏,打乱顺序,或丢失。IP是TCP/IP互联网中 最基本的部分,因此有时也称TCP/IP互联网为基于网际协议的技术。

★ 网际控制报文协议(ICMP)

网际控制报文协议(ICMP)用于网络错误报告及产生要求注意的消息。ICMP报 告的错误通常与数据报处理有关。ICMP只报告 与数据报第0分片有关的错误。IP、 UDP或者TCP层通常都在ICMP报文的基础,上工作。ICMP一 般属于TCP/IP中的IP层,但是依赖网络层的IP协议。ICMP报 文被封装在IP数据报里面。

英文版:

A wide variety of network protocol models exist, which are defined by many standardorganizations worldwide and technology vendors over years of technology evolution and development.One of the most popular network protocol model is TCP/IP, which is the heart of Internetworkingcommunications.

The name TCP/IP refers to a suite of data communication protocols. The name is misleadingbecause TCP and IP are only two of dozens of protocols that compose the suite. Its name comes from two of the more important protocols in the suite, the Transmission Control Protocol(TCP) and theInternet Protocol(IP). TCP/IP originated out of the investigative research into networking protocolsthat the Department of Defense (DoD) initiated in 1969. In the early 1980s, the TCP/IP protocols weredeveloped, In 1983, they became standard protocols for ARPANET. Because of the history of theTCP/IP protocol suite, it is often referred to as the DoD protocol suite or the Internet protocol suite.

TCP/IP protocol suite includes more than 100 protocols, now let's see some typical protocols.

★ Hypertext Transfer Protocol (HTTP)

HTTP is an application-level protocol for distributed, collaborative, hypermedia informationsystems. It has been in use by the World Wide Web global information initiative since 1990. It is astateless protocol which can be used for many tasks beyond its use for hypertext, such as name serversand distributed object management systems, through extension of its request methods, error codes andheaders. A feature of HTTP is the typing and negotiation of data representation, allowing systems tobe built independently of the data being transferred.

★ File Transfer Protocol(FTP)

FTP enables file sharing between hosts. FTP uses TCP to create a virtual connection for controlinformation and then creates a separate TCP connection for data transfers. The control connction usesan image of the TELNET protocol to exchange commands and messages between hosts.

★ Transmission Control Protocol (TCP)

TCP supports the network at the transport layer. TCP specifies the format of the data andacknowledgement that two computers exchange to achieve a reliable transfer, as well as the procedurethe computers use to ensure that the data arrives correctly. It specifies how TCP software distinguishesamong multiple destinations on a given machine, and how communicating machines recover fromerrors like lost or duplicated packets. The protocol also specifies how two computers initiate aTCP stream transfer and how they agree when it is complete. Because TCP assumes little aboutthe underlying communication system, TCP can be used with a variety of packet delivery systems,including the IP datagram delivery service. In fact, the large variety of delivery systems TCP can useis one of its strengths.

★ User Datagram Protocol (UDP)

UDP supports the network at the transport layer. UDP provides the primary mechanism thatapplication programs use to send datagrams to other application programs. UDP provides protocolports used to distinguish among multiple programs executing on a single machine. UDP uses theunderlying IP to transport a message from one machine to another, and provides the same unreliable,connectionless datagram delivery semantics as IP. It does not use acknowledgement to make suremessages arrive, it does not order incoming messages, and it does not provide feedback to control therate at which information flows between the machines.

★ Internet Protocol (IP)

IP provides support at the network layer. IP provides three important definitions. First, the IPprotocol defines the basic unit of data transfer used throughout a TCP/IP Internet. Thus, it specifies theexact format of all data as it passes across a TCP/IP Internet. Second, IP software performs the routingfunction, choosing a path over which data will be sent. Third, IP includes a set of rules that embodythe idea of unreliable packet delivery, meaning there is no guarantee that the data will reach theintended host. The datagram may be damaged upon arrival, out of order, or not arrive at all. IP is sucha foundational part of the design that a TCP/IP Internet is sometimes called an lP-base technology.

★ Internet Control Message Protocol (ICMP)

ICMP used for network error reporting and generating messages that require attention. The errorsreported by ICMP are generally related to datagram processing. ICMP only reports errors involvingfragment 0 of any fragmented datagrams. The IP, UDP or TCP layer will usually take action based onICMP messages. ICMP generally belongs to the IP layer of TCP/IP but relies on IP for support at thenetwork layer. ICMP messages are encapsulated inside IP datagrams.