下面詳細說一下 IPv4 和 IPv6 之間的差別。安全
IPv4 又稱互聯網通訊協議第四版,由32位(4字節)組成,一般以10進制的方式展示出來,如192.168.0.1。網絡
進行IP通訊時,須要在數據的前面加入IP首部信息,而IPv4的首部以下圖:設計
IPv6也叫互聯網協議第6版,主要是爲了解決IPv4地址被耗盡而設計的。3d
IPv6 由128個比特組成,通常寫成8個16位字節,它能夠組成3.40 * 10^38 個地址,足以人們去爲全部的主機和路由分配地址。cdn
IPv6和IPv4所表示的方式不一致,若是用十六進制的方式表示的話就是8個16位比特組成,如:blog
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210路由
若是二進制表示中出現連續的0,則能夠寫成it
1080::8:800:200C:417Aio
IPv6與IPv4相似,也是經過IP地址的前幾位來標識IP種類的。class
IPv6 首部如圖:
IPv6爲了減小路由器的壓力,取消了首部校驗和字段。此外分片處理的識別碼也變成了可選項。
IPv6的分片處理被分配在發送端主機上進行,路由器不進行分片,而進行分片的功能就是「路徑MTU發現」。
路徑MTU發現和傳統的路由器分片不一樣,傳統的路由器分片是路由器根據不一樣的數據鏈路中可承載的最大傳輸單元(MTU)來進行分片處理。而路徑MTU發現則是經過發送端發送一個禁止分片表示的包,當路由器遇到須要分片的時候,會把當前的包丟掉,而後返回一個ICMP到主機。在下一次主機根據ICMP所通知的MTU的值進行分片處理,如此反覆,就能獲得最適合的MTU。
若是隻有IP地址的話是沒法進行網絡通訊的,在通訊的時候還須要有着下一步的路由器或者主機的信息,而記錄這個信息的就是路由控制表。
路由控制表中記錄着網絡地址和下一步應該發送的路由器地址。當接受到IP包的時候,會先分析首部中的目標地址,而後從控制表中查找與改地址具備相同網絡地址的記錄,就能夠找到下一個須要發送的路由器地址。若是有着多條相同的網絡地址的記錄,會選擇最爲吻合的(也就是相同位數最多的)。
路由地址的類型有着如下分類:
當鏈接的主機和路由器越多的時候,路由控制表所記錄的網絡地址就越多,因此這個時候必須進行聚合。
就如192.168.2.0/24和192.168.3.0/24就能夠聚合爲192.168.2.0/23爲已知,這樣就能夠減小路由表的大小和減小查找的時間。
加油加油~~~
圖解TCP/IP
這會做爲最近的一個長期目標不按期更新。