計算機網絡基礎知識
http://blog.csdn.net/goodboy1881/article/category/204448(亂入一下,關於tcp/ip這個網址總結的特別好)
1.網絡層提供兩種服務
一種是虛電路服務:源節點和目的節點建立連接,所有的數據包都要通過該連接進行傳輸;一種是數據報服務:兩個節點之間無連接,數據報的傳輸路徑不固定;
2.各層配套的協議是:
3.網絡層通信的基本單位是ip數據報,且ip數據報可以分片;
4.ip地址格式
IP地址組成{網絡號:主機號},網絡號+主機號總共32位,其中,網絡號和主機號的位數由具體的網絡分類決定;ip地址大致分為A,B,C,D,E類;同一個局域網裏的主機或者路由器的網絡號是相同的;路由器連接不同的局域網,故路由器有>=2個的ip地址;
每種網絡的範圍:對於A類,網絡號全0和全1都不要,B,C類全0不要;主機號不能全0;
5.路由器怎麽轉發數據報?
5.1路由表中內容:特定主機路由,網絡前綴路由,缺省路由;匹配規則:1.如果目的地址是特定主機路由,就選這條路由;2.如果網絡前綴和目的主機的網絡前綴相同,就選這條路由,或者有多個網絡前綴相同,選擇網絡前綴最長的;3.上述兩條不符合,就選擇缺省路由;4.如果前面幾條都不行,就報目的主機不可達ICMP報文。具體轉發流程如下
(1)由目的地址D得到該地址的網絡地址N;
(2) 如果該網絡地址N和路由器直接相連,那麽可以直接交付,否則轉到(3);
(3)如果目的地址D有對應的特定主機路由,那麽交付到相應的下一跳路由器,否則轉到(4);
(4)如果路由表中有網絡地址N的路由項,那麽交付到相應的下一跳路由器,否則轉到(5);
(5)如果路由表中有缺省路由的路由項,那轉到該缺項路由的嚇一跳地址,否則轉到(6);
(6)報告目的地址D不可達,發送ICMP差錯報文;
6.ARP工作原理
6.1 ARP高速緩存:每個主機中都存在一個ARP高速緩存,其緩存了本局域網內各主機和路由器ip地址到mac地址的映射;當主機A向主機B發送分組,首先查找主機A的ARP緩存,如果有主機B ip地址到mac地址的映射,封裝ip數據報,加上mac地址後進行傳輸;
如果A,B在同一個網段裏;
如果主機A中沒有B的ip地址到mac地址的映射,A會以廣播形式發送一個ARP請求報文,報文裏給出A自己的ip和mac地址,以及B的ip地址,問ip地址對應的mac地址是誰?B接收到以後發現目的ip地址跟自己的ip地址相同,就向A一對一的發送ARP響應報文,報告自己的mac地址,A將B的IP地址和mac地址存儲到自己的ARP高速緩存中。
如果A,B不在同一個網端;
首先說一下網關:其實就是一個網絡聯向其他網絡的地址,是一個邏輯概念,如果沒有該IP地址,兩個局域網是不能連通的,現在網關一般通過路由器都能實現,也就是路由器的IP地址是網關;(1)如果主機A發現主機B的ip地址的網絡號和自己不同,知道不是在同一個網端內,就應該將該分組發送給網關,如果不知道網關的的IP地址會先發送獲得該網關mac地址的ARP請求報文。(2)如果知道網關的mac地址,將分組發給該網關後,網關在確定發送給誰;
7.劃分子網
7.1為什麽要劃分子網?
為了提高ip地址利用率,比如A類地址,每個網絡號有很多個主機,如果路由表中只存儲網絡號,那麽在該網絡號的所有分組都要通過該路由器進行轉發,不夠詳細。故可以將主機號劃分成 子網號:主機號;其中子網的網絡地址可以通過ip地址和子網掩碼相與得到;A,B,C類的默認子網掩碼分別是255.0.0.0,255.255.0.0,255.255.255.0;例如
192.225.225.128/30,子網掩碼是30位,該子網下的主機數只有2個;還有CIDR地址塊,其IP地址構成是 網絡前綴+主機數/網絡前綴位數;通過路由器的路由表查找時,根據最長匹配前綴進行;
8.路由器中的路由表是怎麽得來的?現在要說說這個問題
主要有兩種算法,第一種是距離向量算法(distance-vector,d-v),另外一種是鏈路狀態算法;其中基於距離向量算法的協議是RIP,下面先詳細講一下RIP協議。
首先RIP協議中路由器的路由表中項目:目的地址,下一條路由器,距離(此處是路由器的跳數,即到達該目的地址需要經過多少個路由器,如果>15,該目的地址不可達)。該協議主要通過路由器交換彼此的信息從而達到知道所有目的地址路徑,其中需要知道路由器都是和誰交換信息?交換什麽信息?什麽時候交換信息?
(1)路由器和鄰居交換信息,也就是不通過其他路由器直接相連的路由器;
(2)彼此交換自己所有信息;
(3)每隔一定時間就交換信息;
距離向量算法基於bella—ford算法,更新的目的是保證路由器到目的地址的路徑最短,即經過的路由器個數最少,而不管是否時間效率上最好;下面是一個例子:
(1)路由器X向鄰居發送自己的所有路由信息,
(2)將X發送過來的每條路由信息改成 下一跳地址X,距離加1後是d,目的地址不變,然後將這些信息和本路由器的路由信息比較;
a.如果本路由器中沒有該目的地址的信息,就將該條信息加入;
b.如果本路由器中有該目的地址的信息,比較下一跳,如果下一跳都是X,更新到達目的地址的距離為d,如果原來的下一跳不是X,比較到達目的地址的距離,如果d比較 小,更新原來到目的地址的距離為d,否則不變;
c。如果3分鐘後鄰居還沒有發送他的路由信息,標記鄰居不可達,距離改成16;
RIP允許距離最大只能是15,所以RIP一般只用於小型的網絡,且如果有個目的地址不可達,只有等夠一定的時間才會發送給鄰居,接著鄰居會向他的鄰居發送,簡而言之就是好消息傳播的快,壞消息傳播的慢;
下面說關於鏈路狀態算法,OSPF協議使用該算法。
與RIP不同,OSPF測試鄰居的連通性,並把測試結果告訴相鄰的其他路由器,。。。就這樣信息被傳播開;
計算機網絡基礎知識