IP选路

1.概述

     路由算法是用于获取路由表中的路由项目。它是路由选择协议的核心。
2.路由算法的分类
     从路由算法能否随网络的通信量或拓扑自适应的进行调整变化来分,可以分为两类。
  • 静态路由选择策略
    • 静态路由选择也叫非自适应路由选择,其特点是简单和开销较小,但不能适应网络变化
  • 动态路由选择策略
    • 动态路由选择也叫自适应路由选择,特点是能适应网络变化,实现起来复杂,开销也比较大。

3.自治系统

     因特网将整个互联网划分成许多较小的自治系统,一般简称为AS。自治系统有以下特点:
  • 自治系统有权决定自己的路由选择协议
  • 所有的网络都属于一个行政单位管辖
  • 所有的路由器在本自治系统内都必须是连通的

4.路由选择协议的分类

  • 内部网关协议IGP
    • 即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用的最多,如RIP和OSPF协议。
  • 外部网关协议EGP
    • 若源站和目的站处在不相同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用外部网关协议将路由选择信息传递到另一个自治系统中。目前外部网关协议使用最多的是BGP-4.

5.RIP路由信息协议(Routing Information Protocol)

  • 路由信息协议RIP是一种分布式的基于距离向量的路由选择协议,是因特网标准协议。
  • RIP协议将“距离”定义如下:
    • 从一路由器到直接连接的网络的距离定义为1,从一路由器到非直接链接的网络的距离定义为所经过的路由器加1。因此,直接链接的网络的距离定义为1。
    • RIP允许一条路径最多只能包含15个路由器。因此距离的最大值为16,相当于不可达。可见RIP只适用于小型互联网。
  • RIP的距离向量算法为(Bellman-Ford算法)(详情请谷歌or查阅算法导论)
  • RIP协议报文格式:
    • RIP协议使用运输层的用户数据报UDP进行传送。

    

    • 命令字段:1表示请求路由信息,2表示请求路由信息的响应或未被请求而发出的路由更新协议
    • 必为0字段:用来四字节对齐
    • 地址族标识符:该字段用来标识所使用的地址协议
    • 路由标记:填入自治系统的编号,这是因为考虑到有可能收到本自治系统以外的路由选择信息。

6.内部网关协议OSPF

  • OSPF开放最短路径优先协议(OpenShortestPathFirst)用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现。OSPF使用了Dijkstra提出的最短路径算法。
  • OSPF分组的格式

  

    • 版本:当前的版本号为2
    • 类型:可以是5种类型分组中的一种
      • 类型1:问候分组(hello),用来发现和维持邻站的可达性
      • 类型2:数据库描述分组,向邻站给出自己的链路状态数据库中的所有链路状态项目摘要信息。
      • 类型3:链路状态请求分组,向对方请求发送某些链路状态项目的详细信息
      • 类型4:链路状态更新分组,用洪泛法对全网更新链路状态
      • 类型5:链路状态确认分组,对链路状态更新分组确认。
    • 分组长度:包括OSPF首部在内的分组长度,以字节为单位
    • 路由器标识符:标志发送该分组的路由器的接口IP地址
    • 区域标识符:分组属于的区域
    • 检验和:用来检测分组中的差错。
    • 鉴别类型:0(不用),1(口令8个字符)
 
 

