計算機網絡筆記(四)謝希仁版

TCP/IP五層——網絡層重要概念


*1、網絡層的協議主要是網際協議IP,與之匹配的有ARP(Address Resolution Protocol),ICMP(Internet Control Message Protocol),IGMP(Internet Group Management  Protocol),本來還有一個RARP逆地址解析協議,如今不再使用了,功能歸爲應用層的DHCP協議中


*2、IP是由因特網名字和數字分配機構ICANN進行分配的


*3、IP地址的劃分:
A類:8位網絡號(第一位爲0)可指派的網絡號爲2^7-2,因爲全零(本地址)全一(所有主機)需要去掉,24位主機號
B類:16位網絡號(前兩位爲10)可指派的網絡號爲2^14-1,因爲128.0.0.0是不指派的,16位主機號
C類:24位網絡號(前三位爲110)可指派的網絡號爲2^21-1,因爲192.0.0.0是不指派的,8位主機號
D類:前四位爲1110,是多播地址
E類:前四位爲1111,保留


*4、127.0.0.1是環回地址,用於測試本主機進程之間的通信


*5、MAC地址是數據鏈路層和物理層使用的地址,iP地址是網絡層及一上各層使用的地址


*6、一個主機可以有多個MAC地址,比如一個路由器連接兩個網絡,就擁有兩個MAC地址;並且MAC地址是48位16進制的數據


*7、分組數據在各個網絡中跳轉時,幀的源地址和目的地址是一直在變化的,即本路由發往到下一個路由的兩者硬件地址


*8、ARP協議的實現過程:
ARP協議的作用:實現IP地址和MAC地址的映射關係
ARP協議有一個ARP緩存,這個緩存存放在計算機內存中或者計算機網絡設備中,當數據鏈路層想爲目的IP分配目的MAC地址時,就需要用到ARP協議查找相對應的MAC地址
假設,一臺主機剛剛啓動,意味這在這臺機子的ARP緩存中是不存在任何映射表的,如果你想發數據到其他主機,這時就需要廣播一個ARP請求分組(發送端IP,發送端MAC,目的端IP),本網路的其他主機都會收到,然後覈對目的IP,如果與接收端IP一致,就手下分組,存儲發送過來的IP和MAC地址,存到ARP緩存中(這個記錄會在一定的時間段清除,爲保證數據的正確性);並且發送一個響應請求,將自己的MAC地址發送回去,然後剛剛發送ARP請求的主機再進行封裝成幀的處理。或者是,這個IP在本網絡中找不到相對應的主機,這時,連接兩個網絡的路由就會收下這個請求,發送響應分組,等待發送端的主機將數據發送到路由中存儲,然後路由器再重複上述操作,在下一個網絡中查找相對應的IP的MAC,如果沒有,則再發送給下一個關聯兩個網絡的路由,再進行轉發。其中需要明白的是,在不斷的發送中,MAC地址一直在變,而IP地址是不變的,每個網絡不止有兩個路由存在,可以用IP地址來判斷哪個路由能通往目的地址。


*9、爲什麼要使用IP這個邏輯地址:
因爲IP地址在整個因特網是唯一的。並且,全世界存在着各種各樣的網絡,那就意味這物理地址的各種各樣。如果僅僅是使用物理地址,這需要進行繁瑣的硬件地址轉化工作,因此使用IP地址與MAC地址相映射的關係存儲


*10、IP數據報的首部固定部分是20字節,可變部分是40字節,因此首部最大值是60字節,並且首部長度必須是4字節的整數倍,如果不是,就需要在尾部填充


*11、子網分組轉發的過程:
*從收到的數據報的首部提取出目的IP地址D
*先判斷是否直接交付(判斷的依據是,通過各個網絡的子網掩碼與D相與,若網絡地址一致,則說明在同一網段)。若是匹配,則把分組直接交付,然後通過ARP協議解析出MAC地址,把數據報重新封裝成幀發送出去,任務結束。否則就簡介交付
*若路由表中有目的地址爲D的特定主機路由,則把數據報傳送給路由表所指明的下一個跳轉路由。
*對路由表中的子網掩碼與上D,得出結果N,若N與這行的目的地址相同,則把數據報交付給這行的下跳路由器
*否則如果路由表中有一個默認路由,就把數據報發送到默認路由
*否則報告轉發分組出錯


*12、有類網址計算網段的方法
*網段的起始位置:把IP地址和子網掩碼按位相與,得出的網絡地址就是起始網絡地址
*網段的結束位置:把IP地址和子網掩碼按位取或後的值相或,得出的網絡地址就是結束網絡地址


*13、無類網址計算網段的方法:
假設,192.199.170.82/27
通過27可知,這個地址的前三個字節都爲1,共24位,第四個字節爲01010010,必須劃分前三位才能等於27,再把後五位取0,作爲首地址,後五位取1作爲尾地址


