網絡協議
基本介紹
IP是TCP/IP協議簇中最核心的協議,所有的TCP、UDP、ICMP及IGMP數據都以IP數據報格式傳輸。IP提供不可靠、無連接的數據報傳送服務。
- 不可靠:協議不能保證IP數據報能成功地到達目的地。
- 無連接:協議並不維護任何關於后續數據報的狀態信息。
IP層的數據封裝格式
每個字段的詳細解釋見原書
IP路由選擇
如果目的主機與源主機直接相連(如點對點鏈路)或都在一個共享網絡上(以太網或令牌環網),那么IP數據報就直接送到目的主機上。否則,主機把數據報發往一默認的路由器上,由路由器來轉發該數據報。
IP層既可以從TCP、UDP、ICMP和IGMP接收數據報(即從本地上層生成的數據報)並發送,或者從一個網絡接口接收數據報並進行發送。IP層有一個路由表,收到數據報並進行發送時,都要對該表搜索一次。當數據報來自某個網絡接口時,IP首先檢查目的IP地址是否為本機的IP地址之一或者IP廣播地址。如果確實是這樣,數據報就被送到由IP首部協議字段所指定的協議模塊進行處理。如果數據報的目的不是這些地址,那么如果I P層被設置為路由器的功能,那么就對數據報進行轉發(也就是說,像下面對待發出的數據報一樣處理);否則數據報被丟棄。
路由表
- 目的IP地址:它既可以是一個完整的主機地址,也可以是一個網絡地址,由該表目中的標志字段來指定(如下所述)。
- 下一站(或下一跳)路由器( next-hop router)的I P地址,或者有直接連接的網絡IP地址。
- 標志。
- 為數據報的傳輸指定一個網絡接口。
IP路由選擇是逐跳地(hop - by - hop)進行的。
如果上述步驟都不成功,那么數據報就不能被傳送。
子網尋址
現在所有的主機都要求支持子網編址(RFC 950 [Mogul and Postel 1985])。不是把IP地址看成由單純的一個網絡號和一個主機號組成,而是把主機號再分成一個子網號和一個主機號。
子網掩碼
除了IP地址以外,主機還需要知道有多少比特用於子網號及多少比特用於主機號。這是在引導過程中通過子網掩碼來確定的。這個掩碼是一個 32 bit的值,其中值為1的比特留給網
絡號和子網號,為0的比特留給主機號。