✊✊✊🌈大家好!本篇文章主要记录自己在进行音视频学习中,整理的TCPUDP协议相关的内容重点😇,并用Wireshark详解TCP三次握手、四次挥手及UDP协议


本专栏知识点是通过<零声教育>的音视频流媒体高级开发课程进行系统学习,按照学习重点梳理总结后写下文章,对音视频相关内容感兴趣的读者



🎡导航小助手🎡

  • 1.OSI七层网络模型
  • 2.TCP协议
  • 3. UDP协议(用户数据报协议)
  • 4.Wireshark详解TCP三次握手,UDP协议
  • 4.1TCP详解
  • 三次握手
  • 四次挥手
  • 4.2UDP协议
  • 5.小结


1.OSI七层网络模型

七层网络模型及各层基本功能如下:

wireshark 过滤条件 udp port wireshark 过滤udp协议_音视频

2.TCP协议

TCP(Transmission Control Protocol)传输控制协议,顾名思义,就是要对数据的传输进行一定的控制。

TCP协议的报文格式:

wireshark 过滤条件 udp port wireshark 过滤udp协议_TCP_02

名称

内容

序号(sequence number)

编号,TCP数据包过大,需要分段。按顺序重组 seq==1

确认号(acknowledge number)

服务器在确认信息中包含确认号,ack(确认号) == 1+1 =2-----seq+1:表示服务器期望收到你的下一次包的序号。

ACK-acknowledge

确认位。=1 表示信号是一个确认消息

RST-RESET

重置。=1,表示这个消息释放连接。 比如:TCP连接出现错误–主机服务器崩溃,断开连接,请重新建立连接

SYN-synchronous

同步。 =1,两种情况:1.一个发起连接的消息+2.确认接受连接信息

FIN-Final

终止。=1,表示发送报文结束了完毕了,释放这个连接。 —TCP四次挥手相关

  1. HTTP、HTTPS协议,实现原理过程??
    基于TCP协议, client(本地客户端)–百度服务器 : 进行交互和连接
    前提和基础:传输层通过TCP协议–交互和链接
    应用层 HTTP、HTTPS协议进行交互。
  2. TCP协议怎么进行连接?
    TCP连接请求:TCP三次握手过程
    TCP断开连接:TCP四次挥手

wireshark 过滤条件 udp port wireshark 过滤udp协议_音视频_03

3. UDP协议(用户数据报协议)

头部结构:

wireshark 过滤条件 udp port wireshark 过滤udp协议_UDP_04


UDP协议相对于TCP协议没有序号,确认好,标志位,

所以UDP协议不会建立连接,即无连接传输协议

  • 缺点:不可靠–在UDP协议中,丢包和出错都是被允许的。
  • 优点:传输速度很快

使用场景?

  • 1.不需要可靠机制,只要求速度快 --UDP协议
  • 2.流媒体,多媒体游戏,IP电话 --UDP协议封装
  • 3.资源消耗特别小

常用的基于UDP协议:DNS(域名解析协议),SNMP(简单网络管理协议),DHCP(动态获取IP),RIP(动态路由协议)

基于TCP协议:HTTP,HTTPs, FTP(文件传输)

TCP vs UDP:

特征点

TCP

UDP

是否连接

面向连接

面向非链接

传输可靠性

可靠

会丢包,不可靠

应用场景

传输量大

传输量小

速度



  • TCP是面向连接的,所以TCP有三次握手和四次挥手的过程;UDP无连接协议;
  • TCP有可靠的连接机制;UDP没有连接和确认机制,会丢包、出错,是不可靠的协议;
  • TCP协议:数据量很大,防止丢包,能保证正确重传,对数据准确性很关心; UDP:量小
  • TCP:速度很慢,传输效率低;UDP:速度很快,传输效率很高。

4.Wireshark详解TCP三次握手,UDP协议

4.1TCP详解

进入软件选择自己在用的网络连接:

wireshark 过滤条件 udp port wireshark 过滤udp协议_音视频_05


在过滤器中输入tcp,回车

wireshark 过滤条件 udp port wireshark 过滤udp协议_音视频_06


wireshark 过滤条件 udp port wireshark 过滤udp协议_笔记_07

想要追踪某一个流,右击->追踪流->TCP Stream

wireshark 过滤条件 udp port wireshark 过滤udp协议_笔记_08

有多个TCP流存在,可以自己选择想要看的流。

wireshark 过滤条件 udp port wireshark 过滤udp协议_学习_09

wireshark 过滤条件 udp port wireshark 过滤udp协议_音视频_10

三次握手

第一次握手

SYN=1;

双击查看第一个连接请求包:

wireshark 过滤条件 udp port wireshark 过滤udp协议_UDP_11

第三行(IP层):IP协议为IP4,网卡IP为192.168.31.84,服务器IP地址为183.47.103.43

第四行(传输层):源端口为55667,36688为TCP协议。

wireshark 过滤条件 udp port wireshark 过滤udp协议_UDP_12


wireshark 过滤条件 udp port wireshark 过滤udp协议_TCP_13

第二次握手

SYN=1,ACK=1

wireshark 过滤条件 udp port wireshark 过滤udp协议_TCP_14


wireshark 过滤条件 udp port wireshark 过滤udp协议_学习_15

第三次握手

ACK=1,确认号=序号(Sequence Number)+1;

wireshark 过滤条件 udp port wireshark 过滤udp协议_学习_16


wireshark 过滤条件 udp port wireshark 过滤udp协议_UDP_17

四次挥手

第一次挥手

序列号:635;

确认号:41;

ACK=1;

FIN=1;

wireshark 过滤条件 udp port wireshark 过滤udp协议_TCP_18


第二、三次挥手

序列号:41;
确认号:635+1=636;
ACK=1;
FIN=1;

wireshark 过滤条件 udp port wireshark 过滤udp协议_学习_19


第四次挥手

序列号:636;

确认号:41+1=42;

ACK=1;

wireshark 过滤条件 udp port wireshark 过滤udp协议_UDP_20

4.2UDP协议

打开cmd,ping一下百度

ping www.baidu.com

wireshark 过滤条件 udp port wireshark 过滤udp协议_音视频_21

在过滤器中输入dns,

wireshark 过滤条件 udp port wireshark 过滤udp协议_音视频_22


双击打开第一个报文,协议具体内容如下

wireshark 过滤条件 udp port wireshark 过滤udp协议_学习_23


第三行(网络层)

第四行(协议层):Src为源端口,DNS协议默认端口为53

wireshark 过滤条件 udp port wireshark 过滤udp协议_音视频_24


第二个报文

wireshark 过滤条件 udp port wireshark 过滤udp协议_UDP_25

5.小结

本篇文章首先介绍OSI七层网络模型及各层主要功能,整理了TCPUDP协议相关的内容重点😇,并用Wireshark详解TCP三次握手,UDP协议,对TCP协议和UDP协议的实现过程有了较深的理解。