溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

DHCP、UDP

發(fā)布時(shí)間:2020-06-28 07:00:02 來(lái)源:網(wǎng)絡(luò) 閱讀:676 作者:文耀的CTO 欄目:建站服務(wù)器

計(jì)算機(jī)如何使用IP地址:

源IPv4地址:發(fā)送數(shù)據(jù)的主機(jī)上配置的IP地址;


源IPv4的配置方式:

手動(dòng)配置:直接向網(wǎng)卡的配置文件中添加我們認(rèn)為合法的IPv4地址;

特點(diǎn):

地址分配精確;

管理員的重復(fù)工作量很大;

容易發(fā)生手誤導(dǎo)致主機(jī)無(wú)法接入網(wǎng)絡(luò);


自動(dòng)配置:沒(méi)有IP地址的計(jì)算機(jī),通過(guò)特定協(xié)議向其他能夠提供IP地址的計(jì)算機(jī)進(jìn)行通信,并獲得IPv4地址;

協(xié)議:

BOOTP:

啟動(dòng)協(xié)議

利用RARP協(xié)議向全網(wǎng)廣播獲取IP地址的需求;BOOTP服務(wù)器會(huì)從其地址池中選擇一個(gè)IPv4地址,永久歸這臺(tái)主機(jī)使用;

DHCP:

Dynamic Host Configuration Protocol,動(dòng)態(tài)主機(jī)配置協(xié)議;

地址租借規(guī)劃;

每一個(gè)地址都有其對(duì)應(yīng)的租約期限;

續(xù)租的規(guī)則:

當(dāng)租約期限過(guò)去50%時(shí),客戶端聯(lián)系服務(wù)器進(jìn)行地址續(xù)租;如果續(xù)租不成功,客戶端會(huì)連續(xù)嘗試三次;

當(dāng)租約期限過(guò)去87.5%時(shí),客戶端會(huì)放棄IP地址;重新廣播是否有其他服務(wù)器能夠讓其繼續(xù)使用之前的IP地址;

一直等等租約到期,客戶端IP地址徹底被釋放;客戶端將試圖從其他的服務(wù)器獲得其他的IP地址以連接網(wǎng)絡(luò);


DHCP客戶端地址的租借過(guò)程——四線會(huì)話:

1.客戶端廣播發(fā)送DHCP Discover消息,以確定網(wǎng)絡(luò)中是否有DHCP服務(wù)器能為本機(jī)提供IP地址;

2.服務(wù)器收到DHCP Discover消息后,會(huì)檢查自己的地址池,如果仍然有可用IP地址,就從中選擇一個(gè)IP地址,向客戶端廣播發(fā)送DHCP Offer消息;

3.客戶端將接收到的第一個(gè)DHCP Offer消息中的IP地址作為可選擇IP地址,向網(wǎng)絡(luò)中廣播DHCP Request消息,通知服務(wù)器,選定這個(gè)IP地址作為本次通信的IP地址;

4.提供IP地址的服務(wù)器收到DHCP Request消息后,將IP地址和對(duì)應(yīng)主機(jī)的物理地址臨時(shí)綁定;并且開(kāi)始租約計(jì)時(shí);給客戶端發(fā)送DHCP ACK消息;

不是提供該IP地址的服務(wù)器收到DHCP Request,將剛剛提供的IP地址重新放入地址池中,并給客戶端發(fā)送DHCP NAK消息


目的IP地址如何給出:

手動(dòng)指定:

直接在地址欄中手動(dòng)書(shū)寫(xiě)目的主機(jī)的IP地址;

自動(dòng)解析:

DNS協(xié)議:Domain Name System


在DNS服務(wù)器上,保存著特定的域名和IP地址的映射關(guān)系;可以完成地址解析的任務(wù);


地址解析:

正向地址解析:

通過(guò)域名獲得其對(duì)應(yīng)的IP地址的過(guò)程;

反向地址解析:

通過(guò)IP地址反解其域名的過(guò)程;


www.baidu.com:完全限定域名(FQDN)


花生殼——DNS緩存服務(wù)器


202.99.166.4

202.99.160.68


222.222.222.222

222.222.202.202


TCP/IP協(xié)議棧分層結(jié)構(gòu):


應(yīng)用層

傳輸層

互聯(lián)網(wǎng)層

