• 对TCP/IP协议的一些看法(13):IP路由


    之前在介绍网络层协议的时候忘记介绍一个很重要的知识点:IP路由。

    曾经讲过如果两个通信方的IP地址不在同一个子网内,那么两者要进行通信,数据包需要经过路由器进行转发,可能要经过多个路由器才能到达接收方。那么路由器是怎么工作的呢?其实最核心的一点是路由器内有一张路由表,它包括了以下几类信息:

    1.目的IP地址:它既可以是一个完整的主机地址,也可以是一个网络地址。

    2.下一跳路由器的IP地址,指的是一个在直连网络上的路由器。

    3.标志。其中一个标志指明目的IP是主机地址还是网络地址,另一个标志表明下一跳路由器是否为真正的下一跳路由器,还是一个直连的网络接口。

    IP路由的步骤如下:

    1.在路由表中搜索目的地址,若存在,则将IP数据包直接发到该地址,否则转2.

    2.搜索目的网络对应的子网地址,若存在,则发送到子网号对应的下一跳地址,否则转3.

    3.搜索目的网络所对应的网络号,若存在,则发送到该网络号对应的吓一跳路由器,否则转4.

    4.查找默认路由,若存在则进行转发, 否则丢弃。

    因此路由表包括了动态路由控制和静态路由控制,显然,动态路由策略能够进行自适应调整,但开销较大。其又包括了内部网关协议IGP(包括著名的RIP和OSPF)和外部网管协议EGP(基于迪杰斯特拉算法)。而静态路由控制是在配置接口的时候,以默认的方式生成路由表项,可以通过route指令进行表项的生成或删除等操作。其开销小,但不能适应网络的变化。

  • 相关阅读:
    C#对文件/目录的操作:Path、File、Directory、FileStream、StreamReader、StreamWriter等类的浅析
    我的SqlHelper类!
    Visual Studio 如何使用代码片段Code Snippet提高编程速度!!!
    python脚本实现向钉钉群组发送消息
    pause模块
    ansible获取远程机器上的ip地址
    ansible 的file 模块
    find 查找文件
    docker 数据管理
    Docker 镜像 容器 仓库
  • 原文地址:https://www.cnblogs.com/elninohjh/p/4247986.html
Copyright © 2020-2023  润新知