日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节

發(fā)布時間:2024/1/17 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.靜態(tài)IP選路

1.1.一個簡單的路由表

選路是IP層最重要的一個功能之一。前面的部分已經(jīng)簡單的講過路由器是通過何種規(guī)則來根據(jù)IP數(shù)據(jù)包的IP地址來選擇路由。這里就不重復了。首先來看看一個簡單的系統(tǒng)路由表。

dos下輸:route print 即可查看路由表。

Linux下:route ?即可查看路由表

對于一個給定的路由器,可以打印出五種不同的flag。

  • U表明該路由可用。
  • G表明該路由是到一個網(wǎng)關。如果沒有這個標志,說明和Destination是直連的,而相應的Gateway應該直接給出Destination的地址。
  • H表明該路由是到一個主機,如果沒有該標志,說明Destination是一個網(wǎng)絡,換句話說Destination就應該寫成一個網(wǎng)絡號和子網(wǎng)號的組合,而不包括主機號(主機號碼處為0),例如 192.168.11.0
  • D表明該路由是為重定向報文創(chuàng)建的
  • M該路由已經(jīng)被重定向報文修改
  • U沒啥可說的,G說明這是一個網(wǎng)關,如果你要發(fā)數(shù)據(jù)給Destination,IP頭應該寫Destination的IP地址,而數(shù)據(jù)鏈路層的MAC地址就應該是GateWay的Mac地址了;反之,如果沒有G標志,那么數(shù)據(jù)鏈路層和IP層的地址應該是對應的。H說明了Destination的性質,如果是H的,則說明該地址是一個完整的地址,既有網(wǎng)絡號又有主機號,那么再匹配的時候就既要匹配網(wǎng)絡號,又要匹配主機號;反之,Destination就代表一個網(wǎng)絡,在匹配的時候只要匹配一下網(wǎng)絡號就可以了。

    這樣,IP選路的方式就可以更加具體化了。如下

  • 首先用IP地址來匹配那些帶H標志的DestinationIP地址。
  • 如果1失敗就匹配那些網(wǎng)絡地址。
  • 如果2失敗就發(fā)送到Default網(wǎng)關
  • 順便提一下那個GenMask(還記得子網(wǎng)掩碼么),它指定了目的地址的子網(wǎng)號,例如第一條的子網(wǎng)就是11。

    1.2.其他有關路由表的知識

    一般,我們在配置好一個網(wǎng)絡接口的時候,一個路由就被直接創(chuàng)建好了。當然我們也可以手動添加路由。用route add命令就可以了。

    而當一個IP包在某一個路由器的時候發(fā)現(xiàn)沒有路由可走,那么該路由器就會給源主機發(fā)送“主機不可達”或者“網(wǎng)絡不可達”的ICMP包來報錯。

    注意,一般的操作系統(tǒng)默認是沒有路由功能的,這需要自己配置。這些歷史原因就不細說了,

    1.3.ICMP的IP重定向報文和路由發(fā)現(xiàn)報文

    當IP包在某一個地方轉向的時候,都回給發(fā)送IP報的源主機一個ICMP重定向報文,而源主機就可以利用這個信息來更新自己的路由表,這樣,隨著網(wǎng)絡通信的逐漸增多,路由表也就越來越完備,數(shù)據(jù)轉發(fā)的速度也會越來越快。我們需要注意的是:

  • 重定向報文只能由路由器發(fā)出。
  • 重定向報文為主機所用,而不是為路由器所用。
  • 在主機引導的時候,一般會發(fā)送在網(wǎng)內廣播一個路由請求的ICMP報文,而多個路由器則會回應一個路由通告報文。而且,路由其本身不定期的在網(wǎng)絡內發(fā)布路由通告報文,這樣,根據(jù)這些報文,每一個主機都會有機會建立自己的路由表而實現(xiàn)網(wǎng)絡通信。路由器在一份通告報文中可以通告多個地址,并且給出每一個地址的優(yōu)先等級,這個優(yōu)先等級是該IP作為默認路由的等級,至于怎么算的就不深究了。

    路由器一般會在450-600秒的時間間隔內發(fā)布一次通告,而一個給定的通告報文的壽命是30分鐘。而主機在引導的時候會每三秒發(fā)送一次請求報文,一旦接受到一個有效的通告報文,就停止發(fā)送請求報文。

    在TCP/IP詳解編寫的時候,只有Solaris2.x支持這兩種報文,大多數(shù)系統(tǒng)還不支持這兩種報文。(后面還會講到一些有用的路由報文)

    動態(tài)選路協(xié)議

    前面的選路方法叫做靜態(tài)選路,簡要地說就是在配置接口的時候,以默認的方式生成路由表項。并通過route來增加表項,或者通過ICMP報文來更新表項(通常在默認方式出錯的情況下)。 而如果上訴三種方法都不能滿足,那么我們就使用動態(tài)選路。

    動態(tài)選路協(xié)議是用于動態(tài)選路的重要組成部分,但是他們只是使用在路由器之間,相鄰路由器之間互相通信。系統(tǒng)(路有選擇程序)選擇比較合適的路有放到核心路由表中,然后系統(tǒng)就可以根據(jù)這個核心路有表找到最合適的網(wǎng)路。也就是說,動態(tài)選路是在系統(tǒng)核心網(wǎng)絡外部進行的,它只是用一些選路的策略影響路由表,而不會影響到最后通過路由表選擇路由的那一部分。選路協(xié)議有一大類常用的叫做內部網(wǎng)關協(xié)議(IGP),而在IGP中,RIP就是其中最重要的協(xié)議。一種新的IGP協(xié)議叫做開放最短路經(jīng)優(yōu)先(OSPF)協(xié)議,其意在取代RIP。另一種最早用在網(wǎng)路骨干網(wǎng)上的IGP協(xié)議--HELLO,現(xiàn)在已經(jīng)不用了。

    如今,任何支持動態(tài)選路的路由器都必須同時支持OSPF和RIP,還可以選擇性的支持其他的IGP協(xié)議。

    2.1.Unix選路程序

    Unix系統(tǒng)上面通常都有路由守護程序--routed。還有一個叫做gate。gate所支持的協(xié)議要比routed多,routed只是支持RIPv1版本。而gate則支持RIPv1、v2,BGPv1 等等。

    2.1.RIP:選路信息協(xié)議

    它的定義可以在RFC1058內找到,這種協(xié)議使用UDP作為載體(也就是UDP的上層協(xié)議)。我們最關心的就是RIP其中的一個段,叫做度量的段,這是一個以hop作為計數(shù)器(就是以走過多少路由為計數(shù)器)的段(IP協(xié)議里面也有一個TTL不是么)。這個度量段將最終影響到路由表的建立。參考圖:

    一般說來routed要承擔如下的工作:

  • 給每一個已知的路由器發(fā)送rip請求報文,要求其他路由器給出完整的路由表。這種報文的命令字段為1,地址字段為0,度量地段為16(相當于無窮大)。
  • 接受請求,如果接收到剛才的那個請求,就把自己的完整的路由表交給請求者。如果沒有,就處理IP請求表項,把表項中自己有的部分添上跳數(shù),沒有的部分添上16。然后發(fā)給請求者。
  • 接受回應。更新自己的路由表。使用hop數(shù)小的規(guī)則。
  • 定期更新路由表,一般是30s(真頻繁)給相鄰的路有啟發(fā)一次自己的路由表。這種形式可以使廣播形式的。
  • 這個協(xié)議看起來會工作的很好,但是,這里面其實有很多隱藏的憂患,比如說RIP沒有子網(wǎng)的概念,比如說環(huán)路的危險。而且hop數(shù)的上限也限制了網(wǎng)絡的大小。

    因此,出現(xiàn)了很多RIPv1的替代品,比如說RIPv2,比如說OSPF。他們都是通過某種策略來影響路由表,所以就不說了。

    轉載于:https://www.cnblogs.com/flyoung/p/5481245.html

    總結

    以上是生活随笔為你收集整理的TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。