網(wǎng)絡(luò)訪問(wèn)層(物理層、數(shù)據(jù)鏈路層)


傳輸層:

OSI第四層:端到端的連接


TCP/IP第三層:

TCP:Transfer Control Protocol,傳輸控制協(xié)議;

UDP:User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議;



UDP協(xié)議的首部格式:

端口:也稱為邏輯端口,或叫協(xié)議端口;它是應(yīng)用層和傳輸層之間的通信接口;

端口是由16bits二進(jìn)制構(gòu)成的數(shù)字標(biāo)識(shí);其范圍為0-65535;

其中:

0:表示全部端口號(hào),不能單獨(dú)使用;

1-1023:保留端口號(hào),

1024-64511:動(dòng)態(tài)分配端口,

64512-65535:注冊(cè)端口,


ssh:TCP/22

http:TCP/80

https:TCP/443

SMTP:TCP/25

POP3:TCP/110

IMAP:TCP/143

telnet:TCP/22

ftp:TCP/21

DHCP:UDP/67(Server) UDP/68(Client)

DNS:UDP/53 TCP/53


Windows系統(tǒng)中:C:\Windows\System32\drivers\etc\services

Linux類(lèi)系統(tǒng)中:/etc/services


這類(lèi)文件中,保存了應(yīng)用層協(xié)議和傳輸層協(xié)議之間默認(rèn)的通信接口映射關(guān)系;


源端口:16bits,發(fā)送方在封裝數(shù)據(jù)的時(shí)候選擇的端口號(hào);一般來(lái)講,客戶端發(fā)送的數(shù)據(jù)的源端口號(hào)是隨機(jī)選擇的空閑端口;


目的端口:16bits,此次數(shù)據(jù)通信的接收方在傳輸層向應(yīng)用層進(jìn)行數(shù)據(jù)傳遞時(shí)所必須使用的端口號(hào);一般來(lái)講,數(shù)據(jù)的目的端口號(hào)是固定的;


注意:

1.一般來(lái)講,一次往返通信過(guò)程中,兩組數(shù)據(jù)的端口號(hào)會(huì)互換;

2.在使用端口時(shí),更加在意目標(biāo)端口的準(zhǔn)確性;如果因?yàn)槟繕?biāo)端口不明確而導(dǎo)致接收方無(wú)法使用正確的應(yīng)用程序來(lái)處理數(shù)據(jù),則該數(shù)據(jù)會(huì)直接被傳輸層協(xié)議丟棄;

數(shù)據(jù)長(zhǎng)度:16bits,整個(gè)UDP數(shù)據(jù)報(bào)的報(bào)文長(zhǎng)度,包括首部;

數(shù)據(jù)校驗(yàn)和:16bits,整個(gè)UDP數(shù)據(jù)報(bào)的校驗(yàn)和,一定程度上保證數(shù)據(jù)完整性;



回顧:

使用IP地址:

源地址:

目的地址:


UDP協(xié)議:

特點(diǎn):

首部:


傳輸層協(xié)議

TCP協(xié)議:

TCP特點(diǎn):

TCP/IP 協(xié)議棧的傳輸層

為應(yīng)用程序訪問(wèn)的網(wǎng)絡(luò)層

面向連接的協(xié)議

全雙工模式運(yùn)行

錯(cuò)誤檢查

數(shù)據(jù)包序列化

接收確認(rèn)

數(shù)據(jù)恢復(fù)功能


TCP協(xié)議首部:

源端口號(hào):16bits

目的端口號(hào):16bits

序列號(hào):32bits,序列號(hào)的范圍:1 ~ 2^32-2

第一個(gè)數(shù)據(jù)段的序列號(hào)為隨機(jī)選擇;

第二個(gè)數(shù)據(jù)段的序列號(hào):前一個(gè)數(shù)據(jù)段的序列號(hào)+前一個(gè)數(shù)據(jù)段數(shù)據(jù)部分的大小+1

...

確認(rèn)號(hào):32bits,確認(rèn)號(hào)的范圍:2 ~ 2^32-1

接收方用來(lái)對(duì)已經(jīng)接收到的數(shù)據(jù)進(jìn)行確認(rèn),并要求發(fā)送方繼續(xù)傳輸后續(xù)數(shù)據(jù)段的標(biāo)識(shí);

