GRE over ipv4 详解
【理论基础】
需要封装和传输的数据报文,称之为净荷(Payload),净荷的协议类型为乘客协议(Passenger Protocol)。系统收到一个净荷后,首先使用封装协议(Encapsulation Protocol)对这个净荷进行GRE封装,即把乘客协议报文进行了“包装”,加上了一个GRE头部成为GRE报文;然后再把封装好的原始报文和GRE头部封装在IP报文中,这样就可完全由IP层负责此报文的前向转发(Forwarding)。通常把这个负责前向转发的IP协议称为传输协议(Delivery Protocol或者Transport Protocol)。
根据传输协议的不同,可以分为GRE over IPv4和GRE over IPv6两种隧道模式。
后面会从数据包角度分析整个封装过程。
【拓扑和软件】
本文实验采用的交换机是H3C模拟器,下载地址如下: http://forum.h3c.com/forum.php? mod=viewthread&tid=109740&highlight=H3C%E6%A8%A1%E6% 8B%9F%E5%99%A8 有兴趣的朋 友可以在论坛上去下载
【组网需求】
R1和R2之间假设通过Internet连接,两台路由器之间使用GRE建立隧道互联。
【配置脚本】
R1:
#
interface Serial0/6/0
link-protocol ppp
ip address 1.1.1.1 255.255.255.0
#
interface LoopBack0
ip address 172.16.1.1 255.255.255.255
#
interface Tunnel0
ip address 10.1.1.1 255.255.255.0
source 1.1.1.1
destination 2.2.2.2
#
ip route-static 0.0.0.0 0.0.0.0 Tunnel0
#
R2:
#
interface Serial0/6/0
link-protocol ppp
ip address 2.2.2.2 255.255.255.0
#
interface LoopBack0
ip address 172.16.2.1 255.255.255.255
interface Tunnel0
ip address 10.1.1.2 255.255.255.0
source 2.2.2.2
destination 1.1.1.1
#
ip route-static 0.0.0.0 0.0.0.0 Tunnel0
#
【验证】
<R2>dis interface tu
<R2>dis interface Tunnel 0
Tunnel0 current state: UP
Line protocol current state: UP
Description: Tunnel0 Interface
The Maximum Transmit Unit is 1476
Internet Address is 10.1.1.2/24 Primary
Encapsulation is TUNNEL, aggregation ID not set
Tunnel source 2.2.2.2, destination 1.1.1.1
Tunnel keepalive disable
Tunnel protocol/transport GRE/IP
GRE key disabled
Checksumming of GRE packets disabled
Last 300 seconds input: 0 bytes/sec, 0 packets/sec
Last 300 seconds output: 0 bytes/sec, 0 packets/sec
0 packets input, 0 bytes
0 input error
0 packets output, 0 bytes
0 output error
<R2>ping 172.16.1.1
PING 172.16.1.1: 56 data bytes, press CTRL_C to break
Reply from 172.16.1.1: bytes=56 Sequence=1 ttl=255 time=4 ms
Reply from 172.16.1.1: bytes=56 Sequence=2 ttl=255 time=25 ms
Reply from 172.16.1.1: bytes=56 Sequence=3 ttl=255 time=15 ms
Reply from 172.16.1.1: bytes=56 Sequence=4 ttl=255 time=26 ms
Reply from 172.16.1.1: bytes=56 Sequence=5 ttl=255 time=4 ms
--- 172.16.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 4/14/26 ms
<R2>dis interface Tunnel 0
Tunnel0 current state: UP
Line protocol current state: UP
Description: Tunnel0 Interface
The Maximum Transmit Unit is 1476
Internet Address is 10.1.1.2/24 Primary
Encapsulation is TUNNEL, aggregation ID not set
Tunnel source 2.2.2.2, destination 1.1.1.1
Tunnel keepalive disable
Tunnel protocol/transport GRE/IP
GRE key disabled
Checksumming of GRE packets disabled
Last 300 seconds input: 0 bytes/sec, 0 packets/sec
Last 300 seconds output: 0 bytes/sec, 0 packets/sec
5 packets input, 420 bytes
0 input error
5 packets output, 420 bytes
0 output error
<R2>
实验完成。
从172.168.2.1 ping 172.168.1.1
加封装过程
R1的接口loopback 0 收到172.168.2.1 ipv4协议报文后,首先交由IPV4协议处理;
ipv4协议检查报文头中的目的地址域来确定如何路由此包;
此时检查报文的目的地址要经过Tunnel才能到达,则设备将此报文发给相应的Tunnel接口;
Tunnel接口收到此报文后进行GRE封装,在封装IP报文头后,设备根据此IP包的目的地址及路由表对报文进行转发,从相应的网络接口S0/6/0发送出去。
解封装的过程
解封装过程和加封装的过程相反。
R2从Tunnel接口收到IP报文,检查目的地址;
如果发现目的地是本路由器,则Ro2掉此报文的IP报头,交给GRE协议处理(进行检验密钥、检查校验和及报文的序列号等);
GRE协议完成相应的处理后,剥掉GRE报头,再交由IPV4协议对此数据报进行后续的转发处理。
转载于:https://blog.51cto.com/hciewd/1143422
GRE over ipv4 详解相关推荐
- /proc/sys/net/ipv4详解(2)
前文接http://itnihao.blog.51cto.com/1741976/908012 17) /proc/sys/net/ipv4/tcp_window_scaling 该文件表示设置tcp ...
- /proc/sys/net/ipv4 详解2
17) /proc/sys/net/ipv4/tcp_window_scaling 该文件表示设置tcp/ip会话的滑动窗口大小是否可变.参数值为布尔值,为1时表示可变,为0时表示不可变.tcp/ip ...
- 计算机网络进阶 ---- GRE ---- 虚拟专用网络 ---- 详解
GRE(Generic Routing Encapsulation - 通用路由封装): 属于虚拟的点到点网络类型: 是一种简单的 VPN(Virtual Private Network - 虚拟专用 ...
- 计算机网络——IPv4详解
IPv4地址概述 在TCP/IP体系中,IP地址是一个最基本的概念,我们必须把它弄清楚 IPv4地址就是给因特网(Internet)上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的 ...
- OSI七层参考模型及其协议和各层设备详解
引言 我们在学习计算机网络的时候,都会接触到网络的分层模型,那么,这个分层模型是怎么来的呢? 本次博客,张大帅比将写出自己对于这个网络分层模型的详细理解 分层模型的理解 a.为什么需要分层,分层的作用 ...
- IPv4头部结构详解
IPv4头部结构详解 以下为书中原文摘录:
- 【IPv4】地址分类详解
IPv4 地址分类详解 文章目录 IPv4 地址分类详解 一. IPv4 地址形式 二. IP 地址的分类 1. A 类 IP 2. B 类 IP 3. C 类 IP 4. D 类 IP 5. E 类 ...
- GRE配置详解和路由黑洞及检测机制
GRE配置详解和路由黑洞及检测机制 基本路由配置先省略,直接上GRE配置: 合肥: int tunnel 0/0/1 //创建隧道 ip add 192.168.13.1 24 //给隧道口ip地址, ...
- 计算机网络IPv4地址详解——二进制和十进制关系
计算机网络IPv4地址详解--二进制和十进制 一.二进制和十进制关 二.IPv4地址 一.二进制和十进制关 从上图(8位)我们可以看出一些特征: 二进制每进一位,十进制就乘二: 128之前的二进制数, ...
最新文章
- 激光雷达模块支持提高高速公路速度
- 在apache中使用 memcache 来作 session 存储
- HDU 4333 [SAM WRONG!!!]
- python爬虫获取的网页数据为什么要加[0-python爬虫解析页面数据的三种方式
- 使用Cython库包对python的py文件(源码)进行加密,把python的.py文件生成.so文件并调用
- Wannafly挑战赛29题解
- 新浪是如何分析处理32亿条实时日志的?
- Jsoup(二)-- Jsoup查找DOM元素
- vue 常用ui组件
- 软件测试学习之 ---------- MySQL的查询(重中之重)
- android 自定义组合键,自定义快捷操作 安卓虚拟Home键设置技巧
- 2020-08-22 每日一句
- mysql内部联结_关于mysql的内部联结
- c语言必背数据结构_严蔚敏数据结构(C语言版)知识点总结笔记课后答案
- 360浏览器在b站看直播html5,用360浏览器看Bilibili视频很卡怎么办_360浏览器看B站视频卡如何解决-win7之家...
- Windows/Windows Server 控制面板(Control Panel) 打开方式 通用
- nginx匹配规则详解
- 高德API实现地理逆编码
- (多元)偏正态分布、正态分布、对数正态分布的随机数的产生(R语言)
- 基于OpenCV DNN模块给黑白老照片上色(附Python/C++源码)
热门文章
- Invalid drive: d:\的解决办法
- 包装类型是什么?基本类型和包装类型有什么区别?
- 多线程线程数经验公式
- outlook转发邮件步骤_如何通过快速步骤和规则更好地在Outlook中管理电子邮件
- Linux 中的 head 命令详解及C/C++代码实现
- NLP 于搜索引擎的关系
- 2021通信安全员考试及(安全员)模拟考试单选题答案解析
- 三种创建线程方式之Callable接口
- 使用xpath时候出现AttributeError: ‘list‘ object has no attribute ‘strip‘解决方法
- 如何为笔记本更换升级内存联想Y450,Y460等均适用