草庐IT

路由题目回顾

sxpan 2023-03-28 原文

IP地址分类;私有IP;特殊用途的IP;

  *A:1.0.0.0~127.255.255.255

  *B:128~191

  *C:192~223

  *D:224~239  组播地址

  *E;240~255  实验地址

  *127.0.0.1到127.255.255.255用于回路测试

   私有地址:

  *A类 10.0.0.0--10.255.255.255

  *B类 172.16.0.0--172.31.255.255

  *C类 192.168.0.0--192.168.255.255

OSPF邻居建立;建立条件;

  *邻居建立:

                                                            

  ①R1组播发hello包(R1ID,邻居无),R2收到后,记录R1状态为init;并回发hello包(R2ID,邻居为R1ID);R1收到后,记录R2状态为2-way;同时回发hello包(R1ID,邻居为R2ID),R2收到后记录R1状态为2-way.

  ② R1发送DBD报文(此时DBD无LSA头,seq=x,I=1,M=1,MS=1),用来进行协商主从;R2也发送DBD报文(seq=y,I=1,M=1,MS=1),经比较routerID大小,确定主从。如R2为主R1为从。此时两者状态为Exstart。

  ③确定主从之后,R1继续发送DBD(此时含有LSA头,seq=y,I=0,M=1,MS=0),R2也发送DBD(seq=y+1,I=0,M=1,MS=1);此时处于Exchange状态,主要用来了解比较双方LSDB。

  ④直到DBD报文中M为0表示DBD包结束,进入下一状态。若R1需要R2中更详细的路由信息,将R2状态记录为Loading,并发送LSR请求某条LSA详细信息,R2收到请求回复LSU,R1收到LSU将信息放入自身LSDB并回复LSAck进行确认。    

  ⑤所有LSA请求结束后,状态记录为FULL。

  *邻居建立条件:

  ①Router ID唯一;

  ②Area ID相同;

  ③认证类型及信息相同;

  ④特殊区域标示相同;

  ⑤Hello和dead时间相同;

  ⑥接口MTU相同 等

OSFP防环;

  Ⅰ域间防环:

  ①OSPF不允许直接在两个非骨干区域之间发送路由信息,要求所有非0区域必须与骨干区域(区域0)相连,区域间路由需经由骨干区域中转。

  ②ABR不会将描述一个Area内部的路由信息的Network汇总LSA再注入回该区域中。

  Ⅱ域内防环:

  SPF算法—计算最短路径

OSPF特殊区域;

  *Stub Area(末梢区域)

  过滤4,5类lsa,ABR会产生缺省(默认)的3类lsa,区域内不能引入外部路由该区域不能为区域0;

  *Totally Stub Area(完全末梢区域)

  过滤3,4,5类lsa,ABR会产生缺省(默认)的3类lsa,区域内不能引入外部路由

  *Not-so-Stubby Area(NSSA)

  该区域七类LSA传播到其他区域时,将有此区域的ABR转换成五类LSA;

  过滤4,5类lsa,ABR会产生缺省(默认)的7类lsa,该区域能引入外部路由

  *Totally Not-so-Stubby Area(完全NSSA)

  过滤3,4,5类lsa,ABR会产生缺省(默认)的3类lsa,该区域能引入外部路由

路由选路;

  可变长掩码:最长掩码;

  管理距离最小:

                                   

  度量值最小;

IGP和BGP区别;

  IGP(interior Gateway Protocols)内部网关协议,RIP,OSPF和ISIS都属于IGP。IGP的主要目的是发现和计算自治域内的路由信息。

  BGP(Border GatewayProtocol)是一种在自治系统之间动态交换路由信息的路由协议。

  IGP协议设计的重点在于发现和计算路由,而BGP重点在于控制路由的传播和选择最好的路由。

黑洞路由和路由黑洞;

  *路由黑洞:汇总的时候有时会有一些网段并不在内网中存在,但是又包含在汇总后的网段中,总的边界设备上同时还配置了缺省路由,就可能出现一些问题。这时,如果有数据包发向那些不在内网出现的网段(但是又包含在汇总网段)所在的路由器,根据最长匹配原到对应的路由,只能根据默认路由又回到原来的路由器,这就形成了环路,直到TTL值超时,丢弃。

                                                    

  如图:R1配置默认路由:把未知地址都发给R2;R1将三个小网段汇总成172.168.0.0/22传到R2;当R2收到172.168.3.0/24根据路由表发给R1,但R1里没有这个网段,于是又发给R2;反复造成环路。

  *黑洞路由:Null 0是一个系统保留的逻辑接口,当网络设备在转发某些数据包时。如果使用出接口为Null 0的路由,那么这些报文将直接丢弃,就像扔进一个黑洞(垃圾站),因此出接口为Null 0的路由又称为黑洞路由。如上例:对R1做汇总路由时加一条指向null0的路由(黑洞路由):172.16.0.0/22 –> null0。即表示当R1收到目的地址指向自己的数据包将被直接丢弃。

