1、Tcp可靠性可靠的数据流交付服务确保在机器之间交互数据流,不会重复交付或丢失数据.大部分可靠协议软件使用”带重传的肯定确认”(POSITIVE ACKNOWLEDGEMENT WITH RETRANSMISSION)的技术作为提供可靠性的基础 .即,接受方收到数据后,向源站回送确认 ACK 报文.发送方每发送一个分组,都保存一份记录,在发送下一个分组之前等待确认.发送方还在送出分组时启动一个定时器,并在定时器超时而确认信息还没到的情况下重发刚才的分组.可靠性方面还有一个问题是底层的分组交付系统向上递交了重复的分组.重复有可能是由于网络延迟太长,ACK 延迟,发送方以为超时重传而产生.通常,可靠
2、性协议通过给每个分组一个序号,并且要求在 ACK 中携带一个序号来避免该问题.滑动窗口的概念SLIDING WINDOWS 提高了数据流传输过程的效率.由于在接到前一个分组的确认之前必须推迟下一个分组的发送,简单的肯定确认协议浪费了大量宝贵的网络带宽.滑动窗口协议更好的利用了网络带宽,它允许发送方在等待确认之前可以发送多个分组。TCPTCP 提供面向连接的,可靠的字节流服务 .与 UDP 服务完全不同的一种服务.面向连接 在彼此交换数据之前必须先建立一个 TCP 连接 .类似于打电话的过程可靠由以下方式来提供1 应用数据被分割成 TCP 认为合适的数据块大小来发送 .而 UDP 应用程序产生的数据报长度将不变被发送.注意:由 TCP 传递给 IP 的信息单位称为 SEGMENT2 当 TCP 发出一个 SEGMENT 后,它启动一个定时器,等待目的端确认收到这个 SEGMENT,如果不能收到,则重发.3 当 TCP 收到来自另一端的数据,会发送确认.4 检验和5 因为 IP 可能失序,因此如果有必要,TCP 将对收到的数据进行重新排序 .6 TCP 接受段会避免接受重复的数据7 流控面向字节流1 应用程序交给 TCP2 TCP 对字节流的内容不做任何解释.TCP 不知道传输的数据是二进制还是 ASCII 字符.只交给应用程序处理.TCP 连接的建立和撤消