通過之前的網路層基礎知識,IP地址以及路由器的簡介,大家應該對於TCP/IP有一個大致的瞭解,在腦海裡應該對於網路的幾個基礎概念有個大概的瞭解,簡單點說整個協議棧就是在做一件事,規定網路報文(網路傳輸中的數據報)的發送和接收,而整個協議棧內的協議,也是可以分為之前介紹過的鏈路層 》網路層 》傳輸層 ...
通過之前的網路層基礎知識,IP地址以及路由器的簡介,大家應該對於TCP/IP有一個大致的瞭解,在腦海裡應該對於網路的幾個基礎概念有個大概的瞭解,簡單點說整個協議棧就是在做一件事,規定網路報文(網路傳輸中的數據報)的發送和接收,而整個協議棧內的協議,也是可以分為之前介紹過的鏈路層-》網路層-》傳輸層-》應用層,在這每一層中都有很多不同的協議,但是最常用的協議,每一層就是一到兩種,所以想學協議,先從每一層最常見,最常用的開始學起:
- 鏈路層——乙太網、VLAN
- 網路層——IP協議
- 傳輸層——TCP/UDP協議
- 應用層——HTTP協議
上面的幾種協議,如果都能熟練掌握,那基本上就是入門並且偏上的水平了,所以接下來我們就逐一介紹各個協議。
上面就是IP報文的模板,其中IP首部一般為20位元組,也就是圖中的第1行到第5行,第6行為可選欄位,後續的就是報文所攜帶的數據。我們重點介紹IP首部,可以看到,每一行是4個位元組,也就是32位,而對於每一行我們又根據位數分為不同的欄位,先來看看每個欄位具體的含義:
第一段:
- 4位版本號:取值為4時代表IPV4協議,取值為6時代表IPV6協議
- 4位首部長度:單位是4位元組,一般取值為5
- 8位ToS欄位:這個欄位比較特殊,它相當於是報文的優先順序或者是報文的服務類型,用來區分報文的業務類型,對於設備做QoS有著重大的意義。
- 16位總長度:代表這一個IP報文總的長度,後面我們會介紹一個MTU時會介紹該欄位。
第二段:
- 16位標示符:用來唯一標記這一份IP報文
第三段:
- 8位生存周期TTL欄位:報文的生存周期,報文每經過一次轉發,該欄位值減1,當減為0時,丟棄該報文。
- 8位協議:代表著這份IP報文承載著何種上層傳輸協議或者網路協議,常見的取值與對應關係如下:
- ICMP協議
- IGMP協議
- TCP協議
- UDP協議
- IGRP協議
- 16位首部校驗和:用於檢驗收到的報文是否有差錯。
第四段:
- 32位源IP地址:發送方IP地址
第五段:
- 32位目的IP地址:接收方IP地址
介紹完IP報文的格式以後,我們再來說一下IP報文的特點,其主要特點有以下幾點:
- IP報文具有不可靠性,即不能發送方發送報文後,不保證接收方一定能收到該報文。
- IP報文的不保序性,既然IP報文是不靠靠的,那相應的,它也不保證發送出的報文的順序性,也許發包順序是1、2、3,但是收包順序可能就是3、2、1
- IP報文的分片,若發送報文數據過大,則涉及到報文分片。
綜上所述,我們對IP協議有一個大致的瞭解,之後我們會陸陸續續介紹給多協議的,敬請期待!