Redian新闻
>
能记住这 11 种报文格式,很快就有人叫你大佬!

能记住这 11 种报文格式,很快就有人叫你大佬!

公众号新闻

你最熟悉的报文是啥?TCP、UDP?


在网络世界里,就如同道路系统让车辆畅通无阻一样,网络协议是确保信息顺畅传输的关键。


作为网络工程师,理解网络协议的种类与结构至关重要。


今天就和你一起探索一下11种关键协议报文格式啊:


包括TCP、UDP、IP、IPv6、IPSec、以太网帧结构、802.1Q以太网帧结构、802.11无线链路帧、SSL记录、RTP实时传输协议以及OpenFlow流表


通过深入了解这些协议的功能和特性,更好地掌握网络通信的本质。


01

TCP



1、源端口号和目的端口号: 


用16bit表示所以端口号范围为0~65535,用来标识源主机和目的主机上的进程,用于运输层的多路复用和多路分解。


2、序号: 


用于TCP重发时区分是第一次发送还是重发的TCP段,还可以在一次连接的范围防止重放攻击,不重数可以在很久时间防止重放攻击。


3、重放攻击: 


攻击者拿到加密片段重新发给服务器,比如我们加密了密码,但攻击者仍然可以在不破解我们密码情况下,可以拿我们加密的密码直接去登录我们账号,所以可以在加密的时候把我们的密码和一个不重数拼在一起再加密,所以我们的密码加密版本,每次都会不同。


4、确认号: 


和序号对应,指示发送确认号的一方下一次想接收的数据的序号,即接收方发送的确认号,表示接收方希望发送方下次发送数据的序号为确认号。


5、首部长度: 


4比特,最多可以表示16个单位,每个单位是32比特即4个字节,所以最多可以表示64字节,所以TCP首部最长为64字节,一般如果没有选项字段只有20字节。


6、标志字段: 


每个占1bit,SYN用于建立TCP连接,FIN用于终止连接,ACK用于确认收到,RST用于重置连接(相当于异常终止连接),PSH用于指示接收方尽快把数据交给上层,URG用于表示TCP报文段中有紧急数据,CWR和ECE用于明确拥塞通告。


7、明确拥塞通告: 


当路由器发现网络拥塞后设置IP数据报的ECN比特,接收方收到这个ECN比特的信息后,将TCP报文段上面的ECE比特置为1,然后发回给发送方,发送方收到ECE信息后,以减半拥塞窗口作为回应,并在下一次发送TCP报文段时把报文段上的CWR比特置为1,以告诉接收方拥塞窗口已减半。


8、接收窗口: 


用于流量控制,是表示接收方接收缓冲还能容纳多少数据,发送方发送时会以接收窗口和拥塞窗口之中最小的为滑动窗口来流水线式发送数据。


9、因特网校验和: 


16位,即两个字节,用于检测TCP头和数据有无错误,将报文段以16比特为一个单位,全部相加,溢出的会在结果后面加一,最后得到一个16比特的数,此时因特网校验和加上这一个16比特的数后使得16比特全变为1,如果不是1那么就传输出错。


10、紧急数据指针:


 紧急数据的最后一个字节由16比特的紧急数据指针字段指出。


02

UDP



1、源端口号和目的端口号: 


用16bit表示所以端口号范围为0~65535,用来标识源主机和目的主机上的进程,用于运输层的多路复用和多路分解。


2、长度: 


UDP是一次性发送上层的数据,不会像TCP一样将上层的报文进行分段处理,16bit最多可以表示65535个字节,是首部加数据的长度,首部长度固定8字节。


3、因特网校验和: 


16位,即两个字节,用于检测UDP头和数据有无错误,将报文段以16比特为一个单位,全部相加,溢出的会在结果后面加一,最后得到一个16比特的数,此时因特网校验和加上这一个16比特的数后使得16比特全变为1,如果不是1那么就传输出错。


03

IP



1、版本: 


4比特,最多表示16,用来标识是IPv4,还是IPv6。


2、首部长度: 


4比特,最多可以表示16个单位,每个单位是32比特即4个字节,所以最多可以表示64字节,所以IP首部最长为64字节,一般如果没有选项字段只有20字节。


3、服务类型: 


用于区分不同类型的数据报,如实时数据报(IP电话)和非实时流量(HTTP),IP电话要求低时延、高吞吐量、可靠性可以差点,但HTTP可以有时延,但是可靠性要求很好。


4、数据报(包)长度: 


16bit,理论上最多65535字节,但实际上很少超过1500字节,因为链路层的帧的负载一般最多1500字节(加上帧头最多1518字节,就是下面的以太网帧),IP数据包太长得分片。


