TCP/IP筆記(一)網絡基礎知識

計算機與網絡發展

計算機自誕生伊始,經歷了一系列演變與發展。大型通用機計算機、超級計算機、小型機、我的電腦、工做站、便攜式電以及現現在的智能手機終端都是這一過程的產物。它們性能逐年加強,價格卻逐年降低,機體規模也在逐漸變小。數據庫

隨着計算機的發展,人們再也不侷限於單機模式,而是將一個個計算機鏈接在一塊兒,造成一個計算機網絡。從而實現信息共享,同事在能在兩臺物理位置較遠的機器之間即時傳遞消息。安全

計算機網絡根據規模能夠分爲WAN(Wide Area Network,廣域網)和LAN(Local Area Network,局域網)。服務器

將有業務往來的計算機連在一塊兒便組成了私有網絡,將多個私有網絡鏈接一塊兒就成了爲公衆使用的互聯網。網絡

隨着互聯網爆發性地發展與普及,信息網絡如同咱們身邊的空氣,觸手可及。可是在之前,對通常人來講使用一臺計算機都不是那麼容易的事情。負載均衡

計算機與網絡大體能夠分爲7個階段:分佈式

計算機使用模式的演變.png
互聯網是由許多獨立發展的網絡通訊技術融合而成。可以使它們之間不斷融合並實現統一的正是TCP/IP技術。
那什麼是TCP/IP呢?
TCP/IP是通訊協議的統稱。
那什麼是協議呢?ide

協議

協議的必要性

協議就是計算機與計算機之間經過網絡實現通訊事先達成的一種「約定」。這種「約定」使那些由不一樣廠商的設備、不一樣的CPU以及不一樣的操做系統組成的計算機之間,只要遵循相同的協議就可以實現通訊。反之,若是使用的協議不一樣,就沒法通訊。模塊化

計算機與網絡設備要相互通訊,雙方就必須基於相同的方法。好比,如何探測到通訊目標、由哪一邊先發起通訊、使用哪一種語言進行通訊、怎樣結束通訊等規則都須要事先肯定。不一樣的硬件、操做系統之間的通訊,全部的這一切都須要一種規則。而咱們就把這種規則稱爲協議(protocol)。性能

TCP/IP 是互聯網相關的各種協議族的總稱 .png

協議中存在各式各樣的內容。從電纜的規格到 IP 地址的選定方法、尋找異地用戶的方法、雙方創建通訊的順序,以及 Web 頁面顯示須要處理的步驟,等等。學習

像這樣把與互聯網相關聯的協議集合起來總稱爲 TCP/IP。也有說法認爲,TCP/IP 是指 TCP 和 IP 這兩種協議。還有一種說法認爲,TCP/ IP 是在 IP 協議的通訊過程當中,使用到的協議族的統稱。

計算機通訊協議.png

分組交換 是將大數據分割爲一個個叫作包(Packet)的較小單位進行傳輸的方法。這裏所說的包,就如同咱們日常在郵局裏見到的郵包。分組交換就是將大數據分裝爲一個個這樣的郵包交給對方。

分組交換.png

協議的標準化

在計算機通訊誕生之初,系統化和標準化並未獲得足夠的重視。所以不一樣廠商的設備,因爲支持的協議不一樣,仍然沒法實現正常的通訊。
就比如語言交流:

協議的標準化.png
隨着計算機重要性的不斷提升,不少公司開始逐漸意思是兼容性的重要意義。
爲了解決上述問題,ISO組織制定了一個國際標準OSI,對通訊系統進行標準化。

如今OSI所定義的協議雖然並無獲得普及,可是在OSI協議設計之初做爲其指導方針的OSI參考模型卻常被用於網絡協議的制定當中。

TCP/IP並不是是ISO定製的國際標準,而是由IETF所致力與推動標準化做業的一種協議。如今也做爲業界標準,儼然已成爲全世界所普遍應用的通訊協議。

協議的標準化使得全部遵循標準協議的設備再也不因計算機硬件或操做系統的差別而沒法通訊。所以,協議的標準化推進了計算機網絡的普及。

協議分層

ISO在制定標準化OSI以前,對網絡體系結構相關的問題進行了充分的討論並提出了做爲通訊協議涉及指標的OSI參考模型。這一模型將通訊協議中的必要功能分紅了7層。

