計算機網絡入門概念理解

計算機網絡入門概念理解

 

下面我來說解一些關於網絡的基礎知識,這些知識有利於幫助咱們從此學習TCP/IP協議相關知識打好基礎。前端

誕生背景

首先從網絡的誕生背景講起。一開始計算機的運做是獨立存在的(獨立模式),每一個計算機有各自的業務,用戶須要在不一樣的計算機上執行特定的業務邏輯。用戶採用卡帶的方式將程序和數據輸入計算機讓計算機進行運算。以後出現了分時系統,分時系統具備「多終端,一主機 」的特色,因爲分時系統CPU時間片輪轉的特性讓用戶有了「一人一機」的錯覺。70年代後計算機日漸小型化,慢慢的出現了多臺主機鏈接通訊的技術,緊接着到80年代,互連多種計算機(包括超級計算機、PC等)的網絡誕生。90年代後提出「瘦身」和「多供應商鏈接」的口號,電子郵件和萬維網技術取得長足的發展。現在的社會已然是互聯網的時代,甚至於一切皆「TCP/IP」鏈接。計算機在規模上從WAN(廣域網)到LAN(局域網)。緩存

network1

 

協議

下面說一下協議相關的東西。
協議簡單來講就是通訊事物之間進行溝通的規則。因爲計算機不具有人類的認知能力,因此要想實現計算機之間的通訊,制定通訊規則而後通訊雙方共同遵照該規則是通訊的前提。這裏提一下分組交換協議,後面要用到。分組交換是指將大數據切割成一個個包(Packet)進行傳輸的方法。注意切成包以後必定要在包上加上數據的源主機地址和目標地址、分組序號這些信息,即報文首部。注意必定要貼上這些東西,否則你怎麼把數據發送出去,怎麼讓數據在目標地址那邊把大數據湊出來?穿插了一下分組交換,下面繼續前面剛剛提到的協議。協議開始是由各個廠家各自制定的,這樣的結果就是用戶只能使用同一個廠家的設備進行通訊……後來ISO看不下去了,就制定了OSI標準協議(順便給出了OSI參考模型)。雖然ISO給出的OSI協議最後並不流行,可是它提出了這種思想。今天TCP/IP協議正在一統天下。(注:TCP/IP不是ISO制定的,它是IETF制定的)安全

network2

 

既然說到了分組交換,就把現代網絡通訊方式分組交換說一下吧。在這以前先說一下更加悠久的電路交換技術。先看一下下面這個圖:服務器

network3

 

在電路交換技術中,計算機先經過電路交換機鏈接,此外還有另一批計算機也經過電路交換機鏈接。若是計算機A與計算機F想要創建鏈接,怎麼辦呢?A與F經過中間的電路鏈接在一塊兒。這樣的方式不用多想存在許多弊端:不能同時併發通訊,由於中間的電路每次只能給兩臺計算機通訊用!因而人們想出了更加優秀的分組交換技術,看上圖,就是將左側的計算機須要發送的數據所有送到路由器裏面切割成一個個的(Packet)而後緩存在路由內部,路由按照隊列的方式將這些包發送出去。這樣就解決了電路交換技術中的一些問題。可是它也有些毛病,好比當路由緩存滿時可能溢出致使數據丟失或者沒法發送的狀況。網絡

OSI參考模型

上面說到了ISO的OSI協議,後來它並無被大量採用,不過ISO的OSI參考模型卻成爲今天網絡體系結構的標準模型。讓咱們來看看這個是什麼東東,爲何能影響力這麼大?其實OSI參考模型就是將網絡通訊原本複雜無厘頭的過程分紅了7層(見下面),每一層都有它們各自管理的事情,相同層次之間可使用協議通訊,而不一樣層次之間又能夠經過接口來通訊。這個分層是如此的美妙,好比在這個系統內某一個層次發生更改或者拓展並不會影響到整個系統的特色,因此到今天它也一直在使用着。不過它也有一些劣勢,像過度分層致使有些功能實現邏輯不得不重複實現。併發

network4

 