一般來(lái)講,確認(rèn)號(hào)是發(fā)送方要發(fā)送的下一個(gè)數(shù)據(jù)段的序列號(hào);

首部長(zhǎng)度:4bits,24字節(jié) ~ 60字節(jié)

保留標(biāo)志位:3bits,暫時(shí)沒(méi)有被使用

認(rèn)證加密標(biāo)志位:3bits

TCP特性標(biāo)志位:

URG:緊急指針標(biāo)志位;如果該標(biāo)志位置1,該數(shù)據(jù)的轉(zhuǎn)發(fā)優(yōu)先級(jí)將會(huì)被提高,以使得這樣的數(shù)據(jù)被優(yōu)先轉(zhuǎn)發(fā);如果多個(gè)數(shù)據(jù)的URG標(biāo)志位同時(shí)置1,則后面16位的緊急指針越大的,優(yōu)先級(jí)越高;

ACK:與連接管理有關(guān)的確認(rèn)標(biāo)志位;用來(lái)響應(yīng)主動(dòng)發(fā)起連接的建立請(qǐng)求或拆除請(qǐng)求的那一方;

PSH:推進(jìn)位,如果該標(biāo)志位置1,則在接收方可以將該數(shù)據(jù)不加入緩存隊(duì)列,直接交給應(yīng)用程序進(jìn)程進(jìn)行處理;

RST:重置連接標(biāo)志位;在TCP連接耗盡或者出現(xiàn)故障的時(shí)候,重新構(gòu)建TCP連接的標(biāo)志位;

SYN:同步標(biāo)志位,用戶在建立TCP連接的過(guò)程中,主動(dòng)發(fā)生連接建立請(qǐng)求的那一方發(fā)起連接的信號(hào);

FIN:結(jié)束連接標(biāo)志位,如果該標(biāo)志位置1,則另一方將知道此次TCP連接將被拆除,予以確認(rèn)即可;

窗口尺寸:16bits,主要實(shí)現(xiàn)流量協(xié)商及控制,可以防止網(wǎng)絡(luò)擁塞;

滑動(dòng)窗口:

擁塞窗口:

緊急窗口:


窗口的大小,意味著我們一次可以傳輸?shù)臄?shù)據(jù)段的數(shù)量;

數(shù)據(jù)段校驗(yàn)和:16bits,保證數(shù)據(jù)的完整性的校驗(yàn)信息;

緊急指針:16bits,在URG標(biāo)志位都置1時(shí),用于區(qū)分其優(yōu)先級(jí);

選項(xiàng):數(shù)據(jù)段分段的時(shí)間戳


TCP協(xié)議的面向連接的特性:

1.連接建立:三次握手

1) 發(fā)送方生成一個(gè)TCP首部數(shù)據(jù),在首部中,源、目的端口由應(yīng)用層協(xié)議給出;序列號(hào)為隨機(jī)選擇,確認(rèn)號(hào)為0,標(biāo)志位SYN置1;

2) 接收方收到由發(fā)送方發(fā)來(lái)的SYN請(qǐng)求數(shù)據(jù)之后,判斷自身能否完成對(duì)方所要求的數(shù)據(jù)通信;如果可以,則返回一個(gè)由其生成的TCP首部數(shù)據(jù);源、目的端口與之前的數(shù)據(jù)正好相反;序列號(hào)隨機(jī),確認(rèn)號(hào)為對(duì)方下一個(gè)數(shù)據(jù)的序列號(hào),SYN和ACK兩個(gè)標(biāo)志位同時(shí)置1;

3) 發(fā)送方在接收的對(duì)方的響應(yīng)數(shù)據(jù)之后,檢查其ACK標(biāo)志位是否置1;如果為1再看SYN標(biāo)志位是否置1,如果也是1就予以確認(rèn);隨即生成第二個(gè)TCP首部數(shù)據(jù);序列號(hào)為前一個(gè)數(shù)據(jù)的序列號(hào)+1,確認(rèn)號(hào)為接收方下一個(gè)數(shù)據(jù)的序列號(hào);ACK標(biāo)志位置1;

2.拆除連接:四次揮手

1) 當(dāng)所有的數(shù)據(jù)傳輸結(jié)束之后,由一方主動(dòng)向另一方發(fā)送一個(gè)FIN標(biāo)志位置1的TCP首部數(shù)據(jù);