** 爲何要分層呢?**

 若是互聯網只由一個協議統籌,某個地方須要改變設計時,就必須把全部部分總體替換掉。而分層以後只需把變更的層替換掉便可。把各層之間的接口部分規劃好以後,每一個層次內部的設計就可以自由改動了。

值得一提的是,層次化以後,設計也變得相對簡單了。處於應用層上的應用能夠只考慮分派給本身的任務,而不須要弄清對方在地球上哪一個地方、對方的傳輸路線是怎樣的、是否能確保傳輸送達等問題。

協議分層就如同計算機軟件中的模塊化開發

舉個打電話的例子:

電話.png

OSI參考模型

OSI參考模型.png

OSI參考模型中每一個層的做用:

1.物理層(Physical Layer)

  物理層位於 OSI 參考模型的最低層,它直接面向原始比特流的傳輸。爲了實現原始比特流的物理傳輸,物理層必須解決好包括傳輸介質、信道類型、數據與信號之間的轉換、信號傳輸中的衰減和噪聲等在內的一系列問題。另外,物理層標準要給出關於物理接口的機械、 電氣、功能和規程特性,以便於不一樣的製造廠家既可以根據公認的標準各自獨立地製造設備,又能使各個廠家的產品可以相互兼容。

2.數據鏈路層(Data Link Layer)

  在物理層發送和接收數據的過程當中,會出現一些物理層本身不能解決的問題。例如, 當兩個節點同時試圖在一條線路上發送數據時該如何處理?節點如何知道它所接收的數據 是否正確?若是噪聲改變了一個分組的目標地址,節點如何察覺它丟失了本應收到的分組呢?這些都是數據鏈路層所必須負責的工做。

  數據鏈路層涉及相鄰節點之間的可靠數據傳輸,數據鏈路層經過增強物理層傳輸原始比特的功能,使之對網絡層表現爲一條無錯線路。爲了可以實現相鄰節點之間無差錯的數據傳送,數據鏈路層在數據傳輸過程當中提供了確認、差錯控制和流量控制等機制。

3.網絡層(Network Layer)

  網絡中的兩臺計算機進行通訊時,中間可能要通過許多中間結點甚至不一樣的通訊子網。 網絡層的任務就是在通訊子網中選擇一條合適的路徑,使發送端傳輸層所傳下來的數據能 夠經過所選擇的路徑到達目的端。

  爲了實現路徑選擇,網絡層必須使用尋址方案來肯定存在哪些網絡以及設備在這些網絡中所處的位置,不一樣網絡層協議所採用的尋址方案是不一樣的。在肯定了目標結點的位置後, 網絡層還要負責引導數據包正確地經過網絡,找到經過網絡的最優路徑,即路由選擇。若是子網中同時出現過多的分組,它們將相互阻塞通路並可能造成網絡瓶頸,因此網絡層還須要提供擁塞控制機制以免此類現象的出現。另外,網絡層還要解決異構網絡互連問題。

4.傳輸層(Transport Layer)

  傳輸層是 OSI 七層模型中惟一負責端到端節點間數據傳輸和控制功能的層。傳輸層是 OSI 七層模型中承上啓下的層,它下面的三層主要面向網絡通訊,以確保信息被準確有效地傳輸;它上面的三個層次則面向用戶主機,爲用戶提供各類服務。

  傳輸層經過彌補網絡層服務質量的不足,爲會話層提供端到端的可靠數據傳輸服務。它爲會話層屏蔽了傳輸層如下的數據通訊的細節,使會話層不會受到下三層技術變化的影響。但同時,它又依靠下面的三個層次控制實際的網絡通訊操做,來完成數據從源到目標的傳輸。傳輸層爲了向會話層提供可靠的端到端傳輸服務,也使用了差錯控制和流量控制等機制。

5.會話層(Session Layer)

  會話層的功能是在兩個節點間創建、維護和釋放面向用戶的鏈接。它是在傳輸鏈接的基礎上創建會話鏈接,並進行數據交換管理,容許數據進行單工、半雙工和全雙工的傳送。會話層提供了令牌管理和同步兩種服務功能。

6.表示層(Presentation Layer)

  表示層如下的各層只關心可靠的數據傳輸,而表示層關心的是所傳輸數據的語法和語義。它主要涉及處理在兩個通訊系統之間所交換信息的表示方式,包括數據格式變換、數據加密與解密、數據壓縮與恢復等功能。

