路由器中的硬件IP路由表查找技术

路由器中的硬件IP路由表查找技术
路由器中的硬件IP路由表查找技术

路由器中的硬件IP路由表查找技术

Internet的迅速发展给我们的生活带来了巨大的变化。随之而来的是网络流量的迅速增长。网络流量的增长对于Internet上的路由器来说是一个很大的挑战,特别是核心路由器。它需要高速有效的包调度.转发和路由策略。本文针对路由器的路由查找,提出了一种高效的.便于用硬件实现的技术。

1. 路由器的体系结构

图1给出了一般路由器的逻辑体系结构。它主要由下面几部分组成:路由引擎、转发引擎、路由表、网络适配器和相关的逻辑电路等。转发引擎负责把从一个网络适配器来的数据包转发到另一个网络适配器出去。IP协议,包括对路由表的查找,构成了转发引擎中最主要的部分。由于每个通过路由器并需要其转发的数据包都要对路由表进行查找,所以路由表的查找效率如何往往决定了整个路由器的性能。路由引擎则包括了高层协议,特别是路由协议,它负责对路由表的更新。由于路由引擎不涉及通过路由器的数据通路,故它可用通用的CPU代替。

2.硬件路由表的数据结构设计

一般路由器中路由表的每一项至少有这样的信息:目标地址、网络隐码、下一跳地址。如果对每一个IP地址都要一个表项,那么需要占用很大的2323*4字节的存储器,而且其中必定有很多的表项没有被使用,这就会造成极大的资源浪费。

为了用硬件实现路由表的查找,查找算法需要满足如下的条件:

1)实时的实现路由表的查找;

2)有效的实现路由表的插入和删除;

3)提供有效的最长前缀匹配;

4)具有良好的可扩展性;

5)支持广播和组播;

6)有效的对Memory进行利用;

7)硬件上容易实现,并具有良好的性能。

我们考虑,如果在对路由表的查找中,把子网隐码和IP地址结合起来,对IP地址进行相应的分段,并把它们相连。这样在路由表的表项中,只有IP地址的一部分及其相应的隐码部分,可以实现良好的可扩展性,只要对Memory进行有效的管理,可以灵活的动态的实现对路由的插入和删除。鉴于此,我们设计该表的结构(如下面的表一所示):

它的思想是:把32位IPv4地址主要分成4部分,每部分8位。在该结构中,Address-part[0-4]是IP地址中的一部分,Mask-part[0-4]是相应的掩码部分。Hit-next[0-4]是需要查找的目标IP地址与掩码部分相与后,与Address-part一致时所要查找的下一路由项所在地址的指针。,Miss-hit[0-4]则是相互不一致时,下一路由项所在地址的指针。Shift位则用于判断是否需要对IP地址中的下8位进行查找和判断。它只有在当前的8位IP地址与目标地址中相应的8位一致时,才会被置位。Stop位用于判断是否还需进行查找。它在IP地址查找结束时被置位,或没有比当前项所对应的IP地址更长的路由表项时被置位。

图2就是一个表1的例子:

在该例子中,每一方框中上面一行表示相应的IP地址部分和隐码部分。下面一行表示相关的隐码部分的二进制表示。相应的查找算法如下:

/*查找算法开始*/

search = TRUE ;

WHILE ( search ) {

masked_key = key & ( entry ->mask_part ) ;

result = ( entry ->address_part ) = = masked_key

IF ( result = = TRUE ) {

best_match = entry ;

entry = entry ->hit_next;

}ELSE{

entry = entry ->miss_next;

IF ( entry ->stop = = TRUE ) search = FALSE;

}

}

RETURN best_match ;

/*查找算法结束*/

为了实现有效的插入和删除,我们还要在路由表的数据结构中再另外添加几个域:parent指针(指向本结点的父结点),路由信息(routeinfo)等。它们的用途是在路由表的查找过程中,特别是在指针的回溯(pointer reversal)中,可以大大的节省查找时间。由于IP 路由的插入和删除比较复杂。我们只是粗略得说明一下。

IP路由的插入:

/*插入算法开始*/

/* 先用上面提到的查找算法找出best-match */

best_match = search ( new_entry );

/* 确定需要加入的路由中没有被best-match包括的那几位*/