下面咱們一塊兒來看看協議中7層各自的功能。博主以一個場景爲例來介紹7層功能,歡迎吐槽。以小明向小紅髮送電子郵件爲例。小明寫好了一封郵件「早上好」,填好了小紅的Email地址,而後點擊「發送 」按鈕,應用層就開始摩拳擦掌了。應用層利用協議先在數據的前端附加一個首部(標籤)信息,包括郵件內容「早上好」和收件人小紅的信息。這些信息會在小紅的應用層中被分析保存,此外還存在異常處理。小明的應用層把數據處理後傳到下面的表示層去。爲何要有表示層捏?試想一下,小明的電腦他使用Outlook來發郵件,小紅的電腦使用網頁版來收文件,假設這兩個軟件的編碼格式不一樣,若是直接進行收發會出現怎樣的狀況?固然是亂碼咯。因此就要有表示層來解決這種狀況,在發送方將數據轉換成網絡通用的標準數據格式,而後在接收方將這些特定格式的數據再次解碼爲本地的編碼格式,這樣就沒有亂碼問題了。注意表示層也會附加首部信息。好了,如今通過兩層的處理,數據傳到了會話層。這一層又是幹嗎的呢?一封郵件看不出來它的做用,我就再舉例吧。小明發完「早上好」又發了一封「吃了沒」,會話層的做用就是解決創建鏈接,按照什麼順序發送的問題的,可是它不發送。好比說,創建一次鏈接發送「早上好」而後斷開,再創建一次鏈接發送「吃了沒」再斷開;或者創建一次鏈接同時發送「早上好」「吃了沒」。肯定怎麼創建鏈接,怎麼發送是這一層的問題,這是鏈接管理層。接下來會話層會把數據繼續傳遞至下一層,傳輸層如下就是真正發揮網絡傳輸的地方了。上面的數據傳到傳輸層,傳輸層就肯定小明的主機與小紅的主機是否鏈接了,沒有鏈接就創建鏈接,通訊完畢就斷開鏈接。此外傳輸層會判斷數據是否完整地到達了小紅的主機,若是沒有就從新發一遍。能夠看出傳輸層具備保障數據可靠性的功能。通過了傳輸層,咱們的鏈接就創建了。然而它並不會真的把數據發送出去,這就要下面的網絡層和數據鏈路層來處理了。網絡層是指從原地址到目標地址數據通訊的過程,是整個通訊的過程。而數據鏈路層是指傳遞過程當中的中轉站傳遞(見下面)。就比如小明的郵件要傳到一個個別的設備最終才能到達小紅的主機上。學習

network5

 

最後一層是物理層,顧名思義,就是經過物理介質來實現數據傳遞的層級。這是通訊的根本,沒有物理介質通訊不可能實現。在這一層裏數據從0,1轉換爲電壓或者脈衝光傳遞,經過MAC地址來實現傳遞。大數據

通過這麼漫長的步驟,小明終於把數據發送了出去。那麼小紅是怎麼接收數據的呢?其實就是上面過程倒敘一遍啦。小紅的主機從物理層開始不斷將小明發送來的數據進行反向解碼,從而一層層剝離最終獲得想要的數據。關於OSI參考模型須要在從此的學習中不斷更新理解,這裏可能存在誤差。編碼

傳輸方式

上面列舉了小明和小紅的通訊過程,咱們稱之爲面向有鏈接型鏈接,由於雙方都創建了鏈接後才進行的通訊。此外還有面向無鏈接型通訊,UDP你們都知道吧,發送方就是一個勁地發,無論別人是否接收。這種方式有什麼好處呢?它可讓處理變得簡單,你發就行,我接收就行,不用去執行創建通訊那一套東西。
其實上面的兩種傳輸方式是一種分類,此外還有根據接收端數量來分類的方式,分爲單播、廣播、多播和任播*。這不難理解(見下圖)spa

network6

 

注意:多播和任播的客戶端全體擁有同一個地址。

地址

說了這麼多終於說到地址了。上面的通訊過程必須有地址才能實現。地址具備兩個重要的特性:惟一性層次性。惟一性很少說了,在同一個通訊網絡中地址必須惟一指定,否則怎麼通訊……說說層次性,層次性是指地址中可以實現快速定位的能力。好比從一個電話號碼能夠看出用戶的國家、省市、區名。IP地址因爲其擁有網絡號和主機號而擁有層次性。兩個相同網絡號的IP地址的主機的組織結構、提供商類型和地獄分佈集中。而MAC地址不具備層次性。
下面說說尋址的問題。
網絡傳輸過程當中的節點會根據分組數據的地址判斷是從哪一個網卡發出來的,MAC尋址會參考地址轉發表,IP尋址會參考路由控制表,具體尋址參考下面這張圖,一目瞭然。

network7

 

網絡的構成要素

上面講了這麼多,最後從宏觀上,從現實中來感知一下網絡的存在吧。網絡的物理設備組成包括:網卡、中繼器、網橋/2層交換機、路由/3層交換機、4-7層交換機、網關還有電纜。計算機通訊是經過線纜來完成的,線纜的傳輸速率(又稱帶寬)指單位時間傳輸的數據量的多少。網絡接口卡(NIC)有時也被稱爲網絡適配器、網卡、LAN卡,是計算機連網的設備,具備獨一無二的MAC地址。中繼器處於物理層,是對電纜信號進行波形調整和放大而後繼續傳輸的設備。能夠認爲集線器每一個端口都是中繼器。網橋(又稱二層交換機)負責在數據鏈路層中的數據幀的重構、錯誤數據幀丟棄和傳輸數據幀。(維基百科上解釋爲> 「橋接器將網絡的多個網段在數據鏈路層(OSI模型第2層)鏈接起來(即橋接)。」)路由(又稱三層交換機) 處於網絡層,根據IP地址鏈接兩個網絡對分組報文進行轉發,此外還有網絡安全和分擔網絡負荷的功能。網關負責從傳輸層到應用層的數據進行轉換和轉發的設備。互聯網郵件與手機郵件之間的轉換服務。互聯網與手機之間設置了一道網關,網關負責讀取完各類不一樣的協議後,對它們逐一進行合理的轉換,再將相應的數據轉發出去。代理服務器也是網關的一種,稱爲應用網關。我的對於中繼器、網橋、路由的理解就是數據傳輸從底層硬件逐漸往上層的管理設備。

相關文章
相關標籤/搜索