您好,登錄后才能下訂單哦!
計(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連接;
免責(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)容。