IP路由器是连接多个IP网络的设备,其主要的工作就是为经过IP路由器的每个IP数据包寻找一条最佳传输路径。

路由表就是记录了各种传输路径的数据的一张表,分为静态路由表和动态路由表。

静态路由表是事先固定好的路由表,不会随着网络结构的改变而改变。

动态路由表一定的路由选择算法自动调整的路由表。

IP数据包转发过程:

IP数据包根据ARP缓存中查看是不是有目的主机的MAC地址,如果有就直接封装成帧发送到目的主机,如果没有就在本地局域网广播一个ARP请求,然后目的IP主机返回一个ARP数据包,里面有目的主机的MAC地址。

当IP数据包的目的IP不再本地网段时,A要向“缺省网关”发出ARP包,而“缺省网关”的IP地址已经在A系统软件中设置。这个IP地址实际上对应路由器M的入口的IP地址。所以A对“缺省网关”的IP地址广播出一个ARP请求时,路由器M的E0口的MAC回复给A,此时A数据包封装成帧,目的MAC替换为M的E0口MAC。然后再链路层发送给默认路由器数据帧,到达路由器之后再解包到IP网络层,得到目的IP的网段,然后就需要用到上图路由表中的信息了。

根据路由表查找到相关表项,得到下一跳及入口出口的MAC地址,所以IP包再封装为源mac是当前路由器出口MAC,目的MAC是下一跳路由器的数据帧(帧的重写),再经过链路层发送,直到到达目的网段。到达目的网段后再根据目的IP到达目的主机。

路由器的详细工作:

注意路由表中的getway值是直接转发和下一跳路由器地址,如果目的IP命中了路由表, 就直接转发,getway就显示为为*。

route命令查看路由表信息

请看下图路由表相关信息

路由表的作用:

这里一个目的网段对应一个出口

这台主机有两个网络接口,一个网络接口连到192.168.10.0/24网络,另一个网络接口连到
192.168.56.0/24网络;
路由表的Destination是目的网络地址,Genmask是子网掩码,Gateway是下一跳地址,Iface是发送接
口,Flags中的U标志表示此条目有效(可以禁用某些 条目),G标志表示此条目的下一跳地址是某个路由器的
地址,没有G标志的条目表示目的网络地址是与本机接口直接相连的网络,不必经路由器转发;

转发过程例1:

如果要发送的数据包的目的地址是192.168.56.3
跟第一行的子网掩码做与运算得 到192.168.56.0,与第一行的目的网络地址不符
再跟第二行的子网掩码做与运算得 到192.168.56.0,正是第二行的目的网络地址,因此从eth1接口发送出
去;
由于192.168.56.0/24正 是与eth1 接口直接相连的网络,因此可以直接发到目的主机,不需要经路由器转
发;

转发过程例2:

如果要发送的数据包的目的地址是202.10.1.2
依次和路由表前几项进行对比, 发现都不匹配;
按缺省路由条目, 从eth0接口发出去, 发往192.168.10.1路由器;
由192.168.10.1路由器根据它的路由表决定下一跳地址;

