传输控制协议(Transmission Control Protocol, TCP) TCP 协议主为了在主机间实现高可靠性的包交换传输协议
本文将描述协议标准和实现的一些方法
因为计算机网络在现代社会中已经是不可缺少的了,TCP 协议主要在网络不可靠的时候完成通信,对军方可能特别有用,但是对于政府和商用部门也适用
TCP 是面向连接的端到端的可靠协议
它支持多种网络应用程序
TCP 对下层服务没有多少要求,它假定下层只能提供不可靠的数据报服务,它可以在多种硬件构成的网络上运行
下面的图是TCP 在层次式结构中的位置,它的下层是 IP 协议,TCP 可以根据 IP 协议提供的服务传送大小不定的数据,IP 协议负责对数据进行分段,重组,在多种网络中传送
TCP 的上面就是应用程序,下面是 IP 协议,上层接口包括一系列类似于操作系统中断的调用
对于上层应用程序来说,TCP 应该能够异步传送数据
下层接口我们假定为IP 协议接口
为了在并不可靠的网络上实现面向连接的可靠的传送数据, TCP 必须解决可靠性,流量控制的问题,必须能够为上层应用程序提供多个接口,同时为多个应用程序提供数据,同时 TCP 必须解决连接问题,这样 TCP 才能称得上是面向连接的,最后,TCP 也必须能够解决通信安全性的问题
网络环境包括由网关(或其它设备)连接的网络,网络可以是局域网也可以是一些城域网或广域网,但无论它们是什么,它们必须是基于包交换的
主机上不同的协议有不同的端口号,一对进程通过这个端口号进行通信
这个通信不包括计算机内的I/O 操作,只包括在网络上进行的操作
网络上的计算机被看作包传送的源和目的结点
特别应该注意的是:计算机中的不同进程可能同时进行通信,这时它们会用端口号进行区别,不会把发向 A 进程的数据由 B 进程接收的
进程为了传送数据会调用 TCP,将数据和相应的参数传送