✊✊✊🌈大家好!本篇文章主要记录自己在进行音视频学习中,整理的TCP
和UDP
协议相关的内容重点😇,并用Wireshark
详解TCP三次握手、四次挥手及UDP协议。
本专栏知识点是通过<零声教育
>的音视频流媒体高级开发
课程进行系统学习,按照学习重点梳理总结后写下文章,对音视频相关内容感兴趣的读者
🎡导航小助手🎡
- 1.OSI七层网络模型
- 2.TCP协议
- 3. UDP协议(用户数据报协议)
- 4.Wireshark详解TCP三次握手,UDP协议
- 4.1TCP详解
- 三次握手
- 四次挥手
- 4.2UDP协议
- 5.小结
1.OSI七层网络模型
七层网络模型及各层基本功能如下:
2.TCP协议
TCP(Transmission Control Protocol)传输控制协议,顾名思义,就是要对数据的传输进行一定的控制。
TCP协议的报文格式:
名称 | 内容 |
序号(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四次挥手相关 |
- HTTP、HTTPS协议,实现原理过程??
基于TCP协议, client(本地客户端)–百度服务器 : 进行交互和连接
前提和基础:传输层通过TCP协议–交互和链接
应用层 HTTP、HTTPS协议进行交互。 - TCP协议怎么进行连接?
TCP连接请求:TCP三次握手过程
TCP断开连接:TCP四次挥手
3. UDP协议(用户数据报协议)
头部结构:
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详解
进入软件选择自己在用的网络连接:
在过滤器中输入tcp,回车
想要追踪某一个流,右击->追踪流->TCP Stream
有多个TCP流存在,可以自己选择想要看的流。
三次握手
第一次握手
SYN=1;
双击查看第一个连接请求包:
第三行(IP层):IP协议为IP4
,网卡IP为192.168.31.84
,服务器IP地址为183.47.103.43
。
第四行(传输层):源端口为55667
,36688
为TCP协议。
第二次握手
SYN=1,ACK=1
第三次握手
ACK=1,确认号=序号(Sequence Number)+1;
四次挥手
第一次挥手
序列号:635;
确认号:41;
ACK=1;
FIN=1;
第二、三次挥手
序列号:41;
确认号:635+1=636;
ACK=1;
FIN=1;
第四次挥手
序列号:636;
确认号:41+1=42;
ACK=1;
4.2UDP协议
打开cmd,ping一下百度
ping www.baidu.com
在过滤器中输入dns
,
双击打开第一个报文,协议具体内容如下
第三行(网络层)
第四行(协议层):Src为源端口,DNS协议默认端口为53
第二个报文:
5.小结
本篇文章首先介绍OSI七层网络模型及各层主要功能,整理了TCP
和UDP
协议相关的内容重点😇,并用Wireshark
详解TCP三次握手,UDP协议,对TCP协议和UDP协议的实现过程有了较深的理解。