1 概念
什么是IP?
IP是TCP/IP協(xié)議族中最為核心的協(xié)議。所有的TCP,UDP,ICMP,IGMP數(shù)據(jù)都是通過(guò)以IP數(shù)據(jù)包格式傳輸。IP提供不可靠,無(wú)連接的數(shù)據(jù)報(bào)傳輸服務(wù)。
- 不可靠:它不能保證IP數(shù)據(jù)報(bào)能成功到達(dá)目的地;
- 無(wú)連接:IP并不維護(hù)后續(xù)數(shù)據(jù)報(bào)的狀態(tài)信息。每個(gè)數(shù)據(jù)報(bào)都是相互獨(dú)立的;
2 IP首部
普通的IP數(shù)據(jù)報(bào)首部為20個(gè)字節(jié),除非含有選項(xiàng)字段

IP首部中包括如下部分內(nèi)容:
- 版本號(hào):目前版本號(hào)為4, 即IPV4。
- 首部長(zhǎng)度:
- 服務(wù)類(lèi)型(TOS):
- 總字段長(zhǎng)度:
- 標(biāo)識(shí)字段(16位):唯一的標(biāo)識(shí)主機(jī)發(fā)送的每一分?jǐn)?shù)據(jù)報(bào);
- 標(biāo)示字段(3位):會(huì)在IP分片和重組的時(shí)候用到;
- TTL(time to live):設(shè)置數(shù)據(jù)可以經(jīng)過(guò)的最多的路由器數(shù)。每經(jīng)過(guò)一次路由器,該值-1;
- 首部檢驗(yàn)和:是根據(jù)IP首部計(jì)算的檢驗(yàn)和碼;
- 源地址:
- 目的地址
- 任選項(xiàng)
3 IP路由選擇
3.1 路由表
IP層中在內(nèi)存中有個(gè)路由表。路由表中的每一項(xiàng)都包含下面信息:
- 目的IP地址:可以是完整的主機(jī)地址,也可以是網(wǎng)絡(luò)地址。由標(biāo)志字段決定。
- 下一跳地址:下一跳路由器的IP地址;
- 標(biāo)志:一個(gè)表示:指明目的IP地址是網(wǎng)絡(luò)地址還是主機(jī)地址。另一個(gè)表示:下一跳地址是否是真的下一跳路由器,還是直接相連的借口;
- 為數(shù)據(jù)報(bào)的傳輸指定一個(gè)網(wǎng)絡(luò)端口;
3.2 路由選擇
IP路由選擇是逐跳地進(jìn)行的。IP并不知道到達(dá)任何目的的完整路徑。
所有的IPl路由選擇只為數(shù)據(jù)報(bào)傳輸?shù)南乱惶酚善鞯腎P地址。
- 當(dāng)一個(gè)IP數(shù)據(jù)報(bào)準(zhǔn)備好了的時(shí)候,它是如何選擇一個(gè)合適的路徑將數(shù)據(jù)報(bào)送到目的地?
No1.最特殊的情況是主機(jī)和主機(jī)相連。那么主機(jī)根本不用尋找路由,直接把數(shù)據(jù)傳輸過(guò)去就可以。至于怎么直接傳輸?shù)?,那么久要靠ARP協(xié)議。
No2.一般情況是,主機(jī)通過(guò)若干路由(Router)和目的主機(jī)相連。
那么路由器就要通過(guò)ip包的信息來(lái)為ip包尋找到一個(gè)合適的目標(biāo)來(lái)進(jìn)行傳遞,比如合適的主機(jī),或者合適的路由。路由器或者主機(jī)將會(huì)用如下的方式來(lái)處理某一個(gè)IP數(shù)據(jù)包:
(1)如果IP數(shù)據(jù)包的TTL(生命周期)已到,則該IP數(shù)據(jù)包就被拋棄。
(2)搜索路由表,優(yōu)先搜索匹配主機(jī),如果能找到和IP地址完全一致的目標(biāo)主機(jī),則將該包發(fā)向目標(biāo)主機(jī)
(3)搜索路由表,如果匹配主機(jī)失敗,則匹配同子網(wǎng)的路由器,這需要“子網(wǎng)掩碼”的協(xié)助。如果找到路由器,則將該包發(fā)向路由器。
(4)搜索路由表,如果匹配同子網(wǎng)路由器失敗,則匹配同網(wǎng)號(hào)路由器,如果找到路由器,則將該包發(fā)向路由器。
(5)搜索路由表,如果以上都失敗了,就搜索默認(rèn)路由,如果默認(rèn)路由存在,則發(fā)包。
(6)如果都失敗了,就丟掉這個(gè)包。
4 子網(wǎng)尋址
地址格式:
IP地址=網(wǎng)路地址+主機(jī)地址
或
IP地址=網(wǎng)路地址+子網(wǎng)地址+主機(jī)地址

- 網(wǎng)絡(luò)號(hào):用于識(shí)別主機(jī)所在的網(wǎng)絡(luò)地址;
- 主機(jī)號(hào):用于識(shí)別該網(wǎng)絡(luò)中的主機(jī);
IP地址分為5類(lèi):
- A類(lèi):保留給政府機(jī)構(gòu)
- B類(lèi):分配給中等規(guī)模的公司
- C類(lèi):分配給任何需要的人
- D類(lèi):用于組播
- E類(lèi):用于實(shí)驗(yàn)
ABC類(lèi)地址特征:
A類(lèi)第一位總是0,B類(lèi)前兩位總是10,C類(lèi)前三位總是110

子網(wǎng)掩碼:
除了IP地址以外,主要還需要知道有多少比特用于子網(wǎng)號(hào)及多少比特用于主機(jī)號(hào)。
