您好,欢迎访问三七文档
1附件:报文格式1.1Ethernet数据包格式(RFC894)EthernetⅡ帧格式:目的MAC地址6bytes源MAC地址6bytesType/Length2bytesPayload46-1500bytesFCS(CRC)4bytesVLAN帧格式:目的MAC地址6bytes源MAC地址6bytesType/Length2bytesPayloadFCS4bytes0x81002bytesTCI2bytes3bits:UserPriority1bit:CFI12bits:VID1、DstMac的最高字节的最低BIT位如果为1,表明此包是以太网组播/广播包,送给CPU处理。2、将DstMac和本端口的MAC进行比较,如果不一致就丢弃。3、获取以太网类型字段Type/Length。0x0800→IP继续进行3层的IP包处理。0x0806→ARP送给CPU处理。0x8035→RARP送给CPU处理。0x8863→PPPoEdiscoverystage送给CPU处理。0x8864→PPPoEsessionstage继续进行PPP的2层包处理。0x8100→VLAN其它值当作未识别包类型而丢弃。1.2PPP数据包格式标志7E1byte地址FF1byte控制031byte协议2bytesPayload最多1500bytesCRC2bytes标志7E1byte1、获取PPP包类型字段。0x0021→IP继续进行3层的IP包处理。0x8021→IPCP送给CPU处理。0xC021→LCP送给CPU处理。0xc023→PAP送给CPU处理。0xc025→LQR送给CPU处理。0xc223→CHAP送给CPU处理。0x8023→OSICP送给CPU处理。0x0023→OSI送给CPU处理。其它值当作未识别包类型而丢弃。21.3ARP报文格式(RFC826)以太网目的地址6bytes以太网源地址6bytes帧类型2bytes硬件类型2bytes协议类型2bytes硬件地址长度1bytes协议地址长度1bytesOp2bytes发送端以太网地址6bytes发送端IP地址4bytes目的以太网地址6bytes目的IP地址4bytes|----以太网首部----|---------28字节ARP请求/应答------1.4IP报文格式(RFC791)(20bytes)版本4bits首部长度4bits服务类型TOS8bits总长度16bits标识Ident16bits标志Flag3bits片偏移13bitsTTL8bits协议号8bits首部检验和16bits源IP地址32bits目的IP地址32bits选项(可选)TOS12345678PrecedenceDelayThroughoutReliablityReserved1.5PING报文格式(需IP封装)(8bytes)IP首部20bytesICMP报文类型(0或8)8bits代码(0)8bits检验和16bits标志符Identi16bits序号16bits选项数据(可选)1.6TCP报文格式(需IP封装)(20bytes)IP首部20bytesTCP20bytesTCP数据3源端口号16bits目的端口号16bits序列号32bits确认序列号32bits首部长度4bits保留6bitsURGACKPSHRSTSYNFIN窗口大小16bits检验和16bits紧急指针16bitsURG紧急指针有效ACK确认序号有效PSH接收方应该尽快将这个报文交给应用层RST重建连接SYN同步序号用来发起一个连接FIN发端完成发送认务1.7UDP报文格式(需IP封装)(8bytes)IP首部20bytesUDP8bytesUDP数据源端口16bits目的端口16bitsUDP长度16bitsUDP检验和16bits1.8MPLS报文格式二层头MPLS标签(可以有多个)IP报文Labelvalue20bitsEXP3bits栈底标记1bitTTL8bitsMPLS报文类型:以太网中0x8847(单播)0x8848(组播)PPP类型上0x8281(MPLSCP)协议名称协议号ICMP1TCP6UDP17OSPF8941.9MTU网络MTU字节超通道6553516Mb/s令牌环(IBM)179144Mb/s令牌环(IEEE802.5)4464FDDI4352以太网1500IEEE802.3/802.21492X.25576点对点(低时延)2961.10TCP与UDP应用UDPTCPRIPFTP(21)广播、多播TELNET(23)TFTP(S:69)RloginBOOTP(S:67D:68)SMTPSNMP(Admin:162Proxy:161)2以太网帧,TCP/IP数据报文详解其实也不是很详细,详细起来要很厚一本书,但是都是针对主要的写的以太网2的帧格式前导码:8个字节,这个主要是给信号同步的,给信号的开始传输的第一个bit定位的目的地址:6个字节,目的的MAC地址源地址:6个字节,是自己的MAC地址类型长度:2字节,辨别上层协议的数据:46-1500字节,就是上层的所有数据帧校验FCS:4字节,数据发过去的时候,会随机给个值,对端需要验证这个值,如果值不对,就说明这段数据干扰,或某种原因被修改。5数据部分最小46个字节,最大1500以太帧最小64字节,最大1518字节。这层主要是把物理层透明的传输bits组合成字节近而组合成帧,在网络中传输。用MAC地址访问介质,错误发现但是不能纠正。IP数据包格式版本Version:4位,表示IP地址的版本1111=32bits首部长度HeaderLength:4位,表示IP数据报头的长度,最小20字节,最大69字节。那么这个bit是怎么表示的呢。0001=1X4=4字节0101=55X4=20字节1111=1515X4=60字节优先级与服务类型Priority&typeofservice:8位,该字段用于表示数据的优先级和服务类型,通过数据包中划分一定的优先级,用于实现服务质量的要求。总长度TotalLength:16位,该字段用于指示整个IP报的长度,最长65535个字节,包括报头和数据。标识符Identification:16位,当IP数据对上层数据进行分段的时候,它会将所有的段分配一组编号,然后将这些编号放入标识符字段,保证分段不会被错误的进行重组,标识符字段用于表示一个数据包所属的消息,以使得接受节点可以重组被分断或分段的消息。标志Flags:3位,标志和分段一起被用来传递信息,例如,对当前的包不能进行分段,或者当一个包被分段后,用以指示在一系列的包片段中,最后一个片段是否已发出。段偏移量FragmentOffset:13位,在一个分段组序列中如何将各片段重新连接起来。TTLTimetolive:8位,IP数据包的生命周期,防御一个数据包在网络中无限循环的转发下去。当TTL值为0时,该数据报将被丢弃,数据包没经过一个路由器,TTL值将减去1。协议号Protocd:8位,该字段表示在IP数据报中封装的是哪一个协议,TCP为6,UDP为617。首部校验和HeaderChecksum:16位,它是16位的错误检测字段,目的的主机和网络中的每个网关都要重新计算包头的校验和,就同源机器所做的一样,如果数据没有被改动,两个计算结果应该是一样的。源IP地址SourceIPAddress:32位目的IP地址DestinationIPAddress:32位可选项Options:选项字段,根据实际情况可变长,可以和IP一起使用的选项有多个,例如,可以输入创建该数据报的时间等。TCP报文格式源端口号SourceIPAddress:16位呼叫端的端口号,这个端口是由发送方随机产生的。目标端口号DestinationPort:16位,被叫端的端口。32位序列号SequenceNumber:由于TCP封包必须要带入IP封包中,所以如果TCP资料太大时(大于IP封包的容许程度),就要进行分段,这个序列号就是记录每个封包的序号,可以让接受端重新将TCP的资料组合起来。32位确认号AcknowledgeNumber:为了确认对方确实收到我们的封包,如果收到了,发送ACK确认。首部长度:4位,为了确认整个TCP包的大小,就必须要这样来说明数据的起始位。保留Reserved:6位,未使用的保留位,留着扩展用。Code:6个控制位,URG,ACK,PSH,RST,SYN,FIN。7Urgent:为1时代表该数据包为紧急封包,根据16位的紧急指针来确定紧急数据最后一个字节的位置,这样接收端就可以有限准确快速的获取紧急数据。Acknowledge:为1时代表这个封包为回应封包。PushFunction:为1时代表要求对方尽快将数据段送达应用层,无须等待缓冲区满了才送。Reset:为1时代表通知重新建立TCP连接。Synchronous:为1时代表发送端希望双方建立同步连接,通常带有SYN标志的封包表示主动连接到对方的意思。Finish:为1时代表传送结束,所以通知对方是否断线,只是发送端还在等待对方的回应。窗口Windows:16位,主要是用来控制封包流量的,可以告诉对方目前本身有的缓存器容量还可以接收包,当win=0时,代表缓存器已满,所以应该暂停传输,windows单位,byte。校验和Checksum:16位,当资料传输时,要由发送端进行检测,并将该动作的校验值标注在这个栏位上,接收者收到这个封包后,会再次对封包进行检测,并且对比与发送方的值是否一致,一致就接收,不一致丢弃,并要求对方重新发送这个封包。紧急指针UrgentPointer:16位,和URG配合使用,URG=1时才会产生作用,用来说明紧急数据的末尾字节的位置。可选项:只有首部长度长于20的时候才有效。数据:应用层数据分段而得到的数据。IP报文体:|-------------16--------------|-------------16--------------|01234567012345670123456701234567-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|vesion|IHL|TypeOfService|TotleLength|8-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|identification|flags|FragmentOffset|-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|TimetoLive|Protocol|HeaderChecksum|-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|SourceAddress|-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|DestinationAddress|-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Options|Padding|-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+说明:Version--版本:4bits长度,指明IP地址的协议版本,如果IPV4,值为4IHL--报文头长度:4bits长度,指从Version到DestinationAddress有几个32位的长度,由上可知有5个32位长TOS--服务类型:目前大多数网络对此一般不作处理.bit位域如下01234567-+-+-+-+-+-+-+-+-+|PRE
本文标题:常见报文格式汇总
链接地址:https://www.777doc.com/doc-4680973 .html