首页 > 其他分享 >网络基础———HCIA③

网络基础———HCIA③

时间:2024-05-24 22:27:34浏览次数:13  
标签:确认 握手 基础 HCIA 网络 三次 数据包 连接 客户端

细谈TCP协议中的三次握手和可靠传输

 一.三次握手

在第一次传输数据时,通过三次握手建立段到端虚链路,三次握手:①请求②应答③商量 

在TCP协议中,当客户端和服务器建立连接时,需要进行三次握手来确保双方都能收发数据。三次握手的过程如下:

  1. 客户端向服务器发送一个SYN(同步请求)包,表示客户端请求建立连接。
  2. 服务器收到客户端发送的SYN包后,回复一个带有SYN和ACK(确认)标志的包,表示确认客户端的请求,并同时告诉客户端自己也准备好发送数据。
  3. 客户端在收到服务器的确认包后,再次回复一个带有ACK标志的包,表示客户端也确认可以发送数据。

通过这三次握手的过程,客户端和服务器之间建立了起点连接,可以安全地进行数据传输。如果有任何一个步骤出现问题或超时,连接将无法建立。

三次握手的主要意义在于确保双方的通信能力和同步连接状态。具体来说,三次握手的作用包括:

  1. 双方可靠地建立连接:通过三次握手,客户端和服务器可以确认彼此的通信能力和可靠性,确保双方都愿意进行通信,从而建立可靠的连接。

  2. 同步连接状态:在三次握手过程中,客户端和服务器交换信息并确认对方的状态,实现连接状态的同步。这样双方就能准确地知道对方的状态,确保数据传输的顺利进行。

  3. 防止旧连接的干扰:通过三次握手,可以避免已经失效的连接请求或数据包对新连接造成干扰,确保双方各自处于正确的数据交换状态。

总的来说,三次握手能够确保双方建立起稳定可靠的连接,防止通信中出现错误或混乱的情况,保证数据的可靠传输。因此,三次握手在TCP协议中扮演着重要的角

可靠传输

可靠传输是指在网络通信过程中,确保数据从源端到目的端的完整性和正确性,且不丢失、不重复、不失序的传输过程。

 四种传输机制①确认②重传③排序④流控(滑动窗口)

①确认是否收到,②重传,没有收到就重传,③排序在传输中,数据切割,收到后排序,④及时调整发送速率,防止丢包

可靠传输通常通过以下机制实现:

  1. 序列号:在数据包中添加序列号,确保数据包的顺序性,以便接收端能够按照正确的顺序重新组装数据包。

  2. 确认和重传:发送端在发送数据包后等待接收端的确认消息,如果在规定时间内未收到确认消息,则重新发送数据包。

  3. 超时重传:发送端在发送数据包后设定一个超时时间,如果在规定时间内未收到确认消息,则重新发送数据包。

  4. 流量控制:通过控制发送端发送数据的速率,确保接收端能够及时处理接收到的数据包,以避免数据包丢失或重复。

  5. 错误检测和校正:添加校验位或者冗余校验码,以便接收端能够检测并纠正接收到的错误数据包。

可靠传输通过不断地检测和纠正数据传输过程中可能出现的错误,确保数据的准确性和完整性,从而保证了通信的质量和可靠性。

 

 

 

 

 

标签:确认,握手,基础,HCIA,网络,三次,数据包,连接,客户端
From: https://blog.csdn.net/2302_79978586/article/details/139131573

相关文章

  • Unity基础——Input
    Unity基础——Input1.鼠标输入//我们在这段代码最后实现一个基本用鼠标控制视角的功能usingUnityEngine;classScript1:MonoBehaviour{[SerializeField]privatefloatmouseSensitivity=30f;privatefloatxRotation=0f;//当前的旋转角度......
  • pwn基础入门-buuctf-2.rip
    2.rip题目:函数溢出,熟悉解题思路过程将下载下来的pwn1文件内容,放到ubuntu中checksec一下ubuntu中checksec文件从图上可以看出它是一个64位程序,仅开启了栈不可执行保护,没有打开NX防护(堆栈可执行),NoPIE.下面我们用IDA打开这个文件F5打开这个文件后,会有这样一......
  • PowerShell 命令 Get-NetConnectionProfile 来查看当前网络连接的类型。命令会列出当
    PowerShell命令Get-NetConnectionProfile来查看当前网络连接的类型。在PowerShell中执行以下命令:powershellCopyCodeGet-NetConnectionProfile这个命令会列出当前计算机上所有网络连接的详细信息,包括连接名称、接入类型(例如“域网络”、“专用网络”、“公用网络”)等。在......
  • Scala基础(一)从零开始
    Scala是开发Java的核心人员开发的Scala类的编译执行还是使用的Javajdk目录配置Scala安装ScalaSDK 打开IDEA设置安装插件Scala​编辑添加scalaSDKScala基础 变量定义表达式条件表达式 块表达式循环调用方法和函数(所有运算符都是方法) 定义方法和函数(方法......
  • Linux应用——进程基础
    谁来调用main函数在运行main函数之前,会有一段引导代码,最终由这段代码调用main函数,这段引导代码不需要自己编写,而是在编译、链接中由链接器将这段程序链接到应用程序中,构成最终的可执行文件,加载器会将可执行文件加载到内存中进程的终止正常终止在main函数中通过retur......
  • AIGC基础教学:AI+建筑设计,一场划时代变革的序幕已经拉开
    2015年9月,美的集团本着把艺术融入民间的理念,邀请了安藤忠雄设计正在筹建中的美术馆。在历经长达近120天的设计工作之后,美术馆于同年12月动工。这座具有岭南建筑文化意境的美术馆,后来荣获2020年美国建筑大师奖(ArchitectureMasterPrize)「2020年世界十大博物馆建筑」之一、......
  • AI绘画基础:一件收藏!Midjourney五种优质关键词合集
    今天为大家分享5类高质量Midjourney提示词,包括野外产品场景图、卡通表情包、科技风芯片素材、可无缝拼接的图案等,一起来看看吧~MJ绘画提示词就像是那个及时雨,给你的创作之旅带来一丝清新的风!  自然类场景图 1提示词:Extremeclose-up,aflatmossystoneslab,......
  • Linux网络服务
    1.http协议版本 2.http请求请求头HTTP:用户的请求与响应被后格式与定义HTTP请求豹纹 请求起始行:GET/(uri)HTTP/1.1 请求头(head):User-Agent:客户端代理(浏览器)Host:域名空行请求豹纹主体(body):POSTHTTP响应报文响应报文的起始行:......
  • Nature 子刊丨用于锂离子电池退化稳定建模和预后的物理信息神经网络
    作者: FujinWang,ZhiZhai,ZhibinZhao,YiDi,XuefengChen单位:西安交通大学01摘要准确的健康状态(SOH)估计对于锂离子电池的可靠和安全运行至关重要。然而,由于电池类型和工作条件各不相同,可靠和稳定的电池SOH估计仍然具有挑战性。在本文中,我们提出了一种物理知情神经网......
  • Java基础的语法---String
    Java的String类是不可变的,意味着一旦创建,其值就不能被改变。String类提供了丰富的API来操作字符串。以下是一些常用的方法:构造方法:有以下几种常见的:publicclassstringlearn{publicstaticvoidmain(String[]args){Stringstr1="HelloWorld";......