网络协议报文格式大集合
- 格式:docx
- 大小:662.55 KB
- 文档页数:28
常见的网络协议网络协议大全图最全的细分7层协议网络协议是指计算机网络通信中所使用的约定和规则。
它可以被认为是网络通信的一种语言,用于确保不同设备之间的互联和信息的传输。
在计算机网络中,有许多种不同的协议,每种协议都有不同的功能和目的。
本文将介绍一些常见的网络协议,并对七层协议进行详细解析。
一、物理层协议物理层协议负责将数字信号转化为物理信号,以便在计算机网络中传输。
最常见的物理层协议包括以太网协议、无线协议(如Wi-Fi)、蓝牙协议等。
以太网协议是一种广泛应用于局域网中的协议,它定义了计算机通过网络线缆传输数据的方式和规则。
Wi-Fi协议则是被广泛应用于无线局域网中的协议,它依靠无线信号传输数据。
二、数据链路层协议数据链路层协议用于定义数据在物理层的传输过程中的一些规则和流程。
其中最常见的协议是以太网协议的数据链路层协议,即以太网帧格式。
它规定了数据在传输过程中如何被分割为帧的形式,并定义了帧的头部和尾部的格式。
此外,还有其他的数据链路层协议,如无线局域网中的Wi-Fi数据链路层协议等。
三、网络层协议网络层协议负责将数据从源主机发送到目标主机之间的路由选择和分组转发的过程。
其中最有名的网络层协议是互联网协议(IP协议),它是一个面向无连接的协议,负责将数据从源主机分组发送到目标主机。
IP协议主要关注的是主机之间的通信。
除了IP协议外,还有一些其他的网络层协议,如网际控制报文协议(ICMP)和互联网组管理协议(IGMP)等。
四、传输层协议传输层协议负责提供端到端的通信服务,确保数据的可靠传输。
其中最常用的协议是传输控制协议(TCP)和用户数据报协议(UDP)。
TCP是一个可靠的、面向连接的协议,它基于数据流的概念,在传输数据之前需要建立连接,并提供错误检测和重传机制。
UDP是一种无连接的协议,不提供可靠性和错误检测,但传输效率高。
除了TCP和UDP外,还有一些其他的传输层协议,如传输流控制协议(SCTP)和数据报传输协议(DTP)等。
常用网络通信协议简介常见的网络协议有:TCP/IP协议、UDP协议、HTTP协议、FTP协议、Telnet协议、SMTP协议、NFS协议等。
这里主要简述一下前三种协议。
一.TCP/IP协议1.什么是TCP/IP协议?TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。
它是在网络的使用中的最基本的通信协议。
TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。
并且,TCP/IP 传输协议是保证网络数据信息及时、完整传输的两个重要的协议。
2.TCP/IP协议的组成TCP/IP协议由四个层次组成:应用层:应用层是TCP/IP协议的第一层,是直接为应用进程提供服务的。
(1)对不同种类的应用程序它们会根据自己的需要来使用应用层的不同协议,邮件传输应用使用了SMTP协议、万维网应用使用了HTTP协议、远程登录服务应用使用了有TELNET协议。
(2)应用层还能加密、解密、格式化数据。
(3)应用层可以建立或解除与其他节点的联系,这样可以充分节省网络资源。
运输层:作为TCP/IP协议的第二层,运输层在整个TCP/IP协议中起到了中流砥柱的作用。
且在运输层中,TCP和UDP也同样起到了中流砥柱的作用。
网络层:网络层在TCP/IP协议中的位于第三层。
在TCP/IP协议中网络层可以进行网络连接的建立和终止以及IP地址的寻找等功能。
网络接口层:在TCP/IP协议中,网络接口层位于第四层。
由于网络接口层兼并了物理层和数据链路层所以,网络接口层既是传输数据的物理媒介,也可以为网络层提供一条准确无误的线路。
3.TCP/IP协议的特点(1)协议标准是完全开放的,可以供用户免费使用,并且独立于特定的计算机硬件与操作系统。
(2)独立于网络硬件系统,可以运行在广域网,更适合于互联网。
(3)网络地址统一分配,网络中每一设备和终端都具有一个唯一地址。
(4)高层协议标准化,可以提供多种多样可靠网络服务。
二.UDP协议1.什么是UDP协议?Internet协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,UserDatagramProtocol)。
计算机⽹络协议,以太⽹帧格式以太⽹的MAC帧格式有好⼏种,被⼴泛应⽤的是DIX Ethernet V2标准,还有⼀种是IEEE的802.3标准,该标准经过了多年的发展,已经出现了很多种⼦标准。
DIX Ethernet V2 标准与 IEEE 的 802.3 标准只有很⼩的差别,因此可以将 802.3 局域⽹简称为“以太⽹”。
严格说来,“以太⽹”应当是指符合DIX Ethernet V2 标准的局域⽹⼀、DIX Ethernet V2(Ethernet II)1.帧结构2.字段分析=======================================================================================================源MAC地址 ===> 发送⽅的MAC地址=======================================================================================================⽬的MAC地址 ===> 接收⽅的MAC地址=======================================================================================================上层协议类型 ===> 该MAC数据报中包装的⽹络层数据报协议类型若该字段的值⼩于1518,那么这个字段就是长度字段,并定义后⾯的数据字段的长度。
若该字段的值⼤于1518,它就定义使⽤因特⽹服务的上层协议(⼩于0600H的值是⽤于IEEE802的,表⽰数据包的长度)具体协议类型可以参考如下两个表:表1:协议ID(Type)以太⽹协议0x0800Internet Protocol, Version 4(IPv4)0x0806Address Resolution Protocol(ARP)0x0842Wake-on-LAN Magic Packet0x1337SYN-3 Heartbeat Protocol(SYNdog)0x22F3IETF TRILL Protocol0x6003DECnet Phase IV0x8035Reverse Address Resolution Protocol(RARP)0x809B AppleTalk(Ethertalk)0x80F3AppleTalk Address Resolution Protocol(AARP)0x8100VLAN-tagged frame(IEEE 802.1Q)0x8137Novell IPX(alt)0x8138Novell0x8204QNX Qnet0x86DD Internet Protocol, Version 6(IPv6)0x8808MAC Control0x8809Slow Protocols(IEEE 802.3)0x8819CobraNet0x8847MPLS unicast0x8848MPLS multicast0x8863PPPoE Discovery Stage0x8864PPPoE Session Stage0x886F Microsoft NLB heartbeat0x8870Jumbo Frames0x887B HomePlug 1.0 MME0x888E EAP over LAN(IEEE 802.1X)0x888E EAP over LAN(IEEE 802.1X)协议ID(Type)以太⽹协议0x8892PROFINET Protocol0x889A HyperSCSI(SCSI over Ethernet)0x88A2ATA over Ethernet0x88A4EtherCat Protocol0x88A8Provider Bridging(IEEE 802.1ad)0x88AB Ethernet Powerlink0x88CC LLDP0x88CD sercos III0x88D8Circuit Emulation Services over Ethernet(MEF-8)0x88E1HomePlug AV MME0x88E3Media Redundancy Protocol(IEC62439-2)0x88E5MAC security(IEEE 802.1AE)0x88F7Precision Time Protocol(IEEE 1588)0x8902IEEE 802.1ag Connectivity Fault Management(CFM) Protocol / ITU-T Recommendation Y.1731(OAM) 0x8906Fibre Channel over Ethernet0x8914FCoE Initialization Protocol0x9000Configuration Test Protocol(Loop)0x9100Q-in-Q表2:以太类型值 (16 进制 )对应协议备注0x0000 - 0x05DC IEEE 802.3 长度0x0101 – 0x01FF实验0x0660XEROX NS IDP0x06610x0800DLOG0x0801X.75 Internet0x0802NBS Internet0x0803ECMA Internet0x0804Chaosnet0x0805X.25 Level 30x0806ARP0x0808帧中继ARP0x6559原始帧中继RFR0x8035动态 DARP,反向地址解析协议 RARP0x8037Novell Netware IPX0x809B EtherTalk0x80D5IBM SNA Services over Ethernet0x80F3AppleTalk 地址解析协议 AARP0x8100以太⽹⾃动保护开关 EAPS0x8137因特⽹包交换 IPX0x814C简单⽹络管理协议 SNMP0x86DD⽹际协议 v6 IPv6重要字段含义:Dest addr :以太⽹ OAM 报⽂的⽬的 MAC地址,为组播 MAC 地址 0180c2000002Source addr :以太⽹ OAM 报⽂的源 MAC地址,为发送端的桥 MAC 地址,该地址是⼀个单播 MAC地址Type :以太⽹ OAM 报⽂的协议类型,为0x8809Subtype :以太⽹ OAM 报⽂的协议⼦类型,为 0x030x8809OAM Flags : Flags 域,包含了以太⽹ OAM 实体的状态信息Code :本字段指明了 OAMPDU 的报⽂类型。
IGMP协议协议名称:Internet组管理协议(IGMP)协议一、引言Internet组管理协议(IGMP)是一种网络协议,用于在IP网络中管理多播组成员资格。
该协议允许主机加入或离开多播组,以便有效地传输多播数据流。
本协议旨在确保网络中的多播通信的可靠性和高效性。
二、目的本协议的目的是定义IGMP的标准格式,以确保各种设备和应用程序能够正确实施和解析IGMP协议。
通过遵循本协议,可以实现多播组成员资格的管理和多播数据流的传输。
三、范围本协议适用于所有使用IGMP协议的设备和应用程序,包括但不限于路由器、交换机、主机操作系统和网络应用程序。
四、协议格式IGMP协议的标准格式如下:1. IGMP报文格式IGMP报文由报文头和报文体组成。
报文头:- 版本(Version):标识IGMP协议的版本号。
- 类型(Type):指示IGMP报文的类型,包括成员查询报文、成员报告报文和成员离开报文。
- 校验和(Checksum):用于校验IGMP报文的完整性。
报文体:- 多播地址(Multicast Address):指示相关多播组的IP地址。
2. 成员查询报文格式成员查询报文用于路由器或主机查询网络中的主机是否仍然对特定多播组感兴趣。
报文体:- 最大响应时间(Max Response Time):指示主机对查询报文的响应时间上限。
3. 成员报告报文格式成员报告报文用于主机向路由器或其他主机报告自己对特定多播组的兴趣。
报文体:- 多播地址(Multicast Address):指示主机对哪个多播组感兴趣。
4. 成员离开报文格式成员离开报文用于主机主动通知路由器或其他主机,表明自己不再对特定多播组感兴趣。
报文体:- 多播地址(Multicast Address):指示主机对哪个多播组不再感兴趣。
五、协议实施根据本协议的要求,设备和应用程序应实施以下功能:1. 解析IGMP报文设备和应用程序应能够正确解析接收到的IGMP报文,包括报文头和报文体。
要理解OSPF路由协议的工作原理,特别是路由更新机制,首先就要对它的各种报文格式有一个全面的了解。
OSPF报文主要有5种:Hello报文、DD (Database Description,数据库描述)报文、LSR (LinkState Request,链路状态请求)报文、LSU(LinkState Update,链路状态更新)报文和LSAck(LinkState Acknowledgment,链路状态应答)报文。
它们各自在OSPF路由更新中所担当的用途不一样,报文格式也存在比较大的差别。
9.2 OSPF报头及各种报文格式OSPF报文直接封装为IP协议报文,因为OSPF是专为TCP/IP网络而设计的路由协议。
以上所说到的五种OSPF报文使用相同的OSPF报头格式,如图9-9所示。
图9-9 OSPF协议报头格式l Version版本字段,占1个字节,指出所采用的OSPF协议版本号,目前最高版本为OSPF v4,即值为4(对应二进制就是0100)。
l Packet Type报文类型字段,标识对应报文的类型。
前面说了OSPF有5种报文,分别是:Hello报文、DD报文、LSR报文、LSU报文、LSAck报文。
具体将在下面各小节介绍。
l Packet Length:包长度字段,占2个字节。
它是指整个报文(包括OSPF报头部分和后面各报文内容部分)的字节长度。
l Router ID:路由器ID字段,占4个字节,指定发送报文的源路由器ID。
l Area ID:区域ID字段,占4个字节,指定发送报文的路由器所对应的OSPF区域号。
l Checksum:校验和字段,占2个字节,是对整个报文(包括OSPF报头和各报文具体内容,但不包括下面的Authentication字段)的校验和,用于对端路由器校验报文的完整性和正确性。
l AuType:认证类型字段,占2个字节,指定所采用的认证类型,0为不认证,1为进行简单认证,2采用MD5方式认证。
1.物理层(比特流)2.数据链路层 ( 帧)PPP(点对点协议):面向连结,不行靠,只支持全双工链路,成帧技术,PPP 帧是面向字节的,全部的 PPP 帧的长度都是整数字节的。
只检错不纠错,没有流量控制。
CSMA/CD (载波监听多点接入 /碰撞检测协议):截断二进制指数退避算法指数退避算法网桥的自学习算法3.网络层( IP 数据报或称分组、包)IP 协议:无连结、不行靠、全力而为型ARP (地点分析协议):IP 地点→物理地点( MAC 地点)RARP (逆地点分析协议):物理地点( MAC 地点)→ IP 地点分组转发算法:直接交托、间接交托ICMP (网际控制报文协议):ICMP 同意主机或路由器报告差错状况和供给相关异样状况的报告。
ICMP 报文封装在IP 包中。
( ICMP 报文是 IP 层数据报的数据)路由选择协议:内部网关协议 IGP:RIP,OSPF外面网关协议 EGP:BGPRIP (路由信息协议):鉴于距离向量的路由选择算法。
RIP 用 UDP 用户数据报传递。
合适于规模较小的网络,最大跳数不超出15。
弊端:“好信息流传得快,而坏信息流传得慢”。
OSPF(开放最短路径优先):鉴于链路状态协议LSOSPF 直接用IP 数据报传递BGP(界限网关协议):不一样 AS 之间的路由协议。
用路径向量( path vector)路由协议BGP 用 TCP 报文传递力争找寻一条可以抵达目的网络且比较好的路由。
并不是要找寻一条最正确路由。
IGMP (网际组管理协议):多播协议。
IGMP 使用 IP 数据报传达其报文 BOOTP (指引程序协议):需要人工进行协议配置,使用 UDP 报文封装,也是无盘系统用来获取 IP 地点的方法DHCP (动向主机配置协议):自动分派主机地点VPN (虚构专用网):利用公用的因特网作为本机构各专用网之间的通讯载体。
NAT (网络地点变换 ):①在企业内部,每台机器都有一个形如10.X.Y.Z 的地点。
网络协议报文格式大集合1.HTTP报文格式:HTTP(超文本传输协议)是用于在Web上传输HTML、图片等资源的协议。
HTTP报文分为请求报文和响应报文。
请求报文包括请求行(方法、URI、协议版本)、请求头部(各种参数信息)、请求体(实体内容)。
响应报文包括状态行(协议版本、状态码、状态描述)、响应头部(各种参数信息)、响应体(实体内容)。
2.SMTP报文格式:SMTP(简单邮件传输协议)是用于在网络中传输电子邮件的协议。
SMTP报文分为命令报文和回应报文。
命令报文包括命令行(命令和参数)和命令数据。
回应报文包括状态码和状态描述。
3.FTP报文格式:FTP(文件传输协议)是用于在网络中传输文件的协议。
FTP报文分为命令报文和数据报文。
命令报文包括命令(用户认证、文件操作等)和参数。
数据报文用于传输文件内容。
4.DNS报文格式:DNS(域名系统)是用于将域名转换成IP地址的协议。
DNS报文分为查询报文和响应报文。
查询报文包括标识、查询类型、查询类等字段。
响应报文包括标识、响应类型、响应类等字段。
5.TCP报文格式:TCP(传输控制协议)是用于可靠传输数据的协议。
TCP报文分为报文头和数据部分。
报文头包括源端口号、目的端口号、序号、确认号等字段。
6.UDP报文格式:UDP(用户数据报协议)是用于不可靠传输数据的协议。
UDP报文分为报文头和数据部分。
报文头包括源端口号、目的端口号、长度、校验和等字段。
7.IP报文格式:IP(网际协议)是用于将数据在网络中传输的协议。
IP报文分为报文头和数据部分。
报文头包括版本号、TTL(生存时间)、源IP地址、目的IP地址等字段。
8.ICMP报文格式:ICMP(互联网控制消息协议)是用于在IP网络中传输控制消息的协议。
ICMP报文分为报文头和数据部分。
报文头包括类型、代码、校验和等字段,数据部分根据不同类型的消息而不同。
9.ARP报文格式:ARP(地址解析协议)是用于将IP地址转换成MAC地址的协议。
网络协议规范大全在网络的各层中存在着许多协议,它是定义通过网络进行通信的规则,接收方的发送方同层的协议必须一致,否则一方将无法识别另一方发出的信息,以这种规则规定双方完成信息在计算机之间的传送过程。
下面就对网络协议规范作个概述。
ARP(Address Resolution Protocol)地址解析协议它是用于映射计算机的物理地址和临时指定的网络地址。
启动时它选择一个协议(网络层)地址,并检查这个地址是否已经有别的计算机使用,如果没有被使用,此结点被使用这个地址,如果此地址已经被别的计算机使用,正在使用此地址的计算机会通告这一信息,只有再选另一个地址了。
SNMP(Simple Network Management P)网络管理协议它是TCP/IP协议中的一部份,它为本地和远端的网络设备管理提供了一个标准化途径,是分布式环境中的集中化管理的重要组成部份。
AppleShare protocol(AppleShare协议)它是Apple机上的通信协议,它允许计算机从服务器上请求服务或者和服务器交换文件。
AppleShare可以在TCP/IP协议或其它网络协议如IPX、AppleTalk上进行工作。
使用它时,用户可以访问文件,应用程序,打印机和其它远程服务器上的资源。
它可以和配置了AppleShare协议的任何服务器进行通信,Macintosh、Mac OS、Windows NT和Novell Netware 都支持AppleShare协议。
AppleTalk协议它是Macintosh计算机使用的主要网络协议。
Windows NT服务器有专门为Macintosh 服务,也能支持该协议。
其允许Macintosh的用户共享存储在Windows NT文件夹的Mac-格式的文件,也可以使用和Windows NT连接的打印机。
Windows NT共享文件夹以传统的Mac文件夹形式出现在Mac用户面前。
Mac文件名按需要被转换为FAT(8.3)格式和NTFS 文件标准。
目录1 序、 (2)1.1 协议的概念 (2)1.2 TCP/IP 体系结构 (2)2 链路层协议报文格式 (2)2.1 Ethernet 报文格式 (2)2.2 802.1q VLAN 数据帧(4 字节) (3)2.3 QinQ 帧格式 (4)2.4 PPP 帧格式. (4)2.5 STP 协议格式 (5)2.5.1 语法 (5)2.5.2 语义 (6)2.5.3 时序 (8)2.6 RSTP 消息格式 (9)2.6.1 语法 (9)2.6.2 语义 (11)2.6.3 时序 (13)3 网络层协议报文 (14)3.1 IP 报文头. (14)3.2 ARP 协议报文 (16)3.2.1 语法 (16)3.2.2 语义 (17)3.2.3 时序 (17)3.3 VRRP 协议报文 (18)3.3.1 语法 (18)3.4 BGP 协议报文 (19)3.4.1 语法 (19)3.4.2 语义 (25)Ethernet 1序、1.1协议的概念协议由语法、语义和时序三部分组成:语法:规定传输数据的格式;语义:规定所要完成的功能;时序:规定执行各种操作的条件、顺序关系;1.2 TCP/IP体系结构TCP/IP协议分为四层结构,每一层完成特定的功能,包括多个协议。
本课程实验中相关协议的层次分布如附图3-1所示。
图1-1 TCP/IP协议层次RIP、OSPF. FTP屮TCP, UDP2IP, ARP、ICXIP^ 底层协议(Ethernet〉#这些协议之间的 PDU封装并不是严格按照低层PDU封装高层PDU的方式进行的,附图3-2显示了 Ethernet帧、ARP分组、IP分组、ICMP报文、TCP报文段、UDP数据报、RIP报文、 OSPF报文和FTP 报文之间的封装关系。
图1-2各协议PDU间的封装关系2链路层协议报文格式2.1 Ethernet报文格式最新的IEEE 802.3 标准(2002年)中定义 Ethernet帧格式如下:TCP首咅典数据:FT?"UDP首咅弘数拚:RIP"IP分组p IP首制#数据:ICMP、TCP. UDP、OSPF^'帧苜部*数抿:ARJ\ IP屮丁空报文段a , UDP数將报462光亠1500*目的X1AC 地址2 源MAC 地址+类型长度丿数据"FCS#其中,类型/长度值小于1536( 0x0600)时表示数据字段的长度,大于等于1536( 0x0600)时表示数据字段的协议类型。
网络协议汇总篇一:网络协议汇总TCP/IP参考模型是一个抽象的分层模型,这个模型中,所有的TCP/IP系列网络协议都被归类到4个抽象的"层"中。
每一抽象层建立在低一层提供的服务上,并且为高一层提供服务。
完成一些特定的任务需要众多的协议协同工作,这些协议分布在参考模型的不同层中的,因此有时称它们为一个协议栈。
TCP/IP参考模型为TCP/IP协议栈订身制作。
其中IP协议只关心如何使得数据能够跨越本地网络边界的问题,而不关心如何利用传输媒体,数据如何传输。
整个TCP/IP协议栈则负责解决数据如何通过许许多多个点对点通路(一个点对点通路,也称为一"跳", 1 hop)顺利传输,由此不同的网络成员能够在许多"跳"的基础上建立相互的数据通路。
如想分析更普遍的网络通信问题,ISO的OSI模型也能起更好的帮助作用。
因特网协议组是一组实现支持因特网和大多数商业网络运行的协议栈的网络传输协议。
它有时也被称为TCP/IP协议组,这个名称来源于其中两个最重要的协议:传输控制协议(TCP)和因特网协议(IP),它们也是最先定义的两个协议。
同许多其他协议一样网络传输协议也可以看作一个多层组合,每层解决数据传输中的一组问题并且向使用这些低层服务的高层提供定义好的服务。
高层逻辑上与用户更为接近,所处理数据更为抽象,它们依赖于低层将数据转换成最终能够进行实体控制的形式。
网络传输协议能够大致匹配到一些厂商喜欢使用的固定7层的OSI模型。
然而这些层并非都能够很好地与基于ip的网络对应(根据应用的设计和支持网络的不同它们确实是涉及到不同的层)并且一些人认为试图将因特网协议组对应到OSI会带来混淆而不是有所帮助。
[编辑] 因特网协议栈中的层人们已经进行了一些讨论关于如何将TCP/IP参考模型映射到到OSI模型。
由于TCP/IP和OSI模型组不能精确地匹配,还没有一个完全正确的答案。
icmp和igmp报文格式ICMP(Internet Control Message Protocol)和IGMP(Internet Group Management Protocol)是两种常见的网络协议,用于在互联网中进行控制和管理。
下面是它们的报文格式的详细解释:1. ICMP报文格式:ICMP报文通常封装在IP报文中,用于在网络中传递控制消息。
ICMP报文格式如下:类型(Type),8位字段,表示ICMP消息的类型,用于指示报文的目的和功能。
代码(Code),8位字段,与类型字段一起用于提供更具体的信息,进一步说明ICMP消息的目的。
校验和(Checksum),16位字段,用于检验ICMP报文的完整性。
其他字段,根据不同的ICMP消息类型和代码,可能会有其他字段,用于携带相关的数据信息。
ICMP报文的具体格式会根据不同的类型和代码而有所变化,例如,ICMP回显请求和回显应答的报文格式稍有不同。
2. IGMP报文格式:IGMP报文用于在IP网络中进行组播组管理。
IGMP报文格式如下:类型(Type),8位字段,表示IGMP消息的类型,用于指示报文的目的和功能。
最大响应时间(Max Response Time),8位字段,表示发送方对IGMP查询消息的响应时间上限。
校验和(Checksum),16位字段,用于检验IGMP报文的完整性。
组播地址(Group Address),32位字段,表示组播组的IP 地址。
IGMP报文的具体格式也会根据不同的类型而有所变化,例如,IGMP查询报文和IGMP报告报文的格式不同。
总结起来,ICMP报文用于网络控制消息的传递,而IGMP报文用于组播组管理。
它们的报文格式都包含了类型、代码、校验和等字段,具体的格式会根据不同的消息类型而有所变化。
以上是对ICMP和IGMP报文格式的简要介绍。
icmp协议格式ICMP(InternetControlMessageProtocol,国际互联网控制报文协议)是TCP/IP协议栈中非常重要的一个协议。
它定义了一种消息报文格式,可以用来在两个IP主机之间传递控制信息,如探测网络中的主机存活状态、检查网络的状态或完成网络故障检测等。
ICMP报文通常是在IP数据报之外另外发出的,它是一种非常有效的报文传输方式,因为它能让网络的不同部分之间进行通信。
二、ICMP报文格式ICMP报文实际上是一个IP数据报的一部分,它可以分为三部分:报头、数据字段和校验和字段。
报头(Header)包括类型、码、校验和字段等几个字段,其中类型和码字段是必需的,而数据字段和校验和字段是可选的。
(1)类型字段:它用来定义报文的类型,有0-255种不同的类型,分别表示不同的报文。
(2)码字段:它用来指定特定类型报文的具体含义,有0-255种可能的组合。
(3)数据字段:它可以是包括报文源、报文目的地、时间戳、故障控制等信息。
(4)校验和字段:它用来检查报文中字节序列是否有损坏。
三、ICMP报文使用场景(1)网络拓扑变更:ICMP报文用来提示网络拓扑发生变化,例如新的路由器加入或者现存的路由器掉线,从而使网络节点能够及时调整路由表。
(2)网络测试:ICMP报文可以用来检测网络的运行状态,例如发送ICMP ECHO报文测试网络到指定主机的连接状态。
另外,还可以用它来检测网络中现存的主机。
(3)网络故障检测:ICMP报文还可以用来检测网络中出现的故障,例如发送ICMP逐跳报文可以定位网络中出现的故障点。
四、由ICMP报文驱动的应用(1)路由器:大多数路由器都使用ICMP协议来实现包之间的路由交换和管理,这使得路由器能够处理更多的数据包,从而提高网络的性能。
(2)路由跟踪:通过路由跟踪技术,可以使用ICMP报文来进行路由发现,从而让网络管理员更好地了解网络拓扑结构。
(3)网络扫描:使用ICMP报文进行端口扫描,可以帮助网络管理员更好地控制网络的安全性。
(⼗三)⽹络层--RIP协议报⽂格式RIP协议报⽂格式继续上⽂的内容,这篇⽂章我们来学习下RIP协议的报⽂格式。
RIP报⽂由⾸部和路由部分组成。
⾸部占4个字节,其中的命令字段指出报⽂的意义,例如,1表⽰请求路由信息,2表⽰对请求路由信息的响应或未被请求⽽发出的路由更新报⽂,⾸部后⾯的“必为0”是为了4字节的对齐。
RIP2报⽂中的路由部分由若⼲个路由信息组成,每个路由信息需要⽤20个字节。
其中,地址族标识符字段⽤来标志所使⽤的地址协议,如采⽤IP地址就令这个字段的值为2。
路由标记填⼊⾃治系统号ASN(Autonomous System Number),这是考虑使RIP有可能收到本⾃治系统以外的路由选择信息。
后⾯指出了⽹络地址、该⽹络的⼦⽹掩码、下⼀跳路由器地址以及到此⽹络的距离。
⼀个RIP报⽂最多可包含25个路由,因⽽RIP报⽂的最⼤长度是(4 + 25 * 20) = 504字节。
如超过,必须再⽤⼀个RIP报⽂来传送。
RIP还具有简单的鉴别功能。
若使⽤鉴别功能,则将原来写⼊第⼀个路由信息的位置⽤作鉴别(20字节)。
这时应将地址族标识符置为全1,⽽路由标记写⼊鉴别类型,剩下的16字节为鉴别数据。
在鉴别数据之后,才写⼊路由信息,但这时最多只能再放⼊24个路由信息。
RIP存在的⼀个问题是当⽹络出现故障时,要经过较长的时间才能将此信息传送到所有的路由器,看下⾯这个例⼦:设三个⽹络通过两个路由器互连起来,并且都已建⽴了各⾃的路由表。
图中路由器交换的信息只给出了我们感兴趣的⼀⾏内容。
路由器R1中的“1, 1, 直接”表⽰“到⽹1的距离是1,直接交付”。
路由器R2中的“1, 2, R1”表⽰“到⽹1的距离是2,下⼀跳经过R1”。
现在假定路由器R1到⽹1的链路出了故障,R1⽆法到达⽹1,于是路由器R1把到⽹1的距离改为16,表⽰⽹1不可达,所以现在R1的路由表中的相应项⽬变为“1, 16, 直接”。
但是,很可能要经过30s后,R1才把更新信息发送给R2,在这段时间,可能R2已经把⾃⼰的路由表发送给了R1,其中有“1, 2, R1”这⼀项。
可编辑目录1 序、 (2)1.1 协议的概念 (2)1.2 TCP/IP体系结构 (2)2 链路层协议报文格式 (2)2.1 Ethernet报文格式 (2)2.2 802.1q VLAN数据帧(4字节) (3)2.3 QinQ帧格式 (4)2.4 PPP帧格式 (4)2.5 STP协议格式 (5)2.5.1 语法 (5)2.5.2 语义 (6)2.5.3 时序 (8)2.6 RSTP消息格式 (9)2.6.1 语法 (9)2.6.2 语义 (11)2.6.3 时序 (13)3 网络层协议报文 (14)3.1 IP报文头 (14)3.2 ARP协议报文 (16)3.2.1 语法 (16)3.2.2 语义 (17)3.2.3 时序 (17)3.3 VRRP协议报文 (18)3.3.1 语法 (18)3.4 BGP协议报文 (19)3.4.1 语法 (19)3.4.2 语义 (25)1 序、1.1 协议的概念协议由语法、语义和时序三部分组成:语法:规定传输数据的格式;语义:规定所要完成的功能;时序:规定执行各种操作的条件、顺序关系;1.2 TCP/IP体系结构TCP/IP协议分为四层结构,每一层完成特定的功能,包括多个协议。
本课程实验中相关协议的层次分布如附图3-1所示。
图1-1TCP/IP协议层次这些协议之间的PDU封装并不是严格按照低层PDU封装高层PDU的方式进行的,附图3-2显示了Ethernet帧、ARP分组、IP分组、ICMP报文、TCP报文段、UDP数据报、RIP报文、OSPF报文和FTP报文之间的封装关系。
图1-2各协议PDU间的封装关系2 链路层协议报文格式2.1 Ethernet报文格式最新的IEEE 802.3标准(2002年)中定义Ethernet帧格式如下:图2-1以太网报文格式●其中,类型/长度值小于1536(0x0600)时表示数据字段的长度,大于等于1536(0x0600)时表示数据字段的协议类型。
类型/长度值0x0800表示帧中封装的数据为IP分组,类型值0x0806表示帧中封装的数据为ARP分组。
●Ethernet II类型以太网帧的最小长度为64字节(6+6+2+46+4)最大长度为1518字节(6+6+2+1500+4)。
其中前12字节分别标识出发送数据帧的源节点MAC地址和接收数据帧的目标节点MAC地址。
(注:ISL封装后可达1548字节,802.1Q封装后可达1522字节)●接下来的2个字节标识出以太网帧所携带的上层数据类型,如下:IPv4: 0x0800ARP:0x0806PPPoE:0x8864802.1Q tag: 0x8100IPV6: 0x86DDMPLS Label:0x8847●在不定长的数据字段后是4个字节的帧校验序列(Frame. Check Sequence,FCS)2.2 802.1q VLAN数据帧(4字节)图2-2VLAN数据帧结构●Type:长度为2字节,取值为0x8100,表示此帧的类型为802.1Q Tag帧。
●PRI:长度为3比特,可取0~7之间的值,表示帧的优先级,值越大优先级越高。
该优先级主要为QoS差分服务提供参考依据(COS)。
●CFI 字段标识MAC 地址在不同的传输介质中是否以标准格式进行封装,长度为1bit,取值为0 表示MAC 地址以标准格式进行封装,为1 表示以非标准格式封装,缺省取值为0●VLAN Identifier (VID): 长度12bits,可配置的VLAN ID取值范围为1~4094。
通常vlan0和vlan 4095预留,vlan1为缺省vlan,一般用于网管。
2.3 QinQ帧格式图2-3QinQ帧结构2.4 PPP帧格式图2-4PPP帧格式PPP报文的内容是指Address、Control、Protocol和Information四个域的内容。
各字段的含义如下。
●Flag域Flag域标识了一个物理帧的起始和结束,该字节为0x7E。
●Address域PPP协议是被运用在点对点的链路上,它可以唯一标识对方。
因此使用PPP协议互连的两个通信设备无须知道对方的数据链路层地址。
所以该字节已无任何意义,按照协议的规定将该字节填充为全1的广播地址。
●Control域同Address域一样,PPP数据帧的Control域也没有实际意义,按照协议的规定通信双方将该字节的内容填充为0x03。
Address和Control域一起表示了此报文为PPP报文,即PPP报文头为FF03。
●Protocol域协议域可用来区分PPP数据帧中信息域所承载的数据报文的内容。
图2-5Protocol协议域●Information域信息域最大长度是1500字节,其中包括填充域的内容。
信息域的最大长度等于PPP协议中MRU(Maximum Receive Unit)的缺省值。
2.5 STP协议格式2.5.1 语法图2-6STP报文格式以太网报文头:●目的mac地址―目的地址是一个固定的桥的组播地址(0x0180c2000000)●源MAC地址―即发送该配置消息的桥MAC地址●长度/类型―这里表示帧长●LLC Header ―固定的链路头-0x424203●Payload ― BPDU数据BPDU数据:●Protocol ID ―恒为0。
●Version ―恒为0。
●Type ―决定该帧中所包含的两种 BPDU 格式类型(配置 BPDU 或 TCN BPDU)。
●Flags ―标志活动拓朴中的变化,包含在拓朴变化通知(Topology ChangeNotifications)的下一部分中。
如下图:STP只使用了第0和第7比特位。
图2-7STP报文的flags字段●Root BID ―包括有根网桥的网桥 ID。
会聚后的网桥网络中,所有配置 BPDU 中的该字段都应该具有相同值(单个 VLAN)。
NetXRay 可以细分为两个 BID 子字段:网桥优先级和网桥 MAC 地址。
●Root Path Cost ―通向有根网桥(Root Bridge)的所有链路的积累资本。
●Sender BID ―创建当前 BPDU 的网桥 BID。
对于单交换机(单个 VLAN)发送的所有BPDU 而言,该字段值都相同,而对于交换机与交换机之间发送的 BPDU 而言,该字段值不同)●Port ID ―每个端口值都是唯一的。
端口1/1值为0×8001,而端口1/2 值为0×8002。
●Message Age ―记录 Root Bridge 生成当前 BPDU 起源信息的所消耗时间。
●Max Age ―保存 BPDU 的最长时间,也反映了拓朴变化通知(Topology ChangeNotification)过程中的网桥表生存时间情况。
●Hello Time ―指周期性配置 BPDU 间的时间。
●Forward Delay ―用于在 Listening 和 Learning 状态的时间,也反映了拓朴变化通知(Topology Change Notification)过程中的时间情况。
2.5.2 语义常用概念:●根桥(Root Bridge):桥ID最小的网桥。
其中桥ID是由网桥的优先级和网桥的MAC组成●根端口(Root Port):这个端口到达根桥的路径是该端口所在网桥到达根桥的最佳路径。
全网中只有根桥是没有根端口的●指定端口(Designated Port):每一个网段选择到根桥最近的网桥作为指定网桥,该网桥到这一网段的端口为指定端口●可选端口(Alternate Port):既不是指定端口,也不是根端口的端口Stp做了些什么:●STP在二层交换网络中选择一个根桥作为全部二层交换网络的逻辑中心(Root Bridge)●STP为全网中每一个参与STP运算的交换机计算到达根桥的最短距离(Path Cost)●检测二层交换网络中存在的冗余链路,并把他们置于阻断/备份状态●检测拓扑结构的变化并根据情况计算新的生成树如何确定跟桥:●根桥—BID(网桥ID)最小的网桥定为根桥●BID—网桥的优先级+网桥MAC●网桥的优先级为可配置,缺省值为32768●在缺省情况下,根桥将由MAC地址最小的网桥担任如何确认到根桥的PATH COST:如何决定BPDU配置消息的优劣:●比较RID(Root Bridge ID),确定网络同步●RID相同,比较Path Cost(到根桥距离),越小越优●RID/Path Cost相同,比较指定桥的BID (Designated Bridge ID),越小越优●RID/Path Cost/DBID相同,比较指定端口的ID (Designated Port ID),越小越优确定网桥端口角色:●BPDU报文中总是携带网桥到根桥的最优值●通过BPDU配置消息来决定端口的角色●根端口:网桥各个端口中到根桥最近的端口●指定端口:网桥的端口发送的BPDU配置消息较接收的BPDU配置消息更优,则端口为指定端口●可选端口:网桥的端口发送的BPDU配置消息较接收的BPDU配置消息更差,则端口为可选端口STP端口状态:●disabled:不收发任何报文●Blocking: 不接收或转发数据,接收但不发送BPDU,不进行地址学习●Listening:不接收或转发数据,接收并发送BPDU,不进行地址学习●Learning:不接收或转发数据,接收并发送BPDU,开始地址学习●Forwarding:接收并转发数据,接收并发送BPDU,进行地址学习拓扑改变:●拓扑结构改变会使站点在生成树中的相对位置发生移动,那么网桥原来学习到的MAC地址信息就可能变得不正确,所以学习的MAC地址信息也要有生存期,如果该时间内没有证明地址的正确,则抛弃这条地址信息●MAC地址在STP中有两个生存期:●拓扑稳定的时候用较长的生存期●拓扑改变的时候用较短的生存期●网络拓扑发生改变的时候,并不是所有的网桥都能够发现这一变化,所以需要把拓扑改变的信息通知到整个网络拓扑改变消息的传播:●拓扑改变的触发条件有两个:●当Forwarding端口转变为其他状态时●某端口变为Forwarding状态,且交换机具备DP(交换机为非独立交换机)●检测到拓扑变化的交换机以HelloTime为周期持续在根端口上向外发送TCN报文,到接收到TCA为止●收到TCN后,Root Bridge 发送的BPDU报文中的TC位将被置位,维持时间为ForwardDelay+MaxAge2.5.3 时序BPDU的结构:●STP通过BPDU(Bridge Protocol Data Unit)报文来学习网络拓扑结构;●BPDU报文的目标MAC地址为:01-80-C2-00-00-00;●BPDU报文在直连的两个网桥或多个网桥内交换,不能被转发。