首页 > 其他分享 >应用层,传输层协议,三次握手、四次挥手原理分析。

应用层,传输层协议,三次握手、四次挥手原理分析。

时间:2024-10-27 09:16:22浏览次数:5  
标签:UDP 主机 端口 TCP 连接 四次 传输层 数据包 应用层

应用层协议

超文本传输协议
–HTTP、HTTPS
文件传输
–FTP、TFTP
电子邮件
–SMTP、POP3
远程登录
–Telnet、ssh
网络管理
–SNMP*
名称管理
–DNS*114.114.114.1148.8.8.8

解释

WWW---http、https

11ee658a4e90429fb7acdff390abca7a.jpg

 人们只需要轻轻点一下鼠标,世界各地的信息都会呈现在电脑上。

Emil--SMTP、POP3

583e18f7fbb94d64a0dbb9ad69102c22.jpg

 互发电子邮件

FTP、TFTP

32a400b0cacb43a7a6723b867f4ecb29.jpg

 互联的计算机之间相互发送、接受文件。

telnet&ssh9ee39ed83d274dd78e4ec11700fbf461.jpg

 远程登录,A登录主机B,就可以自由操作主机B了


传输层

传输层的作用:提供端到端的传输服务

TCP

提供面向连接的、可靠的、有序的、流量控制的传输服务

UDP

提供无连接、不可靠的、无序的、无流量控制的传输服务

通过端口号区分上层应用

3f531b37354c4622bf658ad560dd87bc.jpg 

TCP/UDP报文

669d616f35f0417aae9f0411d2dcb643.jpg

 UDP报文的格式是16位源端口,24位目的端口,16位UDP长度以及16位UDP校验和。端口区分上层应用,源端口是自己的,目的端口是对方的,UDP源端口大于1023,通过源端口去访问http协议,目的端口才是默认的.16源端口(1023-65535的随机数)udp报文最大值不会超过1500字节,udp首部是有8个字节

TCP报文格式更复杂,也有16位源端口,24位目的端口,但是TCP有32位序列号和确认号,他的首部长度保留6位,在目的端口处,有16位窗口大小,源端口也有16位TCP校验和,目的端口有16位紧急指针,32位序列号编号排队,对传输量比较大的数据进行分包排序,对方收到数据包后按照序号排序。体现了tcp的有序性32位确认号,收到消息返回一个确认号,确保收到了消息.

32位确认号:pc1将数据编号如100发送到pc2,pc2会向pc1回复一个已经收到数据包100的确认好,

如果pc2没有回复确认收到100的数据包,则pc1会重新传递一个100的数据包给pc2.直到收到100的确认。体现出tcp的可靠性

tcp=报文长度为(20字节(默认)+可变长度(0-40字节))=20-60字节,去标识tcp报文报头,因为

tcp首部长度是可以变化的。

tcp报文=首部长度(报头)+数据长度

端口号

传输层利用TCP或者UDP报文中的端口号来区分上层的应用协议及特定的进程

44f8c18649f64884a7642ba695ddad9b.jpg

 端口号

b50808766e304dd7b8adee9ba84aa0c6.jpg

 源端口随机分配,使用系统中未使用的且大于1023的端口。

目标端口使用知名端口,标识服务器端的进程

e5ee95c04aa94b3d9066569762883fa8.jpg

 TCP

含义:TransferControlnProtocol传输控制协议

为应用层协议提供端到端的传输服务

面向连接的、可靠的、有序的、流量控制的

基于TCP的应用在传输数据之前必须先由TCP建立连接,在传输过程中由TCP解决可靠性、有序性,进行流量控制,传输结束后由TCP拆除连接。

1.源端口标识发送方的进程,目的端口标识接收方的进程

2.序号保证数据传输的有序性,确认号对收到的数据进行确认

Flag字段(8位)

ACK

‒确认号标志,置1表示确认号有效,表示收到对端的特定数据

RST

‒复位标志,置1表示拒绝错误和非法的数据包,复位错误的连接

SYN

‒同步序号标志,置1表示同步序号,用来建立连接

FIN

‒结束标志,置1表示连接将被断开,用于拆除连接

Option字段

‒MSS最大段大小,通过置位,协商能承载的TCP数据的大小

三次握手—建立连接15413933be994f75a0cc26435643ec8f.jpg

 A---------B,A向B发送数据,SYN置位为1,B回复一个ACK置位为1,表示我已经收到你的数据,代表我同意和你建立连接,序列号在包里体现,双向建立,在B的数据包里面SYN置位为1,建立B-------A的连接,A收到以后看见SYN标志,会把自己数据包ACK置位为1,同时生成一个数据包,产生一个确认号代表自己已经收到了B发送的数据包,通过TCP三次握手检查你是否在线。ACK置位为1表示我同意,同时返回一个acknumber=seqnumber+1,B也要向A建立连接,A也要再回一个包。

标志位:SYN,建立连接标志位,和面向连接有关

ACK:确认标志位

四次挥手—拆除连接

28d25a77b34b4096a5e8fac82c5f256d.jpg

主机A和主机B需要拆除他们之间的连接。主机A首先向主机B发送一个FYN置1的数据包,并指明初始序列号;主机B收到这个数据包,返回一个ACK置1的数据包,指明确认号(接收到的数据包的序列号加1),这样就拆除了主机A到主机B的连接。主机B再向主机A发送一个FYN置1的数据包,并指明初始序列号;主机A收到这个数据包,返回一个ACK置1的数据包,指明确认号(接收到的数据包的序列号加1),这样就拆除了主机B到主机A的连接。

