计算机网络概念入门(八)

正文

1.TCP-数据格式

=》数据偏移
—>占4位,取值范围是0x0101~0x1111
—>乘以4:首部长度(提问:为什么数据偏移乘以4才是首部长度?答:记住就好,因为它占4位,就这么规定)
—>首部长度是20~60字节(5x4~15x4)【二进制0101转换成十进制是5,二进制1111转换成十进制是15】

=》保留
—>占6位,目前全为0

2.TCP的几个要点

=》可靠传输

=》流量控制

=》拥塞控制

=》连接管理
—>建立连接
—>释放连接

3.TCP-小细节

=》有些资料,TCP首部的保留字段占3位,标记字段占9位
—>wireshark中也是如此

=》分析
—>UDP首部中占16位的长度字段是冗余的,纯粹是为了保证首部是32bit对齐
—>TCP\UDP的数据长度,完全可以由IP数据包的首部推测出来
即:传输层的数据长度=网络层的总长度-网络层的首部长度-传输层的首部长度

4.TCP-标志位

=》URG
—>当URG=1时,“紧急指针字段”才有效。表明当前报文字段中有紧急数据,应优先尽快传送

=》ACK
—>当ACK=1时,确认号字段才有效

=》PSH

=》RSH
—>当RSH=1时,表明连接中出现严重差错,必须释放连接,然后再重新建立连接.

=》SYN
—>当SYN=1、ACK=0时,表明这是一个建立连接的请求(也就是说,syn=1,且,ack=0时,表明:我想和你建立连接)
—>如果对方同意建立连接,则回复SYN=1、ACK=1(也就是说,syn=1,且,ack=1时,表明:你的请求我通过了,可以建立连接)

=》FIN(finish)
—>当FIN=1时,表明数据已经发送完毕,要求释放连接

5.TCP-序号、确认号、窗口

=》序号:
—>占4个字节
—>首先,传输的每一个字节都会有一个编号
—>在建立连接后,序号代表:这一次传给对方的TCP数据部分的“第一个字节”的编号

=》确认号:
—>占4个字节
—>在建立连接后,确认号代表:期望对方下一次传过来的TCP数据部分的第一个字节的编号

=》窗口:
—>占2个字节
—>这个字段有流量控制功能,用告知对方下一次允许发送的数据大小(字节为单位)

6.TCP可靠运输-停止等待ARQ协议

=》ARQ,自动重传请求

请添加图片描述

【图片1】

7.TCP-连续ARQ协议+滑动窗口协议

在这里插入图片描述

=》M1、M2、M3、M4四个一起发过去,然后只需要确定M4即可,(因为M1、M2、M3、M4是有顺序的,确定收到M4,相当于M1~M4都收到了.)

8.TCP可靠传输-SACK(选择性确认)

=》在TCP通信过程中,如果发送序列中间某个数据包丢失(比如1、2、3、4、5中的3丢失了)
=》TCP会通过重传最后确认的分组的分组后续的分组(最后确认的是2,会重传3、4、5)
=》这样原先已经正确传输的分组也可能重复发送(比如4、5),降低了TCP性能

=》为了改善上述情况,发展出了SACK技术
—>告诉发送方哪些数据丢失,哪些数据已经提前收到
—>使用TCP只重新发送丢失的包(比如3),不用发送后续所有的分组(比如4、5)

=》SACK信息会放在TCP首部的选项部分
—>Kind:占1个字节。值为5代表这是SACK选项
—>Length:占1个字节。表明SACK选项一共占用多少字节
—>Left Edge:占4字节,左边界
—>Right Edge:占4字节,右边界

=》一对边界信息需要占用8字节,由于TCP首部的选项部分最多40字节,所以
—>SACK选项最多携带4组边界信息
—>SACK选项的最大占用字节数=4*8+2=34

=》Seq指序号(本次传输的第一个字节的编号)
=》Ack指确认号,表示确认收到了多少个字节
=》win=多少,表示窗口大小

在这里插入图片描述

=》总结:可靠传输到底是怎么保证的呢?

—>就是说当发送端在在发送过后,等了一段时间之后,发现接收端没有给我确认,我就重新传;重新传之后,发现它给回我确认了,那我就发下一个包
—>如果我一个一个的发,效率非常的低,我们就可以使用“连续ARQ协议”,一次性发多个包,然后只确认一次.

视频教程

0.8TCP01_可靠传输

下集预告

TCP_02_流量控制_拥塞控制

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

踏过山河,踏过海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值