TCP/IP 筆記 - 概述


Effective communication depends on the use of a common language.

有效溝通取決於使用共同的語言 。

 

TCP/IP協議族

一系列相關協議的集合被稱為一個協議族。指定一個協議族中的各種協議之間的相互關系並划分需要完成的任務的設計,稱為協議族的體系結構或參考模型。而TCP/IP則是一個實現Internet體系結構的協議族,它來源於ARPANET參考模型。標准的TCP/IP實現來自加州大學伯克利分校計算機系統研究組(CSRG),它們通過4.xBSD系統發布,直到20世紀90年代中期才出現BSD網絡發布版。

體系結構原則

Internet體系結構在以下幾個目標的指導下建立:

  · 發展一種重復利用已有的互聯網絡的技術(首要目標);

  · Internet通信在網絡或網關失效時必須能持續(二級目標);

  · Internet必須支持多種類型的通信服務(二級目標);

  · Internet體系結構必須兼容多種網絡(二級目標);

  
· Internet體系結構必須允許對其資源的分布式管理(二級目標);

  
· Internet體系結構必須是經濟有效的(二級目標)
;

  · Internet體系結構必須允許低能力主機的連接(二級目標);


  · Internet中使用的資源必須是可統計的(二級目標)。

簡單的通信模型

早期的網絡(電話網絡),針對一次通信中連接雙方而設計,比如A和B通信,則A和B之間會建立一條線路(最初的物理電路);且這條連接中會提供一定數量的帶寬和容量用以傳輸信息。

以傳統問候語為例:

分組交換思想

通信過程中以`分組`為單位來傳輸,使用存儲-轉發機制實現數據交互,這是分組交換。來自不同源的數據塊組合成一個數據分組,在`處理設備`(交換機/路由器)接收到數組分組之后又可將其分解,稱為多路復用。分組在到達目的地的過程中需要在交換設備之間傳輸,並且路徑可以改變。

這樣做的好處是:

  1. 網絡更具有彈性;

  2. 高效利用網絡鏈路和交換設備提高傳輸效率。

對於`處理設備`而言,最簡單的分組處理調度方式符合`先到達先服務`規則,稱為先進先出(FIFO),這玩意也是Internet中用來處理不同來源的混合流量的主要方法。

如圖(摘自百度百科)

數據報

數據報是一個特定類型的分組,有關來源和最終目的地的所有識別信息都位於分組中。可用於建立一個無連接的網絡,並且沒必要使用復雜的信令協議。在數據報協議中存在消息邊界,而在底層協議中並不保留消息邊界,如果應用程序有需要它的情況,則須自行提供對應功能。

端到端論點和命運共享

端到端論點是影響TCP/IP協議族設計的重要原則之一,該原則認為重要功能(例如差錯控制、加密、交付確認)通常不會在大型系統的低層實現。但是,低層可以提供方便端系統工作的功能,並最終可能改善性能。而選擇哪些功能在同一計算機、網絡或軟件棧中實現,這是另一個稱為命運共享的相關原則。

命運共享是一種通過虛擬連接(例如,由TCP實現)維持活動的設計理念,它建議將所有必要的狀態放在通信端點,這些狀態用於維護一個活動的通信關聯。

上述兩點均可理解為着重保證網絡通信能力的健全。

差錯控制和流量控制

差錯控制是指對網絡中存在數據損壞或丟失的情況進行的處理措施;流量控制是指對網絡數據流量進行控制的處理措施。它們與端到端論點一致(如TCP在端主機中實現速率控制),也與命運共享一致(在網絡基礎設施中有些單元失效的情況下,不會影響網絡設備的通信能力)。

設計和實現

實現體系結構定義了協議體系結構中的概念如何用於軟件形式的實現。通俗的理解,實現體系結構也就是:將軟件的實現分為幾個階段(層次),各個協議分別需要在軟件的哪些地方(哪個階段/層次)被使用。采用分層是有益的,它允許開發人員分別實現系統的不同部分,它們通常由在不同領域的專業人員完成。

OSI模型(Open System Interconnection)

比較基礎也比較有名的OSI七層模型:

基於OSI分層實現的數據封裝 

每一層都有自己的消息對象概念(協議數據單元,PDU),並且對於上一層(或下一層)的PDU不做解釋(即圖中被當做不透明數據)只管封裝(或拆解)。在每一層,最常見的處理是在獲得的PDU外增加自已的標識符信息,有些是增加在頭部,有些協議是增加在尾部。

TCP/IP協議族結構

TCP/IP協議分層 

基於TCP/IP協議分層的數據封裝

