[转]深入理解 GRE tunnel】的更多相关文章

深入理解 GRE tunnel 时间 2012-11-08 19:05:22  A Geek's Page 原文  http://wangcong.org/blog/archives/2149 主题 路由器Linux 我以前写过一篇 介绍 tunnel 的文章 ,只是做了大体的介绍.里面多数 tunnel 是很容易理解的,因为它们多是一对一的,换句话说,是直接从一端到另一端.比如 IPv6 over IPv4 的 tunnel,也就是 SIT,它的原理如下图所示: 显然,除了端点的 host A…
我以前写过一篇介绍 tunnel 的文章,只是做了大体的介绍.里面多数 tunnel 是很容易理解的,因为它们多是一对一的,换句话说,是直接从一端到另一端.比如 IPv6 over IPv4 的 tunnel,也就是 SIT,它的原理如下图所示: 显然,除了端点的 host A 和 host B之外,中间经过的任何设备都是看不到里面的 IPv6 的头,对于它们来说,经过 sit 发出的包和其它的 IPv4 的包没有任何区别. GRE tunnel 却不一样了,它的原理从根本上和 sit,ipip…
http://searchenterprisewan.techtarget.com/tip/GRE-tunnel-vs-IPsec-tunnel-What-is-the-difference Encapsulating a packet for secure transportation on the network can be done using either GRE or IPsec protocols. This tip explains under what circumstance…
1.GRE简介 通用路由封装协议GRE(Generic Routing Encapsulation)可以对某些网络层协议(如IPX.ATM.IPv6.AppleTalk等)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如IPv4)中传输. GRE提供了将一种协议的报文封装在另一种协议报文中的机制,是一种三层隧道封装技术,使报文可以通过GRE隧道透明的传输,解决异种网络的传输问题. GRE实现机制简单,对隧道两端的设备负担小.GRE隧道可以通过IPv4网络连通多种网络协议的本地…
应用场景: 客户端(client)与服务器A在同一个运营商网络,应用部署在服务器B,服务器A .B之间建立tunnel,A设置dnat,client通过访问A的8000端口来访问服务器B,B返回的响应通过tunnel到达A,A再返回给client.在dnat之上使用tunnel的原因是通过tunnel后,B接收到的请求源IP为client,而不是A. client -----> A <=======tunnel=======>B ip:192.168.1.1              …
(0)gre的turnel的打通 1. 这个过程就是双方建立turnel的过程.           (1)局域网路由过程 1.主机A发送一个源为192.168.1.2,目的为10.1.1.2的包 (2)封装过程 1.根据内网路由,可能是你的默认路由网关将之路由至192.168.1.254 2.192.168.1.254第一次封装包,增加增加gre包头,说明包的目的地址192.192.192.1和源地址192.192.192.2. 3.192.168.1.254第2次封装包,增加公网的包头(否则…
一.关闭防火墙及selinux 二.CentOS7默认不加载gre内核模块,加载gre内核模块 # modprobe ip_gre   临时加载gre模块(重启后失效) # lsmod |grep gre 进行确认   三.两端添加gre1网卡 主机一: [root@centos7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-gre1 # DEVICE=gre1 TYPE=GRE ONBOOT=yes BOOTPROTO=static MY_OUTE…
GRE RFC2784 工作原理 Structure of a GRE Encapsulated Packet A GRE encapsulated packet has the form: --------------------------------- | | | Delivery Header | | | --------------------------------- | | | GRE Header | | | --------------------------------- |…
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron OVS OpenFlow 流表 和 L2 Population (5)Neutron DHCP Agent (6)Neutron L3 Agent (7)Neutron LBaas (8)Neutron Security Group (9)Neutro…
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron OVS OpenFlow 流表 和 L2 Population (5)Neutron DHCP Agent (6)Neutron L3 Agent (7)Neutron LBaas (8)Neutron Security Group (9)Neutro…
1. GRE 1.1 概念 GRE全称是Generic Routing Encapsulation,是一种协议封装的格式,具体格式内容见:https://tools.ietf.org/html/rfc2784 协议封装指的是用一种格式的协议封装另一种格式的协议.我们熟悉的TCP/IP协议可以看成是一种封装:TCP传输层协议被网络层的IP协议封装,通过IP协议来进行传输.还有比如很有用的IP SAN,就是通过IP协议封装scsi协议,使得我们可以直接通过IP网络来进行磁盘数据的传输.对于这两个例子…
neutron网络目的是为OpenStack云更灵活的划分网络,在多租户的环境下提供给每个租户独立的网络环境. neutron混合实施了第二层的VLAN和第三层的路由服务,它可为支持的网络提供防火墙,负载均衡以及IPSec VPN等扩展功能. neutron是openstack中一个重要模块,也是比较难理解和debug的模块之一. 一.分析经典的三个节点的Havana的OpenStack中网络 图1:三节点opens网络 分为三个网络: 1.External Network/API Networ…
一 GRE 1.1 概念 GRE全称是Generic Routing Encapsulation,是一种协议封装的格式,具体格式内容见:https://tools.ietf.org/html/rfc2784 协议封装指的是用一种格式的协议封装另一种格式的协议.如 1. TCP/IP协议可以看成是一种封装:TCP传输层协议被网络层的IP协议封装,通过IP协议来进行传输.(这种封装的目的主要是通过分层来严格的区分协议的设计,使得具体的协议设计的时候可以更加的清晰) 2. IP SAN,就是通过IP协…
1. 交换机上建立gre隧道,对端ip为ip12. 交换机上报gre隧道的OF逻辑端口port id,这里gre tunnel的id实际就是OF逻辑端口id3. 控制器建立流ipflow1的镜像配置,参数为流特征五元组及对应的隧道OF逻辑端口id4. 控制器下流表,match ipflow1,action为output到隧道OF逻辑端口 这个gre 隧道端点所在的交换机是SDN域内或者SDN域边缘,其实是无所谓的,无论域内还是边缘,隧道封装后,外层报文,都会被SDN域,或者网关发送到目标主机处,…
https://www.cnblogs.com/charles1ee/p/6629009.html VLAN介绍 局域网LAN(多个机器连接一个Hub或者Switch),是一个广播域 VLAN:一台Switch划分出多个虚拟机的LAN,每个vlan中的主机连接交换机的端口是access口,从而保证了交换机只在同一个vlan中转发包 IEEE802.1Q标准定义了VLAN Header的格式.他在普通以太网帧结构的SA(src addr)之后键入了4bytes的VLAN tag/Header数据,…
学习 Neutron 系列文章: (1)Neutron 所实现的网络虚拟化 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron Linux Bridge + VLAN/VXLAN 虚拟网络 (5)Linux bridge + VXLAN 详解 (6)Neutron OVS OpenFlow 流表 和 L2 Population (7)Neutron DHCP Agent (8)…
一.实验目的 了解GRE协议及原理 理解 Open vSwitch如何配置GRE隧道 二.实验原理 Open vSwitch创建GRE原理很简单,就是把对GRE头和外部IP头的一些操作从原来的代码中抽象出来,做成内核“库函数”的形式,然后 Open vSwitch中就可以直接调用它们了. Open vSwitch GRE tunnel没有注册网络设备,因此无法通过iplink看到它,它只是一个vport而已,所以能通过ovs-vsctl show可以看到. 三.实验任务 本实验需要创建两台虚拟机…
前两篇博文分别研究了Compute节点和Neutron节点内部的网络架构.本文通过一些典型流程案例来分析具体网络流程过程. 0. 环境 同 学习OpenStack之(7):Neutron 深入学习之 OVS + GRE 之 Neutron节点篇 中所使用的环境. 简单总结一下: Compute 节点上由Neutron-OVS-Agent负责: br-int:每个虚机都通过一个Linux brige连到该OVS桥上 br-tun:转化网络packet中的VLAN ID 和 Tunnel ID GR…
0. 测试环境 硬件环境:还是使用四节点OpenStack部署环境,参见 http://www.cnblogs.com/sammyliu/p/4190843.html OpenStack配置: tenant:三个tenant:demo,tenant-one,tenant-two network:三个tenanet公用public network,每个tenant拥有自己的subnet,都有一个router连接自己的subnet到public net 虚机:三个虚机,tenant-one一个,te…
0.环境 硬件环境见上一篇博客:学习OpenStack之(5):在Mac上部署Juno版本OpenStack 四节点环境 OpenStack网络配置:一个tenant, 2个虚机 Type driver: GRE, Mechanism driver: OVS 一个public network: ext-net 和相应的subnet ext-subnet 一个VM network:demo-net 和相应的subnet:demo-subnet 一个router连接ext-subnet和demo-s…
一.OpenStack网络设备的命名规律: 1.TenantA的router和Linux网络命名空间qrouter名称 root@controller:~# neutron --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 router-list --field id --field name +-----------------…
关于Neutron上的三种Agent的作用: Neutron-OVS-Agent:从OVS-Plugin上接收tunnel和tunnel flow的配置,驱动OVS来建立GRE Tunnel Neutron-DHCP-Agent:为每一个配置了DHCP的网络/子网配置dnsmasq,也负责把Mac地址/IP地址 信息写入dnsmasq dhcp lease 文件 Neturon-L3-Agent:设置iptables/routing/NAT表 网络节点初始建立 [root@network01 ~…
知识点一:linux网桥提供安全组 知识点二:每新建一个网络,在网络节点都会新建一个namespace,只要为该网络建立子网,那么该namespace里就新增dhcp来为该子网分配ip,也可以为该网络新建路由 dhcp由neutron-dhcp-agent负责,router由neutron-l3-agent负责 知识点三: compute节点:vm->(access口)br-int--->br-tun(将vlan id转Tunnel ID)--->GRE tunnel network节点…
一.GRE简介 通用路由封装协议GRE(Generic Routing Encapsulation)可以对某些网络层协议(如IPX.ATM.IPv6.AppleTalk等)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如IPv4)中传输.GRE提供了将一种协议的报文封装在另一种协议报文中的机制,是一种三层隧道封装技术,使报文可以通过GRE隧道透明的传输,解决异种网络的传输问题. GRE实现机制简单,对隧道两端的设备负担小.GRE隧道可以通过IPv4网络连通多种网络协议的本地网…
管理网络:包含api网络(public给外部用,admin给管理员用-是内部ip,internal给内部用-是内部ip) 数据网络 存储网络 IDRAC网络 PXE网络 控制节点相关服务 systemctl status chronyd.servicesystemctl status mariadb.servicesystemctl status mongod.servicesystemctl status rabbitmq-server.servicesystemctl status memc…
ovs tunnel 实验拓扑 实验拓扑搭建基础脚本 #vbox虚拟机1 ip netns add left ip link add name veth1 type veth peer name sw1-p1 ip link set dev veth1 netns left ip netns exec left ifconfig veth1 10.0.0.1/24 up ovs-vsctl add-br sw1 ovs-vsctl add-port sw1 sw1-p1 ip link set…
neutron是openstack的一个重要模块,也是比较难以理解和debug的模块之一. 我这里安装如图安装了经典的三个节点的Havana的Openstack   图1 分三个网络: External Network/API Network,这个网络是连接外网的,无论是用户调用Openstack的API,还是创建出来的虚拟机要访问外网,或者外网要ssh到虚拟机,都需要通过这个网络 Data Network,数据网络,虚拟机之间的数据传输通过这个网络来进行,比如一个虚拟机要连接另一个虚拟机,虚拟…
对于普通的switch,都会有这个学习的过程,当一个包到来的时候,由于包里面有MAC,VLAN Tag,以及从哪个口进来的这个信息.于是switch学习后,维护了一个表格port –> MAC –> VLAN Tag. 这样以后如果有需要发给这个MAC的包,不用ARP,switch自然之道应该发给哪个port,应该打什么VLAN Tag. OVS也要学习这个,并维护三个之间的mapping关系. 在我们的例子中,无论是从port进来的本身就带Tag的,还是从port 2, 3, 4进来的后来被…
最近又开始弄openvswitch,网上也有不少的资料,但是发觉都集中在openvswitch安装及简单使用或者一些原码分析,从心里来讲,感觉这些和心里得到的差距有点大啊,其实更希望能类似资料在openvswitch和其它硬件结合起来的总体架构资料,openvswitch的实际生产应用的架构和要点方面,找到一个日本对于这个研究很完善的PDF文件,更是除了一些图,其它完全看不懂,心里不是滋味,最近估计会转载一些比较偏近研究方面的比较好的openvswitch文章,希望能让自己对openvswith…
1.IPv6地址的各种情况2.配置通过DHCP-PD方式分配前缀信息3.IPv6路由基本配置4.IPv6路由--RIPng5.IPv6路由--EIGRPv66.IPv6路由--OSPFv37.IPv6组播8.IPv6路由--MP-BGP9.IPv6路由-ISISV610.IPv4和IPv6的共存和过度_111.IPv4和IPv6的共存和过度_2 enableconf tno ip do loenable pass ciscoline con 0logg syncexec-t 0 0exitlin…