for ( count = first_unmatched_bit ; count <= sizeof ( new_entry) ;

count+= sizeof ( address_part ) {

/* 创建新的结点*/

create new node ;

/* 将该结点连入best_match的hit_next */

link node into hit branch of best_match ;

}

/*插入算法结束*/

IP路由的删除要分几种情况讨论。如best_match 是叶子结点,best_match的hit_next指针为空, best_match的miss_next指针为空和hit_next指针和miss_next指针都不为空等四种情况。这里就不再讨论。

3.路由表查找的硬件实现:

图3就是对应与上面提及的路由表结构的IP路由表查找的硬件实现(简称为路由卡)的系统框图。

在路由卡中,主要有IP地址,状态机,路由信息,Memory,译码器,掩码器,比较器,地址寄存器组成。IP地址用于保存所要查找的目标地址。状态器用于控制IP路由表的查找。路由信息就是我们所要查找的信息。它的工作原理是这样的:

当路由器从某一个网络适配器中接受到一个需要转发的数据包后,在需要进行IP 路由表的查找时,把IP包的目的地址送到IP地址寄存器中,同时给状态机发一个指令。状态接到这一指令后,从Memory中读出路由表的相应的表项,并和IP地址寄存器中的相应几位经译码器,掩码器后,进行比较,把比较的结果反馈给状态机。再由状态机来控制下一轮的比较。当比较结束后,把比较的结果放在路由信息寄存器中,供路由器(如转发引擎)读取。同时状态机在特定的某一端口设置标志,来通知CPU查找是否已经结束或还在进行当中。下面对其性能进行分析。

4.性能分析

由于路由表项中,地址掩码的引入,使得路由结构变得非常灵活。但相应的,由此产生的内存的开销也相当的大。这是性能和硬件开销一对矛盾的必然体现。

该路由卡原型的实现是利用微机上的ISA总线,采用存取时间为70ns 的SRAM存储器(所需容量为6*123k*8bit)。除了使用ISA总线上提供的总线外,本身还带了33M的晶振。对某一路由表项的查找,最多只需32步查找。

在最坏情况下,共需32次查找,查找时间为:

32* 1 /(33*106) ≈ 9.7 * 10 -7秒

此时每秒可查找1/(9.7 * 10 -7)≈ 1.03 * 106次

虽然该路由卡是基于ISA总线,但平均来说,该路由卡的查找速率为每秒8百万次。这也从另一方面说明该路由卡的设计是可行的。

针对网络流量的增加,及对路由器性能要求的提高,本文从硬件的角度对IP路由查找算法用硬件实现做了一系列的分析,并提出了相应的便于用硬件实现的IP路由表的数据结构。同时对该路由卡的性能进行了分析。

同时也该看到:为了更快的提高路由表的查找速率,基于ISA总线是不可能满足要求的。由此,使用FPGA芯片不可避免。由于VHDL语言固有的灵活性和可编程性,可以更为灵活和高效的实现路由查找。所以,使用FPGA芯片来实现路由查找,是未来的趋势。

因特网最短路径优先(OSPF)路由算法的实现

因特网中,路由器中路由表的生成是非常关键的技术问题。目前,在因特网中的路由器中,都支持开放最短路径优先(OSPF)路由生成算法。OSPF算法生成速度快,而且收敛快、性能稳定,是目前已知的因特网中路由表生成的最好算法之一。

OSPF最重要的内容是路由器如何根据已接收到的本路由器所在的自治系统(AS)的路由器拓扑结构以及各路由器之间的传输费用(代价、权),生成一条从本路由器到AS中各路由器的最短路径,进而生成路由表。

本实验的目的是根据一个给定的网络拓扑结构及路由器之间的传输费用,生成指定路由器到其它路由器的最短路径的实现方法,并且根据求得的最短路径,生成路由表。

最短路径算法是因特网(Internet)路由算法中最重要的算法,关系到因特网的网络交换性能以及网络的稳定性,因此,解决最短路径算法的实现问题,具有非常重要的应用价值。本设计型实验,紧密结合最短路径在因特网中的实际应用,通过最短路径算法的程序实现过程和路由表的生成过程,更深地领会最短路径在因特网中实现快速路由以及路由表生成的原理,培养学生解决实际问题的能力。

二、实验要求

熟悉C语言编程, 熟练使用C语言实现图形结构的说明、创建以及图的存储表示;要求学生熟练应用图形数据结构编程实现最短路径的算法;了解AS中路由器与网络、网络与路由器代价计算方法;了解根据OSPF生成路由表的原理。

三、实验内容

根据给定的网络拓扑图求某路由器到其它路由器的最短路径,并生成路由表

下图为因特网中某自治系统(AS)路由器及网络连接拓扑图。

按照因特网的规定,从网络到路由器的费用为0,因此上图(无向图)可表示为下图(有向图)形式。

求从某路由器(如R1)至其它路由器的最短路径。即从始点(如R1)开始,逐步求始点(如R1)到其它可达的各路由器的最短路径,直到所有路由器计算完成为止。

根据最短路径的求解结果,可以生成路由表。

路由表主要由两个表项组成,即目的网络(目的路由器所在网络)及下一路由器(或下一跳,即所求路由器相邻的某一路由器),如N5,R4,表示到达N5的最短路径通过R4,

N3,R6,因此相对于路由器R1而言,到达目的网络N5的下一跳为R4。

下表是R1到其它网络的最短路径:

根据R1到其它网络的最短路径,很容易得到R1的路由表(下一跳是R1到达网络所经过的第一个路由器),详见下表:

四、实验步骤

以下是最短路径算法的具体实现步骤。但是由于本实验为设计型实验,且为解决实验问题而做,因此,以下的最短路径算法只能作参考,还有若干步骤需要学生们自己独立完成,如生成路由表;而且除求R1路由器到其它路由器的最短路径外,还可以求其它路由器(如R2,R3,…)最短路径和生成路由表。

1.输入e条弧,生成AOE-网的存储结构。

2.初始化:S ←{ v0 };

dist[j] ←Edge[0][j], j = 1, 2, …, n-1; // n为图中顶点个数 3.求出最短路径的长度:

dist[k] ←min { dist[i] }, i V- S ;

S ←S U { k };

4.修改从v0到V-S集合中各顶点的最短路径:

dist[i] ←min{ dist[i], dist[k] + Edge[k][i] },

对于每一个i 属于V- S ;

5.判断:若S = V, 则算法结束,否则转2。

OSPF路由协议中的核心算法实现

// Dijkstra算法.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

using namespace std;

void Dijkstra(int n,int v,int dist[],int prev[],int **c)

{

int maxint = //你认为不太可能取到的值;

bool *s = new bool[n];//用于区分节点处于那个集合中

for (int i = 1; i <= n; i++)//这里是初始化

{

dist[i] = c[v][i];

s[i] = false;

if (dist[i] == maxint)

{

prev[i] = 0;

}

else

{

prev[i] = v;

}

}

dist[v] = 0;

s[v] = true;

for (int i = 1; i < n; i++)//主要部分开始

{

int temp = maxint;

int u = v;

for (int j = 1; j <= n; j++)//找出集合2中的最小COST的枝和点{

if ((!s[j]) && (dist[j] < temp))

{

u = j;

temp = dist[j];

}

}

s[u] = true;

for (int j = 1; j <= n; j++)//最上述选出的点进行树的更新{

if ((!s[j]) && (c[u][j] < maxint))

{

int newdist = dist[u] + c[u][j];

if (newdist < dist[j])

{

dist[j] = newdist;

prev[j] = u;

}

}

}

}

}

int _tmain(int argc, _TCHAR* argv[])

