計算機網路基礎回顧

2021-09-22 13:28:26 字數 3568 閱讀 6050

對於程式設計師來說,計算機網路的知識是很重要也很基礎的。尤其是做web開發就要對http或者https很熟。有的時候涉及到網域名稱,還會碰到跨域問題。這些其實都是計算機網路相關的知識,本篇就主要回顧下計算機網路中的重要內容:

ip位址是一台機器在區域網或者公網上唯一的標識,比如最常見的我們檢測本機的網路好不好使需要ping 127.0.0.1;在區域網的時候,需要設定區域網的位址,比如192.168.0.2;上網的時候,還需要配置貓...種種的操作都與ip位址有關係。

型別網路位與主機位

ip範圍

a類前8位為網路位 0開頭

1.0.0.0/8-126.0.0.0/8

b類前16位為網路位 10開頭

128.0.0.0/16-191.0.0.0/16

c類前24位為網路位 110開頭

192.168.0.0/24-223.0.0.0/24

d類不區分網路位和主機位 1110開頭

224.0.0.0-232.0.0.0

e類不區分網路位和主機位 11110開頭

233.0.0.0-255.0.0.0

這裡的網路位和主機位就涉及到子網掩碼的作用了....一般公司或者我們自己上網的ip都是c類的。這個c類的位址只是乙個出口,內部會形成乙個區域網,內部的ip就隨便分類啦...只要最後資料報能從這個口發出去就行啦。

note:127.0.0.0/8作為環迴位址測試使用

127.0.0.1是專門給本機用的,叫做lookback,即回環,它是一塊虛擬的網絡卡。如果本機的兩個軟體進行通訊,就可以直接使用127.0.0.1,這樣可以避免再走一次協議棧(物理層、資料鏈路層、ip層),節省了大量的時間。這個位址一般配置再電腦的hosts檔案裡面,當然你也可以改...改完大量的軟體都可能不好使了...localhost預設就是指向的這個ip位址。

計算機網路的體系結構有幾種版本,最常見的就是osi的七層網路模型:

物理層-->資料鏈路層-->網路層-->運輸層-->會話層-->表示層-->應用層
另外還有tcp/ip的五層結構:

物理層-->資料鏈路層-->網路層-->運輸層-->應用層
一般tcp/ip的五層體系結構說的比較多點,就簡單的描述下他們每層的作用:

物理層:這一層涉及到訊號的傳輸,比如雙絞線呀、光纖啊等等

資料鏈路層:這一層具體的傳輸資料類,不過是按照mac實體地址傳輸的。主要涉及的問題有資料幀的封裝、傳輸和差錯檢測。有個很有名的機制——csma/cd載波監聽多點接入/碰撞檢測,用來處理傳輸的時候傳輸衝突的。

網路層:這一層涉及到ip到mac的解析等,涉及到的協議有arp、rarp、icmp、igmp等

運輸層:這個是計算機網路中最重要的一層,因為它裡面有兩個協議——tcp和udp,最重要的就是他們的區別,以及tcp的三次握手、四次握手機制,以及一些擁塞控制的方法

應用層:這一層的內容是與開發最接近的一層,比如dns、ftp、http、smtp等等。

這一層主要負責資料幀的封裝、傳輸和差錯檢測。

另外,這一層主要是幾個網路協議很重要,其中包括:

比如a主機訪問b主機,對應的ip分別為ipa,ipb;對應的mac位址為maca,macb

那麼:a主機現在自己機器上的路由表,查詢ipb對應的macb

如果找不到則廣播請求,如果收到對應的應答,則記錄到路由表中

這個apr的快取一般都是在網絡卡中記錄的。

rarp,reverse address resolution protocol 用於不知道自己ip只知道mac位址而想要與其他主機通訊的場景。原理過程與arp差不多。

icmp,internet control message protocol 控制報文協議。這個協議其實日常使用非常多,比如ping和traceroute,它主要用於主機和路由之間傳遞控制訊息。比如網路痛不痛、主機達不達、路由是否可用等等。

igmp,internet group management protocol 組管理協議,在組播的場景下比較有用。平時接觸的比較少...

vpn的全稱是virtual private network,是在公網上建立的專用網路,通過複雜的加密手段,可以實現目標位址的遠端訪問。比如一般的公司,都會開啟vpn,這樣你放假在家有事情也可以直接連公司的vpn,就像在公司一樣進行辦公。

特點:無連線、盡最大努力交付、面向報文;並且沒有擁塞控制、支援多種對接方式、首部開銷小。

小故事:據說很多有年代的即時通訊比如qq底層是基於udp為主的,主要的原因就是tcp在0幾年那個網路環境很差的時代,開銷太大。一旦網路發生擁塞,tcp的重傳或者三次握手,都會有很大的壓力。因此就採用udp,基於應用層進行重傳、亂序等機制的封裝。參考資料:qq為什麼以udp為主tcp為輔

tcp,transmission control protocol 傳輸控制協議,它是一種面向連線、可靠的、基於位元組流的傳輸通訊協議。在可靠性方面,tcp通過超時重傳以及確認機制進行傳輸;在流量控制方面,採用滑動視窗協議,進行視窗內的分組確認以及重傳。

關於流量控制,有個很經典的機制就是——慢開始和擁塞避免,之前在做分布式日誌採集的時候,想要引入這種機制來著,後來不了了之了。

三次握手說起來很簡單,就是a想和b建立連線,那麼需要經過三個步驟:

a發起連線請求

b確認並且發起連線請求

a確認b的連線請求

因為tcp是全雙工的通訊方式,即兩個方向都可以傳輸資料。因此在釋放的時候需要雙向進行釋放。如果只釋放了單向,那麼另乙個方向也是可以傳輸資料的。步驟大致如下:

a發起關閉請求

b確認b發起關閉請求

a確認

計算機網路概述 計算機網路基礎

邊緣部分 核心部分 報文交換 報文一般比分組長,報文交換的時延較長。對於廣域網區域網新的理解 不單單從網路覆蓋範圍區分區域網和廣域網,而是在應用技術方面進行區分,應用了區域網技術就是區域網,應用了廣域網技術就是廣域網。區域網一般是自己購買裝置,自己維護,寬頻固定。廣域網 花錢買服務,花錢買頻寬,效能...

計算機網路基礎知識回顧

1 五層協議的體系結構由應用層 運輸層 網路層 網際層 資料鏈路層和物理層組成。運輸層最重要的協議是傳輸控制協議tcp和使用者資料報協議udp,網路層則是網際協議ip。2 協議是控制對等實體之間通訊的規則,服務是垂直的,由下層向上層通過層間介面提供。物理層 4 全雙工通訊 雙向同時通訊 即通訊的雙方...

計算機網路基礎

計算機網路的基本目的是實現資料通訊和資源共享,計算機網路的主要功能歸結為 1.資源共享2.資料通訊3.提高計算機的可靠性和可用性4.分布式處理 資料通訊 是計算機或其他數字終端裝置之間通過通訊通道進行的資料交換。影響資料通訊的質量的兩個最主要指標 1.資料傳輸速率 2.誤位元速率 表示一段之間內接收...