关于TCP的笔记整理

TCP协议-----传输控制协议

一种面向连接可靠传输协议。

TCP协议建立的连接是双向连接。

面向连接:在数据传输之前,收发双方需要预先建立一条逻辑通路。

无面向连接。

---Source Port 是源端口

---Destination Port是目的端口,16位。

---Sequence Number是发送数据包中的第一个字节的序列号,32位。

---Acknowledgment Number是确认序列号,32位。

---Data Offset是数据偏移,4位,该字段的值是TCP首部(包括选项)长度除以4。

---Window表示接收缓冲区的空闲空间,16位,用来告诉TCP连接对端自己能够接收的最大数据长度。

---Checksum是校验和,16位。

---Urgent Pointers是紧急指针,16位,只有URG标志位被设置时该字段才有意义,表示紧急数据相对序列号(Sequence Number字段的值)的偏移。

序列号

确认序列号

6位标志位

SYN---同步位---是在TCP三次握手建立通道时的标记

ACK---确认位---当该标记位置为1时,确认序列号有意义

FIN---代表释放TCP连接

URG---表示紧急标记位。当发送方希望一些数据尽快被接收方的上层拿到的时候,就需要用到这个标记位。通常需要搭配16位紧急指针使用,要传递的紧急数据混在普通数据里,16位紧急指针指明了紧急数据在普通数据中的具体位置。

PSH---表示催促标记位,可以理解为Push。Client在不断发数据,Server在不断接收数据同时在给Client发送应答,应答报文中包含了16位窗口大小的字段,其实就是在告诉Client自己接收缓冲区剩余空间的大小,以便于Client及时调整自己的发送速度。

RST---表示复位标记位,用于非正常的关闭连接。客户端因为主机崩溃或者网线断开,但是服务端认为对方还在。如果服务端长时间没有收到对方的数据,就会定期发送报文询问对方是否在线;客户端收到以后,由于连接不存在,此时就会发送携带RST标志位的报文来间接告诉服务端连接异常。

->TCP分段:因为IP分片后,TCP协议无法保证数据的可靠性传输;故而使用TCP协议进行封装的文件不允 许进行IP分片,而又因为MTU存在,需要将大文件分为小文件,该操作由TCP协议完成。

MSS---最大传输段===MTU-IP头部-TCP头部 在TCP协议中,每一个报文都需要有序列号信息。

可靠性

确认机制----每收到一个TCP数据段,都需要发送一次确认报文。

重传机制----超时重传,当一个数据段中的某个报文丢失,发送端会主动重新发送一次该报文。

排序机制----传输数据段时,被分为多个报文,从不同路径传输,最终达到目的地的顺序会被打乱, 需要根据序列号字段进行重新排序。

流控机制(滑动窗口机制)---可以通过调节窗口大小(Windows)来对流量进行控制

面向连接

三次握手(建立通道):

四次挥手(销毁通道):

MSL---120S,指一个数据包在网络中传递的最大时间。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值