(一)TCP/IP 协议
在计算机网络中有许多互相连接的节点,这些节点间需要不断地进行数据交换。要做到有条不紊地完成数据交换,每个节点间就必须遵守一些事先约定的规则,这些规则规定了数据交换的格式及同步问题。为进行网络中的数据交换而建立的规则、标准或约定称为网络协议。
TCP/IP(Transmission Control Protocol/Internet Protocol)协议是Internet 所使用的协议,也是事实上的工业标准。TCP/IP 协议规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式,是Internet 的基础协议,也是一种电脑数据打包和寻址的标准方法。TCP/IP 协议由TCP 协议和IP 协议组成。
TCP 协议是传输控制协议,规定一种可靠的数据信息传递服务。TCP 协议能够自动适应网络上的各种变化,即使在Internet 暂时出现堵塞的情况下,也能保证通信的可靠性。TCP协议规定了为防止传输过程中数据包丢失的检错方法,用以确保最终信息的正确性。接入Internet 中的任何一台计算机必须有一个地址,而且地址不允许重复,以便区分网络上的各台计算机,在Internet 上传送任何数据的开始部分都要附上发送方和接收方的地址。其基本工作过程为:TCP 协议给要传送的每一个字节的数据进行编号;接收端在收到数据后必须向发送端发送确认信息,若发送端在规定的时间内没有收到对方的确认信息,就重新传送这部分数据。当网络中的通信量过大时,TCP 协议会通知发送端放慢发送数据,即进行流量控制。
IP 协议又称为互联网协议,提供网间连接的完善功能。它能适应各种各样的网络硬件,对底层网络硬件几乎没有任何要求。任何一个网络只要可以从一个地点向另一个地点传送二进制数据,就可以使用IP 协议。
TCP 协议和IP 协议是互补的,二者结合保证了Internet 在复杂环境下能够正常运行。TCP/IP 协议的运行效率很高,虽然计算机的速度比TCP/IP 协议刚刚诞生时提高了几千倍,连接Internet 的计算机数量大幅度增加,数据传输量也飞速增长,但TCP/IP 协议仍能满足Internet 的需要。尽管这两个协议可以分开使用,能够完成各自的功能,但由于它们是在同一个时期为一个系统设计的,并且功能上也是相互配合、相互补充的,计算机必须同时使用这两个协议,因此,常把这两个协议称为TCP/IP 协议。
(二)TCP/IP 协议体系结构
TCP/IP 协议是一个四层协议体系结构,如图2-1 所示。
图2-1 TCP/IP 协议的层次结构(www.xing528.com)
1.链路层
链路层,也称为数据链路层或网络接口层,是TCP/IP 协议的最底层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。链路层主要负责接收和发送IP 数据包。
2.网络层
网络层也称为互联网层,由于该层的主要协议是IP 协议,因而也可简称为IP 层。它是TCP/IP 协议栈中最重要的一层,主要功能是可以把源主机上的分组发送到互联网中的任何一台目的主机上。可以想象,由于在源主机和目的主机之间可能有多条通路相连,因而网络层就要在这些通路中作出选择,即进行路由选择。在TCP/IP 协议族中,网络层协议包括IP协议(网际协议)、ICMP 协议(Internet 互联网控制报文协议)以及IGMP 协议(Internet 组管理协议)。
3.传输层
通常所说的两台主机之间的通信,其实是两台主机上对应应用程序之间的通信,传输层提供的就是应用程序之间的通信,也叫端到端(End to End)的通信。在不同的情况下,应用程序之间对通信质量的要求是不一样的,因此,在TCP/IP 协议族中传输层包含两个不同的传输协议:一个是TCP(传输控制协议),另一个是UDP(用户数据报协议)。TCP 为两台主机提供高可靠性的数据通信。当有数据要发送时,它对应用程序送来的数据进行分片,以适合网络层进行传输;当接收到网络层传来的分组时,它对收到的分组要进行确认;它还要对丢失的分组设置超时重发等。由于TCP 提供了高可靠性的端到端通信,因此应用层可以忽略所有这些细节,以简化应用程序的设计。而UDP 则为应用层提供一种非常简单的服务,它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能正确到达目的端,通信的可靠性必须由应用程序来提供。用户在自己开发应用程序时可以根据实际情况,使用系统提供的有关接口函数,方便地选择是使用TCP 还是UDP 进行数据传输。
4.应用层
应用层向使用网络的用户提供特定的、常用的应用程序,如使用最广泛的远程登录(Telnet)、文件传输协议(FTP)、超文本传输协议(HTTP)、域名系统(DNS)、简单网络管理协议(SNMP)和简单邮件传输协议(SMTP)等。要注意有些应用层协议是基于TCP协议的(如FTP 和HTTP 等),有些应用层协议是基于UDP 协议的(如SNMP 等)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。