計算機與網絡發展
計算機自誕生伊始,經歷了一系列演變與發展。大型通用機計算機、超級計算機、小型機、個人電腦、工作站、便攜式電以及現如今的智能手機終端都是這一過程的產物。它們性能逐年增強,價格卻逐年下降,機體規模也在逐漸變小。
隨着計算機的發展,人們不再局限於單機模式,而是將一個個計算機連接在一起,形成一個計算機網絡。從而實現信息共享,同事在能在兩台物理位置較遠的機器之間即時傳遞消息。
計算機網絡根據規模可以分為WAN(Wide Area Network,廣域網)和LAN(Local Area Network,局域網)。
將有業務往來的計算機連在一起便組成了私有網絡,將多個私有網絡連接一起就成了為公眾使用的互聯網。
隨着互聯網爆發性地發展與普及,信息網絡如同我們身邊的空氣,觸手可及。但是在以前,對一般人來說使用一台計算機都不是那么容易的事情。
計算機與網絡大致可以分為7個階段:

互聯網是由許多獨立發展的網絡通信技術融合而成。能夠使它們之間不斷融合並實現統一的正是TCP/IP技術。
那什么是TCP/IP呢?
TCP/IP是通信協議的統稱。
那什么是協議呢?
協議
協議的必要性
協議就是計算機與計算機之間通過網絡實現通信事先達成的一種“約定”。這種“約定”使那些由不同廠商的設備、不同的CPU以及不同的操作系統組成的計算機之間,只要遵循相同的協議就能夠實現通信。反之,如果使用的協議不同,就無法通信。
計算機與網絡設備要相互通信,雙方就必須基於相同的方法。比如,如何探測到通信目標、由哪一邊先發起通信、使用哪種語言進行通信、怎樣結束通信等規則都需要事先確定。不同的硬件、操作系統之間的通信,所有的這一切都需要一種規則。而我們就把這種規則稱為協議(protocol)。

協議中存在各式各樣的內容。從電纜的規格到 IP 地址的選定方法、尋找異地用戶的方法、雙方建立通信的順序,以及 Web 頁面顯示需要處理的步驟,等等。
像這樣把與互聯網相關聯的協議集合起來總稱為 TCP/IP。也有說法認為,TCP/IP 是指 TCP 和 IP 這兩種協議。還有一種說法認為,TCP/ IP 是在 IP 協議的通信過程中,使用到的協議族的統稱。

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

協議的標准化
在計算機通信誕生之初,系統化和標准化並未得到足夠的重視。因此不同廠商的設備,由於支持的協議不同,仍然無法實現正常的通信。
就好比語言交流:

隨着計算機重要性的不斷提高,很多公司開始逐漸意思是兼容性的重要意義。
為了解決上述問題,ISO組織制定了一個國際標准OSI,對通信系統進行標准化。
現在OSI所定義的協議雖然並沒有得到普及,但是在OSI協議設計之初作為其指導方針的OSI參考模型卻常被用於網絡協議的制定當中。
TCP/IP並非是ISO定制的國際標准,而是由IETF所致力與推進標准化作業的一種協議。現在也作為業界標准,儼然已成為全世界所廣泛應用的通信協議。
協議的標准化使得所有遵循標准協議的設備不再因計算機硬件或操作系統的差異而無法通信。因此,協議的標准化推動了計算機網絡的普及。
協議分層
ISO在制定標准化OSI之前,對網絡體系結構相關的問題進行了充分的討論並提出了作為通信協議涉及指標的OSI參考模型。這一模型將通信協議中的必要功能分成了7層。
** 為什么要分層呢?**
如果互聯網只由一個協議統籌,某個地方需要改變設計時,就必須把所有部分整體替換掉。而分層之后只需把變動的層替換掉即可。把各層之間的接口部分規划好之后,每個層次內部的設計就能夠自由改動了。
值得一提的是,層次化之后,設計也變得相對簡單了。處於應用層上的應用可以只考慮分派給自己的任務,而不需要弄清對方在地球上哪個地方、對方的傳輸路線是怎樣的、是否能確保傳輸送達等問題。
協議分層就如同計算機軟件中的模塊化開發
舉個打電話的例子:

OSI參考模型

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 模型以外的應用程序提供服務。包括為相互通信的應用程序或進行之間建立連接、進行同步,建立關於錯誤糾正和控 制數據完整性過程的協商等。應用層還包含大量的應用協議,如分布式數據庫的訪問、文件的交換、電子郵件、虛擬終端等。

許多通信協議,都對應了OSI參考模型7個分層中的某層。通過這一點,可以大致了解該協議在整個通信功能中的位置和作用。

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

發送方從第7層、第6層到第1層由上至下按照順序傳輸數據,而接收端則從第1層、第2層到第7層由下至上向每個上一級分層傳輸數據。每個分層上,在處理由上一層傳過來的數據時可以附上當前分層的協議所必須的“首部”信息。然后接收端對收到的數據進行數據“首部”與“內容”的分離,再轉發給上一分層,並最終將發送端的數據恢復為原狀。
傳輸方式的分類
網絡與通信中可以根據其數據發送方法進行多種分類。
- 面向連接與面向無連接

2.電路交換與分組交換

3.根據接收端數量來分

地址
通信傳輸中,發送端和接收端都可以被視作通訊主體。它們都能由一個所謂的"地址"的信息標識出來。比如打電話,電話號碼就是"地址",比如寄快遞,家庭住址就是"地址"。
在TCP/IP通信中使用MAC地址,IP地址,端口號等信息作為地址標識。甚至在應用層中可以將電子郵件地址作為網絡通信的地址。
地址具有唯一性
當地址總數多時,需要有層次性來快速定位。
網絡的構成要素
搭建一套網絡環境要涉及到各種各樣的電纜和網絡設備。


- 數據鏈路與通信媒介
計算機之間通過電纜相互連接。電纜可以分為多種,包括雙絞線電纜、光纖電纜、同軸電纜、串行電纜等。而媒介本身也可以被划分為電波、微波等不同類型的電磁波。

- 網卡
計算機連接網絡時,必須要使用網卡,也被稱作網絡適配器、LAN卡。

- 中繼器


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


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

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

舉個例子:電腦跟手機郵件有時候會不兼容,需要網關的轉換

有時候為了控制流量或保證安全,會有代理服務器,防火牆等都是網關的一種。
比如谷歌被牆啊:

現代網絡實態
看圖吧:




來個總結:
學習TCP/IP知識前需要先了解下計算機網絡出現的背景及發展階段,了解矛盾才能明白出現TCP/IP的必然性。
另外我們知道想要通信需要先遵守協議,為了更好的互聯,要推動協議的標准化,然后標准化又促進了計算機網絡的發展。
然后為了簡便,談到了協議的分層從而出現了OSI參考模型,知道了各層的分類及作用后,我們再看看現實生活中的網絡構成及應用實態。
