網絡通信的工作原理

***************************************************

更多精彩,歡迎進入:http://shop115376623.taobao.com

***************************************************


1、什么是計算機網絡?

計算機網絡是由兩臺或兩臺以上的計算機通過網絡設備連接起來所組成的一個系統,在這個系統中計算機與計算機之間可以進行數據通信、數據共享及協同完成某些數據處理的工作。

強調:計算機網絡不僅僅指計算機,還包含網絡設備,并且計算機與計算機之間還能進行信息傳輸。

?

2、計算機與計算機之間如何進行通信?

計算機與計算機之間用線路連接起來就可以通信了嗎?對計算機來說,光有硬件是不行的,叫計算機做任何事情,都要有相應的軟件支持,所以這節課我們探討計算機網絡的參考模型,計算機網絡的參考模型就是計算機網絡的軟件,最經典的計算機網絡參考模型就是國際標準化組織的OSI,它提出一個機器上的一個應用進程與另一個機器上另外一個進程進行信息信息交流到底要做什么事情。通過模型講解計算機網絡是如何工作,這個軟件如何設計的呢?

??????21??計算機解決問題的方式:分層

計算機網絡要提供兩個進程之間的通信,要解決很多問題,并不是如我們平時解決問題一樣,第一步做什么,第二步做什么……能夠簡單地羅列出來,它是一個很復雜的問題。計算機一般解決問題的方式:分層,自頂向下逐步分解結構化的程序設計。把一個大問題分解成若干個小問題。國際化標準組織在OSI中把計算機網絡通信分成七大部分的工作,每一層都完成網絡當中一個獨立的任務。

??????22??七層模型

摸著石頭過河:網絡復習第一課——網絡通信的工作原理

物理連接是前提,七層協議的最底層——物理層要保證主機A的比特串能通過物理鏈路傳到主機B上,問題:這樣傳輸不安全,物理電路容量受到干擾,比如電流干擾,計算機沒有二義性,1100,那么數據鏈路層就用來保證主機A到主機B上的一串二進制數據是完全正確的,

數據鏈路層采用的方法和我們人講話是一樣的,把說的內容分成有語氣的句子,它把要傳遞的內容分成一組一組,計算機如何保證一組組的內容正確?用其所長:計算,同時把計算的結果與原始的信息一起發過去,接收方收到數據再進行相同的計算,如果與結果比較相同,那內容就是正確的。用這種方式能保證主機A的數據能正確傳到主機B上。這是在計算機與計算機物理相連的情況下可以傳遞信息,可是計算機與計算機之間并不都是兩兩相連的,更多的計算機是通過中繼結點連接,那發送數據如何知道經過哪些中繼結點呢?這由網絡層實現。

網絡層的作用就是在網絡中找到一條路徑,一段一段地傳送,由于數據鏈路層保證兩點之間的數據是正確的,因此源到目的地的數據也是正確的,這樣一臺機器上的信息就能傳到另外一臺了。但計算機網絡的最終用戶不是主機,而是主機上的某個應用進程。這個過程由傳輸層實現。

傳輸層標識了服務是哪個進程請求的,要交給誰。我把東西交你時,希望通知你一下,就是會話層的工作。

會話層打好招呼,以便進行通話。就像現在我和你說話,你耳朵聽到了也能理解,但如果下面是外國人,他聽到了我的聲音,他理解了嗎?他不能理解。那對于計算機網絡來言,客戶機發了一個請求給服務器,服務器應該能理解這個請求到底是什么,所以接下去的問題是你怎么樣理解?這個理解有兩個層次,我講中國話,他只能懂英文,那么這當中應該有一個翻譯。把漢語翻譯成英語,大多數PC都用ASCII碼,有些大型機用BCD碼,每臺計算機都有自己的語言,都有自己的編碼,對于不同的編碼來講,不同的字符編碼是不一樣的,我的機器里是A,在他的機器里編碼可能就不是A了,所以它必須有個翻譯,到那邊A還是A,這個工作由表示層來做

表示層做的是信息的理解,我這里的一串二進制字符在這邊表示的是什么字符,在那邊還表示什么字符。比如我這邊表示整型數是2個字節,有的大型機是4個字節,那我就要溝通了:我是兩個字節表示一個整型數,你不要取我4個字節,表示層就相當于把我漢語翻譯成他的英語了,但最終目的還是沒有達到,為什么呢?大家都是懂普通話的,所有用漢字表示的信息都能理解呢?要理解專業領域里的知識,必須要有專業的基礎。

對于計算機來講一樣,每一個應用都有它特定的表示方式。它們之間還必須有一個學習的過程,這就是應用層。

