网络技术-传输层

发布时间 2023-09-17 18:05:15作者: 犯愁の难瓜

前言

传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是传输控制协议TCP 和 用户数据包协议UDP

 

传输层概述:

  • 传输层提供了端到端的连接
  • 网络层提供了点到点的连接

在传输层中,最重要的一个概念就是:端口号

也就是说:不同的应用层协议,都有各自的端口号

协议 端口号
FTP 21、20
HTTP 80
Telnet 22
SMTP 25

 

传输层用到的协议:

  • TCP
    • Transmission Control Protocol 传输控制协议:可靠的、面向连接的协议;传输效率低,类似打电话
  • UDP
    • User Datagram Protocol 用户数据报协议:不可靠的,无需建立连接的服务;传输效率高,类似群聊

 

TCP是一种面向连接的传输层协议,提供可靠的传输服务

因此,在使用TCP协议进行通讯时,通讯双方会建立连接以达到对端均可准确的收到信息

这种建立连接,叫做TCP三次握手

 

主机A:发送SYN seq=0
主机B:收到主机A的 SYN seq=0 于是主机B也发送一个 SYN seq=20 ack=0+1  其中 ack=0+1代表,主机B已经收到了seq=0的数据包,接下来的想要主机A给个seq=1的数据包
主机A:收到主机B的回联信息后,继续发送 seq=1 ack=20+1  其中,ack=20+1也同样代表,主机A已经收到了seq=20的数据包,接下来想要主机B给个sql=21的数据包
三次握手建立完成

 

 

以下是三次握手的抓包信息:

 

TCP的窗口机制:

窗口大小,决定了接收方一次性最多能承受多少字节的数据包

在进行TCP通讯过程中,通讯双方总是会协商Win大小

例如:主机A win=3 则代表主机A最多一次性能够接受3个包,若主机B一次性发送了4个包,那么主机A将无法接受

值得注意的是:主机A在标志win=3时,并不代表主机B一定会发满3个包,也许只会发1个、2个包。

以下是捕获到win机制的包

 

 

UDP协议:

 

UDP协议极其简单,并不用像TCP需要建立握手,也不会在通讯过程中保障双方都能接受完整的数据

 

? 记录时间:2023年9月17日 17点58分

? 参考资料:https://www.bilibili.com/video/BV1Dg4y187bZ?p=10