IP选路的更多相关文章

  1. TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节

    1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统 ...

  2. TCP/IP详解之:IP选路 动态选路协议

    第九章 IP选路 netstat -rn 显示路由表 初始化路由表的两种方法: 方法1:在配置文件中指定静态路由(不常用) 方法2:运行路由守护程序 或者 使用ICMP路由器发现报文 没有到达目的地的 ...

  3. 5.IP选路,动态选路

    1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统 ...

  4. TCP/IP学习20180805-数据链路层-IP选路

    转,原文链接https://blog.csdn.net/wh1511995112/article/details/51474692 IP选路 什么是IP选路? IP选路,即IP寻路,就是根据路由表中的 ...

  5. 网络--路由表&IP选路

    路由表的 flags 字段显示路由状态: A 活动的休眠网关检测在路由上被启用.本字段只适用于 AIX 5.1 或更新版本. U :Up. H :路由至主机而不是网络. G :路由至网关. 不带G表示 ...

  6. TCP/IP学习笔记(5)------IP选路

    静态IP选路 一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统路由表. D ...

  7. route - 显示 / 操作IP选路表

    总览 SYNOPSIS route [-CFvnee] route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [met ...

  8. 【TCP/IP详解 卷一:协议】第9章 IP选路

    推荐链接:网络地址与主机地址 9.1 引言 路由选择程序(daemon),通常这是一个用户进程.在大多数的Unix系统中,大多数的路由选择程序都是路由程序和网关程序. 路由表经常被IP访问,但是它被路 ...

  9. TCP/IP||IP选路

    1.选路原理 在IP搜索路由表分为几个步骤 1.搜索匹配的主机地址 2.搜索匹配的网络地址 3.搜索默认表项. IP层进行选路实际是一种选路机制,搜索路由表并决定向哪个网络接口发送分组,区别选路策略, ...

随机推荐

  1. KnockOut绑定

    KnockOut绑定之Click绑定 Click绑定对DOM元素添加一个函数,当DOM元素被点击的时候调用.在button,input 或者a标签中常用,但其实他适用于任何可见的DOM元素. exam ...

  2. 前端开发——移动bug整理

    1.ios下jquery的delegate失效问题? 解决方案: $("body").delegate(...) 改为 $(".item").delegate( ...

  3. archlinux的wiki非常强壮

    最近发现搜索linux工具或系统配置内容.来自同一个站点很多很好的资源:https://www.archlinux.org/,网站wiki(https://wiki.archlinux.org/)中有 ...

  4. thrift实现js与C#通讯

    利用thrift实现js与C#通讯的实例代码 1.为什么要用thrift js C#? 1.1 首先,js 通过 thrift 访问C#,实际上是一种c/s模式.thrift是通信工具,js是客户端, ...

  5. Java之final、finalize、finally的区别

    一.性质不同(1)final为关键字:(2)finalize()为方法:(3)finally为为区块标志,用于try语句中:二.作用(1)final为用于标识常量的关键字,final标识的关键字存储在 ...

  6. 安卓MonkeyRunner源码分析之工作原理架构图及系列集合

    花了点时间整理了下MonkeyRunner的工作原理图,请配合本人博客里面MonkeyRunner其他源码分析文章进行阅读.下面整理成相应系列列表方便大家阅读: MonkeyRunner源码分析之-谁 ...

  7. Asp.Net MVC路由调试好帮手RouteDebugger

    Asp.Net MVC路由调试好帮手RouteDebugger 1.获取方式 第一种方法: 在程序包控制台中执行命令 PM> Install-Package routedebugger 安装成功 ...

  8. navigator,JS检测浏览器插件

    最早由Netscape Navigator 2.0引入的navigator对象,现在已经成为识别客户端浏览器的事实标准.虽然其它浏览器也通过其它方式提供了相同或相似的信息(例如,IE中的window. ...

  9. MVC5+ 路由特性

    MVC5+ 路由特性 概述 ASP.NET MVC 5支持一种新的路由协议,称为路由特性. MVC5也支持以前定义路由的方式,你可以在一个项目中混合使用这两种方式来定义路由. 案例 1.使用Visua ...

  10. Nginx均衡负载(IP_HASH)未生效

    由于公司业务的发展,单台服务器已经无法满足并发和用户的需求,所以只能通过水平拓展的方式加机器来解决,线上采用的是Nginx+Tomcat集群的方式来解决.由于当前业务量不是很大,而且由于之前代码的问题 ...