抓包整理————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

這個比較複雜,直接百度比較好的。

//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協議。