计算机网络(4) 最长前缀匹配(路由转发表)

一.路由转发

        网络数据包IP段只包含源地址与目的地址,经过数据链路层包装与物理层信号形式转换,最终经由不同的链路节点到达目的地址。这个过程是一步一步(hop by hop)进行的,路过一个路由节点则称为一跳。每个路由节点都存在一个路由表,需要从表中针对目的地址进行匹配,选择下一跳节点路径。最终经过多跳数据报传送至目的节点。

        在计算机网络中,路由表(routing table)或称路由择域信息库(RIB, Routing Information Base),是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路由度量值)。路由表中含有网络周边的拓扑信息。路由表建立的主要目标是为了实现路由协议和静态路由选择。

        例如,使用traceroute追踪HTTP服务数据报传输至Baidu的路由转发情况如下:

 二.LPM最长前缀匹配

        最长前缀匹配是指在IP协议中,被路由器用于在路由表中进行选择的一个算法。因为路由表中的每个表项都指定了一个网络,所以一个目的地址可能与多个表项匹配。最明确的一个表项——即子网掩码最长的一个——就叫做最长前缀匹配。之所以这样称呼它,是因为这个表项也是路由表中,与目的地址的高位匹配得最多的表项。

        路由表中包含多个CIDR条目。无类别域间路由(Classless Inter-Domain Routing、CIDR)是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的对IP地址进行归类的方法。0.0.0.0代表默认路由。171.33.0.0/16代表掩码占用16位即171.33.0.1 - 171.33.255.255中所有Ipv4地址都可以与其进行匹配。

 

相关推荐

  1. 系统设计题-匹配

    2024-06-12 22:52:03       25 阅读
  2. 计算机网络 算法

    2024-06-12 22:52:03       50 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-12 22:52:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-12 22:52:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-12 22:52:03       87 阅读
  4. Python语言-面向对象

    2024-06-12 22:52:03       96 阅读

热门阅读

  1. 防火墙的配置

    2024-06-12 22:52:03       37 阅读
  2. C++中的原型模式

    2024-06-12 22:52:03       26 阅读
  3. #04 Stable Diffusion与其他AI图像生成技术的比较

    2024-06-12 22:52:03       32 阅读
  4. 趣谈网络协议

    2024-06-12 22:52:03       25 阅读
  5. 作文笔记11 推荐一本书

    2024-06-12 22:52:03       29 阅读
  6. Next.js 加载页面及流式渲染(Streaming)

    2024-06-12 22:52:03       28 阅读