公司网站建设属于什么职位,一个网站开发,怎么自己在电脑上做网站,张家港网站推广TCP—传输控制协议
是一种面向连接的可靠传输协议。可靠、有序、无丢弃和不重复。
特点#xff1a;
TCP是面向连接#xff08;虚连接#xff09;的传输层协议每一条TCP连接有且只能有两个端点。可靠、有序、无丢弃和不重复。TCP协议提供全双工通讯。 发送缓存 存放发送方…TCP—传输控制协议
是一种面向连接的可靠传输协议。可靠、有序、无丢弃和不重复。
特点
TCP是面向连接虚连接的传输层协议每一条TCP连接有且只能有两个端点。可靠、有序、无丢弃和不重复。TCP协议提供全双工通讯。 发送缓存 存放发送方TCP准备发送的数据。TCP已发送但是没有收到确认的数据。 接收缓存 存放发送端发送来的不按照顺序到达的数据按照顺序到达的数据但并未被应用程序读取 TCP是面向字节流的。TCP将应用层数据仅看做是一串无结构的字节流。
TCP连接的四元组源IP、源端口、目IP、目端口---唯一标识一条TCP连接。套接字---IPportTCP报文
![
TCP的可靠性
确认、重传、排序、流控。
排序
MTU最大传输单元---以太网环境下1500字节---数据包大小。MTU IP TCP/UDP 数据MSS
MSS最大数据段长度IPv4:分段后可以分片
IPv6:PMTU整条路经找最小
确认
ACK
重传
超时重传
RTT---往返时间指发出端将数据发送后到本端接收到对端反馈的确认报文的时间总和
RTO---超时重传时间RTO取值略大于RTT值。快速重传机制---根据接收方的反馈信息进行数据重传。客户端需要连续接收到三次确认序列号相同的ACK报文则认为数据丢失需要进行数据重传。快速重传机制会导致部分数据重复传输降低数据传输效率。解决思路使用选择确认机制。---在TCP首部的选项字段中添加上未接收到的数据信息。发送方接收到该确认报文后会根据选项字段内容重新传输缺少的数据部分。选择确认机制是否可以执行是需要通讯双方进行协商的。---在三次握手的前两次SYN报文中进行协商。RTO数值是动态变化的数值。超时间隔加倍。
流控:(滑动窗口机制)
窗口窗口的大小是可以指定的窗口大小指的是无需等待确认报文而可以直接发送的数据包的最大值。rwnd接收窗口---最开始等于整个缓存区的大小浮动变化。 TCP要求发送方依据rwnd发送数据量。发送方的发送窗口大小是依据接收方的反馈信息中的接收窗口大小而设定的。 TCP连接的建立
TCP连接连接需要解决的问题
1、知晓对端的套接字信息
2、允许双方进行参数的协商(窗口值、选择确认机制、是否使用窗口扩大因子)
3、对设备进行资源分配c/s架构谁先发送报文谁就是客户端1.服务CLOSED--LISTEN创建接受缓存空间等待客户端的连接请求2.客户CLOSED--SYN-SENT创建接受缓存空间发送请求报文SYN1seqx不携带数据x初始序列号随机数且循 环循环带来报文延迟与下一次循环的同序列号报文先后到达解决时间戳双向在前俩次握手协商 3.服务LISTEN--SYN-RCVD发送接收并且请求的报文ACK1ackeqx1SYN1seqy4.客户SYN-SENT--EATABLISHED收到报文进入下一状态发送接收报文ACK1ackeqy1 seqx1可以携带数据5.服务SYN-RCVD--EATABLISHED接受到报文进入下一状态
当TCP连接建立成功但是客户端突发故障。
此时服务端会等到2小时时间若2小时时间内没有收到任何客户端的数据则服务端发送一个探测报文以后每隔75秒发送一次。若一连发送10次仍没有回复则服务器认为客户端出现故障关闭连接。TCP连接释放
释放前提
1、TCP连接的释放实际上是在释放本地分配给TCP连接的资源
2、本地没有新的数据需要发送客户和服务都可以释放但一般都是客户端1.客户ESTABLISHED--FIN-WAIT-1发送报文FIN1,seqmACK1,ackeqvm非随机值而是累计确认机制最后得到的值2.服务ESTABLISHED--CLOSE-WAIT发送报文ACK1ackeqm1seqv3.客户FIN-WAIT-1--FIN-WAIT-2接受到报文4.服务CLOSE-WAIT--LAST-ACK发送报文FIN1,seqpACK1,ackeqm1p非随机值在此之前客户到服务的连接关闭但 服务还可以发送数据所有seq还在累计的增加5.客户FIN-WAIT-2--TIME-WAIT--CLOSED发送报文ACK1ackeqp1seqm1在发送后会等个2MSL时间后进入连接断开状态MSL是报文段在网络中存活的时间为两分钟。6.服务LAST-ACK--CLOSED接受到报文双方同时释放连接