为什么四次挥手拆除不是三次?

因为双向拆除,分开拆除的原因就是防止数据丢失。A--------B,A向B请求,反应很快,如果三次挥手拆除会导致上面拆除跟着拆除,所以说分开拆除,四次挥手拆除。

RST--复位,重新

URG:紧急标志位,和紧急指针一起用,和流控一起用,流量控制

PSH:对方收到数据后,快速交给应用层做处理,和流量控制有关系

16位窗口大小:滑动窗口,通过接收方反馈能够接受多少数据,发送方就发送多少数据,和流量控制

有关。

16位tcp校验和,看看数据包有没有发生变化。

选项字段,扩展报头,报头加长了,数据变少了

 

TCP和UDP对比373972e57228464493f5667bb6873786.jpg

1.传输速度,TCP比较慢,因为TCP需要建立连接,而UDP不需要,所以传输速度UDP更快

2.可靠性,TCP可靠性更高,因为TCP收到数据包后还需要回复确认号,UDP不需要,UDP可靠性更低。

3.面向连接,TCP需要三次握手和四次挥手,而UDP不需要连接。

4.传输效率,TCP较低,因为传输字节更少,例如UDP传输1492,而TCP传输1480.

所以TCP适用于文字邮件,UCP适用于直播视频。

标签:UDP,主机,端口,TCP,连接,四次,传输层,数据包,应用层
From: https://blog.csdn.net/2403_86598006/article/details/143258934

相关文章

  • 应用层协议 序列化
    应用层协议概述定义与作用应用层协议是计算机网络体系结构中最顶层的协议,它定义了运行在不同端系统上的应用程序进程如何传递报文1。这些协议不仅规定了报文的类型、语法和字段语义,还明确了进程发送报文的时间和方式1。通过标准化数据交换格式和流程,应用层协议实现了跨系......
  • 传输层密码协议(TLCP)伪随机函数 PRF 研究
    TLCP概述TLCP是利用密码技术,为两个应用程序之间提供保密性和数据的完整性。协议用的密码算法包含非对称密码算法、分组密码算法、密码杂凑算法、数据扩展函数和伪随机函数、协议用到的密钥种类包含服务端密钥、客户端密钥、预主密钥、主密钥和工作密钥。密钥种类服务端......
  • 【网络协议大花园】应用层 http协议的使用小技巧,用好了都不用加班,效率翻两倍(下篇)
    本篇会加入个人的所谓鱼式疯言❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言而是理解过并总结出来通俗易懂的大白话,小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.......
  • 【网络协议大花园】应用层 http协议的使用小技巧,用好了都不用加班,效率翻两倍(上篇)
    本篇会加入个人的所谓鱼式疯言❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言而是理解过并总结出来通俗易懂的大白话,小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.......
  • 详解TCP协议(三次握手四次挥手)
    1.TCP通信时序下图是一次TCP通讯的时序图。TCP连接建立断开。包含大家熟知的三次握手和四次握手。在这个例子中,首先客户端主动发起连接、发送请求,然后服务器端响应请求,然后客户端主动关闭连接。两条竖线表示通讯的两端,从上到下表示时间的先后顺序,注意,数据从一端传到网络的......
  • 应用层需要 AI 编译器
    应用层需要AI编译器从硬件角度以及底层软件的角度来看待为什么需要AI编译器的,而现在可以换一个上层应用视角来看待这个问题。以深度神经网络为技术基础的人工智能领域在近些年发展十分迅速,从10年前,AI技术可能只能解决图形分类等较为简单的任务,但如今无论是推荐系统、大语......
  • (图文并茂,权威最详细)Wireshark抓包分析 TCP三次握手/四次挥手详解
    本文结合wireshark抓包,对TCP协议的三次握手和四次挥手进行详细的讲解。大家要认真看完,这可能是全网讲得最详细的文章了。01TCP/IP协议族TCP/IP是一个协议族,通常分不同层次进行开发,每个层次负责不同的通信功能。包含以下四个层次:1.链路层,也称作数据链路层或者网络接口层,......
  • CSP-S 2024 第十四次
    A调整法可证只需要考虑左端点或右端点在\(a_i\)上的区间,考虑对于一个区间\([l,r]\)计算答案。注意到对于每对相邻的数,挤压后较大者仍然大于等于较小者,所以可以分别求较大者与较小者压缩后的和再相减。以求较大者压缩后的和为例,小于\(l\)的数变成\(l\),大于\(r\)的数变......
  • 人工智能第四次课程
    上课首先回顾了一下之前学习的检索模式然后引出PDF转换器老师说工具是为了方便人我觉得是真理首先推荐了CAJViewer9.2第二个工具为lightpdf这个工具没有任何使用时间与次数限制第三个工具为PDFCandy接下来学习关于图片的操作首先学习了巧去水印用PS仿制图章工具去除......
  • 传输层——TCP协议
    文章目录TCP协议段格式确认应答(ACK)机制超时重传机制三次握手四次挥手滑动窗口流量控制拥塞控制延迟应答捎带应答TCP协议段格式源/目的端口号:从哪个进程来到哪个进程去;32位序号/32位确认序号:分别代表TCP报文当中每个字节数据的编号以及对对方的确认,是TCP保证可......