7.應用層(Application Layer)

  應用層是 OSI 參考模型的最高層,負責爲用戶的應用程序提供網絡服務。與 OSI 其餘層不一樣的是,它不爲任何其餘 OSI 層提供服務,而只是爲 OSI 模型之外的應用程序提供服務。包括爲相互通訊的應用程序或進行之間創建鏈接、進行同步,創建關於錯誤糾正和控 制數據完整性過程的協商等。應用層還包含大量的應用協議,如分佈式數據庫的訪問、文件的交換、電子郵件、虛擬終端等。

每一個層的做用.png

許多通訊協議,都對應了OSI參考模型7個分層中的某層。經過這一點,能夠大體瞭解該協議在整個通訊功能中的位置和做用。
各層對應的協議

舉個例子:假設主機A的用戶A要給主機B的用戶B發送一封電子郵件:

屏幕快照 2017-03-10 上午10.27.04.png

 發送方從第7層、第6層到第1層由上至下按照順序傳輸數據,而接收端則從第1層、第2層到第7層由下至上向每一個上一級分層傳輸數據。每一個分層上,在處理由上一層傳過來的數據時能夠附上當前分層的協議所必須的「首部」信息。而後接收端對收到的數據進行數據「首部」與「內容」的分離,再轉發給上一分層,並最終將發送端的數據恢復爲原狀。

傳輸方式的分類

網絡與通訊中能夠根據其數據發送方法進行多種分類。

  1. 面向鏈接與面向無鏈接

屏面向鏈接與面向無鏈接.png

2.電路交換與分組交換

電路交換與分組交換.png

3.根據接收端數量來分

單播,廣播,多播,任播.png

地址

通訊傳輸中,發送端和接收端均可以被視做通信主體。它們都能由一個所謂的"地址"的信息標識出來。好比打電話,電話號碼就是"地址",好比寄快遞,家庭住址就是"地址"。

在TCP/IP通訊中使用MAC地址,IP地址,端口號等信息做爲地址標識。甚至在應用層中能夠將電子郵件地址做爲網絡通訊的地址。

地址具備惟一性
當地址總數多時,須要有層次性來快速定位。

網絡的構成要素

搭建一套網絡環境要涉及到各類各樣的電纜和網絡設備。

構成及做用.png

各設備對應的網絡分層.png

  • 數據鏈路與通訊媒介

計算機之間經過電纜相互鏈接。電纜能夠分爲多種,包括雙絞線電纜、光纖電纜、同軸電纜、串行電纜等。而媒介自己也能夠被劃分爲電波、微波等不一樣類型的電磁波。

數據鏈路.png

  • 網卡
    計算機鏈接網絡時,必需要使用網卡,也被稱做網絡適配器、LAN卡。

網卡.png

  • 中繼器

中繼器.png

中繼集線器.png

  • 網橋
    位於OSI模型中的第二層--數據鏈路層上鍊接兩個網絡的設備。

網橋.png

自學式網橋及交換集線器.png

  • 路由器
    路由器位於第三層--網絡層上鍊接兩個設備、並對分組保溫進行轉發的設備。
    網橋是根據MAC地質處理的,路由器是根據IP地址進行處理的。

路由器.png

  • 4~7層交換機
    負責處理OSI模型中從傳輸層至應用層的數據。用TCP/IP來表述的話,就是以TCP/IP等協議的傳輸層及其上面的應用層爲基礎,分析首發數據,並對其進行特定的處理。
    主要功能:負載均衡器,帶寬控制,廣域網加速器,特殊應用訪問加速,及防火牆等。

  • 網關

網關.png

舉個例子:電腦跟手機郵件有時候會不兼容,須要網關的轉換
屏幕快照 2017-03-10 下午3.17.19.png

有時候爲了控制流量或保證安全,會有代理服務器,防火牆等都是網關的一種。

好比谷歌被牆啊:
防火牆.png

現代網絡實態

看圖吧:

實際網絡構成.png

移動通訊.png

數據中心.png

雲服務.png

來個總結:

學習TCP/IP知識前須要先了解下計算機網絡出現的背景及發展階段,瞭解矛盾才能明白出現TCP/IP的必然性。 另外咱們知道想要通訊須要先遵照協議,爲了更好的互聯,要推進協議的標準化,而後標準化又促進了計算機網絡的發展。 而後爲了簡便,談到了協議的分層從而出現了OSI參考模型,知道了各層的分類及做用後,咱們再看看現實生活中的網絡構成及應用實態。

相關文章
相關標籤/搜索