TCP/IP協議族中最核心的協議,提供不可靠、無鏈接的數據報傳輸服務。安全
IP數據報格式以下。網絡
安全和處理限制(用於軍事領域,詳見RFC 1108)併發
記錄路徑(讓每一個路由器都記下它的IP地址)spa
時間戳(讓每一個路由器都記下它的IP地址和時間)blog
寬鬆的源站選錄(爲數據報指定一系列必須通過的IP地址)接口
嚴格的源站選錄(只能通過指定的這些地址)內存
可選字段必須是32bit的整數倍,必要時須要插入0進行填充,由於IP首部始終是32bit的整數倍(這是首部長度字段要求的)路由
對於主機,若是目的主機和源主機直接相連,或者處於同一個網絡中,IP數據報就直接發送到目的主機。不然,主機將數據報發送給默認的路由器,由路由器來轉發包。it
IP層能夠配置成路由器的功能,也能夠配置成主機功能。區別是,主機不轉發數據報,而路由器須要轉發包。table
IP層在內存中都有一個路由表,當收到數據報進行發送時,都要搜索該表。
路由表每項包含的信息:
IP路由選擇主要完成下面的功能:
1) 搜索路由表,尋找與目的IP徹底匹配的條目。若是找到,則把報文發給下一站路由或者直鏈接口(取決於標誌字段的值)
2) 搜索路由表,尋找與目的網絡號匹配的條目。找到的處理同上。這種搜索網絡的匹配方法必須考慮可能的子網掩碼。
3) 搜索路由表,尋找標爲「默認(default)」的條目。若是找到,處理同上。
若是上述都沒成功,則丟棄該包,並返回主機不可達或者網絡不可達的錯誤。
數據包在傳輸過程當中,通過不一樣的鏈路層或不一樣的網絡會構造不一樣的鏈路層首部,可是IP部分不會更改(忽略路由器的NAT功能)。鏈路層的目的地址(若是有的話),始終是下一站的鏈路層地址。
最先:IP地址 = 網絡號 + 主機號
子網編址:IP地址 = 網絡號 + 子網號 + 主機號
子網對於子網之外的路由器都是透明的,對於子網內部的路由器不透明。
RFC 1009容許含有子網的一個網絡使用多個子網掩碼。
IP地址編址方案:將IP地址劃分爲A,B,C,D,E五類,其中A,B,C爲基本類,D,E類做爲多播和保留使用。
網絡類別 |
最大網絡數 |
IP地址範圍 |
最大主機數 |
私有IP地址範圍 |
A |
126(2^7-2) |
1.0.0.0--126.255.255.255 |
16777214 |
10.0.0.0--10.255.255.255 |
B |
16384(2^14) |
128.0.0.0--191.255.255.255 |
65534 |
172.16.0.0--172.31.255.255 |
C |
2097152(2^21) |
192.0.0.0--223.255.255.255 |
254 |
192.168.0.0--192.168.255.255 |
內部私有地址:
A類 10.0.0.0--10.255.255.255
B類 172.16.0.0--172.31.255.255
C類 192.168.0.0--192.168.255.255
特殊的IP地址:
0表示全部的比特爲0,-1表示全部的比特位全爲1,netid、subnetid和hostid分別表示不爲全0或全1的對應字段。子網號欄爲空表示該地址沒有進行子網劃分。