{

int n,v,u;

int q = 0;

cin>>n;

int *way = new int[n + 1];//下面是初始化

int **c = new int *[n + 1];

for (int i = 1; i <= n; i++)

{

c[i] = new int[n + 1];

for (int j = 1; j <= n; j++)

{

for (int t = 1; t <= n; t++)

{

cin>>c[j][t];

}

}

int *dist = new int [n];

int *prev = new int [n];

cin>>v>>u;

Dijkstra(n, v, dist, prev, c);

cout<<"最短路径从"< "<

while (w != v)//输出最短路径

{

q++;

way[q] = prev[w];

w = prev[w];

}

cout<<"路径为:";

for (int j = q; j >= 1; j--)

{

cout<";

cout<

return 0;

}

二、Dijkstra算法

Dijkstra算法是路由表计算的依据,通过Dijkstra算法可以得到有关网络节点的最短路径树,然后由最短路径优先树得到路由表。

1.Dijkstra算法的描述如下:

(1)初始化集合E,使之只包含源节点S,并初始化集合R,使之包含所有其它节点。初始化路径列O,使其包含一段从S起始的路径。这些路径的长度值等于相应链路的量度值,并以递增顺序排列列表O。(2)若列表O为空,或者O中第1个路径长度为无穷大,则将R中所有剩余节点标注为不可达,并终止算法。(3)首先寻找列表O中的最短路径P,从O 中删除P。设V为P的最终节点。若V已在集合E中,继续执行步骤2。否则,P为通往V 的最短路径。将V从R移至E。(4)建立一个与P相连并从V开始的所有链路构成的侯选路径集合。这些路径的长度是P的长度加上与P相连的长度。将这些新的链路插入有序表O 中,并放置在其长度所对应的等级上。继续执行步骤2。

2.Dijkstra算法举例:

下面我们以路由器A为例,来说明最短路径树的建立过程:

(1)路由器A找到了路由器B、C,将它们列入候选列表{B:1;C:2}。(2)从候选列表中找出最小代价项B,将B加入最短路径树并从候选列表中删除。接着从B开始寻找,找到了D,将其放入候选列表{C:2;D:2}。(3)从列表中找出C,再由C又找到了D。但此时D的代价为4,所以不再加入候选列表。最后将D加入到最短路径树。此时候选列表为空,完成了最短路径树的计算。

三、OSPF路由表的计算与实现

有关路由表的计算是OSPF的核心内容,它是动态生成路由器内核路由表的基础。在路由表条目中,应包括有目标地址、目标地址类型、链路的代价、链路的存活时间、链路的类型以及下一跳等内容。

关于整个计算的过程,主要由以下五个步骤来完成:(1)保存当前路由表,当前存在的路由表为无效的,必须从头开始重新建立路由表;(2)域内路由的计算,通过Dijkstra算法建立最短路径树,从而计算域内路由;(3)域间路由的计算,通过检查Summary-LSA来计算域间路由,若该路由器连到多个域,则只检查主干域的Summary-LSA;(4)查看Summary-LSA:在连到一个或多个传输域的域边界路由器中,通过检查该域内的Summary-LSA来检查是否有比第(2)(3)步更好的路径;(5)AS外部路由的计算,通过查看AS-External-LSA来计算目的地在AS外的路由。

通过以上步骤,OSPF生成了路由表。但这里的路由表还不同于路由器中实现路由转发功能时用到的内核路由表,它只是OSPF本身的内部路由表。因此,完成上述工作后,往往还要通过路由增强功能与内核路由表交互,从而实现多种路由协议的学习。

OPSF作为一种重要的内部网关协议的普遍应用,极大地增强了网络的可扩展性和稳定性,同时也反映出了动态路由协议的强大功能

Windows操作系统路由表完全解析

Windows操作系统路由表完全解析 时间能够以这样的方式过去令人感到惊异。人们倾向于认为计算机技术属于高科技,但是,TCP/IP协议在过去的三十年里以各种形式出现,无所不在。因此,TCP/IP协议有时间变得真正成熟起来,并且更稳定和更可靠。然而,当涉及到计算机的时候,事情就没有那样简单了。当路由包通过网络的时候,有时候会出现错误。在这种情况下,熟悉Windows路由表是很有帮助的。路由表能够决定来自有问题的机器的数据包的去向。在本文中,我将向你介绍如何查看Windows路由表以及如何让Windows路由表中包含的数据有意义。 查看Windows路由表 路由表是Windows的TCP/IP协议栈的一个重要的部分。但是,路由表不是Windows 操作系统向普通用户显示的东西。如果你要看到这个路由表,你必须要打开一个命令提示符对话框,然后输入“ROUTE PRINT”命令。然后,你将看到一个类似于图A中显示的图形。 图A:这是Windows路由表的外观 在我深入讨论这个路由表之前,我建议你在命令提示符对话框中输入另一个命令。这个命令是:IPCONFIG /ALL 我建议你使用IPCONFIG /ALL命令的理由是因为这个命令能够显示TCP/IP协议在机器中实际上是如何设置的。的确,你可以在网卡属性页认真查看TCP/IP协议,但是,如果你从IPCONFIG得到这个信息,这个信息会更可靠。在过去的几年里,我曾经遇到过这样一些例子,IPCONFIG报告的信息与机器中的TCP/IP协议设置屏幕中显示的信息完全不一样。这种事情不常见,但是,如果正好出现这种错误,你就会遇到这种不匹配的情况。坦率

三台路由器静态路由超详细

BY 小福仔 更多教程欢迎光临小福仔百度博客 设置静态路由命令 注意:在设置缺省路由的时候需要考虑,路由回环的问题。路由间链接要设置时钟频率为64000 静态路由里的下一跳是出去路由后的第一个IP地址。 静态配置命令 全局模式 Ip route 目标网络目标网络子网掩码下一跳IP地址 R4 配置 r4(config)#int s0/0 r4(config-if)#no shutdown %LINK-5-CHANGED: Interface Serial0/0, changed state to down

r4(config-if)#ip address 10.65.1.2 255.255.255.0 r4(config)#int s0/1 r4(config-if)#ip address 10.65.2.2 255.255.255.0 配置静态路由 r4(config)#ip route 192.168.1.0 255.255.255.0 10.65.2.1 r4(config)#ip route 192.168.2.0 255.255.255.0 10.65.1.1 设置时钟频率(有时钟端) r4(config)#int s0/1 r4(config-if)#clock rate 64000 R5 设置 r5(config)#int s0/0 r5(config-if)#no shutdown %LINK-5-CHANGED: Interface Serial0/0, changed state to down r5(config-if)#ip address 10.65.1.2 255.255.255.0 r5(config)#int f0/1 r5(config-if)#ip address 10.65.2.2 255.255.255.0 配置静态路由 r5(config)#ip route 192.168.1.0 255.255.255.0 10.65.1.2 r5(config)#ip route 10.65.2.0 255.255.255.0 10.65.1.2 设置时钟频率(有时钟端) r5(config)#int s0/1 r5(config-if)#clock rate 64000 R6设置 r6(config)#int s0/0 r6(config-if)#no shutdown %LINK-5-CHANGED: Interface Serial0/0, changed state to down r6(config-if)#ip address 10.65.1.2 255.255.255.0 r6(config)#int f0/1 r6(config-if)#ip address 10.65.2.2 255.255.255.0 配置静态路由 r6(config)#ip route 192.168.2.0 255.255.255.0 10.65.2.2 r6(config)#ip route 10.65.1.0 255.255.255.0 10.65.2.2

Windows路由表详解

Windows路由表详解 对于路由器的路由表,大部分网管朋友都很熟悉,但是对于windows的路由表,可能了解的人就相对少一些。今天我们就一起来看看windows路由表。 一、 windows路由表条目解释 1. 使用ipconfig /all查看网卡信息 2. 使用route print命令查看路由表信息,如下图: 3. 路由表信息解释

1)名词解释: Active Routes:活动的路由 Network destination :目的网段 Netmask:子网掩码 Gateway:网关,又称下一跳路由器。在发送IP数据包时,网关定义了针对特定的网络目的地址,数据包发送到的下一跳服务器。如果是本地计算机直接连接到的网络,网关通常是本地计算机对应的网络接口,但是此时接口必须和网关一致;如果是远程网络或默认路由,网关通常是本地计算机所连接到的网络上的某个服务器或路由器。 Interface:接口,接口定义了针对特定的网络目的地址,本地计算机用于发送数据包的网络接口。网关必须位于和接口相同的子网(默认网关除外),否则造成在使用此路由项时需调用其他路由项,从而可能会导致路由死锁。 Metric:跳数,跳数用于指出路由的成本,通常情况下代表到达目标地址所需要经过的跳跃数量,一个跳数代表经过一个路由器。跳数越低,代表路由成本越低,优先级越高。 Persistent Routes:手动配置的静态固化路由 2)第一条路由信息:缺省路由 当系统接收到一个目的地址不在路由表中的数据包时,系统会将该数据包通过 192.168.99.8这个接口发送到缺省网关192.168.99.1。 3)第二条路由信息:本地环路 当系统接收到一个发往目标网段127.0.0.0的数据包时,系统将接收发送给该网段的所有数据包。 4)第三条路由信息:直连网段的路由记录