IP数据包的路由转发相关推荐

  1. ip数据包经由路由转发的时候源ip MAC,目的ip 目的MAC是否改变

    轉載自https://blog.csdn.net/yiluyangguang1234/article/details/56666109 ip数据包经由路由转发的时候源ip,目的ip是否改变? 最近面试 ...

  2. IP数据包经由路由转发的时候,源ip和目的IP是否改变

    IP数据包经由路由转发的时候源IP,目的ip是否改变? 这是个搞网络的基础问题,答案是不能改变的,除非做了nat转换才能改变.否则,数据包在整个传输过程中,源IP和目的IP不会发生改变. 不过MAC地 ...

  3. ip数据包经由路由转发的时候源ip,目的ip是否改变

    ip数据包经由路由转发的时候源ip,目的ip是否改变? 最近面试网络方面的经常问到这个问题,答案是不能改变的,*除非做了nat转换才能改变. 不过mac地址是变化的,因为发送端开始不知道目的主机的ma ...

  4. 数据包经由路由转发时源、目的IP地址及MAC地址变化情况

    IP数据包经由路由转发的时候源ip,目的ip,源MAC,目的mac是否发生改变,如何改变? A-–(B1-B2)-–(C1-C2)---E 如上拓扑图为例,B1和B2是路由器B上的两个接口,C1和C2 ...

  5. Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径...

    Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径.   Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其 ...

  6. ip数据包转发和iptables

    Linux内核数据包转发功能和iptables的关系 内核数据包转发(路由)功能是内核将从A网卡接收到的目的地址不是自身地址的ip数据包通过B网卡发送出去的功能(即路由器的功能). 使用以下命令即可开 ...

  7. 第五期 IP数据包结构和OSI第三层网络层

    一. IP数据包格式 优先级与服务类型(8位):优先级与服务类型 标识符.标志.段偏移量:这几个字段用来对数据包进行标识,使数据到达目的端重组的时候,不会乱序 首部长度:ip包头首部长度最短20字节 ...

  8. Teardrop攻击--伪造虚假的IP数据包发送并抓取及完成简易静态网页

    目录 Teardrop攻击--伪造虚假的IP数据包发送并抓取 一.相关介绍 1.IP协议 2.Teardrop攻击 二.编写Teardrop程序(伪造一个虚假地址的IP包) 三.参考链接 完成简易静态 ...

  9. IP协议 (通俗易懂),IP协议的主要功能及实现原理,IP地址分类,IP数据包分片,IP数据报格式。

    「作者主页」:士别三日wyx 「作者简介」:CSDN top100.阿里云博客专家.华为云享专家.网络安全领域优质创作者 「专栏简介」:此文章已录入专栏<计算机网络零基础快速入门> 本章重 ...

最新文章

  1. HDU6346(最小权值完美匹配)
  2. Liunx UID and GID
  3. 校内训练赛题解第三篇
  4. 在php里让字体划过变色,鼠标划过字体时如何用css来实现字体变色?(代码实测)...
  5. 河南省高考让不让带计算机,河南高考2018严禁携带的东西有哪些?这种衣服不能进考场...
  6. linux下ftp权限控制
  7. 入门React第二天(函数式组件传值)
  8. 本特利框架3500/05-01-01-CN-00
  9. 云迁移实践:VMware虚拟机迁移到移动云
  10. 盘点互联网招聘玩法:从垂直招聘到猎头平台到精准匹配
  11. 点线面的特点_描述点线面状事物分布特征
  12. 计算机设计大赛感言,计算机编程比赛获奖感言.doc
  13. 计算机毕业设计django基于python的学生选课系统-高校教务管理系统(源码+系统+mysql数据库+Lw文档)
  14. 超级计算机有啥用途,什么是超级计算机及其用途?
  15. ?? 关于zmq_proxy
  16. c语言课程设计--图书/音乐管理系统
  17. 海盗王实现物品999个堆叠
  18. mysql获取前一天日期_mysql中获取当前时间的前一天
  19. DSP处理FFT和DFT时需要运算的次数及计算公式
  20. 【C语言】LOL英雄查询系统

热门文章

  1. 微信小程序 全面屏适配
  2. android 摄像头检测工具,检摄app下载-检摄软件(检测摄像头)下载 v1.0.7安卓版_5577安卓网...
  3. mini-batch Gradient Descent
  4. 关于C语言中“x++”和“++x”的问题
  5. 用 Python 写了一个表白神器,照片隐藏表白话语!
  6. 可变悬挂调节软硬_大众cc可变悬架软硬调节是什么意思
  7. 江苏移动_网上营业厅_登录网址
  8. 最新版一键生成小程序系统 前段源码 小程序开发者必备
  9. 5G来了,室内该如何覆盖?
  10. python查看excel所有sheetname