刚开始学习网络了,转来复习用
总述:
简单的说TCP(传输控制协议)是一种可靠的协议,UDP(用户数据包协议)是一种不可靠的协议。TCP是一个可靠的面向连接的协议,UDP是不可靠的或非连接的协议。打个简单的比方,TCP的通信方式就像打电话,在正式通话前都要先说声“喂”,确定对方在线后才开始通话,会话结束时都要说“再见”,然后才挂电话。而发明信片则没有这样的机制,发出去之后就不管对方收到没收到了。
UDP的特点:UDP是一种不可靠的、非连接的分组交付服务,但也正是由于其不可靠性,所以他的开销很小。换言之:UDP提供了一种在高效可靠的网络上传输数据,而不用笑话哦不必要的网络资源和处理时间的通信方式。
TCP的特点:TCP是一种面向连接的可靠的通信协议,在传输开始之前,通信双方要通过三次握手来建立连接,以保证连接的可靠性。(后面将具体介绍“三次握手”以及“四次断开”机制)
TCP协议头的内容:
TCP协议头最少20个字节,包括以下的区域(由于翻译不禁相同,文章中给出相应的英文单词):
TCP源端口(Source Port):16位的源端口其中包含初始化通信的端口。源端口和源IP地址的作用是标示报问的返回地址。
TCP目的端口(Destination port):16位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地址接口。
TCP序列号(序列码,Sequence Number):32位的序列号由接收端计算机使用,重新分段的报文成最初形式。当SYN出现,序列码实际上是初始序列码(ISN),而第一个数(Acknowledgment Number):32位的序列号由接收端计算机使用,重组分段的报文成最初形式。,如果设置了ACK控制位,这个值表示一个准备接收的包的序列码。
数据偏移量(HLEN):4位包括TCP头大小,指示何处数据开始。
保留(Reserved):6位值域,这些位必须是0。为了将来定义新的用途所保留。
标志(Code Bits):6位标志域。表示为:紧急标志、有意义的应答标志、推、重置连接标志、同步序列号标志、完成发送数据标志。按照顺序排列是:URG、ACK、PSH、RST、SYN、FIN。
窗口(Window):16位,用来表示想收到的每个TCP数据段的大小。
校验位(Checksum):16位TCP头。源机器基于数据内容计算一个数值,收信息机要与源机器数值结果完全一样,从而证明数据的有效性。
优先指针(紧急,Urgent Pointer):16位,指向后面是优先数据的字节,在URG标志设置了时才有效。如果URG标志没有被设置,紧急域作为填充。加快处理标示为紧急的数据段。
选项(Option):长度不定,但长度必须以字节。如果没有选项就表示这个一字节的域等于0。
填充:不定长,填充的内容必须为0,它是为了数学目的而存在。目的是确保空间的可预测性。保证包头的结合和数据的开始处偏移量能够被32整除,一般额外的零以保证TCP头是32位的整数倍。
三次握手:
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次握手:服务器收到syn包,必须确认客户的SYN(ac k=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务 器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
四次断开(连接终止协议):
由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
(1) TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送(报文段4)。
(2) 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN一样,一个FIN将占用一个序号。
(3) 服务器关闭客户端的连接,发送一个FIN给客户端(报文段6)。
(4) 客户段发回ACK报文确认,并将确认序号设置为收到序号加1(报文段7)。
分享到:
相关推荐
perl516-perl-File-Path-2.08.01-19.el6.centos.alt.noarch.rpm
Python 图像处理:红点与数字识别
perl516-perl-Params-Util-1.07-8.el6.centos.alt.x86_64.rpm
perl516-perl-ExtUtils-Install-1.58-19.el6.centos.alt.noarch.rpm
1、文件内容:sendmail-sysvinit-8.14.7-6.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/sendmail-sysvinit-8.14.7-6.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
数据集格式:VOC格式+YOLO格式 压缩包内含:3个文件夹,分别存储图片、xml、txt文件 JPEGImages文件夹中jpg图片总计:588 Annotations文件夹中xml文件总计:588 labels文件夹中txt文件总计:588 标签种类数:1 标签名称:["kuaizi"] 每个标签的框数(注意yolo格式类别顺序不和这个对应,而以labels文件夹classes.txt为准): kuaizi 框数 = 1161 总框数:1161 图片清晰度(分辨率:像素):清晰 图片是否增强:否 标签形状:矩形框,用于目标检测识别 重要说明:暂无 特别声明:本数据集不对训练的模型或者权重文件精度作任何保证,数据集只提供准确且合理标注
perl516-perl-Module-Metadata-1.000019-1.el6.centos.alt.noarch.rpm
perl516-perl-Pod-Parser-1.61-1.el6.centos.alt.noarch.rpm
1、文件内容:swig3-doc-3.0.12-17.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/swig3-doc-3.0.12-17.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
perl516-perl-tests-5.16.3-19.el6.centos.alt.x86_64.rpm
1、文件内容:stax2-api-3.1.1-10.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/stax2-api-3.1.1-10.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
1、文件内容:suitesparse-doc-4.0.2-10.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/suitesparse-doc-4.0.2-10.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
## 功能特点 1. 文件管理 - 批量扫描文件 - 文件类型过滤 - 文件预览 - 结果确认 2. 重命名规则 - 文本替换 - 添加前缀/后缀 - 序号命名 - 日期时间命名 3. 预览功能 - 实时预览 - 结果对比 - 批量处理 - 错误检查 4. 其他功能 - 多线程处理 - 错误处理 - 操作日志 - 撤销功能
1、文件内容:speex-1.2-0.19.rc1.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/speex-1.2-0.19.rc1.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
JKW系列无功补偿控制器源程序:电路参考与程序量产指南,量产无功补偿控制器程序,JKW系列无功补偿控制器源程序提供参考电路,仅供参考。 ,核心关键词:量产无功补偿控制器程序; JKW系列无功补偿控制器; 源程序; 参考电路; 仅供参考。,"JKW系列无功补偿控制器源程序:高效量产程序参考电路"
perl516-perl-DB_File-1.826-19.el6.centos.alt.x86_64.rpm
css内容
1、文件内容:soundtouch-1.4.0-9.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/soundtouch-1.4.0-9.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
一万套Solidworks非标自动化设备的精细三维图纸与专业通用模型:UG机械设计必备资源,一万套Solidworks非标自动化设备三维图纸 3D通用模型 机械设计UG ,核心关键词:Solidworks; 非标自动化设备; 三维图纸; 3D通用模型; 机械设计; UG; 万套。,《一万套Solidworks非标自动化设备机械设计宝库:3D通用模型集》
perl516-perl-Test-Taint-1.06-8.el6.centos.alt.x86_64.rpm