添加路由表

添加路由,这里按照自己的网络情况设置,下面是我的路由设置:Persistent Routes: Network Address Netmask Gateway Address Metric 135.190.35.0 255.255.255.0 135.190.35.254 135.190.0.0 255.255.0.0 135.190.35.254 132.0.0.0 255.0.0.0 135.190.35.254 我的内网是135.190.35.0段的IP,网关是135.190.35.254,外网是135.175.35.0段的IP,网关是135.175.35.254,因为我们设置的网络是外网的(可以正常使用的,用IE上个百度或者别的网站试试),所以不用增加外网路由,只需要增加内网的路由,我增加如下有路由就可以: Route add 135.190.0.0 mask 255.255.0.0 135.190.35.254 -p Route add 132.0.0.0 mask 255.0.0.0 135.190.35.254 –p route add 135.190.35.0 mask 255.255.255.0 135.190.35.254 -p 如果网络不稳定,再增加一条外网的路由: route add 135.175.35.0 mask 255.255.255.0 135.175.35.254 上面的命令直接粘贴在cmd下运行就可以:

三、即指向0.0.0.0的有两个网关,这样就会出现路由冲突,两个网络都不能访问。如何实现同时问两个网络?那要用到route命令第一步:route delete 0.0.0.0 "删除所有0.0.0.0的路由" 第二步:route add 0.0.0.0 mask 0.0.0.0 172.23.1.1 "添加0.0.0.0网络路由"这个是主要的,意思就是你可以上外网。第三步:route add 10.0.0.0 mask 255.0.0.0 192.168.0.2 "添加以10开头的网段指向内网路由",注意mask为255.0.0.0 ,而不是255.255.255.0 ,这样内部的多网段才可用。到这儿如果能正常访问内外网了的话,那么我么就要永久写入了(因为刚刚设置的路由表会在重启后丢失),用到以下命令:route add -p 添加静态路由,即重启后,路由不会丢失。注意使用前要在tcp/ip设置里去掉接在企业内部网的网卡的网关。以下是 WinArpAttacker 这是一个arp攻击软件。你可以用它来查看网络上所有的ip和MAC地址! 我用它追查过ARP攻击者。还可以用~~~

从ROUTE命令学路由表配置

从R O U T E命令学路由表 配置 This model paper was revised by the Standardization Office on December 10, 2020

时间能够以这样的方式过去令人感到惊异。人们倾向于认为计算机技术属于高科技,但是,TCP/IP协议在过去的三十年里以各种形式出现,无所不在。因此,TCP/IP协议有时间变得真正成熟起来,并且更稳定和更可靠。然而,当涉及到计算机的时候,事情就没有那样简单了。当路由包通过网络的时候,有时候会出现错误。在这种情况下,熟悉Windows 路由表是很有帮助的。路由表能够决定来自有问题的机器的数据包的去向。在本文中,我将向你介绍如何查看Windows路由表以及如何让Windows路由表中包含的数据有意义。 查看Windows路由表 路由表是Windows的TCP/IP协议栈的一个重要的部分。但是,路由表不是Windows 操作系统向普通用户显示的东西。如果你要看到这个路由表,你必须要打开一个命令提示符对话框,然后输入“ROUTE PRINT”命令。然后,你将看到一个类似于图A中显示的图形。 图A:这是Windows路由表的外观 在我深入讨论这个路由表之前,我建议你在命令提示符对话框中输入另一个命令。这个命令是:IPCONFIG /ALL 我建议你使用IPCONFIG /ALL命令的理由是因为这个命令能够显示TCP/IP协议在机器中实际上是如何设置的。的确,你可以在网卡属性页认真查看TCP/IP协议,但是,如果你从IPCONFIG得到这个信息,这个信息会更可靠。在过去的几年里,我曾经遇到过这样一些例子,IPCONFIG报告的信息与机器中的TCP/IP协议设置屏幕中显示的信息完全不一样。这种事情不常见,但是,如果正好出现这种错误,你就会遇到这种不匹配的情况。

