• 抓包整理————ip 协议四[十五]


    前言

    简单了解一下ip 协议选路问题。

    正文

    比如host1 到 host2是直接传输,因为host1和 host2 是同一交换机,直接arp表知道对方的mac。

    第二种是他们是不同网段之间通信。

    第二种有两种出名的协议rip 和 ospf,动态路由方式。

    路由表:

    rip 内部选路协议:

    routing information protocal

    特点:

    1. 基于跳数确定路由。
    2. udp 协议向相邻路由器通知路由表。

    举个例子。比如RA 可以到N1,那么RA就想相邻路由器发送自己到N1举例为1。

    比如RB就收到了 RA 到 R1 的距离为N1。

    现在如果RB要访问N1,那么会将信息发给RA。

    那么RB、RC也会继续广播出去给RD,RD收到的RB 的信息是RB到N1为2跳。RD收到RC的信息是RC到N1为2跳。

    这个时候RD 也会广播给RB和RC等相邻路由器,告诉他们RD到N1为3跳。

    问题:

    1. 基于条数
    2. 慢收敛
    3. 选路环路

    OSPF 协议:
    open shortest path fist

    这个比较复杂,直接百度比较好的。

    https://zhuanlan.zhihu.com/p/41341540
    

    这里讲一下为什么这么复杂哈,有些人刚学的时候认为局域网是:

    路由器1 为 192.168.1.0/24 那么路由器2是 192.168.0.0/16

    那么就是路由器1下面机器1访问192.168.2.1的话,发给路由器1,路由器1根据主机号就知道发给r2。

    就是认为网络连接是金字塔结构的,实际上不是。

    就是他们的分配是金字塔结构。但是不是他们相邻的不一定不能连接啊。

    实际上是这种:

    在11.0.0.0/8 和 12.0.0.0/8 他们直接可以相连啊。

    如果是金字塔结构,那么的确路由器对比一下主机号就知道了下一个应该发给谁。

    但是这样也会有一个问题,那就是太慢了吧,显然是不可行的。

    可以看到哈,如果10.1.2.16 要访问 10.2.2.16的话,一定要经过10.0.0.0/8这台机器,那不堵才怪。

    就算是10.0.0.0/8 旁边是172.16.0.0/8也是可以的,这样可以让这两个网络互通。(“172开头的不一定是内网,作为内网的172属于B类地址,范围: 172.16.0.0-172.31.255.255,共16个网络数。)

    然后公网中的是:BGP(Border Gateway Protocal)

    这个就更复杂了,一般是网络工程师专研比较多,开发人员没太多必要。

    不过可以查询一下路由跟踪工具:

    1. windows: tracert
    2. linux/mac:traceroute.

    除了上面的rip和OSPF 路由寻路方式,这两种是自动寻路,也就是动态路由,还有静态路由的方式来寻路,其实吧,如果是我们内网比较少的机器话,用静态路由还是比较好的,自动寻路适合机器多的情况。

    下下一节ip的分片和icmp协议。

  • 相关阅读:
    【C++】空间配置器 allocator:原理及底层解析
    u16 转为 int
    AlphaCode:程序员的另类“内卷”?
    Web APIs——综合案例
    TypeScript核心
    php中register_shutdown_function 函数用法详解
    凌恩客户文章|Nature子刊-水体RNA宏病毒组
    Tomcat
    【算法|滑动窗口No.1】leetcode209. 长度最小的子数组
    外汇天眼:随着美元贬值所有世界货币,每个国家都在为自己着想
  • 原文地址:https://www.cnblogs.com/aoximin/p/16894552.html