[networking][sdn] BGP/EGP/IGP是什么
引子
整个故事,是从这张图开始的。
整个图,分左中右三块。左边是tom和他所在的网络。右边是jerry和他所在的网络。这两个网络可以在世界上的任何一个角落。彼此有公网出口。
中间部分就是这两个网络之间的内容,的一瞥。如图:

接下来要讲述的就是中间部分。笔者对这一部分完全不懂,所以搜集了一些资料如下文。主要围绕着BGP。
正文
自治域
提BGP之前,需要了解ASN。ASN就是AS的编号,AS就是自治域。自治域就是互联网的最顶层结构。每一个自治域有一组公网IP地址。
每一个自治域有一个唯一的编号。自治域与自治域直接使用路由互联,路由分动态路由和静态路由。自治域之前,主要都是动态路由。
详见:https://en.wikipedia.org/wiki/Autonomous_system_(Internet)
动态路由
自治域与自治域之间通过网关连接,或叫做边界网关。网关与网关之间交换路由的协议叫做网关协议 Gateway Protocol。
两个网关之间相互交换对方的路由,就叫做动态路由。也就是说,Gateway Protocol就是用来做动态路由的。
自治域内的网关与网关之间,也同样可以做到动态路由交换。于是网关协议就分了两种。
Interior Gateway Protocol:https://en.wikipedia.org/wiki/Interior_gateway_protocol
Exterior Gateway Protocol:https://en.wikipedia.org/wiki/Exterior_Gateway_Protocol
也就是 IGP,EGP。两个名称在这里有一些区别,IGP是一组协议的统称。EGP指的是一个特定的协议。
IGP是指代一组用于自治域内做网关动态路由交换的协议。EGP专指自治域间的路由协议。
如今,BGPv4已经作为了最新的标准替换了EGP协议。
BGP,Boarder Gateway Protocol: https://en.wikipedia.org/wiki/Border_Gateway_Protocol
peer ? BGP的邻居,边界网关,就叫做peer。
当BGP两端的peer,在同一个自治域时,也就是ASN相同。称之为iBGP。ASN不同时称为eBGP。
到底是iBGP还是eBGP从配置上以及用户的角度是没有区别的,无需配置。只通过ASN是否相同来进行区分。(通过报文分析,能观察到彼此的区别)
概念区分
至此,我们以及搞清楚了EGP与eBGP的区别。
那么IGP,iBGP呢?可以看下文wiki上的一段摘录:
The main difference between iBGP and eBGP peering is in the way routes that were received from one peer are propagated to other peers.
For instance, new routes learned from an eBGP peer are typically redistributed to all iBGP peers as well as all
other eBGP peers (if transit mode is enabled on the router). However, if new routes are learned on an iBGP peering,
then they are re-advertised only to all eBGP peers. These route-propagation rules effectively require that all iBGP peers inside an AS are interconnected in a full mesh.
IGP与iBGP功能基本重叠,主要用于处理AS内的路由传播功能。有一些细致功能并不能彼此覆盖。
所以在简单的应用场景中,只用iBGP就够了。在稍复杂的场景中,IGP与iBGP有可能同时存在。
总之,大概就是这样吧。
CE/PE
前面我们讲了peer,peer就是Gateway Protocol里的Gateway。除了peer,我们也管它叫Edge。
所以:
CE,Customer Edge:https://en.wikipedia.org/wiki/Customer_edge
PE,Provider Edge:https://en.wikipedia.org/wiki/Provider_Edge
CE,PE是对等设备。没有功能区别。从提供互联网服务的角度上,进行角色划分,划分了CE,PE。
从网络建设者的角度,C是P的客户。C提供互联网应用的服务。P为C提供网络基础设施的服务。P可以理解为ISP侧。
(大概是这样吧~~~现学现卖~~~)
另外,顺便再提一点与路由无关的内容:E和E之间传输的数据包都是MPLS封装的,MPLS就是一种类似于vlan的二层网络隔离。
之所以,强行生硬的理解CE,PE。主要是为了理解最前文的那张图。
图解
好,经过了以上准备之后。我们现在来理解这张图。
Tom是内容提供商。比如,tom每天晚上在网上直播。Jerry是个普通网友,每天晚上在网站看Tom直播。
Tom在斗鱼直播,Jerry用长城宽带。
tom那个虚线框就是斗鱼自建网络的自治域,CE是它的边界网关。PE是长城宽带的边界网关。长城宽带在网关处搭建了一个分布式的路由器。
这个路由器与CE之间跑着eBGP,做动态路由协商。
这个边界路由器,与长城宽带内网的核心路由器之间跑着iBGP,iBGP把eBGP学到的路由,从边界路由器上再学习到核心路由器上。
这样,核心路由器就可以把小Tom的直播视频,源源不断地路由给小jerry观看了。
-----
完。
[networking][sdn] BGP/EGP/IGP是什么的更多相关文章
- A Survey of Machine Learning Techniques Applied to Software Defined Networking (SDN): Research Issues and Challenges
将机器学习用到SDN中的综述:研究的问题和挑战 从流量分类.路由优化.服务质量(Qos)/体验质量(QoE)预测.资源管理和安全性的角度,回顾了机器学习算法如何应用于SDN领域. 相关知识 在SDN中 ...
- 边界网关协议BGP
Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routi ...
- Software-Defined Networking A Comprehensive Survey --阅读_day2
3. 什么是SDN?(WHAT IS SOFTWARE-DEFINED NETWORKING?) The term SDN was originally coined to represent the ...
- Software-Defined Networking A Comprehensive Survey --阅读_day1
The Internet has led to the creation of a digital society, where (almost) everything is connected an ...
- 网络虚拟化(SDN,NFV..)和企业骨干网的演化
本来昨天就规划了今天的这篇文章,无奈昨天中午自己喝了将近一瓶的52度二锅头...晚上想着今天怎么着也完了,要颓废难受一天了...没想到早上居然一点都不难受了.于是就写下了本文.正文之前,还是做个广告, ...
- BGP中IBGP和EBGP的区别和联系
我们知道,在自治系统内部使用IGP路由协议:而在不同自治系统之间使用BGP路由协议(严格来讲,BGP不是路由协议).BGP产生的原因是为了在不同自治系统(AS)之间进行路由转发,而其中又提出了EBGP ...
- BGP路由属性详解
Weight属性:cisco私有的BGP属性参数,它只适用于一台路由器中的路由,也就是不会传递给任何其他的路由器.他的取值范围为<0-65535>,这个数越大优先级越高,默认从邻居学到的路 ...
- Software-Defined Networking: A Comprehensive Survey
文章名称:Software-Defined Networking: A Comprehensive Survey 文章来源:Proceedings of the IEEE ( Volume: 103 ...
- BGP - 不同 AS 间运行的协议
在之前介绍的网络场景中,ERGRP,OPSF,RIP 等都是运行在单独一个 AS(自治系统之间).这些协议统称为 IGP - 内部网关协议 ,目的主要是为自治系统内发现邻居和计算路由,从而找到合适的路 ...
随机推荐
- C# log4net 配置及使用详解--日志保存到文件和Access(转)
按语: 最近项目要求选用Access数据库,但日志管理采用log4net,但保存到数据库一直没有成功,后按照如下配置在程序退出时可以成功保存. 开始新建文件应用log4net.dll ,重新编译就报 ...
- [ kvm ] 学习笔记 9:WebVirtMgr 基础及安装使用
目录- 1. 前言- 2. webvirtmgr 简介- 3. webvirtmgr 部署实践 - 3.1 配置 webvirtmgr 主机 - 3.2 kvm node节点配置 - ...
- [ kvm ] 学习笔记 6:virsh 命令及功能详解
1. 虚拟机管理操作 attach-device 从XML文件附加设备 attach-disk 附加磁盘设备 attach-interface 连接网络接口 autostart 自动启动一个域 blk ...
- [转]Office 安装卸载太麻烦?用这个工具帮你解决:Office Tool Plus
原文链接:https://sspai.com/post/43839 Office Tool官方网站:https://otp.landian.vip/zh-cn/ 真的很好用,发一个安装的截图:
- 【转】do...while(0)的妙用
前言 今天无意中看到这个标题,因为好奇就点进去了,不错,又学习啦... 具体内容: 1. do...while(0)消除goto语句: 2 宏定义中的do...while(0): 参考 1. 原链接_ ...
- Django:序列化的几种方法
前言 关于序列化操作,就是将一个可迭代的数据结构,通过便利的方式进行我们所需要的操作. 今天历来归纳一下,Django中的几种不同得分方法,已经Django-restframework提供的方法 创建 ...
- 基于libuv的TCP设计(一)
本人一直在寻找一个跨平台的网络库,boost与ACE比较庞大,不考虑.对比了libevent,libev,libuv后,最终选择了libuv.可libuv文档少,例子也简单,对于tcp只有个echo- ...
- [BJOI2019] 删数 [dp转贪心结论+线段树]
题面 传送门 思路 dp部分 以下称合法序列为原题面中可以删空的序列 这个是我在模拟考场上的思路 一开始我是觉得,这个首先可以写成一个dp的形式:$dp[i][j]$表示用$j$个数字填满了目标序列的 ...
- [Visual Studio] - 使用 Fiddler 时,禁止监控 VSHub 请求的方法
背景 VS + Fiddler 调试 WebAPI,监控请求包含大量 VSHub Request.http://localhost:49161/vshub/bb195f2e0d5c4765b9411f ...
- Kibana配置安装
学习网站 https://discuss.elastic.co https://github.com/elastic 配置 server.port: 5601 server.host: "l ...