網際網路協議套組
網際網路協議套組(英語:Internet Protocol Suite,縮寫 IPS)是網路通訊模型,以及規个網路傳輸協定家族仔,為網際網路的基礎通訊架構。伊通叫TCP / IP 協定套組(英語:TCP / IP Protocol Suite,抑是 TCP / IP Protocols), 簡稱TCP / IP。因為該協定家族的兩个核心協定:TCP(傳輸控制協定)和IP(網際網路協定),為該家族內底上早通過的標準。因為佇網路通訊協定普遍採用分層的結構,當幾若層次的協定共同工作的時陣,類似電腦科學中的堆疊,因此閣號做TCP / IP 協定疊(英語:TCP / IP Protocol Stack)。 遮的協定上早發源佇美國國防部(縮寫為 DoD)的 ARPA 網專案,所以嘛叫做DoD 模型(DoD Model)。 這个協定套組由網際網路工程任務組負責維護。
TCP / IP 提供了點著點連結的機制,將資料應該按怎封裝、定址、傳輸、路由閣有佇目的地如何接收,攏加以標準化。伊共軟體通訊過程抽象化做四个抽象層,採取協定堆疊的方式,分別實作出無仝通訊協定。協定套組下的各種協定,以功用無仝款,分別歸屬到這四个階層之中,定定看做是簡單的七層 OSI 模型。
歷史
研發初期
一九八三年一月初一,佇網路的前身(ARPA 網)中通訊方式來換做新的定義,TCP / IP 取代舊的網路控制協定(NCP,Network Control Protocol), 對今仔日網際網路的基石。上早的啊 TCP / IP 由文頓 ・ 瑟夫佮羅伯特 ・ 卡恩兩位開發,慢慢仔通過競爭戰勝其他一寡網路協定的方案,比如國際標準化組織 ISO 的 OSI 模型。TCP / IP 的興旺發展發生佇一九九空年代中期。彼當陣一寡重要而且這个工具的出世,親像頁面咧講語言 HTML 佮瀏覽器 Mosaic,促成網路應用的飛速發展。 網路隨著網路的發展,目前時行的 IPv 四協定(網際網路協定版本四)已經倚近伊的功能上限。IPv 四上下命的兩个缺陷佇咧:
- 地址干焦三十二位元,IP 位址空間有限;
- 毋支援服務品質(Quality of Service,QoS)的想法,無法度管理誠闊佮優先級,故而袂當真好的支援這馬愈來愈濟及時的語音佮視訊應用。所以 IPv 六(網際網路協定版本六)浮出水面,用取代的 IPv 四。
TCP / IP 成功的另外一个因素佇咧對對為數眾多的低層協定的支援。遮的低層協定對應 OSI 模型中的第一層(實體層)佮第二層(資料連結層)。 逐層的所有協定攏差不多一半數量支援 TCP / IP,比如講:乙太網路(Ethernet)、 權拐仔(Token Ring)、 光纖資料分布介面(FDDI)、 著等協定(PPP)、 X . 二十五、影格中繼(Frame Relay)、 ATM、Sonet、SDH 等通訊方法中攏會當應用。
標準化
研背景
頭仔想講予無仝電腦之間實現連接的,是美國加州大學洛杉磯分校網路工作小組的史蒂芬 ・ 克羅克(Stephen D . Crocker)。 一九七空年,克羅克佮其實小組手制定上早的主機對主機通訊協定,伊叫網路控制協定(Network Control Protocol,縮寫 NCP)。 該協定用佇阿帕網仔,閣佇局部網路條件下執行穩定,毋過綴阿帕網使用者增加,NCP 沓沓仔暴露出兩大缺陷:
一 . NCP 只是一台主機對另外一台主機的通訊協定,並無予網路內底的逐台電腦設定唯一的位址,結果就造成電腦佇愈來愈龐大的網路內底誠歹準確定位需要傳輸資料的物件。 二 . NCP 欠缺糾錯功能,按呢來喔,資料佇傳輸過程中一旦出現錯誤,網路就可能是停止執行。走錯電腦增多,予得網路執行效率大打折扣。
開發的過程
佇咧構建阿帕網先驅了後,DARPA 開始其他的資料傳輸技術的研究。NCP 誕生了後兩年,一九七二年,羅伯特 ・ 卡恩(Robert E . Kahn)予人倩 DARPA 的資訊科技處理辦公室,佇遐伊研究衛星封包網路佮地面無線封包網路,而且意識著會當佇咧𪜶之間溝通的價值。佇一九七三年春天,已有的 ARPANET 網路控制程式(NCP)協定的開發者文頓 ・ 瑟夫(Vinton Cerf)加入卡恩為 ARPANET 設計後一代協定來開發開放互相連模型的工作當中。到甲一九七三年熱天,卡恩佮瑟夫真緊開發出基本的改進形式,其中的網路協定之間的差異通過使用公用網際網路協定來隱藏起來,而且會當靠性由主機保證毋是 ARPANET 彼款的由網路保證。瑟夫呵咾矣 Hubert Zimmerman 和 Louis Pouzin(CYCLADES 佇咧網路的設計者)佇這个設計上發揮重要影響。
因為網路的作用減到上細的程度,閣較有可能共任何網路接起來,毋免管𪜶無仝的特點,按呢有法度解決卡恩上頭仔的問題。流行的講法提著瑟夫佮卡恩工課的最終產品 TCP / IP 將咧執行「兩枝罐仔佮一枝絃」上,實際上伊已經用佇咧信粉鳥頂懸。一个叫做閘道(後來改為路由器以免佮閘道混淆)的電腦為逐个網路提供一个介面並且佇𪜶之間來回傳輸封包。這个設計思想閣較幼的形式由瑟夫佇咧斯坦福的網路研究組的一九七三年–一九七四年期間開發出來。佇仝一个時陣 PARC 通用包協定組的全錄 PARC 早期網路研究工課也有重要的技術影響;咱佇兩个之間咧搖擺無定著。DARPA 所以伊是佮 BBN、斯坦福和倫敦大學簽署協定開發無仝硬體平台上協定的執行版本。有四个版本開發出來—— TCP v 一、TCP v 二、佇一九七八年春天分做 TCP v 三和 IP v 三的版本,尾仔就是穩定的 TCP / IP v 四—— 目前網際網路猶原使用的標準協定。
一九七五年,兩个網路之間的 TCP / IP 通訊佇斯坦福佮倫敦大學(UCL)之間咧進行測試。一九七七年十一月,三个網路之間的 TCP / IP 測試佇美國、英國佮徙威之間來做。佇一九七八年到一九八三年間,其他一寡 TCP / IP 原型佇咧加研究中心之間開發出來。ARPANET 完全轉換著 TCP / IP 佇一九八三年一月初一發生。一九八四年,美國國防部將 TCP / IP 成做所有電腦網路的標準。一九八五年,網際網路架構理事會舉行為期三工有二百五十間廠商代表參加的關於計算產業使用 TCP / IP 的工課會議,幫助協定的推廣並且引𤆬伊日漸漸增加的商業應用。
二空空五年九月九號卡恩和瑟夫因為對美國文化的卓越貢獻獲總統自由勳章。
TCP / IP 協定棧組成
規个通訊網路的任務,會當劃做分做無仝款的功能區塊,得人講的層級(layer)。 用佇網路的協定會當比照 TCP / IP 參考模型進行分類。TCP / IP 協定棧起頭佇第三層協定 IP(網際協定)。 所有遮的協定攏咧相應的 RFC 文件內底討論佮標準化。重要的協定佇咧相應的 RFC 文件中均標記的狀態:「 著愛」(required),「推薦」(recommended),「通選」(selective)。 其他的協定閣有可能有「試驗」(experimental)抑是「歷史」(historic)的狀態。」
著愛協定
所有的 TCP / IP 應用攏愛實現 IP 和 ICMP。對一个路由器(router)來講,有這兩个協定就會當運作,雖然有對應用的角度來看,按呢一个路由器意義無蓋大。實際的路由器一般猶閣需要執行真濟「推薦」使用的協定,猶閣有一寡其他的協定。 強欲所有連接著網路頂懸的電腦攏存在的 IPv 四協定出世佇一九八一年,今仔日的版本佮上早的版本並無偌濟改變。升級版 IPv 六的工課始佇一九九五年,目的是佇咧取代 IPv 四。ICMP 協定主要是用收集佇咧有關係網路的資訊走揣錯誤等工課。
範例:無仝電腦執行的無仝協定
- 一个簡單的路由器上可能會實現 ARP,IP,ICMP,UDP,SNMP,RIP。
- WWW 使用者捀使用 ARP,IP,ICMP,UDP,TCP,DNS,HTTP,FTP。
- 一台使用者電腦猶閣會執行如 TELNET,SMTP
TCP / IP 參考模型
TCP / IP 參考模型是一个抽象的分層模型,這个模型內底,所有的 TCP / IP 系列網路協定攏歸類到四个抽象的「層」中。逐抽象層的建立佇低一層提供的服務上,並且為高一層提供服務。 完成一寡特定的任務需要濟濟的協定協同工課,遮的協定分布咧參考模型的無仝層中的,所以有時稱伊為一个 _ 協定疊 _。 TCP / IP 參考模型為 TCP / IP 協定疊身製作。其中 IP 協定只關心如何予資料會當迒過本地網路邊界的問題,袂關心按怎利用傳輸媒體,資料按怎傳輸。規个 TCP / IP 協定疊則負責解決資料按怎通過誠濟个對等通路(一个對等通路,嘛叫做一「跳」, 一 hop)順利傳輸,由此無仝的網路成員會當佇真濟「跳」的基礎頂懸建立相互相的資料通路。 想欲分析閣較普遍的網路通訊問題,ISO 的 OSI 模型嘛會當閣較好的幫助作用。網際網路協定套組是一組實現支援網際網路佮大多數商業網路執行協定疊的網路傳輸協定。伊有時仔嘛叫做TCP / IP 協定組,這个名稱來源於其中兩个上重要的協定:傳輸控制協定(TCP)佮網際網路協定(IP), 𪜶嘛是上先定義的兩个協定。 仝款誠濟其他協定仝款網路傳輸協定嘛會當看做一个多層組合,每層解決資料傳輸中的一組問題並且向使用遮的低層服務的高層提供定義好的服務。高層邏輯佮使用者閣較接近,所處理資料閣較抽象,𪜶依賴佇低層將資料轉換做最後會當進行實體控制的形式。 網路傳輸協定會當大致匹配著一寡廠商佮意使用的固定七層的 OSI 模型。毋過遮的層並毋是攏會當真好來佮基於是 IP 的網路對應(根據應用的設計佮支援網路的無仝𪜶確實是牽涉著無仝的層)而且一寡人認為試圖共網際網路協定組對應 OSI 會紮來透濫毋是有幫助。
網際網路協定疊著的層
人已經進行一寡討論關於如何共 TCP / IP 參考模型對映著 OSI 模型。因為 TCP / IP 和 OSI 模型組袂當精確地匹配,猶未一个完全正確的答案。 另外咧,OSI 模型下層猶閣無具備會當真正占據真正層的位置的能力;佇傳輸層佮網路層之間閣需要另外一个層(網路相連層)。 特定網路類型專用的一寡協定應該執行佇網路層上,但是咧煞執行佇基本的硬體影格交換上。類似協定的例有 ARP 和 STP(用來保持趁錢的網橋的閒狀態一直到真正需要𪜶)。 毋過,𪜶是本地協定並且佇咧網路互相連功能下跤執行。袂使否認,共這兩个組(閣較免講𪜶只是執行佇咧爾 ICMP 等無仝的互連網路協定上的邏輯頂懸的網路層的一部份)規个囥佇仝一層會去引起透濫,猶毋過 OSI 模型猶未複雜著會當做閣較好的工課。 下跤的圖表試圖顯示無仝的 TCP / IP 佮其他的協定佇咧上早 OSI 模型內底的位置喔:
通常人認為講 OSI 模型的上頂頭三層(應用層的、表現層和會議層)佇咧 TCP / IP 組中是一个應用層。因為 TCP / IP 有一个相對較弱的會議層,由 TCP 和 RTP 拍開佮關係連接組成,並且佇咧 TCP 和 UDP 下跤的各種應用提供無仝的埠號,這寡功能夠由單的應用程式(抑是遐的應用程式所使用的庫)加添。佮這个相仝的是,IP 是按照共下跤的網路當做一个烏觳仔的思想設計的,按呢咧討論 TCP / IP 的時陣就會當共當做一个獨立的層。
應用層的
該層包括所有佮應用程式協同工課,利用基礎網路交換應用程式專用的資料的協定。 應用層是大多數普通佮網路相關的程式為著通過網路佮其他程式通訊所使用的層。這層的處理過程是應用特有的;資料對網路相關的程式以這種應用內部使用的格式來進行傳送,然後編碼成標準協定的格式。
一寡特定的程式視為在此層運行。𪜶提供服務直接支援使用者應用。遮的程式佮𪜶對應的協定包括 HTTP(全球資訊網服務)、 FTP(檔案傳輸)、 SMTP(電子批)、 SSH(安全遠端登入)、 DNS(名稱 ⇔IP 位址走揣)猶閣有足濟其他協定。
一旦對應用程式來的資料編碼成一个標準的應用層協定,伊將傳送到 IP 棧的下一層。
佇傳輸層,應用程式上捷用的是 TCP 抑是講 UDP,並且侍服器應用程式定定佮一个公開的埠號相聯絡。侍服器應用程式的埠頭由網際網路號分碼配局(IANA)正式的分配,但是現此時一寡新協定的開發者乎定定選擇𪜶家己的埠號。因為佇仝一个系統頂懸足少的超過少數幾个奉服器應用,埠頭衝突引起的問題真少。應用軟體通常也允准使用者強制性地指定埠號做執行參數。
連結外部的客戶捀程式通常使用系統分配的一个隨機埠號。監聽一个埠頭並且通過侍服器將彼个埠頭傳送到應用的另外一个副本以建立著等連結(如 IRC 上的 dcc 檔案傳輸)的應用嘛會當使用一个隨機埠頭,但是應用程式通常允准定義一个特定的埠頭的規範以允准埠會當通過實現網路位址轉換(NAT)的路由器對映到內部。
每一个應用層(TCP / IP 參考模型的上懸層)協定一般攏會當用著兩个傳輸層協定之一: 面向連接的 TCP 傳輸控制協定佮無連接的包傳輸的 UDP 使用者資料報協定。 捷用的應用層協定有:
- 執行佇咧 TCP 協定上的協定:
- * HTTP(Hypertext Transfer Protocol,超文字傳輸協定), 主要用普通瀏覽。
- HTTPS(Hypertext Transfer Protocol over Secure Socket Layer , or HTTP over SSL,安全超文字傳輸協定), HTTP 協定的安全版本。
- FTP(File Transfer Protocol,檔案傳輸協定), 由名知義,用於檔案傳輸。
- POP 三(Post Office Protocol , version 三,郵局協定), 收郵件用。
- SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協定), 用來傳送電子批。
- TELNET(Teletype over the Network,網路電傳), 迵過一个終端(terminal)登陸去網路。
- SSH(Secure Shell,用佇咧替代的安全性差的 TELNET), 用佇加密安全登陸用。
- 執行佇咧 UDP 協定上的協定:
- * BOOTP(Boot Protocol,啟動協定), 應用無盤裝置。
- NTP(Network Time Protocol,網路時間協定), 用網路同步。
- DHCP(Dynamic Host Configuration Protocol,動態主機組態協定), 動態組態 IP 位址。
- 其他:
- * DNS(Domain Name Service,域名服務), 用佇完成的位址走揣,郵件轉發等的工課(執行佇咧 TCP 和 UDP 協定上)。
- ECHO(Echo Protocol,迴踅協定), 用佇咧查錯及測量應該答時間(執行佇咧 TCP 和 UDP 協定上)。
- SNMP(Simple Network Management Protocol,簡單網路管理協定), 用佇網路資訊的收集佮網路管理。
- ARP(Address Resolution Protocol,位址解析協定), 用佇動態解析乙太網路硬體的位址。
傳輸層
傳輸層(transport layer)的協定,會當解決諸如捀到端可靠性(「 資料敢有已經達到目的地?」)佮保證資料按照正確的順序到位按呢的問題。佇咧 TCP / IP 協定組中,傳輸協定嘛包括所予資料應該送予佗一个應用程式。 佇咧 TCP / IP 協定組中技術上位佇這个層的動態路由協定通常認為是網路層的一部份;一个例就是講 OSPF(IP 協定八十九)。 TCP(IP 協定六)是一个「可靠的」、面向連結的傳輸機制,伊提供一種會當靠的位元組流保證資料完整、無失真並且照順序到位。TCP 雖然連紲不斷咧測試網路的負載並且控制傳送資料的速度以避免網路過載。另外咧,TCP 試圖將資料按照規定的順序傳送。這是伊佮 UDP 無仝的所在,這及時的資料流或者是路由高網路層遺失率應用的時陣可能成做一个缺陷。 比較新的 SCTP 嘛是一个「可靠的」、面向連結的傳輸機制。伊是面向記錄毋是面向位元組的,伊佇一个單獨的連結上提供通過多路復用提供的多個子流。伊嘛提供多路自定址支援,其中連結尾仔會當加一个 IP 位址表示(代表多個實體介面), 若按呢就算其中一个連接失敗嘛無斷去。伊上頭仔是為電話應用開發的(佇咧 IP 傳輸 SS 七), 但是嘛會當用佇其他的應用。 UDP(IP 協定號十七)是一个無連結的資料報協定。伊是一个「盡力傳達」(best effort)抑是講「無可靠」協定—— 毋是因為伊特別袂使靠,是因為伊毋是檢查封包敢是已經達到目的所在,並且無保證𪜶照順序到位。若是一个應用程式需要遮的特性,伊著愛家己檢測佮判斷,抑是使用 TCP 協定。 UDP 伊的典型性應用是如串流的媒體(音訊佮視訊等等的)按呢照時到佮可靠性閣較重要的應用,抑是講 DNS 走揣按呢的簡單查詢/回應用,抑若建立可靠的連結所做的額外工作將是袂成比例地大。 DCCP 目前當由 IETF 開發。伊提供 TCP 流動控制語意,猶毋過對使用者來講保留 UDP 的資料報服務模型。 TCP 和 UDP 攏用來支援一寡高層的應用。任何予定網路住址的應用通過𪜶的 TCP 抑是講 UDP _ 埠號 _ 區分。根據慣例使一寡 _ 大眾知的埠頭 _ 佮特定的應用相聯絡。 RTP 是為著音訊佮視訊流按呢的及時資料設計的資料報協定。RTP 是使用 UDP 包格做基礎的會議層,毋過網路協定疊的傳輸層。
網路相連層
_ TCP / IP 協定套組的網路相連層(internet layer)佇咧 OSI 模型中叫做網路層(network layer)。 _
正如頭先所定義的,網路層解決佇一个單一網路頂頭傳輸封包的問題。類似的協定有 X . 二十五和 ARPANET 的 Host / IMP Protocol。 網路隨著網路思想的出現,佇這个層上添加附加的功能,也就是將資料對源網路傳輸到目的網路。這就牽涉著佇咧網路組成的網路頂選擇路徑共封包傳輸,也就是網際網路。 網路協定組中,IP 完成資料對源傳送到目的的基本任務。IP 會當承載濟種無仝款的高層協定的資料;遮的協定使用一个唯一的 _ IP 協定號 _ 進行標識。ICMP 和 IGMP 分別是一佮二。 一寡仔 IP 承載的協定,如 ICMP(用來傳送關於著 IP 傳送的診斷資訊)和 IGMP(用來管理加播資料), 𪜶的位佇咧 IP 層之上但是完成網路層的功能,這表明網際網路佮 OSI 模型之間的無相容性。所有的路由協定,如 BGP、OSPF、和 RIP 實際上也是網路層的一部份,就算講伊若像應該屬於閣較懸的協定疊。
網路存取 ( 連結 ) 層
網路存取 ( 連結 ) 層實際上並毋是網際網路協定組中的一部份,但是伊是封包對一个裝置的網路層傳輸到另外一个裝置的網路層的方法。這个過程會當佇網卡的軟體驅動程式當中控制,也會當佇韌體抑是專用晶片中控制。這將完成若添加報頭準備傳送、通過實體媒介實際傳送按呢一寡資料鏈路功能。另外一爿,鏈路層欲完成資料框接收、去除報頭並且共接收著的包傳去網路層。 毋過,鏈路層並無定定按呢簡單。伊嘛可能是一个虛擬專有網路(VPN)抑是磅空,佇遮對網路層來的包使用磅空協定佮其他(或者是仝款的)協定組傳送而毋是傳送到實體的介面上。VPN 佮通道通常預先起好,而且𪜶有一寡直接傳送到實體介面所無的特殊特殊的特點(比如講,伊會當加密經過伊的資料)。 因為這馬鏈路「層」是一个完整的網路,這款協定組的遞迴使用可能引起透濫。但是伊是一个實現時常見複雜功能的一个優秀方法。(就算講需要注意預防一个已經封裝並且經磅空傳送落去的封包進行閣再地封裝佮傳送)。
IP 網路欲按怎併吞競爭的網路
佇咧長期的發展過程,IP 漸漸取代其他的網路。遮是簡單的解說。IP 傳輸通用資料。資料會當用於啥物目的,而且會當真輕易取代以前由專有資料網路傳輸的資料。下跤是普通的過程:
一 . 一个用於特定目的所開發出來的網路。若予順工課做,使用者將能使用伊。 二 . 為著提供便利的 IP 服務,定定用佇咧儉電子批的或者是開講,通常用某一種方式迵過專有網路磅空實現。磅空的方式上頭仔可能嘛蓋無效率,因為電子郵件佮開講只需要足低的頻闊。 三 . 通過一點點仔的投資 IP 基礎設施漸漸咧專有資料網路周邊出現。 四 . 用 IP 取代專有服務的需求出現,不時是一个使用者要求。 五 . IP 替代品過程遍布規个網際網路,這個使 IP 替代品比上頭仔的專有網路更加有價值(因為網路效應)。 六 . 專有網路受著壓制。使用真濟使用者開始維護使用 IP 替代品的複製品。 七 . IP 包的間接開銷足細,減於百分之一,按呢佇成本上非常有競爭性。人開發有法度將 IP 𤆬去專有網路頂懸的大部份使用者的無貴參參的傳輸媒介。 八 . 大多數使用者為削減開銷取消專有網路。
實現
- KA 九 Q PPJ
- lwIP
現此時,大多數的商業作業系統包括 TCP / IP 棧並且預設安裝𪜶,對大多數使用者來講,無必要去共探求按怎實現。TCP / IP 包含佇這个所有的商業 Unix 和 Linux 發布包中,仝款嘛包括講佇咧 Mac OS X、Windows 系統佮 Windows Server 中。
參見
- IPv 四
- IPv 六
- NCP
- OSI 模型
- MPLS
- DoD 模型
- TCP / UDP 埠列表
參考文獻
外部連結
- RFC 一千一百八十 TCP / IP 指南,網際網路工程任務組,一九九一年一月
- TCP / IP 定定見問題解答
- ARPANET TCP / IP 挽愛研究
- TCP / IP 流程圖
- 實踐中的網際網路
- TCP / IP Definition
- TCP / IP 來協定集詳細的資料
- uIP-針對十六分之八位元微控制器之用的 TCP / IP 協定疊起來程式(繁體中文)
- Internet History--Pages on Robert Kahn , Vinton Cerf , and TCP / IP ( reviewed by Cerf and Kahn ) .
- RFC 一千一百二十二-網際網路主機要求--通訊層
- Joseph G . Davies 和 Thomas F . Lee。微軟 Windows Server 兩千空三 TCP / IP 協定佮服務,ISBN 九百七十八追空九七千三百五十六鋪一千兩百九十一孵四
- Craig Hunt TCP / IP 網路管理,O'Reilly ( 一千九百九十八 ) ISBN 九百七十八追一孵五鋪六千五百九十二孵三百二十二孵五
- W . Richard Stevens。TCP / IP 說明,第一卷,Addison-Wesley Professional;頭版,一九九三年十二月三十一號,ISBN 九百七十八追空九二百空一孵六鼻三千三百四十六刣七