TCP总结

OSI七层参考模型

上三层-----控制层面

应用层------接收用户数据,人机交互的接口,将自然语言--->编码

表示层------将逻辑语言转换为机器语言

会话层-----针对传输的每一种数据建立一条连接(防止数据间相互干扰)

下四层-----数据层面

传输层-----区分流量,定义数据传输方式

网络层-----通过IP地址进行逻辑寻址

数据链路层-----介质访问控制--MAC;逻辑链路控制层---LLC

物理层----定义一些物理特性,传播比特流

ARP协议----地址解析协议

正向ARP:根据已知的目标IP地址获取目标MAC地址
    ARP缓存表--->通过ARP协议获取到的信息为动态信息。180S
反向ARP:根据已知的目标MAC地址获取目标IP地址
免费ARP:1.自我介绍;2.地址的冲突检测;一般是在DHCP获取到IP地址后使用。

TCP协议-----一种面向连接的可靠性协议

++可靠、有序、无丢失和无重复++

确认机制:传输确认,每接收到一个数据段,都需要进行一次确认

重传机制:超时重传,当一个数据段中的某个包丢失,会提示要求重新传输这个报文

**排序机制:**传输一个报文,可能会被分为多个数据包,并从不同路径传输,最终到达目的地的顺序会被打乱,需要进行重新排序。依靠TCP的序号字段

流控机制(滑动窗口机制):通过调节窗口大小来对流量进行控制。

窗口大小:指无需等待确认就可以连续发送的数据的最大量。

TCP是提供全双工通讯

  • 发送缓存
    • 想要发送的应用层数据
    • 已经发送但未收到确认的数据
  • 接收缓存
    • 按需到达但还未被应用程序提取的数据
    • 乱序到达的数据

超时重传---快速重传

在快速重传机制中,并不是因为RTO时间到达从而触发重传机制,该重传机制是根据对端的反馈信息进行重传,当连续3三收到相同的ACK报文时,发送端会重传数据。这3个连续的ACK报文被称为冗余ACK。

面向连接

一:三次握手(建立通道)

A给B发信息,需要先建立通道,A给B发送TCP报文,目的是告诉B我想和你建立连接,SYN=1,代表这个报文是请求连接的报文,seq为序列号,每一个TCP报文都有,假设为X,是随机生成的,B给A回复确认报文,有ACK,标志位=1,有Ackeq=x+1,因为没有数据交互所以只+1,不加数据,此时B收到报文后不需要用确认报文回复。此时AB建立单向连接,A可以给B主动发送消息,B不可以给A 发送消息,但是数据收发是一个双向过程,B给A发送一个请求报文,SYN=1 seq=y(序列号),此时序列号与B的确认报文相同,序列号相同,是因为B认为A 没有发送报文的原因是数据丢失。A同意建立连接,发送报文,ACK=1(标志位) Ackeq=y+1(确认序列号),seq=x+1,建立双向连接。

二:四次挥手(删除通道)

数据交互完毕,A给B发送消息,表示我要断开连接。此时标记位FIN=1,seq=u(不是随机数),B回复确认,此时ACK=1,Ackeq=u+1,seq=v,此时对于A连接断开,B给A 发送报文,FIN=1,seq=w(不是随机),Ackeq=u+1,(确认序列号),再次发送这两个参数是为了防止上次发送时丢失,A给B发送确认报文ACK=1,Ackeq=w+1,序列号seq=u+1,由上个确认序列号决定。此时双向连接断开。u和w根据传输的数值决定

相关推荐
亚远景aspice1 小时前
ISO 21434标准:汽车网络安全管理的利与弊
网络·web安全·汽车
Estar.Lee1 小时前
时间操作[计算时间差]免费API接口教程
android·网络·后端·网络协议·tcp/ip
友友马2 小时前
『 Linux 』网络层 - IP协议(一)
linux·网络·tcp/ip
码老白3 小时前
【老白学 Java】Warshipv2.0(二)
java·网络
HackKong3 小时前
小白怎样入门网络安全?
网络·学习·安全·web安全·网络安全·黑客
vmlogin虚拟多登浏览器3 小时前
虚拟浏览器可以应对哪些浏览器安全威胁?
服务器·网络·安全·跨境电商·防关联
澜世3 小时前
2024小迪安全基础入门第三课
网络·笔记·安全·网络安全
ZZZCY20035 小时前
华为ENSP--IP编址及静态路由配置
网络·华为
EasyCVR6 小时前
私有化部署视频平台EasyCVR宇视设备视频平台如何构建视频联网平台及升级视频转码业务?
大数据·网络·音视频·h.265
hgdlip6 小时前
主IP地址与从IP地址:深入解析与应用探讨
网络·网络协议·tcp/ip