爬虫 做资讯网站南昌公众号开发公司

张小明 2026/1/11 9:37:47
爬虫 做资讯网站,南昌公众号开发公司,个人网站免费服务器,我有一个网站怎么做外贸传输层协议头分析 文章目录传输层协议头分析一、前言二、传输层概述2.1 传输层的作用1.2 TCP/IP运输层中的两个重要协议1.2.1 TCP1.2.2 UDP1.2.3 TCP VS UDP1.3 Internet中典型应用使用的传输层协议1.4 传输层端口号三、UDP报文段格式四、TCP报文段格式五、小结一、前言 今天我们先来了解一下传输层的协议头~TCP到底是如何实现可靠传输的超越了UDP嘞二、传输层概述先前讲了传输层提供了端到端的服务分为可靠和不可靠这些都是由传输层来实现的主要就是靠协议头。正是TCP比UDP的协议头多了很多字段才造成TCP是可靠传输UDP是不可靠传输。今天我们来深入剖析一下~2.1 传输层的作用计算机网络体系结构中的物理层、数据链路层和网络层它们共同解决了将主机通过异构网络互联起来所面临的问题实现了主机到主机的通信。网络层把异构的网络的身份信息统一了提供多台主机应用进程之间的端到端的传输行为把网络层收到的主机信息和主机中的进程实现映射关系为不可靠的网络层提供了可选的可靠传输服务可靠/不可靠稳定传输必然需要缓存。在网络层需不需要保证稳定传输呢网络层如果要保证稳定传输就意味着要在所有骨干网中的路由器建立大量的缓存。举个例子如果主机A和主机B之间是稳定传输可靠传输就需要主机A和路由器R1进行发送确认发送确认的过程肯定涉及重传主机A暂存很正常路由器R1和路由器R2之间要保证正常R1就需要有大量的缓存路由器就需要大量的存储空间成本也就随之上升功耗也会很高。因此网络层不需要保证可靠传输。1.2 TCP/IP运输层中的两个重要协议1.2.1 TCP传输控制协议Transmission Control ProtocolTCP为上层提供的是面向连接的可靠的数据传输服务面向连接通信双方建立队列管道就像电话线数据是有序的、无丢失的就是可靠。必须是一对一的使用TCP通信的双方在传送数据之前必须首先建立TCP连接逻辑连接而非物理连接。数据传输结束后必须要释放TCP连接。面向连接就需要建立连接这里的建立是逻辑建立的不是链路上的链路交换。这里也需要开销。TCP为了实现可靠传输就必须使用很多措施例如TCP连接管理、确认机制、超时重传可靠、流量控制以及拥塞控制等。可见要实现可靠传输网络开销很大。TCP的实现复杂TCP报文段的首部比较大、占用处理机资源比较多。1.2.2 UDP用户数据报协议User DataGram ProtocolUDP为其上层提供的是无连接的不可靠的数据传输服务UDP不需要实现可靠传输因此不需要使用实现可靠传输的各种机制UDP的实现简单UDP用户数据报的首部比较小用UDP传100M的数据打包 发送UDP header 100M dataIP拆包拆成100个链路层物理上的不会关注丢不丢失甚至全部丢失都行下层不关注可靠与否才会导致不可靠。转念一想如果下层加入一些逻辑可能UDP也会变的可靠。而且相对TCP更灵活开销更小。这也是一个发展的趋势。1.2.3 TCP VS UDP1.3 Internet中典型应用使用的传输层协议无论是TCP还是UDP最终都是为应用层提供服务。换句话说应用层依赖传输层实现数据的收发。应用层同样有协议这个协议就是应用层的数据格式应用层打包好后最终还是要交给传输层加一个传输层的头继续传输。解析DNSUDP域名解析。就是输入www.baidu.com然后就会回给一个百度的IP地址。DNS就是更快、更直接地获取信息。文件传输原则上都是TCP但是还有一个TFTP就是精简的文件传输协议。它的目的是在UDP上实现应用层传输避免FTP中会有TCP那样有大量的开销。在某些场合可能会用到比如做智能设备开发但是几乎用不到HTTP最常用的一定是TCP其他做了解即可。。。1.4 传输层端口号应用层采用不同的进程号来识别不同的运行程序A主机有一个进程号1991B主机有一个进程号1991这两者完全没有任何关系。但是如果让这两个主机通信如果让进程的PID作为识别标志就会出现混乱。这个时候IP不一样为了跟IP分离一下衍生出了进程号。网路系统识别一个进程IP:port要分成两类src我和dest你本机系统识别一个进程进程号进程和端口是一一对应的也有可能出现一对多。比如tcp_client PID 2000connect socketip:port1(dest src)connect socketip:port2一个进程可以管理多个socket对象一个socket对象对应一个链接。运行在一台主机上的进程是使用进程标识符Process IdentificationPID来标识的然而因特网上的计算机并不是使用统一的操作系统而不同的操作系统Windows、Linux、MacOS又使用不同格式的进程标识符为了使不同操作系统的计算机的应用进程之间能够基于网路进行通信就必须使用统一的方法对TCP/IP体系的应用进程进行标识TCP/IP体系结构的运输层使用端口号来标识和区分应用层的不同应用进程。端口号的长度为16比特取值范围是0~65535端口号的分类FTP文件传输协议那就有文件的上传和下载因此需要两个不同的端口号来维护SMTP邮箱服务DNS采用UDP协议DHCP应用程序的DHCP三、UDP报文段格式UDP是无连接的减少了建立和释放连接的开销UDP尽最大能力交付不保证可靠交付不需要维护复杂的参数首部只有8个字节TCP首部至少20字节0xC154切换为十进制是49492C1是高位这里的内存原本上是从小到大排列的本身存在的内存是小内存但是却把高位放在里面这就是大端模式网络上一般都是大端。因此读的时候应该倒着读大小端低位在低地址小端反之大端UDP长度占16位首部的长度 数据长度UDP长度其实是可有可无的IP首部头首部长度 数据长度当知道UDP长度时UDP长度就是首部长度直接就可以获取数据长度。那为什么还需要UDP长度呢因为一次处理是4个字节为了占好位UDP协议又加了UDP长度。校验和的计算内容伪首部 首部 数据伪首部只参与运算不参与传输。校验和的目的伪首部的信息是传输层填充的这是因为传输层有自己的一套数据结构来进行校验只有保证所有的信息量是准确的才会继续传输。发送端生成伪首部填入校验和传输给接收端接收端也会生成伪首部对整个数据进行异或结果为0就说明是正确的。四、TCP报文段格式TCP相对UDP可就复杂多啦~解析源端口和目的端口是都有的不再赘述序号占32比特取值范围0~2 32 2^{32}232​-1。当序列号增加到最后一个时下一个序号又回到0循环。用来指出本TCP报文段数据载荷的第一个字节的序号。确认号占32比特取值范围0~2 32 2^{32}232​​​-1。当确认号增加到最后一个时下一个确认号又回到0。用来指出期望收到对方下一个TCP报文段的数据载荷的第一个字节的序号同时也是对之前收到的所有数据的确认序号和确认号都涉及编址的概念5B​ 0 1 2 3 4 序号0 确认号55B​ 5 6 7 8 9 序号5 确认号10确认标志位ACK**只有当ACK取值为1时确认号字段才有效。**ACK取值为0时确认还字段无效。TCP规定在TCP连接建立后所有传送的TCP报文段都必须把ACK置1。TCP是面向连接的流式套接字。练习题3鉴于乙已经收到了1和3的数据包但是没有收到2因此需要甲重传第二个因此确认序号为500数据偏移占4比特该字段的取值以4字节为单位指出TCP报文段的数据载荷部分的起始处距离TCP报文段的起始处有多远这实际上指出了TCP报文段的首部长度本来4比特只能表示0-15但是这可实现性不强就借助了IP协议的计算格式窗口占16比特该字段的取值以字节为单位指出发送本报文段的一方的接收窗口的大小即接收缓存的可用空间的大小这用来表征接收方的接收能力在计算机网络中经常用接收方的接受能力的大小来控制发送方的数据发送量这就是所谓的流量控制校验和占16比特用来检查整个TCP报文段在传输过程中是否出现了误码标志位UGRurgent紧急指针。UGR 1就说明数据域里面有马上要处理的数据后面还有一个紧急指针的部分就含有紧急处理数据的首地址。用的不多ACKackownlegement确认指针。只有这个指针为1确认号才有意义PSHpush推送传输层本质上是有缓存区的——recv由一个queue控制什么时候数据多到可以返回呢要规定一个状态——full如果数据很少就PUSH如果PUSH为1就表明推进一个包就立即处理。发送方TCP把PSH置1就立即建立TCP报文段发出去不再积累足够多接收方的话就立即交给应用程序RETreset复位。如果重传很多次始终收不到确认包说明另一方有问题必须释放连接重新建立连接也就是重新进行3次握手进行重连还可以用来拒绝一个非法的 TCP报文段或拒绝打开一个TCP连接SYNsynchronize同步。建立连接的过程出现。类似喂欸FINfinish结束。释放连接的起始状态。选项长度可变最大40字节最大报文段长度MSS选项指出TCP报文段数据载荷部分的最大长度而不是整个TCP报文段的长度发送数据都是逐段发送重传也是逐段重传窗口扩大选项用来扩大窗口提高吞吐率时间戳选项用于计算往返时间RTT用于处理序号超范围的情况又称防止序号绕回PAWS选择确认选项用来实现选择确认功能五、小结相信经过对于传输层协议头的剖析你会更加理解关于UDP和TCP的传输本质~
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

