基礎 計算機網路的基礎梳理

2022-07-22 16:42:12 字數 2836 閱讀 6287

參考自

目錄資料鏈路層

網路層傳輸層

常用協議

會話層表示層

應用層實際例子

定義規定了網路的一些電氣特性

作用是負責傳送0和1的電訊號

常用協議

線路、無線電、光纖,網絡卡使用mac位址

定義單純的0和1沒有意義,需要規定解讀方式:多少個電訊號算一組?每個訊號位的意義?

作用是在物理層的上方,確定了0和1的分組方式

常用協議

乙太網協議,使用mac位址

如果知道接受方的mac位址,如何傳送?\\

定義引進一套新的位址(即ip位址),作用是區分不同的計算機是否屬於同乙個子網路。

常用協議

ip協議,使用mac位址+ip位址

如何通訊?

路由器提供了乙個隔絕「外網」和"內網"的方法,路由器只有乙個"外網"位址,連在路由器上的裝置在外網看來都屬於同乙個ip位址(即路由器的外網ip位址),而在路由器內部的"內網",則這些裝置的ip位址由路由器分配,各不相同\\

\定義有了mac位址和ip位址,已經可以在網際網路上的任意兩台電腦建立通訊了。然而還需要乙個引數,表示這個資料報到底供哪個程式(程序)使用(比如是在聊天還是在瀏覽網頁),這個引數就叫做「埠」,其實就是每個使用網絡卡的程式(程序)的編號。每個資料報傳送到主機特定的埠,所以不同的程式就能取到自己想要的資料報。

作用是建立「埠到埠「的通訊,而網路層的功能是建立」主機到主機「的通訊。

只要確定主機和埠,就能實現程式之間的交流

傳輸層建立的是「埠到埠」之間的通訊,即「程序間通訊「:1.主機內部程序間通訊,由作業系統決定;2.跨主機程序間通訊或網路程序間通訊,也叫」socket「通訊

那麼,socket是什麼?

常用協議

tcp、udp協議,使用mac位址+ip位址+埠號

主要作用就是在應用層的資料報標頭加上埠號。

[待補充] tcp的」三次握手「,「四次握手」\\

\==[待補充] ==\\

\協議 protocol

dns解析

自頂向下的資料報結構

現在我們從乙個使用者的角度來自頂向下的過一遍,乙個網路資料報的過程。首先我們設定了本機引數:

子網掩碼:255.255.255.0

然後開啟瀏覽器訪問谷歌的**:www.google.com,按下回車。這意味著,瀏覽器要向google傳送乙個網頁請求的資料報。

第一步:

主機會像dns伺服器傳送請求,已知dns伺服器為8.8.8.8,於是向這個位址傳送乙個dns資料報(53埠);然後,dns伺服器做出響應,告訴我們google的ip位址是172.194.72.105。於是,我們知道了對方的ip位址。

第二步:

判斷這個ip位址是不是在同乙個子網路,這就要用到子網掩碼。已知子網掩碼是255.255.255.0,本機用它對自己的ip位址192.168.1.100,做乙個二進位制的and運算,計算結果為192.168.1.0;然後對google的ip位址172.194.72.105也做乙個and運算,計算結果為172.194.72.0。這兩個結果不相等,所以結論是,google與本機不在同乙個子網路。

第三步:

因此,我們要向google傳送資料報,必須通過閘道器192.168.1.1**,也就是說,接收方的mac位址將是閘道器的mac位址[鏈路層只能在同乙個子網內,所以接受方的mac位址只能是閘道器的mac位址,但是接受方的ip位址不變(仍然是谷歌的ip位址)]。至此傳送的各種必要引數已經基本確定了,資料報也可以傳送了。\\

\**伺服器

「**」:我們或許會幫忙家人去辦理一些雜務吧!舉個例子來說,例如繳費或者是申辦提款卡等等的, 由於你並不是『申請者本人』而是『**人』的角色

**伺服器,與真實世界一樣,當客戶端有網際網路的資料要求時, proxy 會幫使用者去向目的地取得使用者所需要的資料。所以,當客戶端指定 www 的**伺服器之後,使用者的所有 www 相關要求就會通過**伺服器去捉取。

客戶端向外部要求的資料事實上都是 proxy 幫使用者取得的,因此網際網路上面看到要求資料者,將會是 proxy 伺服器的 ip 而不是客戶端的 ipproxy server 因為直接對外網,相當於當了個炮灰,外網只能找到這個**伺服器,隱藏內網的機器,從而 起到防火牆的作用。

**伺服器有快取(cache)的功能

**伺服器工作流程\\

\kexue上網:

waiwang有伺服器,給你提供伺服器的ip,和埠位址server_port

國內主機(客戶端)通過酸酸乳連線該伺服器,需要設定本機的ip位址和埠號client_port(當資料報傳來時,如果埠號和酸酸乳程序的client_port一致,則說明該資料報是給酸酸乳程序的)

proxy server**伺服器,是在用瀏覽器的時候需要設定,因為所有的www請求都是發給proxy server,再由proxy server判斷接受方是否在快取內,若不在則**給web伺服器。因此可以將proxy server設定成localhost:client_port,即將本機的酸酸乳程序作為proxy server,當需要訪問waiwang時,傳送給該proxy server,由其**給在外的伺服器,從而。。。。。

總體來說應該是這樣,但是還附加了一些其他防止被發現的機制,比如混淆引數是為了把網域名稱改得混淆一點?

ubuntu下面用不了全域性**,只能pac(proxy auto config)**

pac檔案規定了一些規則,有些url沒有被強,可以繞過酸酸乳伺服器直接訪問;有些被強的則需要通過酸酸乳連線到waiwang伺服器然後才能訪問

而全域性**則是所有網頁都用waiwang伺服器訪問

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

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

計算機網路基礎

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

計算機網路基礎

網路通訊中的阻塞模式和非阻塞模式 主要是用在網路傳輸中 阻塞模式是 每乙個tcp套接字有乙個傳送緩衝區,當應用程式呼叫write操作的時候,核心從應用程序的緩衝區中複製資料到套接字的傳送緩衝區。如果傳送緩衝區無法容納應用程式的所有資料,應用程式將會被掛起,核心將不會從write系統呼叫返回,知道應用...