网络实验-3个路由器的静态路由配置实验

计算机网络实验(4B) 实验名称:路由器的基本操作及静态路由配置实验 实验目的:了解路由器的基本结构,功能,使用环境以及基本参数的配置。 实验要求: 1.配置路由器接口的IP地址。 2.设置静态路由。 3. 测试静态路由:ping IP 地址; trace IP 地址 4.写出实验报告 实验准备知识: 一、实验环境的搭建: ?准备 PC 机 2 台,操作系统为 Windows XP ; ?准备Huawei S2501E 路由器 3 台; ?路由器串口线(2对) ?交叉线(或通过交换机的直连线)网线 2条; ? Console电缆2条。 步骤:del 删除各个路由器原有的路由表 ?第一步:设置Router1 [Quidway]SYSNAME R1 ?[R1] interface Ethernet 0 #设置其IP地址 ?[R1-Ethernet0] ip address 10.0.0.2 255.255.255.0 shutdown undo shutdown #激活此以太网口!!(对此口配置了IP地址后用此命令) #进入串口Serial0视图 ?[R1-Ethernet0] interface serial 0 #设置其IP地址

?[R1-Serial0] ip address 20.1.0.1 255.255.255.0 shutdown undo shutdown #激活此串口!!(对此口配置了IP地址后用此命令) #设置链路层协议为PPP ?[R1-Serial0] link-protocol ppp #进入系统视图 ?[R1-Serial0] quit #添加静态路由 ?[R1] ip route-static 40.1.0.0 255.255.255.0 20.1.0.2 preference 60 ##添加静态路由(R2的以太网接口) [R1] ip route-static 50.1.0.0 255.255.255.0 20.1.0.2 preference 60 #保存路由器设置 ?[R1] save #重启路由器 ?[R1] reboot ?第二步:设置Router2 [Quidway]SYSNAME R2 #进入以太网接口视图: ?[R2] interface Ethernet 0 #设置其IP地址 ?[R2-Ethernet0] ip address 50.1.0.2 255.255.255.0 shutdown undo shutdown #激活此以太网口!!! #进入串口Serial0视图 ?[R2-Ethernet0] interface serial 0 #设置其IP地址 ?[R2-Serial0] ip address 20.1.0.2 255.255.255.0 shutdown undo shutdown #激活此串口!!(对此口配置了IP地址后用此命令) #设置链路层协议为PPP ?[R2-Serial0] link-protocol ppp #进入系统视图 ?[R2-Serial0] quit #进入串口Serial1视图 ?[R2] interface serial 1 #设置其IP地址 ?[R2-Serial1] ip address 30.1.0.1 255.255.255.0 shutdown

dos命令下查看路由表

tracert dos命令下查看路由表 2010-03-28 16:44 很多玩游戏的都用过网络加速器吧。尤其是教育网的,估计大家对类似于统一加速器这样的解决网络互联互通的软件。我们怎么知道加速器是否真正起作用了。出来查看游戏的延迟,打开网页的快慢外当然还有个方法——查看路由表。很多加速器只说了提供多少多少的带宽。其实提供路由线路的多少也是一个影响加速自量的因素。 转帖了方法如下: 在dos下面输入 route print 就可以查看路由表如何读懂路由表 如何读懂路由表 源 码:-------------------------------------------------------------------------------- Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.123.254 192.168.123 .88 1 0.0.0.0 0.0.0.0 192.168.123.254 192.168.123 .68 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.123.0 255.255.255.0 192.168.123.68 192.168. 123.68 1 192.168.123.0 255.255.255.0 192.168.123.88 192.168. 123.88 1 192.168.123.68 255.255.255.255 127.0.0.1 127.0.0.1 1 192.168.123.88 255.255.255.255 127.0.0.1 127.0.0.1 1 192.168.123.255 255.255.255.255 192.168.123.68 192.168.12 3.68 1 192.168.123.255 255.255.255.255 192.168.123.88 192.168.12 3.88 1 224.0.0.0 224.0.0.0 192.168.123.68 192.168.12 3.68 1 224.0.0.0 224.0.0.0 192.168.123.88 192.168. 123.88 1 255.255.255.255 255.255.255.255 192.168.123.68 192.16 8.123.68 1

查看Windows路由表

时间能够以这样的方式过去令人感到惊异。人们倾向于认为计算机技术属于高科技,但是,TCP/IP协议在过去的三十年里以各种形式出现,无所不在。因此,TCP/IP 协议有时间变得真正成熟起来,并且更稳定和更可靠。然而,当涉及到计算机的时候,事情就没有那样简单了。当路由包通过网络的时候,有时候会出现错误。在这种情况下,熟悉Windows路由表是很有帮助的。路由表能够决定来自有问题的机器的数据包的去向。在本文中,我将向你介绍如何查看Windows路由表以及如何让Windows路由表中包含的数据有意义。 查看Windows路由表 路由表是Windows的TCP/IP协议栈的一个重要的部分。但是,路由表不是Windows操作系统向普通用户显示的东西。如果你要看到这个路由表,你必须要打开一个命令提示符对话框,然后输入“ROUTE PRINT”命令。然后,你将看到一个类似于图A中显示的图形。 图A:这是Windows路由表的外观 在我深入讨论这个路由表之前,我建议你在命令提示符对话框中输入另一个命令。这个命令是:IPCONFIG /ALL 我建议你使用IPCONFIG /ALL命令的理由是因为这个命令能够显示TCP/IP 协议在机器中实际上是如何设置的。的确,你可以在网卡属性页认真查看TCP/IP 协议,但是,如果你从IPCONFIG得到这个信息,这个信息会更可靠。在过去的几年里,我曾经遇到过这样一些例子,IPCONFIG报告的信息与机器中的TCP/IP 协议设置屏幕中显示的信息完全不一样。这种事情不常见,但是,如果正好出现这种错误,你就会遇到这种不匹配的情况。坦率地说,键入到TCP/IP属性页中的信息反映了你想要Windows为选择的网络设置的TCP/IP协议。IPCONFIG提供的信息显示了Windows实际上设置的协议。

