【计算机网络】第五章--传输层

1+0=0+1=1

1+1=10

其中10中的1加到了下一列去,如果是最高列的1+1,那么得到的10留下0,1移到最低列,与最低位再做一次二进制加法即可

在接收端:

  1. 填上伪首部

  2. 伪首部 + 首部 + 数据部分采用二进制反码求和(此时校验和字段有值)

  3. 结果全为1则无差错,否则丢弃数据报/交给应用层附上出差错的警告

3、TCP协议


TCP(Transmission Control Protocol):传输控制协议

3.1、TCP协议特点和报文段

1)协议特点

  • TCP是 面向连接 (虚连接,并不是物理连接)的传输层协议。打call

  • 每一条TCP连接只能有两个端点,每一条TCP连接只能是 点对点 的(无法用于广播或多播)

  • TCP提供 可靠交付 的服务,无差错、不丢失、不重复、按序到达。可靠有序,不丢不重

  • TCP提供 全双工通信

  • 发送缓存:准备发送的数据&已发送但尚未收到确认的数据

  • 接收缓存:按序到达但尚未被接受应用程序读取的数据&不按序到达的数据

  • TCP面向 字节流:TCP把应用程序交下来的数据看成仅仅是一连串的无结构的字节流。字节流中的每一个字节都按顺序编号

  • :流入到进程或从进程流出的字节序列

2)报文段首部格式

重点,单位4B

  • 固定首部(20B)

  • 源端口:2B

  • 目的端口:2B

  • 序号seq(sequencer:n. 音序器):4B;

在一个TCP连接中传送的 字节流 中的每一个字节都按顺序编号,本字段表示本报文段所发送数据的第一个字节的序号。(一起来吃饭的一组人按顺序每个人分个号,但进去的时候只看第一个人的序号)

TCP头就是TCP首部,序号字段表示的是报文段中 第一个字节的序号

  • 确认号ack:4B

期望 收到对方 下一个报文段的第一个数据字节的序号。若确认号为N,则证明到序号N-1为止的所有数据都已正确收到。(服务员确认一下下一组人的第一个人是几号)

  • 数据偏移(首部长度) : 4位

TCP报文段的数据起始处 距离 TCP报文段的起始处 有多远,以 4B位单位,即1个数值是4B。 例如数据偏移是1111,10进制数是15,15*4B=60B。说明TCP首部长度为60B

  • 6个控制位

  • 紧急位URG(urgency:n紧急):URG=1时, 标明此报文段中有紧急数据,是高优先级的数据,应尽快传送,不用在缓存里排队,配合紧急指针字段使用。(这组人有会员,先进去)

  • 确认位ACK:ACK=1时确认号有效,在连接建立后所有传送的报文段都必须把ACK置为1。(拿到号后,服务员必须给号盖章)

  • 推送位PSH:PSH=1时, 接收方尽快交付接收应用进程,不再等到缓存填满再向上交付。(进去以后,有一组人很急,要先吃)

  • 复位RST(rest:重置):RST=1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立传输链接。(之前号码作废,重新取号)

  • 同步位SYN(synchronous:同步的): SYN=1时,表明是一个连接请求报文或连接接受报文。(我和服务员说取个号/服务员把号给我)

  • 终止位FIN:FIN=1时, 表明此报文段发送方数据已发完,要求释放连接。(一组人已经进去了,号可以作废了)

  • 窗口:2B

指的是发送本报文段的一方的接收窗口,即 现在允许对方发送的数据量

  • 检验和:2B

检验首部 + 数据,检验时要加上12B伪首部,第四个字段为6

  • 紧急指针:2B

URG = 1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值