协议类型:几个的常见基础协议类型数据格式以及协议内容简介

给大家简单梳理一下几种学习中常会出现的协议格式,咋们数通就像交通,各种各样的协议规则来规范大家,制定科学的管理手段来帮助大家快速,安全的到家。

一、 HDLC协议

HDLC叫高级链路控制协议(High Level Data Link Control)。该协议一般广泛用于公用数据网,支持全半双工模式,一种同步传输数据,面向比特的数据链路层协议。

HDLC数据帧结构

Falg字段

Address字段

Control字段

信息info字段

FCS字段

Falg字段

1、 Flag字段:HDLC用一种特殊的位模式01111110用以标志帧的开始与结束,也可以作为帧与帧之间的填充字符,发送的数据比特序列一旦发现0有连着的5个1,则在第七位插入0

2、 Address字段:用于表示从站的地址,用在点对多点的链路中,通常地址是8位长,也可以采用更长的地址段,需是8的整数倍。用于描述数据帧是否属于单播、组播、广播帧。

3、 Control字段:用于构成各种命令及响应,以便对链路进行监视与控制。发送方利用控制字段来通知接收方来执行约定的操作;相反,接收方用该字段作为对命令的响应,报告已经完成的操作或状态的变化。

3.1 信息帧用于传送有效信息或数据,简称为I帧

3.2 监控帧用于差错控制和流量控制,简称S帧(监控帧中不能有Information字段)

