IP路由及静态路由配置

qianghaohao(CodingNutter)

链接来源:http://www.cnblogs.com/codingnutter/p/5654271.html

一.IP路由:

     IP路由就是根据IP地址在不同网络之间转发数据的过程。它决定了IP数据包从
源网络到目的网络怎么走,也就是规划一条到目的地的路径。实现这个功能的设
备就是路由器,每个路由器都保存着一张路由表,表中每个条目指明分组到某个
子网或主机应该通过路由器的哪个物理端口发送,然后就可到达该路由的下一个
路由器,或者不在经过别的路由器而传送到直接相连的网络中的目的主机。下面
举个例子来讲解IP路由的过程。
Ex:从西安到-->榆林

      假如我们从西安市出发,要到榆林市,此时我们要查看地图发现去榆林得先到达
达铜川市(当然也有其他路径,在此假设就这一条路,多条路的话选择最优的路径),
于是我们坐火车到达铜川市,此时到了铜川市,再次查地图,发现要到达榆林得先到达
延安市,于是我们坐车到达了延安市,此时查看地图发现榆林就在我们相邻的地方,此
时有到榆林的直通车,于是我们坐上到榆林的直通车直达榆林。
      以上例子和网络中数据包转发的道理是一样的,每一站都知道怎么去目的站,但是
并不知道去目的站的完整路径。也就是说我们知道去榆林要先到达铜川市,但并不知道
到达榆林的完整路径怎么走。这种知道怎么去下一站的信息就是一条路由条目,整个地
图就相当于路由表,乘客就相当于IP数据包。

   一张路由表:


  
    IP搜索路由表匹配规则:
  

二.静态路由配置:

      所谓静态路由就是由管理人员手工在路由器上指定到达某个网络该怎么走,到达目的
网络得从哪个接口出去或者要到达的下一跳(下一站)接口。在文章中我们用如下简单的拓
扑,通过配置静态路由来让两台电脑能够通信:

1.为四台设备配置IP地址和子网掩码:
      可以通过界面操作来配置,也可以通过命令行模式配置。
      先通过界面操作给两台电脑配置IP地址,注意同时要指定网关地址:
    配置 PC1:
    
    配置PC2:
    
    接下通过命令行方式给路由器配置IP地址:
    配置R1:
   
    按同样的方法配置R2:
   
    此时拓扑图中接口的连接变成绿色的,但是PC1和PC2无法互相ping通,需要做静态路由:
   
  
2.为R1和R2配置静态路由:
  静态路由命令如下:
  
  为R1做静态路由:
 
  同理为R2做静态路由:
  
3.以上配置完毕,现在两个电脑可以互相ping通了,静态路由配置完毕:

三.数据包在经过各个设备时MAC地址和IP地址的变化:

       数据包在TCP/IP网络间传递时MAC地址变化,数据包内部的IP地址保持不变。
根据以上拓扑图,数据包转发过程:
    1.PC1查看自己的ARP表,如果主机PC1第一次给PC2发送数据包,那将无法从ARP映射表中找到
对应的mac地址。因此PC1将以FF:FF:FF:FF:FF:FF为目的mac地址,发送一个arp广播请求。
    2.如果PC2和PC1在同一个网段,那么只有PC2将响应PC1发送的ARP广播。此时PC1得到了PC2
的mac地址,并将这个mac地址存入arp缓存,然后将自己的mac地址为源地址,PC2的mac地址为目的
mac地址封装成以太网数据帧发送给PC2。
    3.如果主机PC2并不和PC1在同一网络。路由器的端口将把自己的mac地址发送给PC1,然后PC1将此
mac地址和对应的网关接口IP存入arp缓存。然后将自己的mac地址为源mac,网关的mac为目的mac,封
装成以太网帧发送给路由器。
     4.路由器接收到数据包后,进行拆包,获取数据包中的目的IP地址,然后查找路由表,找到要出去的接
口的mac地址,和下一跳的IP地址,然后通过得到的下一跳IP地址查找arp表,找到对应的mac地址,如果
arp缓存没有下一跳IP的mac地址,则同样进行arp广播。
     5.接着上一步,将路由器出接口的mac地址为源mac地址,将下一跳路由器接口的mac地址为目的mac
地址封装成以太网帧发送给下一站路由器。
     6.当下一站路由器收到数据包后重复进行3-4-5的步骤,直到PC2收到数据包。
     可以通过单步执行,查看数据包中mac地址的变化:将Cisco Packet Tracer软件在simulation模式下发
数据包,然后点击Auto Capture /Play可以单步执行,查看到达每一个设备后数据包里面的mac地址和IP
地址。