5、标识、标志、片偏移: 


用于分片,标识号相当于TCP的序号,把包分片后给每个分片加一个标识,相邻的分片标识数差1,标志是为了指示接收方接收完成了,通常最后一个分片的标志比特设为0,其他的为1,片偏移相当于偏移量,用于指示该分片是在整个数据报的哪个位置,便于目的主机接收后重新组装。


6、寿命: 


8bit,最多255,IP数据报每经过一个路由器该字段减一,如果减为0,该数据报被丢弃。


7、协议: 


用于表示IP数据报要交给哪个上层运输层协议,值为6是TCP,值为17是UDP。


8、首部检验和: 


计算方式和上面一样,但是运输层首部检验和检验头和数据,IP只检验IP头,这样是为了提高转发效率。


9、源和目的IP地址: 


用于标识源主机和目的主机,而运输层的端口用于标识主机上面的进程。


04

IPV6



1、版本: 


4比特,最多表示16,用来标识是IPv4,还是IPv6


2、流量类型: 


用于区分不同类型的数据报,如实时数据报(IP电话)和非实时流量(HTTP),IP电话要求低时延、高吞吐量、可靠性可以差点,但HTTP可以有时延,但是可靠性要求很好。


3、流标签: 


用于区分不同的流,和流量类型作用类似。


4、有效载荷长度: 


16bit,最大65535字节,IPv6不会分片,表示是数据长度不包括IPv6头部,因为IPv6头部固定是40字节。


5、下一个首部: 


相当于IPv4的选项字段,把选项放在下一个首部里面,而且可以表示上层协议的首部在什么位置,相当于指示了上层协议,可以理解为把选项和IPv4的协议字段融合起来。


6、跳限制: 和寿命一样,8bit,最多255跳。


7、源和目的IP地址: IPv6地址为128位。




05

IPSec



ESP(Encapsulation Security Payload): 封装安全性载荷
SPI(Security Parameter Index): 安全参数索引


IPsec是为了加密IP数据报,加密步骤如下:


1、在初始IPv4数据报(包括首部和数据)后面附加一个ESP尾部;

2、使用算法和SA(Security Association) 安全关联规定的密钥加密第一步结果;

3、在加密后的数据附加ESP首部;

4、使用算法和SA规定的密钥为上述所有生成一个MAC(Message Authentication Code)报文鉴别码即ESP MAC;

5、将该MAC放在尾部;

6、重新生成一个IPv4首部,这个新IP首部的地址是安全通道两端的地址,先经过安全通道传输,后面解密后再把里面初始IP数据报拿出来传输。


06

以太网帧结构



1、前同步码: 


前7个字节的值都是10101010,最后一个字节的值是10101011,前7个字节用于唤醒接收适配器,将接收方时钟和发送方时钟同步,为什么会不同步呢,因为适配器会以10Mbps、100Mbps、10Gbps传输速率,所以时钟不同,第8个字节最后两个11告诉适配器重要的内容要来了。


2、目的地址和源地址: 


即MAC(Media Access Control)地址,占6个字节,如AA-AA-AA-AA-AA


3、类型: 


相当于IP数据报头里面的协议,指示上层协议(网络层),网络层不只有IP协议。


4、CRC :


循环冗余检验,比检验和更加强的检测,即数据比特一直和一个特定二进制序列异或,最后剩下的二进制串就是CRC,虽然可以检测错误,并把错误帧丢弃,但是没有重发机制,无法提供可靠性服务。


07

802.1Q以太网帧结构




大部分和上面一样,802.1Q是一种扩展以太网格式,用于跨越VLAN干线的帧,新加入了一个VLAN标签,VLAN标签由2字节的标签协议标识符,一个2字节的标签控制信息字段和一个3比特优先权字段。


08

802.11无线链路帧



1、帧控制: 


类型和子类型用于区分关联、RTS、CTS、ACK和数据帧,从(form)和到(to)AP字段用于定义不同地址字段的含义(这些含义随着自组织模式或者基础设施模式而改变,而且在使用基础设施模式时,也随着是无线站点还是AP在发送帧而变化),WEP字段指示了是否使用加密。


2、持续期: 


802.11无线网络中可以预约信道,用于表示预约时长,在数据帧和RTS即CTS帧都存储,RTS(Request to Send)请求发送帧,CTS(Clear to Send)允许发送帧。


3、RTS和CTS处理隐藏终端:


当站点监听到信道空闲,等待DIFS(Distributed Inter-Frame Space)分布式帧间间隔后发送RTS,在发送RTS后接收方等待SIFS(Short Inter-Frame Spacing)短帧间间隔后发送CTS,然后发送方收到该CTS,等待SIFS后发送数据,最后接收完数据后接收方等待SIFS后发送ACK。


