TCP协议中的标志位

TCP/IP协议通常放在一起来说,但是它们是两个不同的协议,所起的作用也不一样。

IP协议是用来查找地址的,对应于网际互联层。

TCP协议是用来规范传输规则的,对应着传输层。

IP协议只负责找到地址,具体传输的工作交给TCP来完成。

 

TCP在传输之前会进行三次沟通,一般称为“三握手”;传输数据断开的时候需要进行四次沟通,一般称为“四挥手”。

要理解这个过程首先需要理解TCP中的两个序号和三个标志位的含义:

  • seq:sequence number的缩写,表示所传数据的序号。TCP传输时每一个字节都有一个序号,发送数据时会将数据的第一个序号发送给对方,接收方会按序号检查是否接收完整了,如果没接收完就需要重新传送,这样就可以保证数据的完整性。
  • ack:acknoledgement number的缩写,表示确认号。接收端用它来给发送端反馈已经成功接收到的数据信息,它的值为希望接收的下一个数据包起始序号,也就是ack值所代表的序号前面数据已经成功接收到了。
  • ACK:确认位,只有ACK=1的时候ack才起作用。正常通信时ACK=1,第一次发起请求时因为没有需要确认接收的数据所以ACK为0。
  • SYN:同步位,用于在建立连接时同步序号。刚开始简历连接时并没有历史接收的数据,所以ack就没办法设置,这时按照正常的机制就无法运行了,SYN的作用就是来解决这个问题的,当接收端接收到SYN=1的报文时就会直接将ack设置为接收到的seq+1的值,注意这里的值并不是校验后设置的,而是根据SYN直接设置的,这样正常的机制就可以运行了,所以SYN叫同步位。需要注意的是,SYN会在前两次握手时都为1,这是因为通信的双方的ack都需要设置一个初始值。
  • FIN:终止位,用来在传输数据完毕后释放连接。

 

转载于:https://www.cnblogs.com/feixy/p/5860444.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值