傳入的數據經過一層層的剝離,每層分別除去自己層所需的數據報頭部以決定數據報下一步該派發給哪個協議處理、或者做數據報錯誤檢測等,最終成功后剩下數據給應用處理后反饋到用戶。

端口號 

端口號是16位非負整數(0~65535)。每個IP地址有65536個可用的端口號,每個傳輸協議可使用這些端口號 (在大多數情況下),它們被用於確定正確的接收數據的具體服務。標准的端口號由Internet號碼分配機構(IANA)分配:包括熟知端口號(0~1023);注冊端口號(1024~49151);動態/私有端口號(49152~65535)。

熟知端口如安全外殼協議(SSH,端口22)、FTP (端口20和21)、Telnet遠程終端協議(端口23)、電子郵件/簡單郵件傳輸協議(SMTP,端口25)、域名系統(DNS,端口53)、超文本傳輸協議或Web(HTTP和HTTPS,端口80和443)、交互式郵件訪問協議(IMAP和IMAPS,端口143和993)、簡單網絡管理協議 (SNMP,端口161和162)、輕量級目錄訪問協議(LDAP,端口389)。

內聯網、外聯網

Internet (因特網)已發展成為由很多網絡互聯起來的網絡集合。小寫字母開頭的Internet表示使用常見協議族互聯的多個網絡;大寫字母開頭的Internet表示可使用 TCP/IP通信的世界范圍的主機集合。

內聯網(內網):通常由一個商業機構或其他企業來運行。大多數情況下,內聯網提供的訪問資源只供特定企業的成員使用,用戶可使用虛擬專用網(VPN)連接到(例如企業)內聯網,VPN有助於保證內聯網中潛在的敏感資源只供授權用戶訪問,它通常使用隧道概念。

外聯網(外網):一個企業或商業機構可能希望建立一個網絡,其中包含可供合作伙伴或其他相關公司通過Internet訪問的服務器,這種涉及VPN的網絡通常被稱為外聯網,由連接在提供服務的企業防火牆之外的計算機組成 。

內網外網的簡單理解:由路由器區分,路由器以內是內網,路由器以外是外網;內網IP是內部自行分配的'身份認證',外網是Internet網中對你的'身份認證'。

設計應用

本文所述的網絡概念提供了一個簡單的服務模型:在運行於不同(或相同)計算機上的程序之間傳輸數據。然而提供該服務還需使用網絡應用(服務的提供者)。 網絡應用最常見的 模式是客戶機/服務器模式和對等模式。

客戶機/服務器模式被設計為一端是客戶機,而另一端是服務器。且服務器分為兩類:迭代和並發。

對等模式下沒有專門的服務器。每個應用既是服務器又是客戶端,有時又同時是兩者。

標准化進程

有了這些協議,也總得了解下是誰來負責各協議的制定和標准,以及它們如何運作。

Internet工程任務組(IETF):據說(書上說的,沒參加過,2333)每年在世界不同地點舉行3次會議,以便開發、討論和通過Internet 的“核心”協議標准。

Internet研究任務組(IRTF):討論那些沒有成熟到足以形成標准的協議、體系結構和程序。

RFC:Internet社會中的每個官方標准都以一個RFC (征求意見)的形式發布。不是所有RFC都是標准,只有標准跟蹤類別的RFC被認為是官方標准。其他類別包括當前最佳實踐(BCP)、信息、實驗和歷史。重要的是,一個文件成為一個RFC並不意味着IETF已采納它作為標准。許多RFC具有特殊意義:它們總結、澄清或解釋其他一些特殊標准。

其他標准:一些重要的組織包括電氣和電子工程師學會(IEEE)、萬維網聯盟(W3C) 以及國際電信聯盟(ITU) 定義的協議同樣值得注意。

小結

在TCP/IP中,網絡層和傳輸層之間的區別至關重要:網絡層(IP)提供了一個不可靠的數據報服務,必須由Internet中所有可尋址的系統來實現,而傳輸層(TCP和UDP)為端主機上運行的應用程序提供了端到端服務。主要的傳輸層協議有根本性的差異:TCP提供了帶流量控制和擁塞控制的有序、可靠的流交付;除了用於多路分解的端口號和錯誤檢測機制之外,UDP提供的功能基本沒有超越IP,但是與TCP不同,UDP支持組播交付。

互聯網絡( intenret)是一個網絡集合,其中最常見的基本設備是路由器,它被用於在IP層連接多個網絡。

 

參考:

《TCP IP 詳解卷1:協議》

RFC官方文檔


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM