IP路由到底是什么?

news/2024/11/8 6:54:45/

IP Routing(IP路由)

1、简介

1)定义

  • 在 直连(point-to-point link)或 共享网络中(on a shared network):IP报文直接发送给 目的主机
  • 在 非直连或共享网络:报文发送给默认路由器,由路由器进行转发

2)主机和路由器的区别
IP层可被配置为主机或路由器,两者区别如下:

  • 主机:不可以转发报文
  • 路由器:可以转发报文

3)特点

  • 基于IP层
  • 可以发送来自TCP、UDP、ICMP或IGMP的报文
  • 或者是接收来自网络接口的报文

2、路由表

1)linux路由表

在这里插入图片描述

1、目的IP:可以是完整的 主机地址 或 网络地址,由标志位进行指定

  • 主机地址:非0的 主机ID(host ID),表示特定的主机
  • 网络地址:全0的 主机ID(host ID),表示网络号中的所有主机

2、下一跳路由(网关)或直连网络:非目的地址,而是可以发送或转发报文的地址

3、标志位:

  • 定义目的IP为 网络地址 或 主机地址
  • 定义下一跳为 网关 或 直连接口

FLAGS:

  • U:路由是活动的
  • G:路由指向网关
  • H:路由指向主机
  • D:路由通过重定向创建
  • M:路由通过重定向修改

2)win 路由表

在这里插入图片描述

名称说明
网络目标(目的地址)主机地址 或 网络地址
网络掩码子网掩码
网关下一跳的地址。 在链路上(On-Link):表示网关和接口IP一致,就会显示在链路上
接口主机用于发送数据包的接口(必须和网关在同一子网)
跃点数(跳数/Metric)到达目的地址经过的跳跃次数。跳数越低,优先级越高
目的地址说明解释
0.0.0.0/0缺省路由当系统收到不在路由表中的目的地址时,将通过10.9.144.14接口发送到网关 10.9.144.51
10.9.144.0/22直连网段路由当收到发往目的地址的数据包时,将通过10.9.144.14发送出去
10.9.144.14/32本机网卡IP当收到发往本机的数据报时,系统将把该报文收下
10.9.147.255/32本地广播路由当系统收到发送给直连网段的本地广播数据包时,将通过10.9.144.14发送出去
127.0.0.0/8本地换回地址当收到发往目标地址的数据包时,系统将接收该网段的所有数据包
224.0.0.0/4组播路由当系统收到组播数据包时,将通过10.9.144.14接口发送组播报文
255.255.255.255/32广播路由当系统接收到广播路由信息时,将通过10.9.144.14接口发送出去

从路由表可以看出:

  • IP路由是逐跳完成的,路由表中不会纪录所有目的地址
  • IP路由通过下一跳,将报文发送出去,下一跳被认为离目的地址更近
  • 指定到网络的路由,而不必指定到每个主机的路由,让路由表条目更少

3、路由流程

举例1:bsdi发送报文给主机sun

  1. IP层收到来自高层的报文,检查路由表
  2. bsdi 发现目的地址(140.252.13.33)是直连的网络(在Ethernet 140.252.130.0上),找到该路由进行匹配
  3. 报文被发送到以太网驱动,通过以太网发送给主机 sun,目的IP地址为sun的IP(140.252.13.33),以太网头部为 sun 的以太网mac地址(48位,通过ARP协议获得)

举例2:bsdi发送报文给主机 ftp.uu.net(192.48.96.9)

在这里插入图片描述

  1. bsdi 查找路由表,发现未匹配到精细路由和网段路由,使用默认路由,将IP报文发送给下一跳网关(路由器sun)
    1. 目的IP为192.48.96.9
    2. 链路层mac地址为sun的以太网接口地址
  2. 当sun收到报文后,发现目的IP不是自己,则匹配默认路由,将IP报文进行转发给路由器netb(140.252.1.183)
    1. 报文通过直连的SLIP(串行线路)链路,将报文进行封装
    2. SLIP封装无链路层头部(mac地址)
  3. 当netb收到报文后
    1. 检查目的IP不是自己,充当路由器,匹配默认路由,将报文转发给gateway(140.252.1.4)
    2. 以太网140.252.1通过发送ARP报文,获取gateway的mac地址
  4. gateway执行和前两个路由器相同的步骤,匹配默认路由,将报文发送给下一跳网关140.252.104.2

4、总结

1)发送报文流程

  • 首先,匹配路由表中的精细路由(network ID 和 host ID)
    • 如果存在,则发送给指定的下一跳网关或直连的接口
    • 当匹配路由表中的114.114.114.114/32目的IP时,直接通过eth0接口发送给172.16.112.1网关
  • 然后,匹配路由表的网络号
    • 如果存在,则发送给指定的下一跳网关或直连的接口(同一个网络号中的所有主机,都可以通过这条路由去匹配)
    • 当匹配路由表中的直连172.16.30.0/24路由时,通过swtun1接口发送给10.0.0.170网关
  • 最后,匹配路由表中的默认路由
    • 当匹配不上路由表中的精细路由或网络号时,匹配默认路由0.0.0.0/0,通过eth0接口,发送给172.16.112.1网关
  • 如果全部匹配不上,则会产生 “host unreachable 主机不可达”或者是“network unreachable 网络不可达”错误

2)接收报文流程

  • 接收到报文后,查询路由表,检测是否为自己的IP,或者是广播地址
    • 如果是,则指定IP头部的协议字段,发送给协议栈
    • 如果不是
      • 假设IP层被配置为路由器,则直接进行转发
      • 如果不是,则默默丢弃该报文

3)总结

  1. 在大多数情况下,主机和路由器都通过匹配默认路由,将报文发送给下一跳,如例子所示
  2. 目的IP不会发送变化
  3. 每一跳的链路层头部都不同,均为下一跳的mac地址,通过ARP协议获得

参考资料

1、书籍《TCP/IP Illustrated, Volume 1: The Protocols, W. Richard Stevens.》
2、Windows路由表详解
3、Windows route 命令


http://www.ppmy.cn/news/461932.html

相关文章

2022国赛2:神州路由器ppp multilink 配置

PPP Multilink协议(MP)是PPP(点对点协议)的扩展, PPP Multilink具有绑定两条或多条同步串行连接的能力。在PPP协议中,可以将多个PPP链路捆绑起来,形成一条宽更大的PPP链路,成为PPP Multilink,即多链路PPP,所产生的虚拟连接拥有的带宽等于各条独立连接的带宽的总和。 本次…

极2路由器刷Padavan(老毛子)固件并设置无线中继

极2路由型号HC5761(带SD卡槽和U口)。本来想用此路由做一个单纯的WIFI信号放大器,在设置“无线中继”时提示“LAN口IP和WAN口IP不能在同一个网段”,那么它的“无线中继”实际就相当于一个二次路由。这显然不能满足我的要求&#xf…

原生openwrt+极路由4+路由模式光猫+中继光猫wifi+设置ipv6上网

这个用openwrt设置ipv6上网折腾了我好些天了,网上很多教程,改config的,改dhcp服务器的,安装nat6的,给我越看越糊涂了,今天终于折腾成功了,所以发个贴留存一下流程,方便以后再设置有个…

什么是IP路由?思科与华为在IP路由配置上有啥区别?

什么是 IP 路由? IP 路由是将数据包从一个网络上的主机发送到不同远程网络上的另一台主机的过程。这个过程通常由路由器完成,路由器检查数据包的目标 IP 地址,确定下一跳地址,然后转发数据包。路由器使用路由表来确定应将数据包转…

400GE燎原前夜,智能IP网络的核心路由器巅峰际会

智能技术所描绘的一系列宏伟蓝图,都离不开新一代IP网络的支撑。 根深叶茂的网络基础设施革新,自然是无法一蹴而就的。作为各种数字业务的核心载体,IP骨干网络就自然站到了升级的第一线。 原因也很简单,万物智联浪潮的一路高歌猛进…

浙大玉泉校区路由器L2TP设置(极路由1s)

我的宿舍里的ZJUWLAN信号太不稳定了,所以打算用有线。房间里只有一个有线口,还离的很远,所以打算连个路由器,然后用wifi连接。 步骤如下: 申请IP 浙江大学学生公寓服务网: http://service.chinasinew.co…

word打开wps文件乱码_Word文档打开是乱码怎么解决

word文档是办公常见使用的工具之一,有些朋友在打开文档的时候,上网搜索资料,下载了一个文档,使用本人电脑上安装的 Word 文档,打开后,发现是乱码,或者是已经损坏了的文档,程序代码都…

计算机对齐方式在哪里,word文档中默认的对齐方式是什么

在使用Word2003编辑文档的过程中,段落的对齐方式直接影响Word文档的版面效果。Word2003文档段落的对齐方式包括“水平对齐”和 “垂直对齐”两种方式,其中“水平对齐”方式决定了段落在页面水平方向上的排列方式,而“垂直对齐”则决定了Word2003文档垂直方向上的排列方式。 …