您好,登錄后才能下訂單哦!
一、網(wǎng)絡協(xié)議模型
1.OSI七層網(wǎng)絡協(xié)議模型
OSI七層協(xié)議(Open System Interconnection):將網(wǎng)絡連接過程分成數(shù)個層次(layer),每個層次負都有特定的獨立功能,且每個層次的程序代碼可以獨立撰寫,每個層次間的功能不會相互干擾。
說明:
1)越接近硬件的層次為底層(layer1),越接近應用程序的則為高層(layer7)
2)接收端或者發(fā)送端,每一層只認識對方的同一層次的數(shù)據(jù)
3)每層都有其獨特的頭部數(shù)據(jù)header,告知對方信息,其后的數(shù)據(jù)為真實數(shù)據(jù)
(1)物理層Physical Layer
定義傳輸設備的電壓與信號等,連接數(shù)據(jù)幀轉換成比特流的編碼方式,最后連接實際傳輸介質(zhì)發(fā)送/接收比特信號
(2)數(shù)據(jù)鏈路層Data-Link Layer
下層為實體的定義,上層為軟件封裝的定義。數(shù)據(jù)鏈路層又可分為兩層:
偏向硬件介質(zhì):MAC數(shù)據(jù)幀,media Access Control frame,網(wǎng)絡接口所能處理的主要數(shù)據(jù)包裹,被物理層編碼成比特流
偏向軟件層面:邏輯鏈路層(Logical Link Control)多任務處理來自上層的數(shù)據(jù)包數(shù)據(jù)并轉換成MAC格式
信息交換、流量可控制、數(shù)據(jù)問題處理
(3)網(wǎng)絡層Etwork Layer
定義IP(Internet Protocol)和路由概念,計算機間的連接建立、終止和維持,數(shù)據(jù)包的傳輸路徑選擇
(4)傳輸層Transport Layer
發(fā)送端和接收端連接技術,如TCP、UDP… 包括數(shù)據(jù)包格式、數(shù)據(jù)包發(fā)送、流程的控制、傳輸過程的幀檢測與重新傳送
(5)會話層Session Layer
定義兩個四肢間的連接信道的連接與中斷,在確定網(wǎng)絡服務建立連接的確認
也可以建立應用程序的會話、提供其他加強型服務
(6)表示層Presentation Layer
網(wǎng)絡服務(或程序)之間的數(shù)據(jù)格式轉換:將來自本地端應用程序的數(shù)據(jù)格式轉換或重新編碼成網(wǎng)絡的標準格式
加密解密技術
(7)應用層Appliation Layer
應用程序并不屬于應用程序本身,用來同一管理調(diào)度數(shù)據(jù)對應其發(fā)送和接收的應用程序
定義應用程序如何進入該層的溝通接口,以將數(shù)據(jù)接收或發(fā)送給應用程序,最終展示給用戶
2.TCP/IP協(xié)議
TCP/IP協(xié)議在OSI七層協(xié)議的觀念上進行簡化為四層結構,在結構上沒OSI七層協(xié)議嚴謹,但時程序撰寫上會容易得到廣泛使用。
TCP/IP協(xié)議將應用層、表示層、會話層整合為應用層
應用層:將數(shù)據(jù)封裝一個TCP/IP協(xié)議組內(nèi)某個特定使用到的協(xié)議,交由傳輸層處理
傳輸層:放入TCP封裝內(nèi),并給予TCP封裝的首部報文,交由網(wǎng)絡層處理
網(wǎng)絡層:封裝IP數(shù)據(jù)包內(nèi),給予IP首部,交由網(wǎng)絡接口層處理
網(wǎng)絡接口層:MAC封裝,比特流傳輸
3.網(wǎng)絡模型對應層級關系
OSI七層協(xié)議只是一個參考模型,過于詳細闡述網(wǎng)絡出書各方面情況,實際生產(chǎn)中為TCP/IP協(xié)議
二、網(wǎng)絡層:IP協(xié)議
1.IP協(xié)議
(1)IP協(xié)議版本
IPv4:32bits分為四段,點分十進制表示,8bits.8bits.8bits.8bits
每8bits表示用以數(shù)字0-255標識
00000000.00000000.00000000.00000000 ===》 0.0.0.0
11111111.11111111.11111111.11111111 ===》 255.255.255.255
IPv6:128bits二進制
(2)IP(Internet protocol)地址:網(wǎng)絡號+主機號
在同一物理網(wǎng)段內(nèi),主機的IP具有相同的網(wǎng)絡號,并具有獨特的主機號;同一網(wǎng)段內(nèi)的主機其主機號不能相同
注意:
1) 同一網(wǎng)段內(nèi),網(wǎng)絡號不變,主機號不能重復
2)全0表示為整個網(wǎng)段的地址,全1表示為廣播地址
(3)IP地址分類:
A類:
第一段為網(wǎng)絡號,后三段為主機號
網(wǎng)絡號:0 000 0000 - 0 111 1111:1-127
網(wǎng)絡數(shù)量:126,127
每個網(wǎng)絡中的主機數(shù)量:2^24-2
默認子網(wǎng)掩碼:255.0.0.0,/8
用于與IP地址按位進行“與”運算,從而取出其網(wǎng)絡地址;
1.3.2.1/255.0.0.0 = 1.0.0.0
1.3.2.1/255.255.0.0= 1.3.0.0
私網(wǎng)地址:10.0.0.0/255.0.0.0
B類:
前兩段為網(wǎng)絡號,后兩段為主機號
網(wǎng)絡號:10 00 0000 - 10 11 1111:128-191
網(wǎng)絡數(shù):2^14
每個網(wǎng)絡中的主機數(shù)量:2^16-2
默認子網(wǎng)掩碼:255.255.0.0,/16
私網(wǎng)地址:172.16.0.0-172.31.0.0
C類:
前三段為網(wǎng)絡號,最后一段為主機號
網(wǎng)絡號:110 0 0000 - 110 1 1111:192-223
網(wǎng)絡數(shù):2^21
每個網(wǎng)絡中的主機數(shù)量:2^8-2
默認子網(wǎng)掩碼:255.255.255.0, /24
私網(wǎng)地址:192.168.0.0-192.168.255.255
D類:組播的特俗公用
1110 0000 - 1110 1111:224-239
E類:保留
240-255
總結:
Class A:0.xx.xx.xx ~ 127.xx.xx.xx,私有地址10.0.0.0 ~ 10.255.255.255
Class B:128.xx.xx.xx ~ 191.xx.xx.xx,私有地址172.16.0.0 ~ 172.31.255.255
Class C:192.xx.xx.xx ~ 223.xx.xx.xx,私有地址192.168.0.0 ~ 192.168.255.255
Class D:224.xx.xx.xx ~ 239.xx.xx.xx
Class E:240.xx.xx.xx ~ 255.xx.xx.xx
注意:Loopback IP網(wǎng)段
lo網(wǎng)絡,當初被用來作為測試操作系統(tǒng)內(nèi)部循環(huán)所用的一個網(wǎng)絡,同時還能提供系統(tǒng)內(nèi)部原本就需要使用網(wǎng)絡接口的服務所使用。為內(nèi)部循環(huán)網(wǎng)絡,無需安裝網(wǎng)卡使用,其地址號為127.0.0.0/8,默認的主機IP是127.0.0.1,即為localhost
2.Netmask子網(wǎng)掩碼
將一個大的網(wǎng)段地址劃分成更小的網(wǎng)絡地址,減少網(wǎng)段內(nèi)的主機數(shù)量,使得更加方便管理,以及廣播時效率提高
方式:通過將一位或多位主機號當做網(wǎng)絡號來使用,將網(wǎng)絡號全部表示為1,主機號全部用0標識來進行子網(wǎng)劃分
3.ip報文首部( 每行占用的位數(shù)為32bits)
(1)IP Version:聲明ip數(shù)據(jù)包的版本,ipv4、ipv6
(2)IHL:Internet Header Length,ip報文首部長度,以4字節(jié)為一個單位來記錄IP報頭的長度
(3)TOS:Type Of Service,服務類型,通過定義來標識IP數(shù)據(jù)包的優(yōu)先級、延遲、傳輸量和可靠度等信息
(4)Total Length:IP數(shù)據(jù)包的總長度,包括報頭和數(shù)據(jù)部分、用16個字節(jié)表示0-65535bytes
(5)Identtification:標識信息,辨識數(shù)據(jù)段是否為一個數(shù)據(jù)
(6)Flags:特殊標志R、DF、MF,內(nèi)容可以標識為"0DM"
D:0表示可以分段,1表示不可以分段
M:0表示此IP為最后分段,1表示非最后分段
(7)Fragment Offset:分段偏移量,用以標識這個IP分段在原始的IP數(shù)據(jù)包中所占的位置,類似于序號作用
(8)Time To Live:存在時間,最多255次轉發(fā),每次經(jīng)過一個路由器減一到0丟棄不再轉發(fā)
(9)Protocol Number:報文協(xié)議代碼(TCP--6、UDP--17、ICMP--1、IP--4… ...),數(shù)字描述;
(10)Header Checksum:報頭首部校驗碼,用于檢測IP報頭是否存在錯誤
(11)Source Address:來源IP地址
(12)Destination Address:目標IP地址
(13)Options:填充位,提供包括安全處理機制、路由記錄、時間戳、嚴格與寬松的來源路由等
(14)Data:真實數(shù)據(jù)
三、傳輸層:TCP協(xié)議
1.TCP報文首部
(1)Source Port:源端口號
(2)Destination Port:目標端口號,通過16位字節(jié)標識0-65535共65536個端口
(3)Sequence Number:數(shù)據(jù)包序列號,TCP數(shù)據(jù)分段
(4)Acknowledgement Number:回應序列號
一次發(fā)一批報文時候使用序列號和確認號,TCP三次握手的第一次無確認號
(5)Header Length:首部長度
(6)Reserved:保留位(6位);
(7)Code:control Flag,標志控制碼
該字段有6個bits組成,每個bits標識一種含義,用以說明這個連接的狀態(tài),讓接收端連接這個數(shù)據(jù)包的主要動作
URG(Urgent):1標識為緊急數(shù)據(jù)包,接收端要緊急處理,且Urgent Pointer字段也會被啟用
ACK(Acknowledge):1表示為響應數(shù)據(jù)包,和Acknowledeg Number有關
PSH(Push Function):1表示要求對方立即傳送緩沖區(qū)內(nèi)的其他對應數(shù)據(jù)包,無需等待緩沖區(qū)滿才傳送
RST(Reset):1表示強制結束連接,且發(fā)送端已經(jīng)斷線
SYN(Synchronous):1表示發(fā)送端希望雙方建立同步處理(要求建立連接),主動要連接到對方
FIN(Finish):1表示傳輸結束
(8)Window Size:窗口滑動,用來控制數(shù)據(jù)包的流量,0表示緩沖器已經(jīng)額滿,所以應該暫停數(shù)據(jù)傳輸
(9)TCP Checksum:確認校驗碼
(10)Urgent Pointer:緊急數(shù)據(jù)
(11)Options:填充位,可變長度,多數(shù)情況不使用
(12)Data:數(shù)據(jù)
2.TCP協(xié)議三次握手機制
Three-way handshake:TCP在建立連接之前都必須要通過的三個確認動作
(1)第一階段:數(shù)據(jù)包發(fā)起
1)隨機取用大于1024的端口,監(jiān)聽用于和應用程序通信
2)TCP報頭:SYN=1,表示要求建立連接,,主動連接到對方
3)TCP報頭:Sequence Number(Client)記錄下第一次發(fā)送出連接數(shù)據(jù)包給服務器端的序列號
(2)第二階段:數(shù)據(jù)包接收和確認數(shù)據(jù)包傳送
1)服務器端接收到數(shù)據(jù)包,并確認所接收的數(shù)據(jù)包
2)回應數(shù)據(jù)包:TCP報頭中
SYN=1,ACK=1,表示主動連接且為響應數(shù)據(jù)包
Acknowledgement Number(Service)=Sequence Number(Client) + 1,給客戶端確認使用
Sequence Number(Service)新數(shù)字,用于確認客戶端確實可以收到服務器端的數(shù)據(jù)包
3)等待客戶端響應
(3)第三階段:回送確認數(shù)據(jù)包
1)確認收到報文的Acknowledgement Number(Service)是否為Sequence Number(Client) + 1
2)再次發(fā)送數(shù)據(jù)吧:ACK=1,Acknowledgement Number(Client)=Sequence Number(Service) + 1
(4)第四階段:取得最后確認
服務器端驗證
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。