???????23 ?協議

計算機網絡分成七個層次,每個層次負責不同的功能,每一層只要考慮和對等層次之間的關系,它們共同遵守相應的約定,這個約定稱為協議。

對于物理層要解決主機A上的二進制比特串如何傳遞到主機B上,把01用一種信號用某種信號來表示,0用什么來表示,1用什么來表示,持續的時間有多長,這些約定我們稱為物理層的協議。

對數據鏈路層而言,不要考慮0101是如何傳遞的,它考慮的是如何對物理層的信息進行計算,把原始數據和結果一起發到對方,對方再進行同樣的計算。所以它們之間要有約定,我是怎么樣對原始數據進行計算的,那么你也應該進行同樣的運算。

對于網絡層,它負責路由查找,在每個節點,都要有同樣的消息告訴我下一站怎么走。

在傳輸層,會話層、表示層、應用層都要有同樣的約定。比如我們通信雙方是一個Web瀏覽,對于我們兩個進程之間就有一個約定,如果我要取你的某個Web網頁,我這條消息是怎么樣的一條結構,這就是應用層的協議。

七個層次,每個層次都有和對方對等層次之間的約定。所以七層模型,又稱為七層協議。不可能說我這個網絡用什么協議,而是說在哪個層次用什么協議。

?

??????24 ?接口和服務

各功能層之間,上一層對下一層提出服務要求,下一層完成上一層提出的要求。這都通過各層之間的接口完成。就是計算機怎么用來傳遞消息的

??????25??OSI模型的數據傳輸

??????摸著石頭過河:網絡復習第一課——網絡通信的工作原理

??????


????26 ?舉例:某人給他的朋友寫一封信?

摸著石頭過河:網絡復習第一課——網絡通信的工作原理

3TCP/IP參考模型

?互聯網就是把全球各地的各種類型局域網連接起來的,主要解決不同網絡之間的聯系,而局域網內部的通信是已經解決的問題

摸著石頭過河:網絡復習第一課——網絡通信的工作原理

?在TCP/IP協議體系中,TCP協議和IP協議是最重要的核心協議。IP協議的工作是把數據包從一個地方傳遞到另一個地方,TCP協議的工作是對數據包進行管理與校核。

?摸著石頭過河:網絡復習第一課——網絡通信的工作原理


動畫演示
??????摸著石頭過河:網絡復習第一課——網絡通信的工作原理


4、總結

?????計算機網絡通信是通過分層實現,每一層都遵守協議,上一層對下一層提要求,下一層完成上一層的要求,發送方封裝信息,接收方解封裝信息。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458994.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458994.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458994.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Bossie Awards 2015: The best open source applicati

2019獨角獸企業重金招聘Python工程師標準>>> Read about more open source winners InfoWorlds Best of Open Source Awards for 2014 celebrate more than 100 open source projects, from the bottom of the stack to the top. Follow these links to more open s…

oracle中pga指什么,oracle學習SGA跟PGA理解

SGA:SystemGlobal Area是OracleInstance的基本組成部分,在實例啟動時分配;系統全局域SGA主要由三部分構成:數據庫緩沖區、日志緩沖區、共享池,還可能包含:大池,JAVA池,流池。注意點:…

oracle重做日志教程,Oracle教程:重做日志文件基本維護

重做日志文件最重要的用途就是用來恢復數據(其實你也可以用來logminer),它記錄著system global area(sga)當中的database bu重做日志文件最重要的用途就是用來恢復數據(其實你也可以用來logminer),它記錄著system global area(sga)當中的database buffer…

以太網,局域網,萬維網

*************************************************** 更多精彩,歡迎進入:http://shop115376623.taobao.com *************************************************** 以太網是一種通信協議標準 萬維網WWW 是 Internet 的多媒體信息查詢工具 以太網: 以…

java的自動類型轉換和強制類型轉換

在程序運行時,經常需要將一種數值類型進行轉換成另一種類型。下面給出了一個合法的轉換。數值之間的合法轉換上圖中有6個實心箭頭,表示無信息丟失的轉換,有三個虛箭頭,表示可能有精度丟失的轉換。例如123456789是一個大整數&#…

Class 泛型

Java Class 泛型的例子說明: http://blog.chinaunix.net/uid-1911213-id-3085866.html http://blog.163.com/sir_876/blog/static/1170522320121216273111/轉載于:https://www.cnblogs.com/yedu/p/4514016.html

java動態代理的實現

