1. IP是TCP/IP中最為核心的協議,所有的TCP、UDP、ICMP等協議均以IP資料報的格式傳輸。IP協議提供不可靠、不需連線的服務,它不保證資料報一定可以送達目的,也不保證資料報的先後次序。
2. IP首部
註:網路位元組序:32bit傳輸的次序為0-7bit, 8-15bit, 16-23bit, 24-31bit(即big endian位元組序)
3. IP路由
IP路由選擇是逐跳進行的。IP並不知道到達任何目的的完整路徑(當然,除了那些與主機直接相連的)。所有的IP路由選擇只為資料報傳輸提供下一站路由器的I P地址。它假定下一站路由器比發送資料報的主機更接近目的,而且下一站路由器與該主機是直接相連的。
IP路由選擇主要完成以下這些功能:
1) 搜尋路由表,尋找能與目的IP地址完全符合的表目(網路號和主機號都要匹配)。如果
找到,則把報文發送給該表目指定的下一站路由器或直接連接的網路介面(取決於標
志欄位的值)。
2) 搜尋路由表,尋找能與目的網路號相匹配的表目。如果找到,則把報文發送給該表目
指定的下一站路由器或直接連接的網路介面(取決於標誌欄位的值)。目的網路上的所
有主機都可以通過這個表目來處置。例如,一個乙太網路上的所有主機都是通過這種表
目進行尋徑的。
這種搜尋網路的匹配方法必須考慮可能的子網路遮罩。關於這一點我們在下一節中進行
討論。
3) 搜尋路由表,尋找標為“預設”的表目。如果找到,則把報文發送給該表目
指定的下一站路由器。
如果上面這些步驟都沒有成功,那麼該資料報就不能被傳送。如果不能傳送的資料報來自
本機,那麼一般會向產生資料報的應用程式返回一個“主機不可達”或“網路不可達”的錯誤。
IP路由選擇是通過逐跳來實現的。資料報在各站的傳輸過程中目的IP地址始終不變,但
是封裝和目的鏈路層地址在每一站都可以改變。大多數的主機和許多路由器對於非本網
的資料報都使用預設的下一站路由器。
IP路由選擇機制的兩個特徵:
(1)完整主機地址匹配在網路號匹配之前執行
(2)為網路指定路由,而不必為每個主機指定路由
4. 子網劃分
A類和B類地址一般都要進行子網劃分. 把主機號再分成一個子網號和一個主機號,這樣減少一個網路中的主機數,同時也縮小了路由表的規模。子網對外部路由器來說隱藏了內部網路組織的細節。
5. 子網路遮罩
子網路遮罩用來確定多少bit用於網路號和多少bit用於主機號。
給定IP地址和子網路遮罩以後,主機就可以確定IP資料報的目的是:
(1)本子網上的主機;
(2)本網路中其他子網中的主機;
(3)其他網路上的主機。
如果知道原生IP地址,那麼就知道它是否為A類、B類或C類地址(從IP地址的高位可以得知),也就知道網路號和子網號之間的分界線。而根據子網路遮罩就可知道子網號與主機號之間的分界線。
6. 特殊IP地址
7. ifconfig、netstat
ifconfig可以用來配置和查詢網路介面資訊:ifconfig
netstat也可以提供介面上的資訊:netstat -in
netstat還可以查詢路由表的資訊:netstat -rn