如何从GRE协议中提取出IP报文?
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/10 19:36:54
如何从GRE协议中提取出IP报文?
CDMA2000 1x协议中A10 A11接口的GRE协议怎么才能从中提取出IP报文?越详细越好,可以复制哈!
希望高手能从最本质层面回答,比如一楼说的解封装过程中的“剥掉”,是怎么剥掉的呢?
CDMA2000 1x协议中A10 A11接口的GRE协议怎么才能从中提取出IP报文?越详细越好,可以复制哈!
希望高手能从最本质层面回答,比如一楼说的解封装过程中的“剥掉”,是怎么剥掉的呢?
(GRE:Generic Routing Encapsulation) 通用路由封装(GRE)定义了在任意一种网络层协议上封装任意一个其它网络层协议的协议.在大多数常规情况下,系统拥有一个有效载荷(或负载)包,需要将它封装并发送至某个目的地.首先将有效载荷封装在一个 GRE 包中,然后将此 GRE 包封装在其它某协议中并进行转发.此外发协议即为发送协议.当 IPv4 被作为 GRE 有效载荷传输时,协议类型字段必须被设置为 0x800.当一个隧道终点拆封此含有 IPv4 包作为有效载荷的 GRE 包时,IPv4 包头中的目的地址必须用来转发包,并且需要减少有效载荷包的 TTL.值得注意的是,在转发这样一个包时,如果有效载荷包的目的地址就是包的封装器(也就是隧道另一端),就会出现回路现象.在此情形下,必须丢弃该包.当 GRE 包被封装在 IPv4 中时,需要使用 IPv4 协议 47.GRE 下的网络安全与常规的 IPv4 网络安全是较为相似的,GRE 下的路由采用 IPv4 原本使用的路由,但路由过滤保持不变 .包过滤要求防火墙检查 GRE 包,或者在 GRE 隧道终点完成过滤过程.在那些这被看作是安全问题的环境下,可以在防火墙上终止隧道.
GRE简介
GRE(Generic Routing Encapsulation,通用路由封装)协议是对某些网络层协议(如IP 和IPX)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如IP)中传输.GRE采用了Tunnel(隧道)技术,是VPN(Virtual Private Network)的第三层隧道协议.Tunnel 是一个虚拟的点对点的连接,提供了一条通路使封装的数据报文能够在这个通路上传输,并且在一个Tunnel 的两端分别对数据报进行封装及解封装.一个X协议的报文要想穿越IP网络在Tunnel中传输,必须要经过加封装与解封装两个过程:
1.
Router A 连接Group 1 的接口收到X 协议报文后,首先交由X 协议处理; X 协议检查报文头中的目的地址域来确定如何路由此包; 若报文的目的地址要经过 Tunnel 才能到达,则设备将此报文发给相应的Tunnel 接口; Tunnel 口收到此报文后进行GRE 封装,在封装IP 报文头后,设备根据此IP 包的目的地址及 路由表对报文进行转发,从相应的网络接口发送出去.
2.GRE 封装后的报文格式
GRE 封装后的报文格式为:[Delivery header(Transport protocol)]——[GRE header(Fncapsulation protocol)]——[Payload header(Passenger potrocol)] 需要封装和传输的数据报文,称之为净荷(Payload),净荷的协议类型为乘客协议(Passenger Protocol).系统收到一个净荷后,首先使用封装协议(Encapsulation Protocol)对这个净荷进行GRE 封装,即把乘客协议报文进行了“包装”,加上了一个GRE 头部成为GRE 报文;然后再把封装好的原始报文和GRE 头部封装在IP 报文中,这样就可完全由IP 层负责此报文的前向转发(Forwarding).通常把这个负责前向转发的IP 协议称为传输协议(Delivery Protocol 或者Transport Protocol).根据传输协议的不同,可以分为 GRE over IPv4 和GRE over IPv6 两种隧道模式.
3.解封装的过程
解封装过程和加封装的过程相反. RouterB 从Tunnel 接口收到IP 报文,检查目的地址; 如果发现目的地是本路由器,则 RouterB 剥掉此报文的IP 报头,交给GRE 协议处理(进行检验密钥、检查校验和及报文的序列号等); GRE 协议完成相应的处理后,剥掉GRE 报头,再交由X 协议对此数据报进行后续的转发处理.说明:GRE 收发双方的加封装、解封装处理,以及由于封装造成的数据量增加,会导致使用GRE 后设备的数据转发效率有一定程度的下降.
再问: 在解封装的过程中,Router是怎么样“剥掉”IP报头和GRE报头的呢?
再答: 呃。。。。这个你得问硬件设备厂商了。。。。
GRE简介
GRE(Generic Routing Encapsulation,通用路由封装)协议是对某些网络层协议(如IP 和IPX)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如IP)中传输.GRE采用了Tunnel(隧道)技术,是VPN(Virtual Private Network)的第三层隧道协议.Tunnel 是一个虚拟的点对点的连接,提供了一条通路使封装的数据报文能够在这个通路上传输,并且在一个Tunnel 的两端分别对数据报进行封装及解封装.一个X协议的报文要想穿越IP网络在Tunnel中传输,必须要经过加封装与解封装两个过程:
1.
Router A 连接Group 1 的接口收到X 协议报文后,首先交由X 协议处理; X 协议检查报文头中的目的地址域来确定如何路由此包; 若报文的目的地址要经过 Tunnel 才能到达,则设备将此报文发给相应的Tunnel 接口; Tunnel 口收到此报文后进行GRE 封装,在封装IP 报文头后,设备根据此IP 包的目的地址及 路由表对报文进行转发,从相应的网络接口发送出去.
2.GRE 封装后的报文格式
GRE 封装后的报文格式为:[Delivery header(Transport protocol)]——[GRE header(Fncapsulation protocol)]——[Payload header(Passenger potrocol)] 需要封装和传输的数据报文,称之为净荷(Payload),净荷的协议类型为乘客协议(Passenger Protocol).系统收到一个净荷后,首先使用封装协议(Encapsulation Protocol)对这个净荷进行GRE 封装,即把乘客协议报文进行了“包装”,加上了一个GRE 头部成为GRE 报文;然后再把封装好的原始报文和GRE 头部封装在IP 报文中,这样就可完全由IP 层负责此报文的前向转发(Forwarding).通常把这个负责前向转发的IP 协议称为传输协议(Delivery Protocol 或者Transport Protocol).根据传输协议的不同,可以分为 GRE over IPv4 和GRE over IPv6 两种隧道模式.
3.解封装的过程
解封装过程和加封装的过程相反. RouterB 从Tunnel 接口收到IP 报文,检查目的地址; 如果发现目的地是本路由器,则 RouterB 剥掉此报文的IP 报头,交给GRE 协议处理(进行检验密钥、检查校验和及报文的序列号等); GRE 协议完成相应的处理后,剥掉GRE 报头,再交由X 协议对此数据报进行后续的转发处理.说明:GRE 收发双方的加封装、解封装处理,以及由于封装造成的数据量增加,会导致使用GRE 后设备的数据转发效率有一定程度的下降.
再问: 在解封装的过程中,Router是怎么样“剥掉”IP报头和GRE报头的呢?
再答: 呃。。。。这个你得问硬件设备厂商了。。。。