【知識詳解】計算機網絡總覽及物理、鏈路、網絡(秋招總結)


物理、鏈路、網絡及總覽

不同層常用協議

image

問:為什么要分層?

復雜的系統需要分層,比如常用的項目也是需要分層的,比如數據庫操作、業務操作、前后端交互等,比如計算機網絡里的分層,這樣每一層就只需要專注於一類事情。具體的,在計算機網絡里

  • 1.各層之間相互獨立,不需要關心其他層是怎么實現的,只需要知道自己如何調用下層的功能就可以了。
  • 2.提高了整體的靈活性,每一層都可以使用最適合的技術去實現,只需要保證自己的功能然后暴露接口就可以了。
  • 3.大問題化小,可以將復雜的問題分解為許多比較小的問題來進行處理和解決。這樣整個系統就變的更簡單容易實現了。

在TCP/IP協議中,TCP協議是基於IP協議的。IP協議是對應於網絡層的協議,它是
一個不可靠的協議。TCP協議的可靠性保證給IP協議提供了可靠環境,從而使得IP協議可以不必考慮傳輸的可靠性,專注於網絡層的功能。這也是協議分層的初衷。

image

應用層

應用層進程也就是應用程序間的通信交互,傳輸的數據單元稱為報文,對於不同的網絡應用需要用到不同的應用層協議

  • HTTP協議(HyperText Transfer Protocol)超文本傳輸控制協議 主要是為web瀏覽器和web服務器之間的通信設計的。TCP的80端口。
  • SMTP協議(Simple Mail Transfer Protocol)簡單郵件傳輸協議,基於TCP協議,主要用來發送電子郵件。TCP的25端口。

IP協議解決了數據包的路由和傳輸,上層的TCP就可以不再關注路由和尋址;TCP協議解決了傳輸的可靠性和順序問題,上層的應用層就可以直接使用TCP協議進行數據傳輸,不再需要關心數據段的丟失和重復

http是要基於TCP連接基礎上的,簡單的說,TCP就是單純的簡歷連接,不涉及任何我們需要請求的數據;http協議使用來收發數據,就是為實際應用而來的;

物理層

  • 1.想一下,if兩台計算機要進行通信,那該怎么做呢,是不是可以直接拿根線把兩者拉到一起,這樣就可以了;
    問題:那if多台計算機想要通信呢?每兩台計算機之間都拉一條線嗎?那線會不會有點多了?
  • 2.所以可以有一個集線器(hub),這是啥呢?就是把線都拉到一個設備上面,不用兩兩之間都去相連了,比如1if想和3進行通信,那就可以1先到hub上,然后hub就把數據轉發到連在自己這的其他計算機上,比如2.3.4.5,然后3收到后看到后是給自己的,那就把信息收下,其他的就都丟掉了;
    問題:那if1.2同時發送呢,那這電信號肯定混在一起了,那目的機器解析不出來自己想要的數據了?
  • 3.CSMA/CA:載波監聽,也就是在發送之前先監聽一下子,看這些鏈路上有沒有人在發數據,if沒有,那再發;
    問題:那這樣每次鏈路上只能有一個機器發數據,其他都得等着,這利用率也太低了;

數據鏈路層(MAC層)

  • 4.所以可以采用一個新的設備:交換機(SW):交換機從某個端口收到數據包的時候,通過讀取數據包中的目的MAC地址,也就是物理地址,對照自己內存里的地址表查看這個MAC地址和哪個端口是對應的,然后把這個數據包直接發給這個端口,不再整個線路上去廣播了;if沒有找到,這時候再去廣播,發給所有的端口,對應的計算機就會收到這個幀並接收,然后交換機把這個計算機的mac地址和端口號記錄到地址表里,做一個更新;
    問題:那每台交換機的端口號其實是有有限的,大規模的設備該怎么辦呢?
  • 5.橋接:交換機是可以橋接的,也就是把兩個交換機接到一起,然后在地址表里更新為兩個橋接的交換機的端口即可;但是這種利用率其實還是比較低;所以更適合在局域網里采用;

三個基本問題

封裝成幀

在數據鏈路層傳輸是采用的幀這種格式,也就是對於上層網絡層交付下來的ip數據報,數據鏈路層會將其封裝成幀。在首尾添加幀首部(SOH)和幀尾部(EOH);

透明傳輸

在原始數據里可能存在SOH和EOH這樣的幀開始符合幀結束符,所以需要進行字節填充,也就是在這些符號前添加轉義字符ESC;

差錯控制

在傳輸過程中,可能會出錯,所以在數據鏈路層提供了簡單的差錯控制機制;最常用的比如就是循環冗余檢驗CRC

image

網絡層

在整個世界上,不能幾十億台設備都靠廣播,靠這種吼的方式,所以實際上采用一種方式來區分廣播域,只有在一個廣播域里面了,再去廣播;

ip數據報

image

ip地址

image

網絡層功能

網絡層主要負責路由轉發和分組

在路由表中,存了目的主機所在的網絡地址和下一跳的地址
主要的過程就是拿目的ip地址和子網掩碼去按位與,查看是否是在同一個網絡ip里,if是了,那就可以直接交付,if不是,就發到路由器上,然后查找路由表;

ARP協議

ARP是地址解析協議,也就是將ip地址轉換為mac地址;

單純的一個ip地址並不能確定處於哪個子網,需要依靠子網掩碼,也就是子網掩碼與ip地址按位與判斷是否處於同一個子網絡;
通信時,要知道目的ip地址:

  • 判斷源ip和目的ip在不在一個局域網內,也就是兩者的子網地址是否一樣;
  • if一樣的,那就可以拿到2的mac地址,依靠ARP協議;

在一個局域網里

主要就是判斷兩個計算機的子網地址一樣,if一樣的話,那就證明在一個局域網里,然后獲得計算機2的mac地址;然后拿到mac地址之后再進行數據發送;

image

不在一個局域網里

不在一個局域網的時候就需要去獲取網關的mac地址;
mac地址只在局域網里,要么轉成局域網中計算機的,要么是網關的;

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM