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. leetcode之word ladder

    对于之前没有接触过该类型题目的人来说,此题无疑是个难题,本人提交了10次才正确通过,期间遇到了非常多的问题,感觉几乎把OJ的所有错误遍历了一遍,下面详细说说自己做该题的经验. 首先承认,我一开始并没有 ...

  2. 关于React Native 报Export declarations are not supported by current JavaScript version错误的解决问题

    设置.js文件默认以jsx的语法打开 在没有进行设置的情况下,每次打开WebStorm的时候打开包含jsx语法的.js文件都会有以下提示: 当然我们点击转换后就可以了,但是每次都会提示,所以还是来一个 ...

  3. 介绍几个好用的android自定义控件

    首先看效果图, 看下这两个界面,第一个中用到了一个自定义的FlowRadioGroup,支持复合子控件,自定义布局: 第二个界面中看到了输入的数字 自动4位分割了吧:也用到了自定义的DivisionE ...

  4. 用CSS指定外部链接的样式

    大部分的信息类网站,比如维基百科,都会对外部链接(<a>标签)指定特定的样式.作为用户,一眼就知道该链接是指向另一个站点的资源是很好的体验.许多网站在服务器端做外部链接检查,添加一个`re ...

  5. Ext JS 5初探(一)

    在开始前,先安装好Sencha Cmd 5.然后输入以下命令创建一个测试用的应用程序: sencha -sdk c:\ext5 generate app TestExt5 C:\TestExt5 想不 ...

  6. 线性表链式存储设计与实现 - API实现

    基本概念 链式存储定义 为了表示每个数据元素与其直接后继元素之间的逻辑关系,每个元素除了存储本身的信息外,还需要存储指示其直接后继的信息. 表头结点 链表中的第一个结点,包含指向第一个数据元素的指针以 ...

  7. libRTMP使用说明

    名称 librtmp − RTMPDump Real-Time Messaging Protocol API 库 RTMPDump RTMP(librtmp, -lrtmp) 简介 #include& ...

  8. 高仿qq健康

    概述 学习别人的代码,在此基础上 优化代码结构 增加动画 要点记录 通过mRatio参数,让宽高始终是一个比例 贝塞尔曲线手动画矩形圆角 画虚线 根据基准点绘制文字 属性动画的使用 画笔宽度的自适应 ...

  9. 《HelloGitHub》第 25 期

    <HelloGitHub>第 25 期 兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程. ...

  10. kubernetes-dashboard(1.8.3)部署与踩坑

    Kubernetes Dashboard 是一个管理Kubernetes集群的全功能Web界面,旨在以UI的方式完全替代命令行工具(kubectl 等). 目录 部署 创建用户 集成Heapster ...