抓包整理————ip 協議四[十五]
前言
簡單了解一下ip 協議選路問題。
正文
比如host1 到 host2是直接傳輸,因為host1和 host2 是同一交換機,直接arp表知道對方的mac。
第二種是他們是不同網段之間通訊。
第二種有兩種出名的協議rip 和 ospf,動態路由方式。
路由表:
rip 內部選路協議:
routing information protocal
特點:
- 基於跳數確定路由。
- 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跳。
問題:
- 基於條數
- 慢收斂
- 選路環路
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)
這個就更複雜了,一般是網路工程師專研比較多,開發人員沒太多必要。
不過可以查詢一下路由跟蹤工具:
- windows: tracert
- linux/mac:traceroute.
結
除了上面的rip和OSPF 路由尋路方式,這兩種是自動尋路,也就是動態路由,還有靜態路由的方式來尋路,其實吧,如果是我們內網比較少的機器話,用靜態路由還是比較好的,自動尋路適合機器多的情況。
下下一節ip的分片和icmp協議。