PC到www.baidu.com过程;主机到网关arp请求;网关到DHCP服务器;DHCP服务器会告诉网关DNS的地址;网关到DNS服务器找百度的地址;若无则DNS向上层DNS服务器进行请求得到后回复给网关;再给PC;PC再发起HTTP请求。

                                      

  如图:①PC1访问www.baidu.com;首先需要知道域名的IP,即进行DNS域名解析。

  ②于是PC1通过ARP请求得到网关R1的MAC地址;将数据发给R1;

  ③R1进行路由;如果R1没有DNS服务器的地址就通过DHCP服务器得到DNS服务器的地址;得到DNS地址后网关前往DNS服务器进行域名解析;

  ④DNS服务器查询解析出 www.baidu.com 对应的ip地址,并原路返回;

  ⑤建立TCP连接(默认端口为80);发出HTTP请求报文;收到HTTP响应报文;解析响应报文,并显示在Web页上;收发报文结束, 释放TCP连接。

  DNS用的是UDP协议

二层环路和三次环路;

  ① 二层环路:

  广播风暴和数据帧复制,MAC地址震荡;假设交换机收到广播帧或者组播帧或者未知单播帧,会采用泛洪形式处理,数据帧在转发时产生了拷贝复制,数据帧无休止被转发,如此往复,最终导致整个网络带宽资源被耗尽,设备负载过大,网络瘫痪不可用。

  ②三层环路:

  数据包会在设备之间有限的互相转发,因为在三层IP头部存在TTL字段,报文不会无休止转发。后果不严重。两台路由器端口互发相同的路由信息。

  二层防环:STP、SMART-LINK等技术,或使用LACP链路捆绑和设备堆叠等技术,使得物理拓扑上没有环路。

  三层防环:只要依靠路由协议自身的防环机制。

IP地址划分

  全0主机ID:表示网络本身;全1主机ID:表示广播地址

  子网划分的步骤:

  1确定需要的子网个数

  2确定一个子网内可能的最多主机数量

  3确定从主机号字段借用的比特数,用于创建子网号字段

  4确定主机号字段需要保留的比特数(不能被子网字段借用的比特数)

  5确定原始网络号字段和主机号字段的比特数

  6检查以确保被借用的比特数没有超过被保留的比特数(即检查子网划分问题是可解的)

  7设置子网号字段的最佳长度,包括为未来增长预留空间

  8创建一个修改(自定义)的子网掩码

  9确定有效的子网号

  10确定每个子网的IP地址有效范围

  情况一:给一个网段及掩码;分出部门若干(即子网数);根据2^x>=部门数,确定需要的子网位;加上原来的掩码位就是新的掩码。子网内的主机个数为2^(32-掩码位)-2(去掉网络和广播地址)。例如:

 BGP建邻居

                                            

路由策略和策略路由

  ① 路由策略是通过修改路由表的路由条目来控制数据流量的可达性;

  策略路由是通过用户制定的策略进行转发,且该策略优于路由表的转发。

  ②路由策略是基于路由表进行流量的转发,而策略路由是基于策略进行流量的转发。

                                          

 Ospf选路规则(域内 域间 域外优先级)和引入路由方式

  *域内:1类,2类LSA;域间:3类LSA;域外 :5类,7类LSA

  ①通过1类,2类LSA获取的域内路由:直接比较开销值优先选择开销值小的路线,如果两条路由的开销值相同,则负载均衡。

  ②通过3类LSA获取的域间路由:直接比较开销值优先选择开销值小的路线,如果两条路由的开销值相同,则负载均衡。

  ③5类LSA和7类LSA类型2的选路原则:先比较种子度量值,优选种子度量值小的;如果种子度量值相同,则比较沿途累加的开销值,选择沿途累加开销值小的;如果沿途累加开销值也相同,则将负载均衡。

  ④5类LSA和7类LSA类型1的选路原则:直接比较路由的总开销(种子度量值加沿途累加开销值),优先总开销小的这一条;如果总开销相同,则将形成负载均衡。

                                          

  类型1和类型2之间存在一个优选规则:类型1永远优于类型2。

  *不同类型的LSA之间的比较

  ①域内和域间:域内路由优先级高于域间路由

  ②域间和域外:域间路由优先级高于域外路由

 BGP路由表符号解析:

                           

  ① *:可以用,有效路由,下一跳可达;

  ②R:不可用;

  ③s,聚合时明细路由被抑制;

  ④>:最优路由(要确保>号出来,才能放进路由表,才能继续传给EBGP邻居)

  ⑤i:>号后面的i代表从IBGP学到的路由,本地通告的/从EBGP学到的路由不打i

  ⑥?:重发布得来的

  ⑦没有>号的路由非优化的:不会放进路由表,不会给其他邻居传

  ⑧d:表示路由是衰减路由。

  ⑨ h:表示路由是历史路由。

  ⑩S:处于Stale状态的路由,正在被删除

