IP:網際協議
IP簡介:
最高位在左邊,記為0bit;最低位在右邊,記為31bit。
Big endian網絡節次序:傳輸次序位線傳輸0~7bit,然後傳輸8~15bit,依次類推。
Little endian:以其他存儲形式存儲二進制整數的機器,必須在傳輸數據之前把首部1轉換成網絡字節次序。
TTL生存時間字段設置了數據報可以經過最多的路由器數。它指定了數據報的生存時間,初始值由源主機設置,一旦經過一個處理它的路由器,它的值就會減1。當字段值為0時,數據報就會被丟棄,並發送ICMP報文通知源主機。
1. IP路由選擇
一般簡單機制:
如果目的主機與源主機直接相連(如點對點鏈路)或都在一個共享網絡上(以太網或令牌環網),那麽IP數據報就直接送到目的主機上。否則把數據報發往一默認路由上,由路由器來轉發該數據報。
主機從不把數據報從一個借口轉發到另一個借口,而路由器則要轉發數據報。內含路由器功能的主機應該從不轉發數據報,除非它被設置成那樣。
一般體制中,IP可以從TCP、UDP、ICMP、IGMP接收數據報並進行發送,或者從一個網絡接口接收數據報並進行發送。IP層在內存中有一個路由表,當收到一份數據報並進行發送時,它都要對該表進行搜索一次。當數據報來自某個網絡接口時,IP首先檢查目的IP地址是否為本機的IP地址之一或者廣播地址。如果是,數據報就被送到由IP首部協議字段所指定的協議模塊進行處理。如果不是這些地址,那麽(1)如果IP層被設置為路由器的功能,那麽就對數據報進行轉發;否則(2)數據報被丟棄。
路由表的每一項都包含以下信息:
(1) 目的IP地址
(2) 下一站路由器的IP地址
(3) 標誌
(4) 為數據報的傳輸指定網絡接口
IP路由選擇主要完成以下功能:
(1) 搜索路由表,尋找能與目的IP地址完全匹配的表目。
(2) 搜索路由表,尋找能與目的網絡相匹配的表目。
(3) 搜索路由表,尋找表位默認的表木。
如果上面這些步驟都沒有成功,那麽該數據報就不能被發送。如果不能傳送的數據報來自本機,那麽一般會向生成數據報的應用程序返回一個“主機不可達”或“網絡不可達”錯誤。
為一個網絡指定一個路由器,而不必為每個主機指定一個路由器。
下面是數據報從主機bsdi到sun的傳送過程:
雙方都在一個以太網上。當IP從某個上層收到這份數據報後,它搜索路由表,發現目的IP地址(140.252.13.0)。於是,在表中找到匹配網絡地址。數據報被送到以太網驅動程序後,然後作為一個以太網數據幀被送到sun主機上。IP的數據報中的目的地址是sun的IP地址(140.252.13.33),而在鏈路層首部中的目的地址是48bit的sun主機的以太網接口地址。這個48bit的以太網地址是用ARP協議獲得的。
2. 子網尋址
子網對於子網內部的路由器是不透明的,子網的劃分所見了路由表的規模。
3. 子網掩碼
上圖中子網掩碼分別為255.255.255.0,255.255.255.192。
給的IP地址和子網掩碼以後,主機就可以確定IP數據報的目的是:本子網的主機;本網絡中其他主機;其他網絡上的主機。
知道本機IP地址,就可以知道它是A類、B類或C類,也就知道網絡號和子網號之間的分界線。如果知道子網掩碼,那就可以知道子網號與主機號的分界線。
4. 命令查詢
Ifconfig:
由於撥號接口可能會經常接通和掛斷,每次線路接通和掛斷時,都必須運行ifconfig。
Netstat:
IP:網際協議