動態代理作為代理模式的一種擴展形式,廣泛應用于框架(尤其是基于AOP的框架)的設計與開發,本文將通過實例來講解Java動態代理的實現過程。友情提示:本文略有難度,讀者需具備代理模式相關基礎知識&#xff0c…

常見的網絡類型

*************************************************** 更多精彩,歡迎進入:http://shop115376623.taobao.com *************************************************** 我們經常聽到Internet網、星形網等名詞,它們表示什么?是怎樣分…

oracle放在內存里,oracle如中何把小表釘住在內存中

buffer_pool_defualtbuffer_pool_keepbuffer_pool_recycle如果要把表釘死在內存中,也就是把表釘在keep區。相關的命令為:alter table ..... storage(buffer_pool keep);這句命令把表示表如果緩存的話是緩存在keep區。可以通過語句:select tab…

C++基礎之this指針的詳解

*************************************************** 更多精彩,歡迎進入:http://shop115376623.taobao.com *************************************************** 關于C中的this指針,建議大家看看這篇文章,《C中的this指針》&a…

xcode 開發ios兼容性問題的上下黑邊 和 coco2d-x 游戲分辨率適配 ResolutionPolicy::FIXED_WIDTH 都會引起上下黑邊問題!!!...

1:Xcode6在iPhone5iOS7模擬器上編譯,上下有黑邊問題 問題描述: Xcode6環境下,對iPhone5或iPhone5s模擬器,在iOS7或iOS7.1下運行,屏幕上下有黑邊。在iOS8下沒問題。 問題分析: 這種熟悉的場景又出…

如何用參數化SQL語句污染你的計劃緩存

你的SQL語句的參數化總是個好想法。使用參數化SQL語句你不會污染你的計劃緩存——錯!!!在這篇文章里我想向你展示下用參數化SQL語句就可以污染你的計劃緩存,這是非常簡單的! ADO.NET-AddWithValue ADO.NET是實現像SQL …

oracle values函數,Oracle文本函數簡介

Oracle文本函數使我們常用的函數,下面就為您介紹幾種Oracle文本函數的用法,供您參考學習,希望可以讓您對Oracle文本函數有更深的認識。(1)UPPER、LOWER和INITCAP這三個函數更改提供給它們的文體的大小寫。select upper(product_name) from pr…

c++ int *p = new int()

*************************************************** 更多精彩,歡迎進入:http://shop115376623.taobao.com *************************************************** int *anew int(120); 申請一個整型變量空間,賦初值為120,并…

Ios: 如何保護iOS束文件屬性列表,圖像,SQLite,媒體文件

Ios: 如何保護iOS束文件屬性列表,圖像,SQLite,媒體文件我創建了Hello World示例項目,然後添加data.plist文件到資源文件夾。現在人們可以很容易得到束文件解壓縮。國際音標。有任何的方法來保護data.plist文件保存在iPhone應用程序…

w3wp oracle,w3wp.exe占用CPU超過50%的處理

w3wp.exe占用CPU超過50%的處理1.查看CPU占用高的進程:任務管理器C:\Documents andSettings\Administrator>iisappW3WP.exe PID: 18008 AppPoolId: STATW3WP.exe PID: 8328 AppPoolId: STATW3WP.exe PID: 17868 AppPoolId: JYCV16W3WP.exe PID: 16652 AppPoolId: …

論兩種學習模式

引言 A:你是如何學習的,通過視頻、書籍和實踐結合?B:不是,一般情況是以一個問題為點去畫線和面。 兩種學習模式 按部就班方式獲取知識(通過書、視頻)缺點 信息接收者缺乏深度思考和探索信息發布者的知識體系不一定適合…

啟動mq命令 linux,RocketMQ:Linux下啟動server和broker的命令

目錄QUESTION:RocketMQ:Linux下啟動server和broker的命令?ANSWER:一、啟動mqnamesrv1.1當前執行1.2后臺運行二、啟動mqbroker2.1當前執行2.2后臺運行QUESTION:RocketMQ:Linux下啟動server和broker的命令?ANSWER:一、啟動mqnamesrv1.1當前執行進入rocke…

C++中int *p[4]和 int (*q)[4]的區別

*************************************************** 更多精彩,歡迎進入:http://shop115376623.taobao.com *************************************************** C中int *p[4]和 int (*q)[4]的區別 前者是指針數組,后者是指向數組的指針…

Spring筆記③--spring的命名空間

p:命名空間: xmlns:p"http://www.springframework.org/schema/p" 作用:簡化在xml配置bean的屬性 在<bean>中使用p:屬性名來配置 AOP:命名空間: xmlns:aop"http://www.springframework.org/schema/aop" xsi:schemaLocation: http://www.springframewo…