计网学习笔记十 Internet Routing Protocols
上一讲简单介绍了routing和两种最小路径算法的使用,这节课讲了两种算法是如何糅合进协议中来实现具体使用的。
这一讲内容有AS的介绍,以及IGP和BGP协议。
Autonomous Systems
Internet具有的IP地址数量高达40亿..其中需要对20亿的地址做路由,这是非常可怕的事情!(根本存不下这么大的路由表)
Internet只是一个联合体,就像第一节说的有很多的ISP,他们互联起来组成一个大网,每个ISP独立网络的管理者希望控制自己内部的网络路由。所以,便产生了AS。
Autonomous Systems: Set of routers and networks managed by single ISP or large organization.

Hierarchical Routing
对路由器做一个区域上的聚合,称这个聚合为AS(自治系统);同一个AS内的路由器使用相同的路由协议进行路由,而从自治系统出去要经过网关(gateway)路由器,和其它网关进行对话。每个AS都分配了一个独一无二的16位或32位的AS number。(具体见RFC 1930)
AS内部使用common routing protocol(inter-AS routing),外部intra-AS routing;
对自治域的比喻:一个国家内的路由,内部路由是自己任意调度,外部需要海关进行全球协议性的沟通
ISP级别的互连太多了,所以需要peer center(互联中心),大家都把光缆拉到这里。(大公司为了获得更好的服务,往往将自己接入transit AS或者peering center)
Intra-AS and Inter-AS routing
IGP and EGP
IGP,内部网关协议,属于内部AS协议;需要内部信息;关注更多的是性能;
EGP,外部网关协议,属于外部AS协议;需要外部信息;很多时候关注的是可达性;会有较大因素受外界影响而改变,”Policy may dominate over performance“(即现在两个大AS之间的“政治策略”) 。
Common Protocols
IGP有RIP,OSPF,IGRP(思科私有协议);
EGP有BGP,BGP的重要程度堪比IP协议,它将所有的ISP粘合起来。
为什么需要BGP?
Link-state and distance-vector not effective for exterior gateway protocol.
DV连自己经过了哪几个AS都不知道,而LS的洪泛对这么大的网络是难以控制的。
所以EGP用的是PV(path vector)路由算法,抽象出来就是bellman-ford。"The most concern is the ASs passed through."而且EGP的运行不单单依据PV,还依据policy。
IGP
RIP
RIP用的是DV路由算法。Distance metric的标准是跳数或者是router端口中的queue长度;Distance vectors每隔30秒就以RIP update message的形式发送出去;180s判断超时,即链路断开;DV通告使用UDP,周期性重复;
RIP路由表由应用级进程routed (daemon)管理;
OSPF

OSPF用的是LS路由算法,取代了RIP;详见RFC 2328;
每台路由器都保存到邻居的本地链路状态列表;路由器每10秒通过flooding将更新后的状态信息(advertisement)发送到整个AS;OSPF的信息是在IP层上而不是UDP。
OSPF的优点:


对最后一点稍加补充:
单个AS被继续划分为小的Area(用一个32位的ID表示),路由器只知道当前area的拓扑,这样可以限制路由器的flooding范围;

OSPF中链路权值的设置如下:

两种协议的比较

BGP
具体标准参见:RFC 8271
BGP为由AS的需求而提出的协议:隐私(如隐藏拓扑)、自主性、自由选择AS间路由等。

BGP的行为可划分为两个步骤:
从邻居AS获取某个prefix的可达性信息;
对包含了可达性信息的众多条路由信息进行选择,选出“最好”的路由;
basic idea:

BGP信息要做的事情:

在进行路由选择之前,某个AS中的路由器A想要知道另一个AS中的一个子网的前缀,则需要使用iBGP连接和eBGP连接将该前缀信息进行通告。(注意一条BGP连接并不直接对应物理上的一条链路)如下图,如果AS3想让附近的AS知道它的存在,就需要:


这个BGP报文又被称为路由,一条路由的特征为NEXT-HOP、AS-PATH、prefix三个部分,根据算法的不同还会加上一个优先级。其中,NEXT-HOP信息是该路由到达目标AS前的最后一个路由器出端口的IP地址,AS-PATH是其经过的AS路径信息,prefix就是需要知道的子网前缀。
两种选择算法
我们先来看一个例子,比较两种BGP选择算法:

在这个例子中,从AS1到前缀x有两条路由信息,3d:AS3 x 和 2a: AS2 AS3 x。
烫手山芋算法
这是一个自私的算法!我们拿路由器1b来举例。1b收到所有路由信息后,检查路由信息上的NEXT-HOP有2a和3d两个,便查阅本地AS内部路由选择信息,找到通往这两个端口分别的最小开销:在图中分别为2和3—>选择开销为2的路由器2a,将这个端口I的地址和前缀x组合起来为(x,I)加到自身的转发表中。可以看到这个算法只顾着自己AS内的最小开销,只想尽快把packet送出AS,而不顾总体上的AS路由,是非常自私的。

