当前位置: 首页 > news >正文

408第三季part2 - 计算机网络 - 传输层

理解

也就是说网络层只能知道传哪个电脑,但不知道该传哪个软件

传输层可以

比如AP1想发给AP3,AP2想发给AP4,复用就是主机A干的事情,分用就是主机B干的事情

了解了解就行

到了传输层就变成端口了

题目

虽然UDP也有检验,但它不会去修复,只会告诉你

源端口号是复用

再次理解

TCP段看一下

看右上的图,序号就是100

确认号这里就是300

A发送了100B給B,B的接受窗口是1000B,占了100B,还剩900B会告诉A,它还剩900B可以接受

看一下吧

第一次握手SYN=1说明是建立连接,这个死记

然后因为全双工,A发送数据,B也要发送数据

并且有属于他们的独立的编号

第二次握手

seq是序号,ack是确认号,确认号就是下一个字段的序号,就是x+1

ACK=1,只有大写的ACK是1小写的ack才生效

第三次握手

seq是x+1有2种理解,一个是上一个是x,那下一次发送就是x+1,另一个理解就是上一个确认号想要的就是x+1,那序号就是x+1

然后ack下一个想要的就是y+1

A如果突然不想发了

FIN=1释放一个连接,seq=u说明之前序号是u

然后第二步正常做

A不会给B发了,但B还会给A发

等哪一天B也不想发了就会有第三步

注意第三步这里seq变成w了,因为seq经过数据传送,seq早该变了

那ack为什么仍然是u+1?

因为A发送完一个数据之后再也没有新的数据发送了,B一直在苦苦等待u+1

然后A为了确认开始也回复给了B

题目

确认号是序号的下一个阶段即11221

第二次握手seq是任意的一个序号,并不知道是多少

有ack就有ACK=1

SYN第一次发送要建立连接

第3个字段序号是900

所以第二个字段会是500 - 899

第三个字段是200 - 499

又因为TCP是按顺序接受的,所以确认号是想要第二个字段的序号,即500

b

如果是一般人会以为下一次的序号会是上一次的确认号,即501

那很蠢了

因为看图可以知道乙还没收到甲的信息,这确认号还隔着舔着b脸要501呢

所以2者冲突的话,应该以之前的序号往后走701为主

接收窗口是500B,甲发了200B乙还没收到

所以下一次就只能发300B,

所以范围是701 - 1000

c

这里如果ack_seq = 701,然后下一个的seq优先是以之前的序号往后走701为主,发现他们都是701,说明甲发送的乙已经收到了

然后答案就会是701-1200

http://www.lryc.cn/news/581819.html

相关文章:

  • 计算机网络实验——配置ACL
  • 植物大战僵尸杂交重制版1.0,经典焕新,重燃策略塔防之火
  • C 语言指针与作用域详解
  • 计算机网络实验——互联网安全实验
  • SQL Server从入门到项目实践(超值版)读书笔记 20
  • Solidity——什么是selfdestruct
  • 数据结构---链表结构体、指针深入理解(三)
  • nginx的使用
  • 机器学习手写字体识别系统:技术演进与应用实践
  • Qt:QPushButton、QRadioButton、QCheckBox
  • 1.1_4 计算机网络的分类
  • ARMv8 创建3级页表示例
  • QML与C++交互之QML端信号绑定C++端槽函数
  • Linux proxy设置
  • TensorFlow 开发中,合理的项目目录结构
  • 8.4.2_2堆的插入删除
  • [netty5: WebSocketClientHandshaker WebSocketClientHandshakerFactory]-源码分析
  • WSL2配置freesurfer
  • Docker Model Runner Chat
  • 嵌套容器是隐射宿主机的路径而不是容器的路径
  • 深入解析 document.write、innerHTML 和 innerText 的区别
  • 使用PyTorch实现Softmax回归(Mnist手写数字识别)
  • linux下进程之间socket通信c程序例程
  • 6、构建更加丰富的页面
  • Redis--主从复制详解
  • Linux操作系统之文件(五):文件系统(下)
  • 进程终止:exit()与_exit()深度解析
  • 【HarmonyOS】鸿蒙6 CodeGenie AI辅助编程工具详解
  • Linux-磁盘管理
  • electron中的IPC通信