TCP/IP协议族

来自计算思维百科
跳转至: 导航搜索

网络互联是目前网络技术研究的热点之一,并且已经取得了很大的进展,在诸多网络互联协议中,传输控制协议/互联网协议TCP/IP(Transmission Control Protocol/Internet Protocol)是一个使用非常普遍的网络互联标准协议。TCP/IP协议是美国的国防部高级计划研究局为实现ARPANET(后来发展为Internet)互联网而开发的,也是很多大学及研究所多年的研究及商业化的结果。目前,众多的网络产品厂家都支持TCP/IP协议,TCP/IP已成为一个事实上的工业标准。

基本概念

网络互联是目前网络技术研究的热点之一,并且已经取得了很大的进展,在诸多网络互联协议中,传输控制协议/互联网协议TCP/IP(Transmission Control Protocol/Internet Protocol)是一个使用非常普遍的网络互联标准协议。TCP/IP协议是美国的国防部高级计划研究局为实现ARPANET(后来发展为Internet)互联网而开发的,也是很多大学及研究所多年的研究及商业化的结果。目前,众多的网络产品厂家都支持TCP/IP协议,TCP/IP已成为一个事实上的工业标准。

Internet网络体系结构是以TCP/IP协议为核心的。TCP/IP以其两个主要协议:传输控制协议(TCP)和网络互联协议(IP)而得名,IP协议为各种不同的通信子网或局域网提供一个统一的互联平台;TCP协议为应用程序提供端到端的通信和控制功能。TCP/IP实际上是一组协议,包括多个具有不同功能且相互关联的协议。TCP/IP是多个独立定义的协议集合,因此也被称为TCP/IP协议簇。

TCP/IP协议簇也是一种层次体系结构,共分为5层,其中的底层物理层和数据链路层只要能够支持IP层的分组传送即可,因此我们作为网络接口层来对待。TCP/IP协议模型从更实用的角度出发,简化了会话层和表示层,将其融合到了应用层,使得通信的层次减少,提高了通信的效率,形成了高效的四层体系结构,即网络接口层、IP层、传输层和应用层。图1表示了TCP/IP的分层结构与OSI参考模型的对应关系。4.2.3.png

图1 TCP/IP协议模型与OSI模型比较

网络接口层

TCP/IP模型中的网络接口层与OSI的物理层、数据链路层以及网络层的一部分相对应。该层中所使用的协议大多是各通信子网固有的协议,例如以太网802.3协议、令牌环网802.5协议或分组交换网X.25协议等。

网络接口层的作用是传输经IP层处理过的信息,并提供一个主机与实际网络的接口,而具体的接口关系则可以由实际网络的类型所决定。

TCP/IP参考模型并未对这一层做具体的描述,它一般指各种计算机网络,如SATNET、ARPANET、LAN、分组无线网等,也可以说它指的是任何一个能使用数据报的通信系统,这些系统大到广域网、小到局域网或点对点连接等。这样也正体现了TCP/IP的灵活性,它与网络的物理特性无关。

网络层

网络层是TCP/IP模型的关键部分。它的功能是使主机可以把IP数据报发往任何网络,并使数据报独立地传向目标(中途可能经由不同的网络)。

IP层使用IP协议,把传输层送来的消息组装成IP数据报,并把IP数据报传递给网络接口层。IP协议制定了统一的IP数据报格式,以消除各通信子网的差异,从而为信息发送方和接收方提供透明的传输通道。透明是指下层所提供的功能对上层而言是不可见的,上层只需知道能够以及如何从下层得到服务即可。

IP层的主要任务是:为IP数据报分配一个全网唯一的传送地址(称为IP地址),实现IP地址的识别与管理;IP数据报的路由机制;发送或接收时使IP数据报的长度与通信子网所允许的数据报长度相匹配等。例如,以太网所传输的帧长为1500Byte,而ARPANET所传输的数据包长度为1008Byte,当以太网上的数据帧转发给ARPANET时,就要进行数据帧的分解处理。

传输层

传输层为应用层实体提供端到端通信功能,这与OSI中的传输层相似。该层协议处理IP层没有处理的通信问题,保证通信连接的可靠性,能够自动适应网络的各种变化。传输层主要有两个协议:传输控制协议TCP和用户数据报协议UDP。

TCP协议提供的是一种可靠的、面向连接的数据传输服务,而UDP协议提供的是不可靠的、无连接的数据传输服务。

应用层

位于传输层之上的应用层包含所有的高层协议,为用户提供所需要的各种服务。主要的服务有:远程登录(Telnet)、文件传输(FTP)、电子邮件(SMTP)、Web服务(HTTP)、域名系统(DNS)等。

值得指出的是,TCP/IP模型中的应用层与OSI中的应用层有较大的差别,它不仅包括了会话层及上面三层的所有功能,而且还包括了应用进程本身在内。因此,TCP/IP模型的简洁性和实用性就体现在它不仅把网络层以下的部分留给了实际网络,而且将高层部分和应用进程结合在一起,形成了统一的应用层。