3.3 无编号帧用于提供对链路的建立、拆除以及多种控制功能,简称U帧。

  • Information字段:可以包含任意长度的二进制数,其上限由FCS字段或通讯节点的缓存容量来决定,目前用得较多的是1000-2000比特,而下限可以是0,即无信息字段。
  • FCS字段:可以使用16位CRC对两个标志字段之间的内容进行校验
  • 二、 IPV4 协议

    网际协议版本4Internet Protocol version 4IPv4)是一种无连接的协议,操作在使用分组交换的链路层(如以太网)上。此协议会尽最大努力交付数据包,意即它不保证任何数据包均能送达目的地,也不保证所有数据包均按照正确的顺序无重复地到达。这些方面是由上层的传输协议(如传输控制协议)处理的。

    IPV4数据报格式

    版本号:占 4 比特,指 IP 协议的版本,目前广泛使用 IPv4。

    首部长度(IHL):IP 头长度,占 4 比特,最大值 15 个单位(1 个单位 4 字节)。

    服务类型(TOS)该字段包括一个 3 比特的优先级子字段(现在已废弃不用),还包括一个 4 比特的 ToS子字段,最后 1 比特必须置 0。ToS 中的 4 比特分别代表:最小时延(D)、最大吞吐率(T)、最高可靠性(R)和最小费用(C),只能有 1 比特置 1。如果所有 4 比特均为 0,那就是一般服务。

    总长度总长度指首部和数据之和的长度,单位为字节。总长度字段为16位,因此数据报的最大长度为2^16-1=65535字节。

    标识符:由主机指定同样的标识符。当原主机对数据分段时,对同一上层协议数据单元划分出的各。

    个数据报指定同样的标识符,目标主机上层协议用这个字段进行重装配。

    标志:包括三个标志位。一个标志位没有使用;M 标志用于分段和重装配;D 标志为禁止分段标志。

    片偏移其表示较长分组分片后,某一片在原分组中的相对位置,也就是说相对于用户数据字段的起点,该片从何处开始。这也就是说,除了最后一个分片,每个分片的长度一定是8字节的整数倍

    生存时间(TTL):用经过的路由器个数表示,源站设置一个数(32 或 64),每经过一个路由器减 1。如果某个路由器发现 TTL 字段为 0,则丢弃该数据报,不再转发。

    协议:上层协议(TCP 或 UDP)

    首部验和:对 IP 头的检验序列。

    源目地址:各占32位。

    数据部分可变长,包含发送者想要发送的控制数据

    三、 ICMP 协议

    ICMP(Internet Control Message Protocol)因特网控制报文协议;是一种面向无连接的协议,工作第三层,封装在 IP 数据报中传输,传送有关网络层通信问题的信息。ICMP 常见应用有:1.报告访问失效(报告源主机网络不可达);2. 报告网络拥塞(发送源抑制报文给源主机,降低发送速率);3. 帮助排错(利用 ICMP 回声功能,ping 工具);4.声明报文超时(TraceRoute 工具,利用较小的 TTL 值发现中间设备)。

    ICMP 报文格式

    类型:8位,用来表类型;

    代码:一个8位代码域,表示指定类型中的一个功能,如果一个类型中只有一种功能,代码域置为 0;

    检验和:数据包中 ICMP 部分上的一个16位检验和;

    ICMP数据部分:包含了所有接受到的数据报的IP报头,还包含IP数据报中前8个字节的数据。

    四、TCP

    传输控制协议(TCP,Transmission Control Protocol)面向连接,可靠(三次握手机制),基于字节流的传输层协议,。

    TCP 报文格式

    TCP报文由首部和数据两部分组成。首部一般由20-60字节(Byte)构成,长度可变。其中前20B格式固定,后40B为可选。因为,TCP报文还得传给下层网络层,封装成IP包,而一个IP包最大长度为65535,同时IP包首部也包含最少20B,所以一个IP包或TCP包可以包含的数据部分最大长度为65535-20-20=65495B。

    TCP报文中数据部分是可选的,即TCP报文可以不包含数据(同理IP包也可以不包含数据)。不含数据的TCP报文通常是一些确认和控制信息类的报文,如TCP建立连接时的三次握手和TCP终止时的四次挥手等。

    1、源目的端口号长度为16位,发送和接收放的端口号

    3、序号也称为序列号,长度为32位,序号用来标识从TCP发送端向接入端发送的数据字节流进行编号,可以理解成对字节流的计数。

    4、确认号长度为32位,确认号包含发送确认的一端所期望收到的下一个序号。确认号只有在ACK标志为1时才有效。

    5、数据偏移位(首部长度):占4位,用于表示TCP报文首部的长度。它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。这个字段实际上是指出TCP报文段的首部长度。

    6、保留位长度为6位,必须是0,它是为将来定义新用途保留的。

    7、标志长度为6位,在TCP报文中不管是握手还是挥手还是传数据等,这6位标志都很重要。6位从左到右依次为:

    URG:紧急标志位,说明紧急指针有效;

    ACK:确认标志位,多数情况下空,说明确认序号有效;

    PSH:推标志位,置位时表示接收方应立即请求将报文交给应用层;·

    RST:复位标志,用于重建一个已经混乱的连接;

    SYN:同步标志,该标志仅在三次握手建立TCP连接时有效

    FIN:结束标志,带该标志位的数据包用于结束一个TCP会话。

    8、窗口大小长度为16位,TCP流量控制由连接的每一端通过声明的窗口大小来提供。

    9、检验和长度为16位,该字段覆盖整个TCP报文端,是个强制性的字段,是由发送端计算和存储,到接收端后,由接收端进行验证。

    10、紧急指针长度为16位,指向数据中优先部分的最后一个字节,通知接收方紧急数据的长度,该字段在URG标志置位时有效。

    11、选项长度为0-40B(字节),必须以4B为单位变化,必要时可以填充0。通常包含:最长报文大小(MaximumSegment Size,MSS)、窗口扩大选项、时间戳选项、选择性确认(Selective ACKnowlegement,SACK)等。

    在我们网络协议中,数据包就像路上行驶的小车,车辆上和里面装着各种东西,有必要的东西,非必要的东西,你想要把人或者东西带到想要的地方去,你就必须遵守咋们的交通规则,必须按照咋们的网络协议规则来,不然你就去不了。如果出现路上有意外,就有检错功能,将会被拦下协协协议格式议格式议格来,进行重传,或者丢弃。

    相关推荐

    相关文章