TCP实现可靠传输的方式1、编号 2、确认机制 3、超时重传
TCP采用内核缓冲区,就是发送缓存和接收缓存,而UDP没有。
流量控制、拥塞控制
传输层的协议数据单元叫做报文段,TCP报文段、UDP报文段
网络层的协议数据单元叫做IP数据报
TCP面向字节流,只能实现点对点通信。
TCP提供可供交付、按序、不重复、不丢失、无差错。
TCP提供全双工通信。两端都设有发送缓存和接收缓存。
应用程序把数据发到发送缓存,TCP从发送缓存中取数据,构造TCP数据报。
TCP收到数据后把数据放到接收缓存中,然后应用程序从中来取数据。
。TCP对应用层的数据只看成是字节流,也即是一个一个字节,看不出其他类型或结构。
接收方的应用层数据必须有能力识别这种字节流,把它还原为有意义的应用层数据。
一个TCP数据报中的数据长度是由:1、对方的窗口值 2、网络的拥塞程度决定的。3、MSS最大报文段大小
而UDP报文的数据部分长度是应用程序给出的,也就是应用程序交给UDP多少数据,UDP一次性就发多少数据。
每一个TCP连接的两个端点是套接字Socket:IP+端口号,这个Socket和网络编程接口socket不一样。
超时重传的时间设置的过长会导致通信效率低下,设置的太短会导致不必要的重传,浪费网络资源.(网络资源主要是指带宽资源)
假如说A给B发送的确认报文丢失了,那么B会给A重传,那么A收到重传报文应该做什么呢?
答:1、丢弃这个重复的重传报文
2、对B发送确认,仍要发送确认,因为B重传就是因为没收到确认报文。
自动重传请求,滑动窗口协议(TCP协议的精髓所在),累计确认.
序号字段指的是本报文段发送的数据部分的第一个字节的序号&#x