IP路由及静态路由配置的更多相关文章

  1. Network基础(五):配置静态路由、配置浮动路由、配置多路由的静态路由、配置默认路由

    一.配置静态路由 目标: 配置路由接口IP地址并通过静态路由的配置实现全网的互通. 方案: 按如下网络拓扑配置接口IP地址并通过静态路由的配置实现全网的互通如下图所示: 步骤: 步骤一:配置静态路由 ...

  2. IP路由__静态路由

    1.静态路由的优缺点: 优点:对于路由器的CPU没有管理性开销,它意味着如果你不使用动态路由选择的话,你可能应该购买更为便宜的路由器.在路由器之间没有带宽占用,它意味着在WAN链接中你可以节省更多的钱 ...

  3. Cisco配置单臂路由及静态路由

    实验环境: 如图下图所示,PC0.PC1.PC2.PC3分别属于不同的VLAN,通过配置单臂路由及静态路由,实现不同VLAN之间的PC能相互访问. 操作步骤: 1. 思科 2960交换机SW1配置信息 ...

  4. 路由知识 静态路由 rip eigrp ospf

    第1章 路由选择原理 1.1 几个概念 1.1.1 被动路由协议 用来在路由之间传递用户信息 1.1.2 主动路由协议 用于维护路由器的路由表 R2#show ip route Codes: C - ...

  5. 华为eNSP路由交换-静态路由

    静态路由 一. 静态路由及默认路由基本配置 1.1实验内容 在由三台路由器所组成的简单网络中,R1和R3各连着一台PC,现在要求能够实现PC-1和PC-2之间的通信.本实验将通过配置基本的静态路由和默 ...

  6. 路由器静态IP的配置及其备份静态路由缺省路由

    静态路由时管理员手动配置并维护的路由.静态路由配置简单,被广泛应用于网络中.静态路由还可以实现负载均衡和路由备份.学习掌握好静态路由的配置是很重要的. 如下图, 首先进入路由器的命令视图,(sys) ...

  7. 配置Linux实现静态路由

    配置Linux实现静态路由 背景和原理 路由器的功能是实现一个网段到另一个网段之间的通信,路由分为静态路由.动态路由. 默认路由和直连路由.静态路由是手工指定的,使用静态路由的好处是网络安全保密性高. ...

  8. 路由与交换,cisco路由器配置,静态路由

    网络是一个大型的拓扑结构,在路由表中,最重要的是管理距离和度量值 管理距离 管理距离用来确定路由的优先级.管理距离的范围是0-255之间的整数值.值越低代表优先级越高.0代表最高优先级.并且只有直连路 ...

  9. IP和静态路由技术概述

    1. IP地址的构成 IP地址:32比特的二进制数字,通常采用点分十进制方式表示. IP地址由两部分组成. 网络号码字段(Net-id)用于区分不同的网络.网络号码字段的前几位成为类别字段(又称为类别 ...

随机推荐

  1. 海量数据挖掘MMDS week3:社交网络之社区检测:基本技巧

    http://blog.csdn.net/pipisorry/article/details/49052057 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...

  2. BottomSheet底部动作条使用

    底部动作条 底部动作条(Bottom Sheets)是一个从屏幕底部边缘向上滑出的一个面板,使用这种方式向用户呈现一组功能.底部动作条呈现了简单.清晰.无需额外解释的一组操作. 使用环境 底部动作条( ...

  3. Locally Weighted Linear Regression 局部加权线性回归-R实现

      局部加权线性回归  [转载时请注明来源]:http://www.cnblogs.com/runner-ljt/ Ljt 作为一个初学者,水平有限,欢迎交流指正. 线性回归容易出现过拟合或欠拟合的问 ...

  4. android Gradle的几个基本概念

    什么是Gradle? Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言. Gr ...

  5. The content of elements must consist of well-formed character data or markup

    java 中使用dom4j解析含有特殊字符的xml文件出现了如题的错误 这个时候需要在特殊字符外面加上 <![CDATA[ /6169220648+20671/1>7+-47390045& ...

  6. C语言删除字符串中重复的字符

    #include <stdio.h> #include <string.h> #define NR(x) sizeof(x)/sizeof(x[0]) int Del_char ...

  7. ViewPagerIndicator+viewpager指示器详解

    前几天学习了ViewPager作为引导页和Tab的使用方法.后来也有根据不同的使用情况改用Fragment作为Tab的情况,以及ViewPager结合FragmentPagerAdapter的使用.今 ...

  8. 初探linux子系统集之写在前言

    毕业两周年,进入嵌入式linux这个行业也已两个年头有余,从开始的linux驱动,android的framework,到现在的linux应用,android的app以及产品的零零总总,其实很想把这些都 ...

  9. obj-c编程01:第一个类和对象的范例

    这是obj-c学习过程中的第一篇博文,接下来还会有未知的N篇内容(关键是不知道obj-c有多难搞啊!),而且在以后不断的学习中,还会不断的在以前写的博文中修改和添加新的内容.在遇到暂时无法解决的问题时 ...

  10. How to configure ODBC DSN in Client to access remote DB2 for Windows

      How to configure ODBC DSN in Client to access remote DB2 for Windows MA Gen feng (Guangdong Unito ...