2) 另一方收到這樣的FIN標(biāo)志位置1的數(shù)據(jù)之后,回應(yīng)一個(gè)ACK標(biāo)志位置1的確認(rèn)數(shù)據(jù);

3) 另一方主動(dòng)發(fā)出一個(gè)FIN標(biāo)志位置1的TCP首部數(shù)據(jù),請(qǐng)求拆除連接;

4) 主動(dòng)結(jié)束方予以確認(rèn),發(fā)送ACK標(biāo)志位置1的TCP首部數(shù)據(jù);


TCP協(xié)議的流量控制特性:

被動(dòng)流量控制:擁塞窗口

由于收發(fā)雙方的網(wǎng)絡(luò)資源不均衡或不對(duì)等造成的網(wǎng)絡(luò)擁塞,導(dǎo)致接收方數(shù)據(jù)緩沖區(qū)溢出,使得大量的數(shù)據(jù)丟失;由接收方發(fā)送一個(gè)窗口大小為0的確認(rèn)數(shù)據(jù)段給發(fā)送方,以暫停發(fā)送方的數(shù)據(jù)發(fā)送;


主動(dòng)流量控制:滑動(dòng)窗口

每一次雙方互相通信時(shí),都會(huì)協(xié)商窗口大小,以最小窗口為標(biāo)準(zhǔn),發(fā)送方安裝這樣的窗口大小進(jìn)行數(shù)據(jù)發(fā)送;


TCP協(xié)議的確認(rèn)特性:

1.在發(fā)送方尚未接收到來(lái)自于接收方的確認(rèn)信息之前,不會(huì)繼續(xù)發(fā)生后續(xù)數(shù)據(jù);

2.如果在一定的超時(shí)時(shí)間之內(nèi),發(fā)送方?jīng)]有收到接收方發(fā)送來(lái)的確認(rèn)信息,發(fā)送方會(huì)重新傳輸之前發(fā)生過(guò)的數(shù)據(jù);


通過(guò)確認(rèn)特性,能夠保證數(shù)據(jù)的可靠性傳輸;


數(shù)據(jù)通信過(guò)程描述——雙機(jī)互連

1.如果用戶在應(yīng)用程序中沒(méi)有指定目標(biāo)IP地址,則應(yīng)用程序會(huì)自動(dòng)向DNS服務(wù)器發(fā)出查詢請(qǐng)求,以獲得對(duì)應(yīng)的目標(biāo)主機(jī)的IP地址;

2.當(dāng)前應(yīng)用程序所需要使用的傳輸層的哪個(gè)協(xié)議?選擇了TCP進(jìn)行進(jìn)一步封裝。

3.傳輸層并不馬上為應(yīng)用層發(fā)送數(shù)據(jù),而是由TCP協(xié)議自行生成數(shù)據(jù)段首部,通過(guò)三次握手建立TCP連接;

4.IP協(xié)議會(huì)按照正確的地址和對(duì)應(yīng)格式完成數(shù)據(jù)封裝,但是網(wǎng)絡(luò)訪問(wèn)層需要通過(guò)MAC地址完成數(shù)據(jù)傳輸,因此需要查詢ARP緩存中是否有對(duì)應(yīng)該IP地址的MAC地址記錄;

5.如果未找到該記錄,TCP三次握手請(qǐng)求,將暫存內(nèi)存;有ARP協(xié)議生成ARP請(qǐng)求數(shù)據(jù)包,以廣播的方式發(fā)送出去;目標(biāo)主機(jī)收到后,會(huì)先將源主機(jī)的MAC地址緩存下來(lái),然后將自己的IP地址和MAC當(dāng)作數(shù)據(jù)封裝并以單播返回源主機(jī);

6.源主機(jī)緩存目的主機(jī)的MAC地址,而后將TCP三次握手的請(qǐng)求封裝并予以發(fā)送;

7.當(dāng)TCP連接正確建立之后,就可以為應(yīng)用程序發(fā)送數(shù)據(jù)到目的主機(jī);

8.對(duì)于每一批次的TCP報(bào)文,目的主機(jī)都必須予以確認(rèn);

9.當(dāng)所有數(shù)據(jù)報(bào)文發(fā)送完成后,通過(guò)四次揮手拆除TCP連接;


向AI問(wèn)一下細(xì)節(jié)
推薦閱讀:
  1. DHCP snooping
  2. DHCP

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI