網(wǎng)站開發(fā)定制多少錢南京百度搜索優(yōu)化
1、分層模型
1.1、OSI七層模型
1、OSI(Open System Interconnection,開放系統(tǒng)互連)七層網(wǎng)絡模型稱為開放式系統(tǒng)互聯(lián)參考模型 ,是一個邏輯上的定義,一個規(guī)范,它把網(wǎng)絡從邏輯上分為了7層。
2、每一層都有相關(guān)、相對應的物理設備,比如路由器,交換機。OSI 七層模型是一種框架性的設計方法 ,建立七層模型的主要目的是為解決異種網(wǎng)絡互連時所遇到的兼容性問題,其最主要的功能使就是幫助不同類型的主機實現(xiàn)數(shù)據(jù)傳輸。
3、它的最大優(yōu)點是將服務、接口和協(xié)議這三個概念明確地區(qū)分開來,通過七個層次化的結(jié)構(gòu)模型使不同的系統(tǒng)不同的網(wǎng)絡之間實現(xiàn)可靠的通訊。
1.2 、TCP/IP四層模型
應用層—http,ftp,ssh
傳輸層----TCP/UDP協(xié)議
網(wǎng)絡層----IP協(xié)議
網(wǎng)絡接口層-----以太網(wǎng)幀協(xié)議
?2、協(xié)議
2.1、以太網(wǎng)幀協(xié)議
以太網(wǎng)幀大小必須在64-1518字節(jié)(不包含前導碼和定界符),即包括目的地址(6B)、源地址(6B)、類型(2B)、數(shù)據(jù)、FCS(4B)在內(nèi),其中數(shù)據(jù)段大小在46-1500字節(jié)之間。
?
2.1.2、MAC地址(網(wǎng)卡編號)
1、MAC地址用來識別數(shù)據(jù)鏈路層中相連的節(jié)點;
2、長度為48位, 及6個字節(jié). 一般用16進制數(shù)字加上冒號的形式來表示(例如: 08:00:27:03:fb:19)
3、在網(wǎng)卡出廠時就確定了, 不能修改. mac地址通常是唯一的(虛擬機中的mac地址不是真實的mac地址, 可能會沖突; 也有些網(wǎng)卡支持用戶配置mac地址)
2.1.3、類型2字節(jié)
當類型為0800時,正常發(fā)送IP數(shù)據(jù)報
當幀類型為0806時,會發(fā)送arp數(shù)據(jù)報-,根據(jù)IP獲取對方的mac地址
當幀類型為0835時,會發(fā)送parp數(shù)據(jù)報,返回自己的mac地址
?arp數(shù)據(jù)報,根據(jù)IP獲取對方的mac地址【比如我們從北京向廣州的主機發(fā)送消息,要獲取廣州主機的MAC地址】
2.2、ARP報文格式
- 硬件類型:目標網(wǎng)卡的硬件類型,表明ARP報文可以在哪種類型的網(wǎng)絡上傳輸。1表示以太網(wǎng)地址。
- 協(xié)議類型:硬件地址要映射的協(xié)議地址類型。映射IP地址時的值為0x0800.
- 硬件地址長度:即MAC地址的長度(以太網(wǎng)的MAC地址長度為6)。
- 協(xié)議地址長度:即IP地址的長度。
- 操作類型:指定本次ARP報文的類型。1:ARP請求報文;0:ARP響應報文。
- 源MAC地址:發(fā)送設備的MAC地址。
- 源IP地址:發(fā)送設備的IP地址。
- 目標MAC地址:接收設備的MAC地址。在ARP請求報文中,目標MAC地址未知,MAC字段的值為全0(即00-00-00-00-00-00)。
- 目標IP地址:接收設備的IP地址。
2.3、IP報文格式
2.3.1、IP協(xié)議的首部格式(IPV4)
組成部分
- 4位版本號:用來指定IP協(xié)議的版本,IPV4的版本號為4,前4位存儲0100。IPV6的版本號是6,前4位存儲0110
- 4位首部長度(Internet Header Length):表明IP首部的大小,單位是4個字節(jié),length * 4的字節(jié)數(shù),因為這一字段共4個比特位,所以這一字段最大值為2 ^ 4 - 1即15,所以IP首部最大長度為15 * 4即60字節(jié);在默認情況下,該字段被設置為5,所以默認IP首部20字節(jié)。
- 8位服務類型:前三位表示優(yōu)先度(已經(jīng)棄用),第4位表示最低延遲、第5位表示最大吞吐、第6位表示最大可靠性、第7位表示最小代價,這四位互相沖突,只能選擇一個。需要根據(jù)不同情況進行選擇,如果是SSH/TELNET這類遠端登錄,那么就應該選擇最小延時,如果是FTP類型的程序,則應該選擇最大吞吐量;第8位是保留位,目前沒有使用,必須填0。
- 16位總長度(Total Length):表示IP首部和后面攜帶的數(shù)據(jù)部分一共有多少個字節(jié)。該字段有16個比特位,因此IP數(shù)據(jù)報整體最大長度為65535個字節(jié)。
- 16位標識(ID):唯一地標識主機發(fā)送的報文,如果一份IP報文在數(shù)據(jù)鏈路層被分片,那么每一片的該字段應該都是相同值。幫助對端主機在接收后進行分片重組。
- 3位標志(Flag):第一位保留(保留的意思是現(xiàn)在不使用,未來如果需要的話再使用),必須填0;第二位用來指明是否可以分片,如果為0則可以分片,如果為1則不能分片。
- 13位片偏移(Fragment Offset):該字段表示分片相對于原始IP報文開始處的偏移量,其實就是表示當前分片在原報文中所處的位置,第一個分片對應值為0。由于該字段總共13個比特位,因此最多可以表示2 ^ 13即8192個相對位置。單位為8字節(jié),所以最大可以表示8192 * 8 = 65536個字節(jié)的位置。
- (8位生存時間(Time To Live):數(shù)據(jù)報到達目的地的最大報文跳數(shù)(Hop,指網(wǎng)絡中一個區(qū)間,IP數(shù)據(jù)包正是在網(wǎng)絡中一個跳間被轉(zhuǎn)發(fā)),一般為64,每次經(jīng)過一個路由,TTL–,如果TTL == 0時還沒到達目的地,那么這個報文就會被丟棄。這個字段主要是為了防止出現(xiàn)路由循環(huán),數(shù)據(jù)包在一個循環(huán)中一直轉(zhuǎn)發(fā),浪費網(wǎng)絡資源。
- 8位協(xié)議(Protocol):表示IP的上層是什么協(xié)議,我們熟知的TCP、UDP、ICMP等都是在IP上層的。
- 16位首部校驗和(Header Checksum):使用CRC進行校驗,鑒別IP首部是否收到損壞,如果損壞直接丟棄,它只校驗IP頭部,不校驗下面的內(nèi)容,因為內(nèi)容部分的校驗是上層傳輸層(TCP)需要考慮的,IP協(xié)議只要發(fā)現(xiàn)首部有問題就直接丟棄該報文。
- 32位源IP地址(Source Address):表示發(fā)送端的IP。
- 32位目的IP地址(Destination Address):表示接收端的IP。
- 選項字段(Options):不定長,最大可以到40個字節(jié)。
2.3.2、IP地址分類
IP地址由網(wǎng)絡標識(網(wǎng)絡地址)和主機標識(主機地址)兩部分組成。
IP地址劃分為五個級別,分別為A類、B類、C類、D類和E類(一直沒有使用過),所以目前我們所能見到的IP地址只有A、B、C、D四類。劃分的依據(jù)就是IP地址從第1位到第4位的比特位。
?2.4 、UDP報文格式
- 16位源端口(進程)
- 16位目的端口(進程)
- 16位UDP長度(數(shù)據(jù)長度)
- 16位UDP校驗和(數(shù)據(jù)校驗)
?2.5、TCP報文格式
- 16位源端口(進程)
- 16位目的端口(進程)
- 32位序號(Seq)【用來表示A發(fā)送給B的數(shù)據(jù)報序號】
- 32位確認序號(Ack)【客戶端和服務器端都可以發(fā)送,Ack=Seq+1】
- 4位首都長度:表示TCP頭部有4個字節(jié)(32位),所以TCP頭部最大長度為15*4=60
- 6個標志位【每個標志位1bit,分別是 URG、ACK、PSH、RST、SYN、FIN】
????????URG:緊急指針有效
????????ACK:確認序號有效
????????PSH:接收方應該盡快將這個報文交給應用層
????????PST:重置連接
????????SYN:建立一個連接
????????FIN:斷開一個連接
- 16位滑動窗口(表示緩存存儲空間的大小)
? ? ? ? 傳輸數(shù)據(jù)的雙方,如果一邊傳輸?shù)目?#xff0c;一邊接收的慢。那么數(shù)據(jù)接收方會告訴傳輸方,自己 有一個緩存。傳輸方就會把數(shù)據(jù)放入緩存,當緩存滿了,數(shù)據(jù)的傳輸方就會進入阻塞等待。
- 16位校驗和:檢驗數(shù)據(jù)是否一致
- 16位緊急指針:標識哪部分數(shù)據(jù)是緊急數(shù)據(jù)
?2.6、ICMP報文格式
ICMP(Internet Control Message Protocol)是一種網(wǎng)絡協(xié)議,它用于在IP網(wǎng)絡中傳遞控制信息和錯誤消息。它通常與IP協(xié)議一起使用,IP協(xié)議負責發(fā)送和路由數(shù)據(jù)包,而ICMP協(xié)議負責檢查網(wǎng)絡是否可達、路由是否正確、主機是否可達等網(wǎng)絡狀態(tài)的反饋信息
?ICMP報文屬于IP子協(xié)議,協(xié)議號為1。
2.6.1、ICMP首部格式
其中各字段的含義如下:
類型(Type):指定 ICMP 報文的類型,占 1 個字節(jié)。常見類型有:回顯應答(Echo Reply:0)、回顯請求(Echo Request:8)等。
代碼(Code):指定 ICMP 報文的代碼,占 1 個字節(jié)。用于進一步描述 ICMP 報文,與 Type 字段組合使用。
校驗和(Checksum):校驗和,用于檢查 ICMP 報文是否有損壞,占 2 個字節(jié)。
由類型決定的4字節(jié):根據(jù)類型不一樣,4字節(jié)表達的意思不一樣。
數(shù)據(jù)(Data):數(shù)據(jù),可變長度??梢允侨我鈹?shù)據(jù),長度由具體的 ICMP 報文類型和代碼決定。
?2.6.2、ICMP報文類型列表
?