溫馨提示×

溫馨提示×

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

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

web開發(fā)人員必須知道的網(wǎng)絡(luò)基礎(chǔ)知識有哪些

發(fā)布時間:2021-11-04 16:08:10 來源:億速云 閱讀:152 作者:iii 欄目:web開發(fā)

這篇文章主要介紹“web開發(fā)人員必須知道的網(wǎng)絡(luò)基礎(chǔ)知識有哪些”,在日常操作中,相信很多人在web開發(fā)人員必須知道的網(wǎng)絡(luò)基礎(chǔ)知識有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”web開發(fā)人員必須知道的網(wǎng)絡(luò)基礎(chǔ)知識有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

 一、五層網(wǎng)絡(luò)模型

1. 主要的網(wǎng)絡(luò)協(xié)議

以下每層列出的協(xié)議,都能夠在代碼或者操作系統(tǒng)中使用和管理,當(dāng)程序進(jìn)行網(wǎng)絡(luò)通信時,需要由這些協(xié)議共同協(xié)作完成。

應(yīng)用層,包括HTTP、TLS(SSL3.1)、DNS、Thrift、FTP等

傳輸層,TCP(傳輸控制協(xié)議)、UDP(用戶報文協(xié)議)

網(wǎng)絡(luò)層,IP(網(wǎng)際協(xié)議)

鏈路層,ARP(地址解析協(xié)議)

物理層,該層與硬件關(guān)系更為緊密,無需太過關(guān)注

web開發(fā)人員必須知道的網(wǎng)絡(luò)基礎(chǔ)知識有哪些

程序運(yùn)行過程圖解

2. 網(wǎng)絡(luò)通信的過程

網(wǎng)絡(luò)通信的過程

在程序中發(fā)送HTTPS請求時,數(shù)據(jù)經(jīng)過各層的處理,最終到達(dá)目標(biāo)地址。對各層處理的主要部分進(jìn)行了描述,其中第1、2、3步在程序中進(jìn)行,第4、5、6步在操作系統(tǒng)內(nèi)核中進(jìn)行,第7步由硬件設(shè)備完成,下面對每一步進(jìn)行詳細(xì)描述:

DNS解析將域名轉(zhuǎn)換為IPv4或IPv6地址,它依托于UDP協(xié)議向DNS服務(wù)器發(fā)送查詢請求并獲取響應(yīng)信息。

HTTP報文由程序中的httpclient工具生成,包含用戶設(shè)置的HTTP相關(guān)參數(shù)(URL、header、body等)。

TLS協(xié)議通過四次握手機(jī)制協(xié)商出公鑰/私鑰,客戶端生成“會話密鑰”由公鑰加密發(fā)送到服務(wù)端,服務(wù)端通過私鑰解密獲取,最終使用該“會話密鑰”對HTTP報文進(jìn)行加密。

TCP連接通過三次握手機(jī)制建立,HTTP報文以字節(jié)流形式寫入,發(fā)送的數(shù)據(jù)都需要經(jīng)過“發(fā)送-確認(rèn)”的過程,以保證其完整送達(dá)到指定IP地址。

IP數(shù)據(jù)包將字節(jié)流按MTU大小進(jìn)行拆分,局域網(wǎng)內(nèi)通常為1500字節(jié),互聯(lián)網(wǎng)通常為512字節(jié)。IP數(shù)據(jù)包的頭信息上記錄了發(fā)送者IP和接收者IP。

MAC幀在發(fā)送時,實際無法直接發(fā)送到指定的IP地址,需要內(nèi)核根據(jù)路由表中記錄的信息(本地路由表查看命令route  -n),通過“IP地址與子網(wǎng)掩碼”進(jìn)行“與運(yùn)算”得到下一跳的網(wǎng)關(guān)IP。然后,鏈路層通過ARP協(xié)議獲取網(wǎng)關(guān)IP的MAC地址(本地ARP緩存表查看命令arp  -a),將發(fā)送者M(jìn)AC地址和網(wǎng)關(guān)MAC地址封裝到MAC幀中。

二、關(guān)鍵的外部服務(wù)

上一節(jié)描述的網(wǎng)絡(luò)通信過程,需要多種外部服務(wù)的參與才能完成,包括DNS服務(wù)、CA服務(wù)、路由器、ISP服務(wù)。

1. DNS服務(wù)

DNS服務(wù)器由DNS服務(wù)提供商進(jìn)行管理,提供根據(jù)域名查詢IP地址的服務(wù),常見的DNS服務(wù)提供商有中國電信(114.114.114.114)和谷歌(8.8.8.8),Linux系統(tǒng)中在文件/etc/resolv.conf中和目錄/etcc/sysconfig/network-scripts/下使用cat命令查看配置的DNS服務(wù)器IP地址。

2. CA頒發(fā)與驗證服務(wù)

CA服務(wù)器提供了TLS協(xié)議中需要的證書頒發(fā)服務(wù),在TLS進(jìn)行四次握手時通過CA服務(wù)驗證服務(wù)器提供的證書是否可信。瀏覽器內(nèi)置了多種CA服務(wù)器的地址,并且也可以在本地配置證書進(jìn)行驗證(如:12306.cn需要在瀏覽器安裝私有證書)。

3. 路由器

路由器是個人電腦發(fā)送IP數(shù)據(jù)包到互聯(lián)網(wǎng)的第一道網(wǎng)關(guān),路由器內(nèi)置了相關(guān)ISP服務(wù)器的信息。

4. ISP服務(wù)器

ISP(Internet Service  Provider)互聯(lián)網(wǎng)服務(wù)提供商(如:中國電信、中國聯(lián)通)是網(wǎng)絡(luò)服務(wù)的關(guān)鍵角色,ISP服務(wù)器的作用與路由器相同,它們記錄了龐大的路由表提供給數(shù)據(jù)鏈路層進(jìn)行查詢。當(dāng)我們想要將自己的服務(wù)器接入到互聯(lián)網(wǎng)中,需要付費(fèi)給ISP進(jìn)行注冊,本質(zhì)就是在ISP服務(wù)添加了自己服務(wù)器的路由信息(實際還涉及到光纖建設(shè)等物理層實施,這里不做描述)。

到此,關(guān)于“web開發(fā)人員必須知道的網(wǎng)絡(luò)基礎(chǔ)知識有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細(xì)節(jié)

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

AI