4、地址字段:


每个地址都是一个MAC地址,地址2是传输该帧站点的MAC地址,地址1是要接收该帧的无线站点的MAC地址,地址3是路由器接口MAC地址,地址4是AP(Access Point)接入点自组织模式中互相转发时使用的地址。


5、有效载荷: 包含有效数据,最大为2312字节,通常小于1500字节


6、CRC: 循环冗余校验




09

SSL记录



前三个字段不加密。


1、类型: 指出该字段是握手报文还是包含应用数据的报文,也可以用于关闭SSL连接。


2、版本: 版本字段是自解释的。


3、长度: 长度字段用来从到达的TCP自己流提取SSL记录,SSL记录是在TCP的上层的。




10

RTP实时传输协议



1、有效载荷类型: 


7比特,对于音频流有效载荷类型字段用于指示音频编码类型如(PCM、适应性增量调制、线性预测编码),通过改变类型可以提高语音质量和减少RTP流比特率(相当于降低质量)。


2、序号: 16比特,用于检测丢包和恢复分组序列,每发送一个RTP分组则该序号加1。


3、时间戳: 反映RTP数据分组中的第一个字节采样时刻。


4、同步源标识符: 表示RTP流的源,表示发送方的IP地址,而是新的流开始时源随机分片的一个数。




11

OpenFlow流表




计算机网络各层协议和操作抽象成匹配加动作转发表,即匹配某些字段,进行某些操作,如网络层路由器路由表,匹配IP转发数据报,都可以抽象为流表。



 文章参考 

2021.11计算机网络11种协议报文格式》,olxxs,csdn
https://blog.csdn.net/weixin_45754452/article/details/121408211

END

官方站点:www.linuxprobe.com

Linux命令大全:www.linuxcool.com

刘遄老师QQ:5604215

Linux技术交流群:2636170

(新群,火热加群中……)

想要学习Linux系统的读者可以点击"阅读原文"按钮来了解书籍《Linux就该这么学》,同时也非常适合专业的运维人员阅读,成为辅助您工作的高价值工具书!


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
记住这些人這年頭修身養性不容易取名太离谱在英国会被禁?!居然有人叫烟熏培根、氰化物?“对孩子发脾气不对,讲道理又不听”,教育孩子需要记住这三点春节计划:3个小仪式,让娃记住你陪他过的每一个新年!重大丑闻!涉及百亿级资本大佬!“如果有一天战争来临,孩子你要记住这个声音”对你有恩的人,不要请吃饭,送礼,要学会以下3种报答方式加国华裔女子情陷帅哥被骗$67万:从未有人叫过我甜心!“公主”吴欣盈竞选台湾副总统愚人节借势海报文案,好反骨!$65亿天价赔偿!强生爽身粉致癌诉讼,或很快就能得到赔款澳洲行(六):澳洲的世外桃源(多图)网工们,这11种协议报文格式一定要烂熟于心!为什么学生能记住电视剧中的所有细节,而记不住课本?悲剧!澳洲Westfield突发命案,1女子身亡!商场频频出事...知名地标下也惊现浮尸...记住这些重要求救信息…记住这七句话。受益一生现实版萤火之森!想去日本看萤火虫,记住这15处夏日限定秘境!伦敦城市大学艺术学院:神仙学院!校友个个是大佬!“如果放不下,记住这句话就释怀了”遇事不顺时,记住这4个字你就赢了!无权无势的普通人,请记住这6种移民方式!新年第四天,新宿公寓燃!2-7岁| 把英语单词放这套书里,不用‘刻意’背,孩子能记住!官宣!2026年世界杯加拿大13场比赛,温哥华7场!记住这些日期澳州医学发现!弯腰驼背竟然有利于身体健康!再也不怕爸妈突然一只手拍上来,叫你挺直背了…丹麦,给帅哥过生日【涨知识】宝宝多大才可以戒纸尿裤?记住这个时间点咳嗽老不好,不用吃药了!把鸡蛋这样煮,很快就好了!叫你丫不戴帽子!墨尔本华女投诉房东涨租,成功拿回$3300!但很快就后悔了那个“带女儿逃晚自习”的妈妈,引160万人点赞!原来孩子终其一生,只能记住父母几个瞬间八大道华人商家请记住这两张脸!两贼大摇大摆进店偷窃上千元货品!逃之夭夭!对你有恩的人,不要请吃饭、送礼,要学会以下3种报答方式!《巨流河》作者齐邦媛去世:“我这一生,很够,很累,很满意”
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。