我們這篇文章來介紹一下ip協議。
ip協議也就是我們所說的網路層協議,它的主要目的就是將乙個ip位址的資料傳送到另外乙個ip位址所代表的裝置,這兩個ip位址有可能是隸屬於同乙個網段,也有可能隸屬於不同的網段。
我們來看乙個比較簡單的情況。當把一組資料發往ip位址為127.127.127.127的裝置,這時候有兩種情況。一種是我的裝置也處於這個網段,這種情況比較簡單,通過路由器、交換機甚至是一條網線直連就可以將資料傳送到目的地。另一種情況是兩個ip位址處於不同的網段,那就需要乙個路由器乃至多個路由器的幫助才可以將資料傳送到目的地。
我們首先來說一下ip的特性。ip最根本的特性就是要求更高的效率、更快的傳輸速度,因此它也會帶來兩個同樣的問題——不可靠、無連線。在ip一味地追求效率的傳輸特性中,它也會帶來幾個其他的問題,第一,包可能會丟失,ip層無法確保你的包是否傳送到了目的地;第二,ip包可能會重發,也就是有可能把相同的包傳送兩次;第三,ip包有可能以任意的順序接收到,傳送時候的順序是abc,但接收方收到的順序有可能是cab,也就是有可能並不是我們所期望的那種結果。
ip層的另乙個特性是它可以將包分片或重組。我們都知道乙個乙太網最常用的長度是1524個位元組,去掉頭包和尾包就只剩下1500個位元組,當ip層想傳送超過1500個位元組的資料時就會進行分片,分成a包和b包,接收方可以把a包和b包重組,得到完整的資料傳給應用層。
下面介紹一下ip頭包,ip頭包可以認為是20位元組的乙個結構,頭包中從左到右是由低位到高位的,最高位是32個bits。
version代表的是ip版本號,現在應用最多仍然是ipv4,但由於ipv4帶來的位址不夠用的情況,現在也推出了ipv6,但我們今天要說的主要還是ipv4的問題。
如果沒有選項的話,頭包的長度應該是5*32個bits。
整個ip包一共有16位,所以ip包的長度最長為216也就是65535個bytes,但是真正的ip包很少會發出65535個bytes這麼大的資料。
time to live的初始化值一般是255,然後每經過乙個路由器就會減1,當ttl=0的時候將包直接丟掉去避免無限的路由。
protocol代表著下級由哪乙個協議來進行處理,典型的就是tcp、udp或者是icmp等。
在ip層,對資料報進行校驗的時候只校驗頭包,並不校驗資料,當發現包出錯的時候直接將包丟棄。
比較重要的選項有時間戳選項,另外是記錄路由和源路由的一種方式。如果大家向把時間戳和記錄路由顯示出來,可以用ping的-r選項。
下面來說一下ip路由的問題。假設有乙個裝置,這個裝置有兩個甚至三個網絡卡,當從乙個網絡卡接收到資料之後發現資料的目的地並不是自己,那它就會將資料通過另乙個網絡卡進行**,這個裝置起到的作用就是路由器。當然事實上的路由器是乙個非常複雜的功能,因為它的**協議和**演算法非常複雜。
最後我們說一下ip包的分片和重組。最大傳輸單元針對不同的介質實際上是不一樣的。光纖網路的mtu一般是4352個bytes,但對於乙太網來講是1500個bytes,因為乙太網中它的幀長度是1524個bytes,但是要去掉頭和尾所以就只有1500個bytes。在ip層實際上可以接收更大的ip包,也就是最大長度65535個bytes,傳送方可以把每乙個包分成不同的片,接收方也可以把包進行重組。同時ip的頭包專門可以管理相關資訊,確認這些不同的片是不是隸屬於同乙個包。
來電堂聽課,找你要的設計秘笈!
也可以直接登陸電堂****課程
電堂科技c.51diantang.com
ip頭ttl IP頭情景分析
ip網路應用廣泛普及了,我本人和ip接觸很多年,閒暇之餘,想來ip頭設計有哪些特點,作文分享。現網使用的協議ipv4 v6,ipv1 v2 v3僅僅存在實驗室,v5為流 預留。version欄位總共4個bit,可以支援15個版本,還好ip是基礎協議,版本不會太多,四個夠用了。本文僅討論ipv4。ip...
IP協議頭格式
ip internet protocol,網際網路協議 是osi第三層 網路層協議,本節僅以ipv4版本為例進行介紹。ip協議也是乙個無連線的協議,主要就是負責在主機間定址,並為資料報設定路由,在交換資料前它並不建立會話。因為它不保證正確傳遞。另一方面,資料在被收到時,ip不需要收到確認,所以它是不...
IP協議簡介
一 ip 1 ip是tcp ip協議簇中最為核心的協議,所有的tcp udp icmp及igmp資料都是以ip資料報格式傳輸。2 ip提供不可靠 無連線的資料報傳送服務 1 不可靠 不保證ip資料報能成功地達到目的地,ip僅提供最好的傳輸服務,如果發生某種錯誤,ip有乙個簡單的錯誤處理演算法,丟棄該...