有关路由题目回顾的更多相关文章

  1. ruby-on-rails - Rails 3 中的多个路由文件 - 2

    Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题

  2. ruby - rails 3 redirect_to 将参数传递给命名路由 - 2

    我没有找到太多关于如何执行此操作的信息,尽管有很多关于如何使用像这样的redirect_to将参数传递给重定向的建议:action=>'something',:controller=>'something'在我的应用程序中,我在路由文件中有以下内容match'profile'=>'User#show'我的表演Action是这样的defshow@user=User.find(params[:user])@title=@user.first_nameend重定向发生在同一个用户Controller中,就像这样defregister@title="Registration"@user=Use

  3. ruby-on-rails - Rails 3,嵌套资源,没有路由匹配 [PUT] - 2

    我真的为这个而疯狂。我一直在搜索答案并尝试我找到的所有内容,包括相关问题和stackoverflow上的答案,但仍然无法正常工作。我正在使用嵌套资源,但无法使表单正常工作。我总是遇到错误,例如没有路线匹配[PUT]"/galleries/1/photos"表格在这里:/galleries/1/photos/1/edit路线.rbresources:galleriesdoresources:photosendresources:galleriesresources:photos照片Controller.rbdefnew@gallery=Gallery.find(params[:galle

  4. 报告回顾丨模型进化狂飙,DetectGPT能否识别最新模型生成结果? - 2

    导读语言模型给我们的生产生活带来了极大便利,但同时不少人也利用他们从事作弊工作。如何规避这些难辨真伪的文字所产生的负面影响也成为一大难题。在3月9日智源Live第33期活动「DetectGPT:判断文本是否为机器生成的工具」中,主讲人Eric为我们讲解了DetectGPT工作背后的思路——一种基于概率曲率检测的用于检测模型生成文本的工具,它可以帮助我们更好地分辨文章的来源和可信度,对保护信息真实、防止欺诈等方面具有重要意义。本次报告主要围绕其功能,实现和效果等展开。(文末点击“阅读原文”,查看活动回放。)Ericmitchell斯坦福大学计算机系四年级博士生,由ChelseaFinn和Chri

  5. ruby-on-rails - Rails - 从命名路由中提取 HTTP 动词 - 2

    Rails中有没有一种方法可以提取与路由关联的HTTP动词?例如,给定这样的路线:将“users”匹配到:“users#show”,通过:[:get,:post]我能实现这样的目标吗?users_path.respond_to?(:get)(显然#respond_to不是正确的方法)我最接近的是通过执行以下操作,但它似乎并不令人满意。Rails.application.routes.routes.named_routes["users"].constraints[:request_method]#=>/^GET$/对于上下文,我有一个设置cookie然后执行redirect_to:ba

  6. ruby-on-rails - 如何在 Rails 中设置路由的默认格式? - 2

    路由有如下代码:resources:orders,only:[:create],defaults:{format:'json'}resources:users,only:[:create,:update],defaults:{format:'json'}resources:delivery_types,only:[:index],defaults:{format:'json'}resources:time_corrections,only:[:index],defaults:{format:'json'}是否可以使用1个字符串为所有资源设置默认格式,每行不带“默认值”散列?谢谢。

  7. ruby - cucumber 的路由问题 - 2

    我正在使用rails3和cucumber,除了这个小问题,一切都很顺利GivenIamonthe"editautomobile"pageNoroutematches{:controller=>"automobiles",:action=>"edit"}(ActionController::RoutingError)现在路径在paths.rb中设置为edit_automobile_path在routes.rb中我有汽车作为资源,我搭建了它所以请告诉我我遗漏了什么,清楚地定义了路线并且匹配,因为我运行了rake路线并看到了路线。请指出正确的方向 最佳答案

  8. ruby - Rails 路由 : Giving default values for path helpers - 2

    有什么方法可以为url/path助手提供默认值吗?我有一个可选范围环绕我的所有路线:#config/routes.rbFoo::Application.routes.drawdoscope"(:current_brand)",:constraints=>{:current_brand=>/(foo)|(bar)/}do#...allotherroutesgohereendend我希望用户能够使用这些URL访问网站:/foo/some-place/bar/some-place/some-place为了方便起见,我在我的ApplicationController中设置了一个@current

  9. ruby-on-rails - 将 Rails 路由助手作为类方法添加到类中 - 2

    我如何将像“root_path”这样的Rails路由助手作为类方法添加到像my_model.rb这样的类中?所以我的课是这样的:ClassMyModeldefself.fooreturnself.root_pathendendMyModel.foo以上不起作用,因为ClassMyModel不响应root_path这是我所知道的:我可以使用includeRails.application.routes.url_helpers,但这只会将模块的方法添加为实例方法我试过扩展Rails.application.routes.url_helpers但它没用请随时给我上课:)

  10. ruby-on-rails - 获取 ActionController::RoutingError(当尝试使用 AngularJS 将数据发布到 Rails 服务器时,没有路由匹配 [OPTIONS] "/users" - 2

    尝试从我的AngularJS端将数据发布到Rails服务器时出现问题。服务器错误:ActionController::RoutingError(Noroutematches[OPTIONS]"/users"):actionpack(4.1.9)lib/action_dispatch/middleware/debug_exceptions.rb:21:in`call'actionpack(4.1.9)lib/action_dispatch/middleware/show_exceptions.rb:30:in`call'railties(4.1.9)lib/rails/rack/logg

随机推荐