顺序查找路由表

青岛农业大学理学与信息科学学院 计算机网络综合实习报告 题目 专业 学号 姓名 指导教师 日期

目录 一、课程设计任务和目的 (1) 二、设计要求 (1) 三、设计内容 (1) 3.1顺序查找路由表的工作原理 (1) 3.2课程设计程序运行结果与分析 (2) 四、改进和建议 (5) 五、总结 (5) 六、主要参考文献 (5) 附录: (6)

一、课程设计任务和目的 1.了解路由器更新的原理。 2.了解表示路由器的结构。 3.掌握路由器转发分组的算法。 二、设计要求 编写计算机程序,用(目的网络,掩码,下一跳)的结构表示路由表,以一个目的地址作为输入,顺序查找路由表,找出正确的下一跳,并输出。 三、设计内容 3.1顺序查找路由表的工作原理 使用子网划分后,路由表必须包含:目的地址,子网掩码,下一跳地址。路由器分组转发的算法如下: (1)从收到的数据包的首部提取目的IP地址D; (2)对路由器直接相连的网络逐个进行检查:用个网络的掩码和D逐位相“与”,看结果是否和相应的网络地址匹配。若匹配,则把分组直接交付,转发任务结束,否则就是间接交付执行(3)。 (3)若路由表中有目的地址为D特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器否则执行(4)。 (4)对路由表的每一行,用其中的子网掩码和D逐位相“与”,其结果为N。若N 与该行的目的网络相匹配,则把数据报送给该行指明的下一跳路由器;否则执行(5)。 (5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则执行(6)。 (6)报告转发分组出错,没有查找到路由。 简单来说,就是当来一个数据报时,抓

IP路由表分析

CCNA考点精析---IP路由表分析 当frame到达路由器的接口后,路由器检查frame中的目标地址字段,如果目标地址为路由器接口的地址或者广播地址的时候,路由器把packet从frame中剥离出来,传递给network layer,然后packet中的目标地址将被检查,接下来还要检查protocol字段,最后再发送给合适的进程,如果packet是可路由的,路由器会查找自己路由表中寻找相应 的路由条目,路由条目至少包含两个要素: 1、目标地址,这个地址是路由器必须能够到达的地址; 2、到达目标地址的指针,这个指针也就是我们平时在路由表中看到的Via.或者是平 时听说的next-hop(下一跳) 路由器根据packet中的目标地址字段,在路由表中执行查询,查询的精确程度按如下顺序 递减: 1、主机地址 2、子网地址 3、汇总网络号 4、主类网络号 5、超网号(super net) 6、默认路由 如果在执行完所有的表查询后,还没有找到匹配的条目,则丢弃packet,并回送一个(Destinnation Unreachable)ICMP不可达的报文给发送方在CISCO路由器上要查看路由表,可以使用特权命令:show ip route R1#sh ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set C 192.168.123.0/24 is directly connected, FastEthernet0/0 1.0.0.0/24 is subnetted, 3 subnets C 1.1.1.0 is directly connected, Loopback0 C 1.1.2.0 is directly connected, Loopback1 C 1.1.3.0 is directly connected, Loopback2 C 192.168.14.0/24 is directly connected, Serial1/2

主机路由表介绍

主机路由表介绍 在windows中,保存着一张路由表。这张路由表根据实际情况的不同而不同。它是保证本机能上网不可缺少的一项。在windows的命令提示符下输入:route print ,可查看当前路由表信息。 (假设本机IP:网关: 解释: 第一条: 1

缺省路由:意思就是说,当一个数据包的目的网段不在你的路由记录中,那么,你的主机该把那个数据包发送到那里!缺省路由的网关是由你的连接上的default gateway决定的。 该路由记录的意思是:当我接收到一个数据包的目的网段不在我的路由记录中,我会将该数据包通过这个接口发送到这个地址,这个地址是下一个路由器的一个接口,这样这个数据包就可以交付给下一个路由器处理,与我无关。该路由记录的路由代价 20。 第二条: 本地环路:这个网段内所有地址都指向自己机器,如果收到这样一个数据,应该发向哪里该路由记录的路由代价 1 第三条: 直联网段的路由记录:当主机发往直联网段的数据包时该如何处理,这种情况,路由记录的interface和gateway是同一个。当我接收到一个数据包的目的网段是时,我会将该数据包通过这个接口直接发送出去,因为这个端口直接连接着这个网段,该 2

路由记录的路由代价 20 第四条: 本地主机路由:当主机发送给自己的数据包时将如何处理 当我接收到一个数据包的目的网段是时,我会将该数据包收下,因为这个数据包时发送给我自己的,该路由记录的路由代价 20第五条: 本地广播路由:当主机发送给直联网段的广播时如何处理 当我发送到广播数据包的目的网段是时,我会将该数据从接口以广播的形势发送出去,该路由记录的路由代价 20 第六条: 3

如何看路由表

Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.1.2 192.168.1.101 10 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.1.0 255.255.255.0 192.168.1.101 192.168.1.101 10 192.168.1.101 255.255.255.255 127.0.0.1 127.0.0.1 10 192.168.1.255 255.255.255.255 192.168.1.101 192.168.1.101 10 224.0.0.0 240.0.0.0 192.168.1.101 192.168.1.101 10 255.255.255.255 255.255.255.255 192.168.1.101 192.168.1.101 1 Default Gateway: 192.168.1.2 Network Destination 目的网段 Netmask 子网掩码 Interface 到达该目的地的本路由器的出口ip(表示信息是从计算机A的这个IP地址送出)。Gateway 下一跳路由器入口的ip,路由器通过interface和gateway定义一调到下一个路由器的链路,通常情况下,interface和gateway是同一网段的 如果目的计算机的IP地址与Netmask执行逻辑AND运算后的结果,等于在Network Destination处的值,则会将信息转发给Gateway处的IP地址。 但是如果Gateway处的IP地址等于计算机A自己的IP地址,则表示此信息将直接传送给目的计算机,不需要再送给其他的路由器,例如目的计算机是与计算机A在同一个网络内。Metric 跳数,该条路由记录的质量,一般情况下,如果有多条到达相同目的地的路由记录,路由器会采用metric值小的那条路由 第一条0.0.0.0 0.0.0.0 192.168.1.2 192.168.1.101 10 缺省路由:意思就是说,当一个数据包的目的网段不在你的路由记录中,那么,你的路由器该把那个数据包发送到哪里!缺省路由的网关是由你的连接上的default gateway决定的 该路由记录的意思是:当我接收到一个数据包的目的网段不在我的路由记录中,我会将该数据包通过192.168.1.101这个接口发送到192.168.1.2这个地址,这个地址是下一个路由器的一个接口,这样这个数据包就可以交付给下一个路由器处理,与我无关。该路由记录的线路质量10 第二条127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 本地环路:127.0.0.0这个网段内所有地址都指向自己机器,如果收到这样一个数据,应该发向哪里该路由记录的线路质量 1 第三条192.168.1.0 255.255.255.0 192.168.1.101 192.168.1.101 10 直联网段的路由记录:当路由器收到发往直联网段的数据包时该如何处理,这种情况,路由记录的interface和gateway是同一个。 当我接收到一个数据包的目的网段是192.168.1.0时,我会将该数据包通过192.168.1.101这个接口直接发送出去,因为这个端口直接连接着192.168.1.0这个网段,该路由记录的线路质量10 (因interface和gateway是同一个,表示数据包直接传送给目的地址,不需要再转给路由器) 第四条192.168.1.101 255.255.255.255 127.0.0.1 127.0.0.1 10

如何读懂路由表

如何读懂路由表-实例大解析 及双网卡设置方案 当前的路由: destination 目的网段 mask 子网掩码 interface 到达该目的地的本路由器的出口ip gateway 下一跳路由器入口的ip,路由器通过interface和gateway定义一调到下一个路由器的链路,通常情况下,interface和gateway是同一网段的metric 跳数,该条路由记录的质量,一般情况下,如果有多条到达相同目的地的路由记录,路由器会采用metric值小的那条路由 第一条缺省路由:意思就是说,当一个数据包的目的网段不在你的路由记录中,那么,你的路由器该把那个数据包发送到哪里!缺省路由的网关是由你的连接上的default gateway决定的该路由记录的意思是:当我接收到一个数据包的目的网段不在我的路由记录中,我会将该数据包通过192.168.123.88这个接口发送到192.168.123.254这个地址,这个地址是下一

个路由器的一个接口,这样这个数据包就可以交付给下一个路由器处理,与我无关。该路由记录的线路质量 1 第二条 缺省路由: 该路由记录的意思是:当我接收到一个数据包的目的网段不在我的路由记录中,我会将该数据包通过192.168.123.68这个接口发送到192.168.123.254这个地址,这个地址是下一个路由器的一个接口,这样这个数据包就可以交付给下一个路由器处理,与我无关。该路由记录的线路质量1 第三条 本地环路:127.0.0.0这个网段内所有地址都指向自己机器,如果收到这样一个数据,应该发向哪里该路由记录的线路质量 1 第四条 直联网段的路由记录:当路由器收到发往直联网段的数据包时该如何处理,这种情况,路由记录的interface和gateway是同一个。 当我接收到一个数据包的目的网段是192.168.123.0时,我会将该数据包通过192.168.123.68这个接口直接发送出去,因为这个端口直接连接着192.168.123.0这个网段,该路由记录的线路质量1 第五条 直联网段的路由记录 当我接收到一个数据包的目的网段是192.168.123.0时,我会将该数据包通过192.168.123.88这个接口直接发送出去,因为这个端口直接连接着192.168.123.0这个网段,该路由记录的线路质量1 第六条 本地主机路由:当路由器收到发送给自己的数据包时将如何处理 当我接收到一个数据包的目的网段是192.168.123.68时,我会将该数据

route print命令可以查看路由表

route print命令可以查看路由表,在dos下面输入route print 就可以了,如何读懂路由表 本机地址:202.256.257.258 掩码:255.255.255.0 操作系统:w2k server C:\>route print ====================================================================== ===== Interface List 0x1 ........................... MS TCP Loopback interface 0x1000003 ...44 e0 4c 10 43 1d ...... Realtek RTL8139/810x Family Fast Ethernet NIC ====================================================================== ===== ====================================================================== ==== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 202.256.257.1 202.256.257.258 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 202.256.257.0 255.255.255.0 202.256.257.258 202.256.257.258 1 202.256.257.258 255.255.255.255 127.0.0.1 127.0.0.1 1 202.256.257.255 255.255.255.255 202.256.257.258 202.256.257.258 1 224.0.0.0 224.0.0.0 202.256.257.258 202.256.257.258 1 255.255.255.255 255.255.255.255 202.256.257.258 202.256.257.258 1 Default Gateway: 202.256.257.1 ====================================================================== ===== 首先是最上方给出了接口列表,一个本地循环,一个网卡接口,网卡结构给出了网卡的mac 地址。 再说说每一列的内容吧,从做到右依次是:Network Destination(目的地址),Netmask(掩码),Gateway(网关),Interface(接口),Metric(姑且认为是一个度量值或是管理距离)。 下面说说每一行内容代表的内容,首先是 Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 202.256.257.1 202.256.257.258 1 这表示发向任意网段的数据通过本机接口202.256.257.258被送往一个默认的网关:202.256.257.1,它的管理距离是1,这里对管理距离说说,管理距离指的是在路径选择的过程中信息的可信度,管理距离越小的,可信度越高。 再看看第二行 Network Destination Netmask Gateway Interface Metric

如何查看路由表

如何把网址作为快捷方式? 1.鼠标右键新建快捷方式; 2.在弹出的对话框中,输入网址; 3.接着下一步、完成即可。 如何查看windos路由表并理解各个表项的意思?

第一条 缺省路由:意思就是说,当一个数据包的目的网段不在你的路由记录中,那么,你的路由器该把那个数据包发送到哪里!缺省路由的网关是由你的连接上的default gateway决定的该路由记录的意思是:当我接收到一个数据包的目的网段不在我的路由记录中,我会将该数据包通过192.168.52.80这个接口发送到192.168.52.254这个地址,这个地址是下一个路由器的一个接口,这样这个数据包就可以交付给下一个路由器处理,与我无关。该路由记录的线路质量20 第二条 本地环路:127.0.0.0这个网段内所有地址都指向自己机器,如果收到这样一个数据,应该发向哪里该路由记录的线路质量1 第四条 直联网段的路由记录:当路由器收到发往直联网段的数据包时该如何处理,这种情况,路由记录的interface和gateway是同一个。 当我接收到一个数据包的目的网段是192.168.123.0时,我会将该数据包通过192.168.123.68这个接口直接发送出去,因为这个端口直接连接着192.168.123.0这个网段,该路由记录的线路质量1 第五条 直联网段的路由记录 当我接收到一个数据包的目的网段是192.168.123.0时,我会将该数据包通过192.168.123.88这个接口直接发送出去,因为这个端口直接连接着192.168.123.0这个网段,该路由记录的线路质量1 第六条 本地主机路由:当路由器收到发送给自己的数据包时将如何处理

路由表的相关参数解释

路由表的相关参数解释 以下给出了一个查看路由表实例,并通过该实例来说明路由表中各参数的涵义。 如图所示路由表中,每一行代表一条静态路由,各参数项涵义如下: IpAddr/Mask:目的地址/掩码长度; 该值为“0.0.0.0/0”对应的路由为缺省路由。 GwIpAddr:网关地址(下一跳地址) 如果是直接路由,即目的地址为与对应端口直接相连的网络,则显示为“-”。 特别地,对于PPPoE拨号上网线路来说,拨号成功后,对应的缺省路由以及绑定在该PPPoE 连接上的静态路由的网关地址均将显示为PPPoE拨号获得的IP地址。 IfId:转发接口 部分转发接口的涵义如下: ie0:物理接口LAN; ie1:物理接口W AN; ie2:物理接口DMZ/WAN2; ptpdial0:待拨的虚端口; ptpx:虚端口x,x为对应的虚端口号,取值为0、1、2、…; bhole0:内部接口,转发到该端口的所有包都被HiPER丢弃; local:内部软路由接口,转发到HiPER本身; reject:内部接口,转发到该端口的所有数据包都被HiPER拒绝,并回应一个ICMP不可达;

loopback:回环地址,代表127.0.0.0/8网段,不被转发; mcast:多播; Flag:标志 该参数用来显示路由的状态。该参数显示字的母对应的全称如下。 *-Hidden,o-OSPF,i-ICMP,l-Local,r-RIP,n-SNMP,c-Connected,s-Static,R-Remote,g-Gateway,h-Host,p-Private,u-Up,t-Temp,M -Multiple,F-Float,a-Append,N-NA T,x-rtNAT,y-NATrt,B-BIND,E-IPSec,?-Unknown。 部分标志项的涵义如下: *-Hidden:此条路由目前不生效,一般是此条路由处于备份状态或是线路失效导致路由中断;g–Gateway:此条路由为间接路由; h–Host:此条路由为主机路由; N-NA T:此条路由上启用了NAT,局域网用户正通过此条路由共享上网; F-Float:此条路由配置了路由优先级等信息,目前处于浮动状态,会因为线路的生效或者失效而决定该条路由是否启用; M-Multiple:到同一个目的地,当前至少有两条可使用的路由; a-Append:到同一目的地,允许存在多条路由; E-IPSec:当前路由的转发端口上启用了IPSec策略。 Cost:优先级。系统自动生成的静态路由的优先级均为20。 Met:跳数。系统自动生成的静态路由的跳数均为0,即全部都是直接路由。 Use:使用次数。系统使用该静态路由转发数据包的次数。 Age:使用时间。该静态路由生成的年龄。单位:秒。

路由表解析

在dos下面输入 route print 就可以查看路由表如何读懂路由表 如何读懂路由表 源码:-------------------------------------------------------------------------------- Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.123.254 192.168.123.88 1 0.0.0.0 0.0.0.0 192.168.123.254 192.168.123.68 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.123.0 255.255.255.0 192.168.123.68 192.168.123.68 1 192.168.123.0 255.255.255.0 192.168.123.88 192.168.123.88 1 192.168.123.68 255.255.255.255 127.0.0.1 127.0.0.1 1 192.168.123.88 255.255.255.255 127.0.0.1 127.0.0.1 1 192.168.123.255 255.255.255.255 192.168.123.68 192.168.123.68 1 192.168.123.255 255.255.255.255 192.168.123.88 192.168.123.88 1 224.0.0.0 224.0.0.0 192.168.123.68 192.168.123.68 1 224.0.0.0 224.0.0.0 192.168.123.88 192.168.123.88 1 255.255.255.255 255.255.255.255 192.168.123.68 192.168.123.68 1 Default Gateway: 192.168.123.254 -------------------------------------------------------------------------------- ====================================================================== 当前的路由: destination 目的网段 mask 子网掩码 interface 到达该目的地的本路由器的出口ip gateway 下一跳路由器入口的ip,路由器通过interface和gateway定义一调到下一个路由器的链路,通常情况下,interface和gateway是同一网段的 metric 跳数,该条路由记录的质量,一般情况下,如果有多条到达相同目的地的路由记录,路由器会采用metric值小的那条路由 第一条 缺省路由:意思就是说,当一个数据包的目的网段不在你的路由记录中,那么,你的路由器

相关文档
最新文档