Linux基礎知識|協(xié)議初識和網絡協(xié)議分層
發(fā)布時間:2023-08-08 13:55:50
一、協(xié)議初識和網絡協(xié)議分層(TCP/IP四層模型)
我們知道一臺計算機里面有很多的硬件,正是這些硬件之間互相配合協(xié)同工作才能讓我們的計算機健康的運行,當然這里面也離不開軟件對硬件的管理。
假設我們腦洞大一點,把計算機里面的各個硬件拉出來,各自放到很遠很遠的地方,而計算機依舊能正常運行,靠的就是協(xié)議,而協(xié)議本質就是一種約定,硬件和硬件之間也有協(xié)議,比如磁盤的HBA協(xié)議,磁盤和內存IO時也有協(xié)議,所以協(xié)議不僅僅是網絡專屬的,計算機體系結構里面也有協(xié)議,那計算機內部不就相當于一個小型的網絡嗎?各個設備通過網線連接,設備之間有協(xié)議約定,所以各個設備能夠正常通信,以便于計算機為用戶提供良好的服務,所以網絡和計算機是不分家的,體系結構中有網絡,網絡中有體系結構!
認識協(xié)議
實際在網絡中,所有的網絡問題本質都是傳輸距離變長了,如果傳輸距離很短,那還需要擔心發(fā)送數據會丟失嗎?或者對方接收不到數據,又或者對方沒有接收到完整的數據,這些問題自然就不用考慮了,因為傳輸距離很短,中間的障礙很少,出錯的概率很低。而當傳輸距離過長的時候,就容易導致出現問題,比如傳輸信號減弱從而導致數據丟失,所以一旦長距離傳輸的時候,就會引入新的通信問題,而為了盡可能的減少通信的成本,就需要定制協(xié)議!??!
我們提前做好約定,達成雙方的共識,讓通信的兩臺主機之間約定好協(xié)議,而協(xié)議就會降低通信的成本。
所以說 “協(xié)議”本質就是一種約定,通信雙方只要曾經做過某種約定,之后就可以使用這種約定來完成某種事情。而網絡協(xié)議是通信計算機雙方必須共同遵從的一組約定,因此我們一定要將這種約定用計算機語言表達出來,此時雙方計算機才能識別約定的相關內容 。
那協(xié)議該由誰來定制呢?
TCP/IP五層(或四層)模型
物理層:負責光/電信號的傳遞方式。比如現在以太網通用的網線(雙絞線)、早期以太網采用的同軸電纜(現在主要用于有線電視)、光纖,現在的WiFi無線網使用的電磁波等都屬于物理層的概念。物理層的能力決定了最大傳輸速率、傳輸距離、抗干擾性等。集線器(Hub)就是工作在物理層的。 數據鏈路層: 負責設備之間的數據幀的傳送和識別。例如網卡設備的驅動、幀同步、沖突檢測(如果檢測到沖突就自動重發(fā))、數據差錯校驗等工作。數據鏈路層底層的網絡通信標準有很多,如以太網、令牌環(huán)網、無線LAN等。交換機(Switch)就是工作在數據鏈路層的。 **網絡層:**負責地址管理和路由選擇。例如在IP協(xié)議中,通過IP地址來標識一臺主機,并通過路由表的方式規(guī)劃出兩臺主機之間數據傳輸的線路(路由)。路由器(Router)就是工作在網絡層的。 傳輸層:負責兩臺主機之間的數據傳輸。例如傳輸控制協(xié)議(TCP),能夠確保數據可靠的從源主機發(fā)送到目標主機。 應用層: 負責應用程序間溝通。比如簡單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網絡遠程訪問協(xié)議(Telnet)等。我們的網絡編程主要就是針對應用層的。