生活随笔
收集整理的這篇文章主要介紹了
网络协议概述
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
概述:互聯(lián)網(wǎng)的本質(zhì):物理連接介質(zhì) + 一系列網(wǎng)絡(luò)協(xié)議。
協(xié)議分為OSI七層或tcp/ip五層或tcp/ip四層:
一、物理層:光纜、電纜、雙絞線、無線電波等用于傳遞電信號:
?發(fā)送(電信號)高低電壓,高電壓代表數(shù)字1,低電壓代表數(shù)字0
二、數(shù)據(jù)鏈路層:定義電信號的分組方式,目前的統(tǒng)一標(biāo)準(zhǔn)是以太網(wǎng)協(xié)議
Ethernet以太網(wǎng)協(xié)議規(guī)定:
每一組電信號構(gòu)成一個數(shù)據(jù)包,叫做“幀”
每一幀分為:head和date兩部分
源地址和目標(biāo)地址:接入網(wǎng)絡(luò)的設(shè)備的網(wǎng)卡地址,即MAC地址。
MAC地址:每個網(wǎng)卡出廠時具有唯一一個mac地址,由12位16進(jìn)制數(shù)表示,前6位代表廠商編號,后6位流水號:
廣播:有了mac地址,同一網(wǎng)絡(luò)內(nèi)的兩臺主機(jī)就可以進(jìn)行通行了。Ethernet采用廣播的方式進(jìn)行通信,即計算機(jī)通信基本靠吼:
假設(shè)同一網(wǎng)絡(luò)內(nèi),有PC1 PC2 PC3 PC4四臺主機(jī),PC1要和PC4通信,那么PC1按照廣播的方式發(fā)送數(shù)據(jù)包(PC1如何獲取PC4的mac地址?:arp協(xié)議(網(wǎng)絡(luò)層中)),同一網(wǎng)絡(luò)的所有主機(jī),如PC2, PC3都會收到這個包,拆開查看head中的目標(biāo)地址是不是自己的MAC,如果是就響應(yīng)。
三、網(wǎng)絡(luò)層:IP協(xié)議
1. ethernet協(xié)議解決了局域網(wǎng)(子網(wǎng))內(nèi)的計算機(jī)通信問題,IP協(xié)議用來標(biāo)識PC所在的子網(wǎng)。
ip地址由32位二進(jìn)制表示,但通常寫成四段十進(jìn)制數(shù),比如:172.16.10.1范圍0.0.0. ~ 255.255.255.255子網(wǎng)掩碼是表示子網(wǎng)特征的一個參數(shù),形式上等同于IP地址。它的網(wǎng)絡(luò)部分全部為1,主機(jī)部分全部位0。比如IP地址172.16.10.1,如果已知網(wǎng)絡(luò)部分是前24位,主機(jī)部分是后8位,那么子網(wǎng)絡(luò)掩碼就是11111111.11111111.11111111.00000000(即十進(jìn)制255.255.255.0)
2. 如何根據(jù)ip地址和子網(wǎng)掩碼來判斷兩臺PC是否在同一網(wǎng)絡(luò)?
比如PC1的的IP是172.16.10.1,PC2的IP是172.16.10.2,它們的子網(wǎng)掩碼都是255.255.255.0?
將各自的IP地址與子網(wǎng)掩碼進(jìn)行AND運(yùn)算(兩個數(shù)位都為1,運(yùn)算結(jié)果為1,否則為0)
???????????????????
tips: 二進(jìn)制和十進(jìn)制轉(zhuǎn)換可以用WIN10自帶的計算器。
IP數(shù)據(jù)包:head + data,直接放入以太網(wǎng)的data部分
ARP協(xié)議:基于IP地址解析MAC地址
工作方式,每臺主機(jī)的IP都是已知的的,通過IP和子網(wǎng)掩碼來判斷通信的兩臺主機(jī)是否是同一子網(wǎng)。如果在同一子網(wǎng),就通過廣播的方式發(fā)送數(shù)據(jù)包,同一子網(wǎng)的所有計算機(jī)都收到并拆包,如果目標(biāo)IP是自己,就響應(yīng)自己的MAC地址。有了目標(biāo)機(jī)器MAC地址,就可以進(jìn)行通信。如果不在同一子網(wǎng),則在目標(biāo)MAC處填入FF:FF:FF:FF,網(wǎng)關(guān)響應(yīng)自己的MAC,獲取了網(wǎng)關(guān)MAC后,將數(shù)據(jù)包發(fā)給網(wǎng)關(guān),由網(wǎng)關(guān)與目標(biāo)主機(jī)的網(wǎng)關(guān)進(jìn)行路由通信,將數(shù)據(jù)包發(fā)出去。
四、傳輸層:TCP/UDP協(xié)議:基于端口,能標(biāo)識一臺機(jī)器上的應(yīng)用程序 ,建立端口到端口的通信
端口范圍:0 ~ 65535,0 ~1023為系統(tǒng)占用端口TCP 可靠傳輸,UDP不可靠傳輸數(shù)據(jù)包,放入IP的data部分
TCP的三次和四次握手:
? ? ? ? ? ? ? ? ??
五、應(yīng)用層:http、ftp
http數(shù)據(jù)包封裝用戶數(shù)據(jù)
socket套接字:
位于應(yīng)用層和傳輸層之間的一個抽象層:把TCP/IP層復(fù)雜的操作抽象為幾個簡單的接口,供應(yīng)用層調(diào)用以實(shí)現(xiàn)網(wǎng)絡(luò)通信
六、其他
DHCP:為網(wǎng)絡(luò)中的計算機(jī)分配IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)地址、DNS服務(wù)器等信息。DNS:遞歸+迭代查詢。知道域名并不能直接通信,需要將域名解析為IP地址用戶上網(wǎng)流程
總結(jié)
以上是生活随笔為你收集整理的网络协议概述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。