路由选择算法
这个算法需要将路由信息加上优先级。(注意只有iBGP信息会加上这个)这个优先级信息是本地配置的,即对于多条路由信息,本地的AS网络管理员会对其进行优先级的区分,以让他们根据自己的policy来进行路由(policy的详细介绍见书本5.4.5):

配好优先级后,具体实现步骤如下:

BGP总结


计网学习笔记十 Internet Routing Protocols的更多相关文章
- Networking && Internet 计网学习笔记一
Networking && Internet 计网学习笔记一 参考书籍: James F. Kurose, Keith W. Ross. 计算机网络-自顶向下方法 (7th). 机械工 ...
- 计网学习笔记二 Link Layer Service
在上一周的计网学习了network和Internet的总论.在这一周开始的未来几讲将集中在链路层link layer,并且会有相应的计网lab完成.在这一讲中,我们主要关注链路层提供的服务. 课程资料 ...
- 计网学习笔记五 wireless && mobile networks
老师把无线网络用一节课一遍过了-感觉没能学透,便课后自己总结,看书,找资料补充,把无线网络大概摸了个七七八八.虽然不算精细,但还能看!内容包括WLAN总概,WiFi-WLAN的实现,802.11规定的 ...
- 计网学习笔记六 Network Layer Overview
这节课开始进入了网络层的学习,讲述了网络层提供的功能,还有路由器内部是什么样子的,以及virtual circuit网络和datagram网络的一点比较. 网络层有什么作用呢?用一句话来说,就是需要负 ...
- 计网学习笔记三 MAC与LAN
在上一讲中,我们学习了链路层可以提供的服务:framing,link access,reliable delivery,error detection&correction.这一讲我们从lin ...
- 计网学习笔记七 IP protocol basic
在这一节讲了IP协议的基本内容:包括IPv4提供的操作.数据报在IPv4下是怎么样的结构.数据报是怎样切片发送的.IPv4的编址方式有什么--IPv6在下一节讲网络层协议簇时细讲. IPv4协议的具体 ...
- python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例
python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(十) indigo Gazebo rviz slam navigation
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 moveit是书的最后一章,由于对机械臂完全不知,看不懂 ...
- python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置
python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置Download JetBrains Python IDE :: PyCharmhttp://www. ...
- python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法
python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法 同一台机器同时安装 python2.7 和 python3.4不会冲突.安装在不同目录,然 ...
随机推荐
- Mysql 开启慢日志查询及查看慢日志 sql
本文为博主原创,转载请注明出处: 目录: 1.Mysql 开启慢日志配置的查询 2. 通过sql 设置Mysql 的慢日志开启 3. 通过慢 sql 日志文件查看慢 sql 1.M ...
- 使用华为路由连接WiFi,被限制网速?
1.问题 使用华为路由连接WiFi,但是网速非常慢,经常半天才能加载一个界面? 2.解决方法 登陆http://192.168.3.1/网址,发现限速一栏被框选,取消即可
- 【SHELL】百分比进度指示,原地踏步
百分比进度指示,原地踏步效果实现主要利用退格'\b',同行'\c' #!/bin/bash function percentage_progress() { progress=$(($1*100/$2 ...
- 浏览器兼容 : IE 5 到 IE 9
<!--[if IE]> <link href="ie.css" rel="stylesheet"> <![endif]--> ...
- 07 - HTTP
HTTP 强烈推荐学习:HTTP | MDN 一 .基础概念 请求和响应报文 客户端发送一个请求报文给服务器,服务器根据请求报文中的信息进行处理,并将处理结果放入响应报文中返回给客户端. 请求报文结构 ...
- [转帖]聊聊字符串数据长度和nls_length_semantics参数
字符串是我们设计数据库经常用到的类型,从传统的ASCII格式到UTF-8格式,不同应用需求对应不同的字符类型和长度配置.针对Oracle而言,最常用的类型无外乎char和varchar2两个基本类型. ...
- [转帖]Skywalking学习及整合springboot
目录 1. Skywalking概述 2. Skywalking主要功能 3. Skywalking主要特性 4. Skywalking架构简介 5. Spring Cloud与Skywalking实 ...
- Chrome浏览器不同版本兼容性的验证方法
Chrome浏览器不同版本兼容性的验证方法 背景 上周客户现场有出现使用国产信创设备上面的奇安信浏览器出现兼容性的问题. 开发认为是测试不全面导致. 认为测试应该必须测试过特定浏览器才可以进行说明. ...
- [专题]中立遭质疑,提价遭反对,ARM的生存难题怎么破?
中立遭质疑,提价遭反对,ARM的生存难题怎么破? https://news.cnblogs.com/n/669715/ ARM税要提高.. RISC-V的机会? 文/黎文婕 来源:锌刻度(ID:znk ...
- Zabbix6.0的安装与IPMI的简单使用
zabbix简介 1.zabbix的安装与使用 建议使用CentOS8进行部署, 不建议使用CentOS7, rpm包直接部署的话,CentOS8比较容易一些 支持mysql数据库.建议先期部署mys ...