宝贝做网站博客关键词优化

余乃民国三十年人(公元一千九百四十一年),九月初九重阳佳节日出生于衡阳县长塘村封谷里。父封盖梅,原系乡中教书先生,颇有学识,然不幸,于民国二十九年(公元一千九百四十年&#xff0…

张小明 2026/1/7 13:18:45 网站建设

网站建设湛江茂名网站制作维护

FaceFusion在虚拟会议中的形象替换应用前景 在居家办公成为常态的今天,你是否曾因背景杂乱、发型凌乱或不想露脸而关闭摄像头?又是否想过,在一场跨国会议上,用一个更具亲和力的“数字分身”代替自己出镜——既保护隐私&#xff0c…

张小明 2026/1/7 13:18:43 网站建设

找效果图去哪个网站上海网站建设工作

Arduino Uno作品中舵机控制的程序编写全面讲解 在各类创客项目、机器人原型和互动装置中, 舵机(Servo Motor) 是最常见也最关键的执行元件之一。它不像普通直流电机那样只能“转或停”,而是可以精确地转动到指定角度并保持位置—…

张小明 2026/1/7 13:18:41 网站建设

专业网站建设公司需要做好哪些方面的工作江苏中高风险地区

拓展 Puppet:超越传统操作系统的自动化管理 1. Puppet 功能拓展概述 Puppet 最初是为类 Unix 系统设计的配置管理工具,可运行在 Linux、Solaris、FreeBSD、OpenBSD、AIX、Mac OS 等系统上,从 2.7.6 版本开始也支持 Windows。随着时间推移,数据中心自动化需求扩展到网络设备…

张小明 2026/1/7 15:51:51 网站建设

湖南网站定制多语种网站建设开发

第一章:Open-AutoGLM会和chatgpt一样火吗Open-AutoGLM作为新一代开源自动代码生成语言模型,正引发开发者社区的广泛关注。其设计理念聚焦于降低AI编程门槛,同时提升本地化部署与数据隐私保障能力,这在企业级应用场景中具备显著优势…

张小明 2026/1/9 1:29:12 网站建设

上海4a广告公司有哪些seo推广的方法

Maestro Studio:零代码移动应用UI自动化测试完整指南 【免费下载链接】maestro Painless Mobile UI Automation 项目地址: https://gitcode.com/gh_mirrors/ma/maestro 还在为复杂的移动应用测试脚本而烦恼吗?是否曾因技术门槛而放弃自动化测试&a…

张小明 2026/1/8 20:58:04 网站建设