*14、地址快分配:
194/7——歐洲
198/7——北美洲
2007——中美洲,南美洲
202/7——亞洲,太平洋地區


*15、ICMP永續主機或路由報告差錯詳情和有關異常情況的報告


*16、不應發送ICMP差錯報文的情況:

*收到的本身就是ICMP差錯報文

*對第一個分片的數據報片的所有連續報片都不發送ICMP差錯報告報文

*對具有多播地址的數據報不發送ICMP差錯報文

*對特殊地址127.0.0.1和0.0.0.0不發送ICMP差錯報文


*17、ICMP應用:CMD下的Ping和Tracert命令的工作原理


*18、路由選擇協議:

*內部網關協議IGP(Interior Gateway Protocol):RIP,OSPF

*外部網關協議EGP(External Gateway Protocol):BGP


*19、RIP(Route Information Protocol)的實現過程(其實就是路由器之間更新信息的機制):

*當路由器X收到來自相鄰路由器Y的RIP報文時,首先將收到的數據中的嚇一跳路由改成Y,並且把距離d加上1

*然後將這個修改過的Y的路由信息表與X的路由信息表進行比較,如果X中沒有,就添加

*如果目的網絡相同,並且嚇一跳路由相同,則更新距離爲Y的值

*如果目的網絡相同,但是嚇一跳路由不同,則取X和Y信息表中較小的值


*20、RIP報文是使用UDP傳輸,端口爲520,一個RIP報文最多容納25個路由信息,每個路由信息爲20個字節,RIP的頭部爲4個字節,所以RIP報文的最大長度爲4+20*25=504個字節。RIP能使用的最大路由數爲15,即距離最大值爲15,若超過則視爲不可達


*21、OSPF報文是使用TCP傳輸,端口爲89


*22、OSPF協議工作流程:

OSPF流程可以分爲兩種情況:

*當收發一個數據報文的情況:由於OSPF協議會爲每個路由建立一個鏈路狀態數據庫,路由器會以本身作爲一個根節點,使用SPF(Shortest Path First)算法找出最短的到達目的地的路徑,然後選擇下一跳路由,到了下一跳的路由,再重複上述步驟,將路由再作爲根節點,尋找最短路徑;直到將報文交付目的IP

*當路由增減,鏈路發生變化的情況:路由器會產生鏈路狀態廣播數據包,將更新的信息發送給與本路由相連的周圍所有路由,周邊的路由,收到這個路由發過來的包,更新自己本身的鏈路狀態數據庫,保存副本後,發送到周邊除了剛剛發送包的那個路由之外,下一個路由執行第一個接收者同樣的操作,這樣,一個改變的信心就可以很快的傳遍整個網絡。這就洪泛法(flooding),並且這種方法比較穩定

*23、OSPF報文的首部有8個字段,共24個字節;其中‘類型’字段有5種類型:

問候(Hello):用於發現和維持鄰站的可達性

數據庫描述:向鄰站給出自己的鏈路狀態數據庫的所有鏈路狀態項目的摘要信息

鏈路狀態請求:向其他路由請求某些鏈路狀態項目的詳細信息

鏈路狀態更新:用洪泛法更新全網的新鏈路狀態,這是OSPF協議的核心,並且這個更新的狀態也有五種

鏈路狀態確認:對鏈路更新分組的確認

OSPF規定每隔10s就要交換一次Hello分組,若40s沒收到某個路由發來的Hello分組,就視爲到此路由不可達。當然RIP和OSPF協議僅僅是一個自治網內部使用的協議


*24、BGP報文使用TCP傳輸,端口爲179


*25、BGP協議使用的原因:因特網的規模太大,使得自治網之間的路由選擇非常困難(儘管在自治網內已經使用了指定路由的方法使廣播的信息量大大降低);另外,每個自治網互聯到其他自治網必須考慮到經濟、安全的問題。所以,自治網內部使用的如OSPF協議,這種是通過尋找最短路徑的方法並不適用,因爲最短的未必是最好的,如果安全性不夠呢?BGP協議是尋求一個較好的向量路徑,而非是最優路徑


*26、BGP協議工作的流程:

每個自治網的管理員都必須爲這個自治網指定一個邊界路由代言人,用於不同自治網之間的信息交換,當然,這個代言路由器,也可以運行內部網關協議。每當報文在一個自治網內找不到交付者時,就交給邊界路由,邊界路由查找與其他自治網相關的信息,如果有則選擇發送,如果沒有,則通知報錯;並且,搜索獲得的最佳路徑中,不應該出現自己本身的自治網,不然這樣就會繞圈子。


*27、進程之間的通信的可靠性是由運輸層負責


*28、IP數據報首部中的生存時間字段給出了IP數據報在網絡中所能經過的最大路由器數,防止IP數據報在互聯網中無限地兜圈子


*29、網絡層向上層的傳輸層提供面向連接的虛電路服務和無連接的數據報服務,前者傳輸可靠,後者傳輸不可靠


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章