?個人主頁:bit me??
?當(dāng)前專欄:Java EE初階??
??一. 以太網(wǎng)協(xié)議(數(shù)據(jù)鏈路層)
以太網(wǎng)就是平時我們插網(wǎng)線的協(xié)議,平時插的網(wǎng)線也叫做 “以太網(wǎng)線”
- 以太網(wǎng)幀格式:
- 這里的 目的地址 源地址 是 mac 地址(物理地址)不是 IP 地址
- 6 個字節(jié)的 mac 地址要比 IP 地址多很多!42億9千萬 * 65535,mac 地址還可以做到唯一的(網(wǎng)卡出廠的時候就被寫死在網(wǎng)卡上了)
- 第二行就是載荷,載荷就是數(shù)據(jù)報。46 - 1500 其中 1500 就是表示以太網(wǎng)數(shù)據(jù)幀的長度上限 1500,不同的數(shù)據(jù)鏈路層協(xié)議的最大長度不相同的,把這個最大長度稱為 MTU。(如果一個以太網(wǎng)數(shù)據(jù)幀是一輛卡車,MTU 就是載重量,如果達到了這個量,就會觸發(fā) IP 的分包操作!1500其實非常小,也就 1 KB 多點,IP 分包不是因為數(shù)據(jù)長度達到了 64KB,主要是受到了 MTU 的限制。其中 1500 的大小是和硬件介質(zhì)相關(guān))
- CRC :校驗和,放在末尾了
IP 數(shù)據(jù)報記錄的是最初的起點和最終的終點,而以太網(wǎng)數(shù)據(jù)幀記錄的是相鄰節(jié)點的轉(zhuǎn)發(fā)
?
- ARP 效果是根據(jù) IP 地址找到對應(yīng)的 mac 地址
- RARP 效果是根據(jù) mac 地址找到對應(yīng)的 IP 地址
?
路由器進行這種相鄰節(jié)點轉(zhuǎn)發(fā)的過程中,需要能夠建立好一套轉(zhuǎn)發(fā)的規(guī)則(轉(zhuǎn)發(fā)表)
使用 ARP 和 RARP 主要是用來在轉(zhuǎn)發(fā)之前,把轉(zhuǎn)發(fā)表構(gòu)造好,畢竟網(wǎng)絡(luò)環(huán)境經(jīng)常發(fā)生變化
??二. DNS (應(yīng)用層)
DNS :域名解析(域名:網(wǎng)址)
例如 www.xxx.com 這就是域名,IP 地址,雖然寫成了點分十進制,更方便人來理解了,但是仍然不是特別的直觀!為了進一步簡化人對 IP 的理解,方便傳播,就引入了 “域名”。域名可以通過 DNS 系統(tǒng)自動轉(zhuǎn)換成對應(yīng)的 IP 地址,如果未來的 IP 地址有變化(機器遷移了)
最早的 DNS 系統(tǒng)是一個文件,稱為 hosts 文件
這個方式比較原始,現(xiàn)在基本不用了,現(xiàn)在的成千上萬的網(wǎng)站不能夠把所有的映射關(guān)系都寫到文件中,因此,更科學(xué)的辦法就是使用專門的 DNS 服務(wù)器來保存這個文件,使用服務(wù)器把這些映射關(guān)系都儲存好,哪個電腦需要 DNS 解析,就訪問這個 DNS 服務(wù)器即可!
全世界要上網(wǎng)的設(shè)備非常多,每個設(shè)備都要請求 DNS 服務(wù)器?DNS 服務(wù)器扛得住這么大的訪問量嗎?(每個服務(wù)器在給客戶端提供服務(wù)的時候,都需要消耗一定的硬件資源,如 CPU,內(nèi)存,網(wǎng)絡(luò)帶寬…,并且每個服務(wù)器能提供的硬件資源是有限的)如何解決 DNS 服務(wù)器訪問量太高的問題呢?
- 主機在請求 DNS 之后,會對映射關(guān)系在本地進行儲存 (域名 - > IP 這個映射關(guān)系,雖然會變短,但是頻率比較低),這就可以大大減少客戶端訪問 DNS 服務(wù)器請求的數(shù)量。
- 在全世界,架設(shè)很多的 DNS 鏡像服務(wù)器。最初的 DNS 服務(wù)器,稱為 “根服務(wù)器”,其他的 DNS 服務(wù)器,從服務(wù)器上同步數(shù)據(jù) “鏡像服務(wù)器”。(“鏡像服務(wù)器” 非常多,一般各種大的網(wǎng)絡(luò)運營商都會在自己業(yè)務(wù)的各個片區(qū)里面去部署鏡像服務(wù)器)
DNS 既是一個協(xié)議,也是一套系統(tǒng)(分布式的服務(wù)器系統(tǒng))
??三. 網(wǎng)絡(luò)原理知識面試總結(jié)
經(jīng)典面試題(高頻面試題):
- 從瀏覽器中輸入 URL 開始,到最終看到頁面位置,中間都發(fā)生了哪些事情?
-
瀏覽器是客戶端,從這里輸入 URL,就會訪問對應(yīng)的服務(wù)器。
應(yīng)用層角度:1.DNS 解析 2. 構(gòu)造 HTTP 請求 -
傳輸層角度:對應(yīng)到 TCP 協(xié)議
1.對應(yīng)三次握手,建立連接 2. 傳輸數(shù)據(jù)(確認應(yīng)答,超時重傳,滑動窗口,流量控制,擁塞控制…) -
網(wǎng)絡(luò)層的角度:網(wǎng)絡(luò)數(shù)據(jù)報轉(zhuǎn)發(fā)過程,一跳一跳的方式來轉(zhuǎn)發(fā)。(路由表,路由表匹配規(guī)則,下一條相關(guān)內(nèi)容)
-
數(shù)據(jù)鏈路層的角度:以太網(wǎng)數(shù)據(jù)幀,mac 地址,mac 在轉(zhuǎn)發(fā)過程中如何變化,MTU,MTU 影響到的 IP 分包。
-
物理層的角度:上述數(shù)據(jù)會轉(zhuǎn)成"光信號""電信號"進行編碼,傳輸~~
-
總結(jié):發(fā)送的過程中,涉及到從上到下,封裝.接收方,涉及到從下到上的分用~~
上述過程是客戶端給服務(wù)器發(fā)送請求的過程,后面服務(wù)器還需要根據(jù)請求計算響應(yīng),把響應(yīng)按照類似的流程轉(zhuǎn)發(fā)給客戶端。(根據(jù)請求計算響應(yīng)取決于業(yè)務(wù)代碼了,后面慢慢更新此處的神秘面紗)文章來源:http://www.zghlxwxcb.cn/news/detail-470472.html
與此同時,上述回答,也是站在 “后端開發(fā)” 的角度來看待問題,站在前端開發(fā)的角度,網(wǎng)絡(luò)工程師的角度,回答的方式就不一樣了。文章來源地址http://www.zghlxwxcb.cn/news/detail-470472.html
到了這里,關(guān)于【網(wǎng)絡(luò)原理】數(shù)據(jù)鏈路層 和 應(yīng)用層 重點協(xié)議的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!