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. Oracle分区表转换

    Oracle普通表—>分区表转换(9亿数据量) 背景介绍: 环境:Linux 5.5 + Oracle 10.2.0.4 某普通表T,由于前期设计不当没有分区,如今几年来的数据量已达9亿+, 空 ...

  2. cfs

    转自:http://www.cnblogs.com/openix/p/3254394.html 下文中对于红黑树或链表组织的就绪队列,统称为用队列组织的就绪队列.                    ...

  3. 基于Cocos2dx + box2d 愤怒的小鸟的实现Demo

    1. Demo初始界面 2. 游戏界面 3. 精确碰撞检測 4. 下载  压缩文件文件夹 AngryBird source    愤慨的小鸟Demo源码,基于Cocos2dx C++,以及box2d技 ...

  4. 菜鸟进阶Android Touch事件传递(四)

    尊重他人劳动成果,转载请说明出处:http://blog.csdn.net/bingospunky/article/details/44343477 在该系列文章第四篇.我准备介绍一下viewpage ...

  5. Git 一些常见的命令

    git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 git branch -r 查看远程所有分支 git ...

  6. vim打开出现的文档^M什么

    网上公开的一些代码,发现里面多^M符号.这是什么? 我搜索^M没有效果,这应该是一个特殊的控制字符.找换行的结果是不.在每一行的末尾是回车,代替它周围包裹,对于由线定义不同的编码系统是不一样的. li ...

  7. Java 设计模式 -- 示例指南

    设计模式在软件开发者中非常受欢迎的.每个设计模式都是对常见软件问题的通用的描述解决方案. 我们使用设计模式的好处有: 1.设计模式已经对于一个重复出现的问题进行了定义并且提供了工业标准的解决方案,因为 ...

  8. C#JSON序列化与反序列化

    原文:C#JSON序列化与反序列化 windows phone学习也有一段时间了,想要做一个新闻客户端练练手,于是就在网上找看有没有接口之类.在天狗播客找到了热点热词新闻资讯API开放接口,接口提供的 ...

  9. flex 用footerdatagrid做列的汇总合计

    之前用flex+c#做的一个项目中,有涉及到列的汇总计算.可以用到的方法很多,这里列举了一种,在前台flash中用footerdatagrid结合labelfunction的用法即可实现.当然,下面的 ...

  10. 图文解说PhpStorm 7.0版本语法着色

    前不久,我们测试了PhpStorm7.0版本对PHP 5.5的支持,今天我们将继续对PhpStorm 7.0版本对代码支持进行测试. 我们知道,在PhpStorm 6.0版本中,提供一个黑色背景的代码 ...