传输控制协议与网络层协议介绍【详解】

传输控制协议与网络层协议介绍【详解】

  传输控制协议(TCP)/网络层协议是什么意思

  传输控制协议(TCP)

  TCP提供的是一种可靠的数据流服务。当传送受差错干扰的数据,或基础网络故障,或网络负荷太重而使网际基本传输系统(无连接报文递交系统)不能正常工作时,就需要通过其它协议来保证通信的可靠。TCP就是这样的协议,它对应于OSI模型的运输层,它在IP协议的基础上,提供端到端的面向连接的可靠传输。

  TCP采用“带重传的肯定确认”技术来实现传输的可靠性。简单的“带重传的肯定确认”是指与发送方通信的接收者,每接收一次数据,就送回一个确认报文,发送者对每个发出去的报文都留一份记录,等到收到确认之后再发出下一报文分组。发送者发出一个报文分组时,启动一个计时器,若计时器计数完毕,确认还未到达,则发送者重新送该报文分组。

  简单的确认重传严重浪费带宽,TCP还采用一种称之为“滑动窗口”的流量控制机制来提高网络的吞吐量,窗口的范围决定了发送方发送的但未被接收方确认的数据报的数量。每当接收方正确收到一则报文时,窗口便向前滑动,这种机制使网络中未被确认的数据报数量增加,提高了网络的吞吐量。

  TCP通信建立在面向连接的基础上,实现了一种“虚电路”的概念。双方通信之前,先建立一条连接,然后双方就可以在其上发送数据流。这种数据交换方式能提高效率,但事先建立连接和事后拆除连接需要开销。TCP连接的建立采用三次握手的过程,整个过程由发送方请求连接、接收方再发送一则关于确认的确认三个过程组成。

  网络层协议

  OSI(开放系统互连)模型是一个由国际标准化组织定义的标准。它是一个分层体系结构,每层定义一个特定的通信类型。底层叫做物理层,负责把这些消息以比特流通过物理媒体进行传输。紧挨着物理层上面的各层定义如何将数据分组,以在物理网络上传输。在协议栈的更上面的各层定义如何建立和管理计算机之间的对话。最上面的各层定义应用程序如何与网络接口。OSI模型帮助开发者创建可在各种平台和操作系统上工作的产品。

  网络层是协议栈的第三层,紧靠在物理层和数据链路层的上面。它是路由选择和负责网络寻址的层。从该层上面往下看,可以认为底下存在的是一个不可靠无连接的端对端的数据通路。最核心的协议当然是IP协议。此外还有ICMP,RIP,OSPF ,IS-IS,BGP,ARP,RARP等。请注意下面:

  ? 网络层也叫做网间层,因为它提供允许连接不同类型网络和共享同一寻址方案的功能。网络向上提供的服务有两类,即面向联机的网络服务和无连接的网络服务。这两种服务的具体实现就是所谓的虚电路服务和数据报服务。

  ? IP(网际协议)是最普通的网络层协议,提供无连接的数据报传输机制。其他协议包括Novell的IPX和IBM的APPN(高级对等联网)。

  ? IP协议依靠其它层的协议提供错误检测和错误恢复。有时将该网间协议称为“不可行协议”,因为它并不包含错误检测和恢复的程序代码。这并不是说IP协议是不能信赖的,恰恰相反,它可以正确地将数据传送到已连接的网络,不过它并不检验数据是否被正确地接收。

  ? 网络层协议提供了尽力业务,它与提供可靠数据传送业务的传输层服务相反。

  ? 像IP这样的网络层协议是无连接的,与面向连接的传输层服务相反。

  一个想象网络层的通常方式是服务提供商之对于传输层。在TCP/IP协议族中,IP提供无连接(不可靠)数据分组传递服务,而TCP提供传输层、面向连接服务。

  RFC2956(Overview of 1999 IAB Network Layer Workshop, October 2000)描述了“网络层的状态及其对在因特网持续增长和使用的影响”。特别是,它讨论了NAT(网络地址转换)、防火墙、IPv6、寻址和各种路由选择问题。

推荐阅读