TCP/IP的網絡層相關封包與數據安全
1) IP封包的封裝:IPv4有32位,IPv6有128位。IP封包最大能夠爲65535bytes。其結構以下圖:服務器
須要額外說明的有:網絡
服務類型:主要分爲,PPP,表示此IP封包的優先度,目前不多是使用;D,若爲0表示通常延遲(delay),若爲1表示爲低延遲;T,若爲0表示爲通常傳輸量,若爲1表示爲高傳輸量;R,若爲0表示爲通常可靠度,若爲1表示爲高可靠度;UU:保留還沒有被使用;總共合起來爲格式爲PPPDTRUU。less
旗標:格式爲DM,其中,D,若爲0表示能夠分段,若爲1表示不可分段;M,若爲0表示此IP爲最後分段,若爲1表示非最後分段。dom
分段偏移:表示目前這個IP分段在原始IP封包中所佔的位置。透過TotalLength,Identification,Flags以及Fragment Offset才能將小的IP分段在收受端組合起來。ide
存活時間:範圍0-255,當IP封包經過一個路由器時,TTL會減一,當TTL爲0時,這個封包將會被丟棄。性能
協議代碼:各個代碼的含義爲,1,ICMP(InternetMessage Control);2,IGMP(Internet Group Management Protocol);3,GGP(Gateway-to-GatewayProtocol);4,IP(IP in IP encapsulation);6,TCP(Transmission Control Protocol);8,EGP(ExteriorGateway Protocol);17,UDP(Use Data Program)。spa
表頭檢查碼:用來檢查這個IP表頭的錯誤檢查碼之用。orm
目標地址:目標IP地址router
其餘參數:額外選項,提供包括安全處理機制,路由記錄,時間戳,嚴格與寬鬆之來源路由等。
補齊項目:因爲Options的內容不必定有多大,但IP每一個數據都必須是32bits,因此,若Options的數據不足32bits時,則有padding補齊。
2) IP地址的組成與分級:
IP組成:網絡號碼和主機號碼。
同一網域(網段):在同一個物理網段內,主機的IP具備相同的網絡號和獨立的主機號。而主機號全爲0和全爲1(廣播地址)的IP是不可用的。同一網段內的主機若是設定相同的網域IP範圍(不可重複)能夠透過CSMA/CD的功能直接在區網內用廣播進行網絡的聯機(亦便可以直接網卡對網卡傳遞數據)。在同一個物理網段以內,若是兩部主機設定成不一樣的IP網段,則因爲廣播地址的不一樣,致使沒法透過廣播的方式來進行聯機。此時要透過路由器(router)來進行溝通才能將兩個網域鏈接在一塊兒。
IP分級:整個IP分爲五個等級,以下圖:
D類:通常用來做爲羣播的特殊功能只用(最經常使用在大批計算機的網絡還原)。
E類:保留沒有使用的網段。
3) IP種類與獲取方式
IP種類:公共IP,由InterNIC統一規劃的IP,這種IP才能連上Internet;私有(保留)IP:不能連上Internet的IP,主要用於局域網絡內的主機聯機規劃。
私有IP分類:A類,10.0.0.0~10.255.255.255;B類,172.16.0.0~172.31.255.255;C類,192.168.0.0~192.168.255.255
自動取得網絡參數:在局域網絡內會有一部主機專門負責管理全部計算機的網絡參數,當其餘主機網絡啓動時,會主動向該服務要求IP參數,若取得網絡相關參數後,主機就可以自行設定好全部服務器給你的網絡參數,從而連上Internet。
4) Netmask,子網與CIDR(Classless Interdomain Routing)
Netmask:網絡號碼全取1而主機號碼全取0的IP地址。
Network:該網段的第一個IP地址,即網絡號碼爲網絡號碼,而主機號碼全爲0
網域表示方法:經常使用Network以及Netmask來表示一個網域。192.168.0.0/255.255.255.0或192.168.0.0/24(其中24表示網絡號佔24位)
無等級網域間路由(無類域間路由):將網絡號借用來做爲主機號,以使得多個網域寫成一個,這種打破本來IP表明等級的方式就被稱爲無等級網域間路由(能夠減小路由信息,從而提高性能)。
5) 路由的概念:當一部主機發送數據到另外一臺主機時,這臺主機會查看自己的路由信息並與數據的目標地址比較,若找到目標IP,則發送到指定的機器,不然傳送到默認網關,再進行傳輸。重複此過程,直到數據到達目的地。
6) route [-n]:觀察路由表的指令,參數
a)-n:將主機名以IP的方式顯示。
b)數據顯示解讀,
Destination:Network的意思
Gateway:默認網關,若爲0.0.0.0表示不須要額外的IP
Genmask:Netmask
Flags:旗標,U,表明該路由可用;G,表明該網絡須要經由Gateway來幫忙傳遞;H:表明該行路由爲一部主機,而非一整個網絡
Iface:接口(interface)即網卡代號。
7) ARP(Address Resolution Protocol,網絡地址解析協議),RARP(Revers ARP,反向地址解析協議。
8) arp [-nd];arp –s hostname(IP) Hardware_address:獲取本機的ARP表格內的IP/MAC對應的數據,參數:
a)-n:以主機IP的形態顯示
b)-d:將hostname的hardware_address由ARP table當中刪除掉。
c)-s:設定某個IP或hostname的MAC到ARP table中(用於創建靜態的ARP)。
9) ICMP(Internet Control Message Protocol,因特網訊息控制協議):是一個錯誤偵測與回報的機制,最大的功能就是能夠確保咱們網絡的聯機狀態與聯機的正確性。ICMP也是網絡層重要的封包之一,不過,這個封包並不是獨立存在,而是歸入到IP封包中,也就是說,ICMP一樣是透過IP封包來進行數據傳送的。ICMP比較常見的ICMP的類別:
0:Echo Reply,表明一個響應信息
3:Destination Unreachable,表示目的地不可到達
4:Source Quench(當router的負載太高時,此類別碼可用來讓發送端中止發送訊息)
5:Redirect,(用來從新導向路由路徑信息)
8:Echo Request,請求響應消息
11:Time Exceeded for a Datagram,當數據封包在某些路由傳送的現象中形成超時狀態,此類別碼可告知來源該封包已被忽略的訊息
12:Parameter Problem on a Datagram,當一個ICMP封包重複以前的錯誤時,會回覆來源主機關於參數錯誤的訊息。
13:Timestamp Request,要求對方送出時間訊息,用以計算路由時間差別,以知足同步性協議的要求
14:Timestamp Replay,此訊息純粹是響應TImestamp Request用的
15:Information Request,在RARP協議應用以前,此訊息用來在開機時,取得網絡信息。
16:Information Replay,用以響應Information Request訊息
17:Address Mask Request,這訊息是用來查詢子網mask設定信息
18:Address Mask Reply,響應子網mask查詢訊息的。
ping和trcaceroute兩個指令能夠透過ICMP封包來確認與回報網絡主機的狀態,