這個問題實在是太大,隨便乙個細枝末節就可能寫一本書,所以今天主要站在遠處來感性的認識他,也就是縱觀全域性;
網際網路是怎麼連線全球終端電腦的?
不同地區的電腦如何實現通訊(聊天,檔案傳輸)?
首先來解決第乙個問題, 網際網路怎麼把全球的電腦連線起來。
在中國常見的網路提供商如電信,網通,當然還有其他的一些,這些大的網路服務提供商(以下簡稱 ips)多是經過國家批准的
(獲得國家批准的ips才有權連線到海外其他國家的骨幹網),這幾家公司會搭建自己的網路線路,基本上是從城市到農村依次鋪開,
以前是**線,現在新鋪的線路都會採用光纖了。鋪設的過程中會設定很多彙總點,
首先有乙個鋪設的起點(以下稱 骨幹節點),接下來在每個省設乙個彙總點(s點),每個省下面的市設乙個彙總點(c點);
注意,具體在那些地方設點這裡只是個假設,實際上可能跟我想的不一樣,但是不影響理解
幾家ips就不斷的擴開大自己的鋪設面積,直到覆蓋全國。
同理,其他國家也是這樣乙個網路形式。
前面提到 獲得國家准許的 ips 可以允許連線到國外,也就說如果你用這個獲批的ips的寬頻服務,你就連線到了全球網際網路(前提是這個ips沒有在彙總點阻攔你)
網際網路 顧名思義 就是一張網,不是一條線, 舉個例子 xx國家跟我們關係不好,不跟我們的出口ips連線,那麼我們任然可以線連線到乙個跟xx過有關係的國家在連過去。
現在我們知道全球的電腦終端是怎麼連線起來的了,現在來看第二個問題。
你現在要用qq國際版跟乙個外國有人傳送檔案,從你點選傳送按鈕到對方接受完都發生了那些事情?
先來一張osi七層模型:
有些書本上講的表晦澀難懂,這裡我用乙個實際例子來說明這幾層的作用可能更通俗易懂;比如 tom 給 jack 傳送一封email,
tom把郵件寫好交給 乙個郵箱軟體(比如outlook,qq郵箱,163郵箱等),這個郵箱軟體就是工作在應用層的,負責和使用者互動,
使用者把郵箱交給outlook讓他幫你發出去,這個時候 outlook 並不是就幫你發出去了,他先把你的資料(位元組流)交給他的下層 表示層,
這一層的功能就是定義資料的表示,比如你在郵箱軟體**定義使用ascii碼傳送,還比如使用者要加密傳送,
到這裡,表示層就會在 應用層傳給他的資料的前面 加上額外資料資訊,這個額外資訊裡面就定義了這個資料需要怎麼表示(比如這個地方需要加密)的一些資訊,
然後把所有資料交給會話層,會話層是用來管理回話的,比如傳送郵件這屬於乙個遠端連線會發,所以繼續交給下層,如果你只是要儲存到本地,那這個地方就可能直接交給硬碟處理了;
現在就來到傳輸層了,傳輸層就是用來選擇傳輸方式的,用那種協議傳輸(對應 tcp udp),【tcp 需要三次握手,可靠,但是比起udp慢,udp快,但是不可靠,可不可靠是相對的】
繼續交給網路層,網路層是用來選路的,上文已經說了,網際網路是網狀的,所以 tom 傳送郵件給 jack 有很多條路都可以到達,而網路就是為你選擇最優路徑。接下來交給資料鏈路層,
資料鏈路層主要功能就是記錄mac位址(解釋一下為什麼要記錄mac位址,因為很多使用者上網都是通過路由器的,只有乙個公網ip,而下面的使用者只有乙個私有的區域網ip,而mac位址是唯一的)
接下來物理層,物理層職責就是傳遞位元流(可以通過網線或光纖);
上面那麼多步驟簡單來說就是,資料從上往下傳遞的過程中在每一層都增加了對應的額外資訊,到達最底層的時候資料等於 使用者原始資料+每一層新增的額外資訊;
到此,資料到達最底層物理層,接下來的傳遞又是怎麼樣的呢?
為了方便講解,這裡我們假設 tom 用的電腦是獨立ip的 ,不是區域網路;
資料從物理層傳遞到 tom所在網路的上乙個彙總點,直到傳遞到骨幹節點最頂端,由骨幹節點連線到國外的 jack ,然後由國外的骨幹節點依次往下找到jack的終端。
由於資料是一層層傳遞出去的,所有在任何地方都有可能被攔截,比如你現在上不了 谷歌 一樣。 上面已經說了,網際網路是網狀的,具體走那些路線到達jack終端,其實我們是不知道,
網路層會幫你選擇最優線路(網路層的選擇依據是什麼,這就需要更深入的了解了)。
到此,這封郵件已經傳遞到了jack的終端了,但是到達終端並沒有完,jack還需要用乙個郵件軟體來開啟郵件,這個過程包含乙個傳送相反的邏輯;
到達jack終端後會解析這個資料報,然後根據這個資料報的額外資訊,判斷 這個資料是要給系統的那個埠那個程序來處理。
首先資料就是被物理層收到,然後傳遞給鏈路層,鏈路層傳遞到網路層,網路層根絕解析資料的額外資訊,判斷這個資料的**,把解包後的資料交給上層傳輸層,直到把最終資料解析和
展示出來交給應用層的郵件軟體來閱讀;在傳遞的每一步都是通過解析額外資料來判斷需要對資料做什麼處理,給誰處理,怎麼處理;
簡單來說就是 傳送過程是在每一步新增資料頭(額外資訊),稱作壓包,接收過程其實就是不斷的解包;
再來看一張osi和tcp/ip四層模型的對比:
osi只是乙個規範,tcp/ip模型借鑑了osi的規範但沒有完全遵守,但是實際生活中都是普及tcp/ip模型;
從這個對應關係可以看出來,tcp/ip其實就是簡化版的osi模型,功能完全一樣,沒什麼說的;
什麼是網際網路?網際網路如何運作?
網際網路是乙個互聯計算機網路的全球系統,它使用網際網路協議套件 tcp ip 連線全球數十億臺裝置。它是乙個由數百萬個本地到全球範圍的私人 公共 學術 商業和 網路組成的網路中的網路,通過廣泛的電子 無線和光纖網路技術相互連線。網際網路承載廣泛的資訊資源和服務,例如互聯超文字文件和全球資訊網 www...
網際網路通訊
我覺得網際網路通訊就是所謂任意的兩台計算機通過網路 以網路為通道 實現資源檔案共享,而這兩台計算機分別擔任著客戶端計算機和服務端計算機的角色 簡單說可以理解為客戶端軟體和伺服器軟體之間的互動行為。ps c s通訊模型和b s通訊模型可以對比來看,找出他們之間的異同與聯絡,更好記憶。c s clien...
網際網路通訊
1.什麼是網際網路通訊 兩台計算機通過網路實現檔案共享的行為,叫做網際網路通訊 2.網際網路通訊角色的劃分 1 客戶端計算機 用於傳送請求,來索要資源檔案的計算機 2 服務端計算機 用於接收請求,並提供對應資源檔案的計算機 3.網際網路通訊模型 1 c s通訊模型 c client software...