日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TCP/IP协议族 详解(TCP/IP四层模型、OSI七层模型)

發(fā)布時間:2023/12/18 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP/IP协议族 详解(TCP/IP四层模型、OSI七层模型) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前些天發(fā)現(xiàn)了一個巨牛的人工智能學習網(wǎng)站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

TCP/IP協(xié)議族TCP/IP Protocol Suite,或TCP/IP Protocols),簡稱TCP/IP由于在網(wǎng)絡通訊協(xié)議普遍采用分層的結構,當多個層次的協(xié)議共同工作時,類似計算機科學中的堆棧,因此又被稱為TCP/IP協(xié)議棧英語:TCP/IP Protocol Stack?。這些協(xié)議最早發(fā)源于美國國防部(縮寫為DoD)的ARPA網(wǎng)項目,因此也被稱作DoD模型(DoD Model)。這個協(xié)議族由互聯(lián)網(wǎng)工程任務組負責維護。

?

TCP/IP提供點對點的鏈接機制,將數(shù)據(jù)應該如何封裝、定址、傳輸、路由以及在目的地如何接收,都加以標準化。它將軟件通信過程抽象化為四個抽象層,采取協(xié)議堆棧的方式,分別實現(xiàn)出不同通信協(xié)議。協(xié)議族下的各種協(xié)議,依其功能不同,被分別歸屬到這四個層次結構之中,常被視為是簡化的七層OSI模型。

所有的TCP/IP應用都必須實現(xiàn)IP和ICMP。

?

TCP/IP參考模型:

是一個抽象的分層模型,這個模型中,所有的TCP/IP系列網(wǎng)絡協(xié)議都被歸類到4個抽象的"層"中。每一抽象層創(chuàng)建在低一層提供的服務上,并且為高一層提供服務。 完成一些特定的任務需要眾多的協(xié)議協(xié)同工作,這些協(xié)議分布在參考模型的不同層中的,因此有時稱它們?yōu)橐粋€協(xié)議棧。

?TCP/IP參考模型為TCP/IP協(xié)議棧訂身制作。其中IP協(xié)議只關心如何使得數(shù)據(jù)能夠跨越本地網(wǎng)絡邊界的問題,而不關心如何利用傳輸媒體,數(shù)據(jù)如何傳輸。整個TCP/IP協(xié)議棧則負責解決數(shù)據(jù)如何通過許許多多個點對點通路(一個點對點通路,也稱為一"跳", 1 hop)順利傳輸,由此不同的網(wǎng)絡成員能夠在許多"跳"的基礎上創(chuàng)建相互的數(shù)據(jù)通路。?

如想分析更普遍的網(wǎng)絡通信問題,ISO的OSI模型也能起更好的幫助作用。?因特網(wǎng)協(xié)議族是一組實現(xiàn)支持因特網(wǎng)和大多數(shù)商業(yè)網(wǎng)絡運行的協(xié)議棧網(wǎng)絡傳輸協(xié)議。它有時也被稱為TCP/IP協(xié)議組,這個名稱來源于其中兩個最重要的協(xié)議:傳輸控制協(xié)議TCP)和因特網(wǎng)協(xié)議IP),它們也是最先定義的兩個協(xié)議。 同許多其他協(xié)議一樣網(wǎng)絡傳輸協(xié)議也可以看作一個多層組合,每層解決數(shù)據(jù)傳輸中的一組問題并且向使用這些低層服務的高層提供定義好的服務。高層邏輯上與用戶更為接近,所處理數(shù)據(jù)更為抽象,它們依賴于低層將數(shù)據(jù)轉換成最終能夠進行實體控制的形式。

?

?

因特網(wǎng)協(xié)議棧中的層

人們已經進行一些討論關于如何將TCP/IP參考模型映射到OSI模型。由于TCP/IP和OSI模型組不能精確地匹配,還沒有一個完全正確的答案。下面的圖表試圖顯示不同的TCP/IP和其他的協(xié)議在最初OSI模型中的位置:

?

7應用層
application layer
例如HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP
6表示層
presentation layer
例如XDR、ASN.1、SMB、AFP、NCP
5會話層
session layer
例如ASAP、SSH、ISO 8327 / CCITT X.225、RPC、NetBIOS、ASP、IGMP、Winsock、BSD sockets
4傳輸層
transport layer
例如TCP、UDP、TLS、RTP、SCTP、SPX、ATP、IL
3網(wǎng)絡層
network layer
例如IP、ICMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP、RARP、X.25
2數(shù)據(jù)鏈路層
data link layer
例如以太網(wǎng)、令牌環(huán)、HDLC、幀中繼、ISDN、ATM、IEEE 802.11、FDDI、PPP
1物理層
physical layer
例如線路、無線電、光纖

?

通常人們認為OSI模型的最上面三層(應用層、表示層和會話層)在TCP/IP組中是一個應用層。由于TCP/IP有一個相對較弱的會話層,由TCP和RTP下的打開和關閉連接組成,并且在TCP和UDP下的各種應用提供不同的端口號,這些功能能夠被單個的應用程序(或者那些應用程序所使用的庫)增加。與此相似的是,IP是按照將它下面的網(wǎng)絡當作一個黑盒子的思想設計的,這樣在討論TCP/IP的時候就可以把它當作一個獨立的層。

?

4應用層
application layer
例如HTTP、FTP、DNS
(如BGP和RIP這樣的路由協(xié)議,盡管由于各種各樣的原因它們分別運行在TCP和UDP上,仍然可以將它們看作網(wǎng)絡層的一部分)
3傳輸層
transport layer
例如TCP、UDP、RTP、SCTP
(如OSPF這樣的路由協(xié)議,盡管運行在IP上也可以看作是網(wǎng)絡層的一部分)
2網(wǎng)絡互連層
internet layer
對于TCP/IP來說這是因特網(wǎng)協(xié)議(IP)
(如ICMP和IGMP這樣的必須協(xié)議盡管運行在IP上,也仍然可以看作是網(wǎng)絡互連層的一部分;ARP不運行在IP上)
1網(wǎng)絡接口層
link layer
例如以太網(wǎng)、Wi-Fi、MPLS等。

?

?

四層模型:

應用層

該層包括所有和應用程序協(xié)同工作,利用基礎網(wǎng)絡交換應用程序專用的數(shù)據(jù)的協(xié)議。?應用層是大多數(shù)普通與網(wǎng)絡相關的程序為了通過網(wǎng)絡與其他程序通信所使用的層。這個層的處理過程是應用特有的;數(shù)據(jù)從網(wǎng)絡相關的程序以這種應用內部使用的格式進行傳送,然后被編碼成標準協(xié)議的格式。

一些特定的程序被認為運行在這個層上。它們提供服務直接支持用戶應用。這些程序和它們對應的協(xié)議包括HTTP(萬維網(wǎng)服務)、FTP(文件傳輸)、SMTP(電子郵件)、SSH(安全遠程登陸)、DNS(名稱<-> IP地址尋找)以及許多其他協(xié)議。 一旦從應用程序來的數(shù)據(jù)被編碼成一個標準的應用層協(xié)議,它將被傳送到IP棧的下一層。

在傳輸層,應用程序最常用的是TCP或者UDP,并且服務器應用程序經常與一個公開的端口號相聯(lián)系。服務器應用程序的端口由互聯(lián)網(wǎng)號碼分配局(IANA)正式地分配,但是現(xiàn)今一些新協(xié)議的開發(fā)者經常選擇它們自己的端口號。由于在同一個系統(tǒng)上很少超過少數(shù)幾個的服務器應用,端口沖突引起的問題很少。應用軟件通常也允許用戶強制性地指定端口號作為運行參數(shù)。

連結外部的客戶端程序通常使用系統(tǒng)分配的一個隨機端口號。監(jiān)聽一個端口并且通過服務器將那個端口發(fā)送到應用的另外一個副本以創(chuàng)建對等連結(如IRC上的dcc文件傳輸)的應用也可以使用一個隨機端口,但是應用程序通常允許定義一個特定的端口范圍的規(guī)范以允許端口能夠通過實現(xiàn)網(wǎng)絡地址轉換(NAT)的路由器映射到內部。

?

每一個應用層(TCP/IP參考模型的最高層)協(xié)議一般都會使用到兩個傳輸層協(xié)議之一: 面向連接的TCP傳輸控制協(xié)議和無連接的包傳輸?shù)腢DP用戶數(shù)據(jù)報文協(xié)議。?

?

常用的應用層協(xié)議有:

運行在TCP協(xié)議上的協(xié)議:

  • HTTP(Hypertext Transfer Protocol,超文本傳輸協(xié)議),主要用于普通瀏覽。
  • HTTPS(Hypertext Transfer Protocol over Secure Socket Layer, or HTTP over SSL,安全超文本傳輸協(xié)議),HTTP協(xié)議的安全版本。
  • FTP(File Transfer Protocol,文件傳輸協(xié)議),由名知義,用于文件傳輸。
  • POP3(Post Office Protocol, version 3,郵局協(xié)議),收郵件用。
  • SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協(xié)議),用來發(fā)送電子郵件。
  • TELNET(Teletype over the Network,網(wǎng)絡電傳),通過一個終端(terminal)登陸到網(wǎng)絡。
  • SSH(Secure Shell,用于替代安全性差的TELNET),用于加密安全登陸用。

運行在UDP協(xié)議上的協(xié)議:

  • BOOTP(Boot Protocol,啟動協(xié)議),應用于無盤設備。
  • NTP(Network Time Protocol,網(wǎng)絡時間協(xié)議),用于網(wǎng)絡同步。
  • DHCP(Dynamic Host Configuration Protocol,動態(tài)主機配置協(xié)議),動態(tài)配置IP地址。

其他:

  • DNS(Domain Name Service,域名服務),用于完成地址查找,郵件轉發(fā)等工作(運行在TCP和UDP協(xié)議上)。
  • ECHO(Echo Protocol,回繞協(xié)議),用于查錯及測量應答時間(運行在TCP和UDP協(xié)議上)。
  • SNMP(Simple Network Management Protocol,簡單網(wǎng)絡管理協(xié)議),用于網(wǎng)絡信息的收集和網(wǎng)絡管理。
  • ARP(Address Resolution Protocol,地址解析協(xié)議),用于動態(tài)解析以太網(wǎng)硬件的地址。

?

傳輸層

傳輸層的協(xié)議,能夠解決諸如端到端可靠性(“數(shù)據(jù)是否已經到達目的地?”)和保證數(shù)據(jù)按照正確的順序到達這樣的問題。

在TCP/IP協(xié)議組中,傳輸協(xié)議也包括所給數(shù)據(jù)應該送給哪個應用程序。 在TCP/IP協(xié)議組中技術上位于這個層的動態(tài)路由協(xié)議通常被認為是網(wǎng)絡層的一部分;一個例子就是OSPF(IP協(xié)議89)。

?TCP(IP協(xié)議6)是一個“可靠的”、面向連結的傳輸機制,它提供一種可靠的字節(jié)流保證數(shù)據(jù)完整、無損并且按順序到達。TCP盡量連續(xù)不斷地測試網(wǎng)絡的負載并且控制發(fā)送數(shù)據(jù)的速度以避免網(wǎng)絡過載。另外,TCP試圖將數(shù)據(jù)按照規(guī)定的順序發(fā)送。這是它與UDP不同之處,這在實時數(shù)據(jù)流或者路由高網(wǎng)絡層丟失率應用的時候可能成為一個缺陷。?

較新的SCTP也是一個“可靠的”、面向連結的傳輸機制。它是面向紀錄而不是面向字節(jié)的,它在一個單獨的連結上提供通過多路復用提供的多個子流。它也提供多路自尋址支持,其中連結終端能夠被多個IP地址表示(代表多個實體接口),這樣的話即使其中一個連接失敗了也不中斷。它最初是為電話應用開發(fā)的(在IP上傳輸SS7),但是也可以用于其他的應用。?

UDP(IP協(xié)議號17)是一個無連結的數(shù)據(jù)報協(xié)議。它是一個“盡力傳遞”(best effort)或者說“不可靠”協(xié)議——不是因為它特別不可靠,而是因為它不檢查數(shù)據(jù)包是否已經到達目的地,并且不保證它們按順序到達。如果一個應用程序需要這些特性,那它必須自行檢測和判斷,或者使用TCP協(xié)議。 UDP的典型性應用是如流媒體(音頻和視頻等)這樣按時到達比可靠性更重要的應用,或者如DNS查找這樣的簡單查詢/響應應用,如果創(chuàng)建可靠的連結所作的額外工作將是不成比例地大。

?DCCP目前正由IEFT開發(fā)。它提供TCP流動控制語義,但對于用戶來說保留UDP的數(shù)據(jù)報服務模型。 TCP和UDP都用來支持一些高層的應用。任何給定網(wǎng)絡地址的應用通過它們的TCP或者UDP端口號區(qū)分。根據(jù)慣例使一些大眾所知的端口與特定的應用相聯(lián)系。

?RTP是為如音頻和視頻流這樣的實時數(shù)據(jù)設計的數(shù)據(jù)報協(xié)議。RTP是使用UDP包格式作為基礎的會話層,然而據(jù)說它位于因特網(wǎng)協(xié)議棧的傳輸層。

?

網(wǎng)絡互連層

TCP/IP協(xié)議族中的網(wǎng)絡互連層(internet layer)在OSI模型中叫做網(wǎng)絡層(network layer)。

網(wǎng)絡層解決在一個單一網(wǎng)絡上傳輸數(shù)據(jù)包的問題。類似的協(xié)議有X.25和ARPANET的Host/IMP Protocol。 隨著因特網(wǎng)思想的出現(xiàn),在這個層上添加附加的功能,也就是將數(shù)據(jù)從源網(wǎng)絡傳輸?shù)侥康木W(wǎng)絡。這就牽涉到在網(wǎng)絡組成的網(wǎng)上選擇路徑將數(shù)據(jù)包傳輸,也就是因特網(wǎng)。 在因特網(wǎng)協(xié)議組中,IP完成數(shù)據(jù)從源發(fā)送到目的的基本任務。

IP能夠承載多種不同的高層協(xié)議的數(shù)據(jù);這些協(xié)議使用一個唯一的IP協(xié)議號進行標識。ICMP和IGMP分別是1和2。 一些IP承載的協(xié)議,如ICMP(用來發(fā)送關于IP發(fā)送的診斷信息)和IGMP(用來管理多播數(shù)據(jù)),它們位于IP層之上但是完成網(wǎng)絡層的功能,這表明因特網(wǎng)和OSI模型之間的不兼容性。所有的路由協(xié)議,如BGP、OSPF、和RIP實際上也是網(wǎng)絡層的一部分,盡管它們似乎應該屬于更高的協(xié)議棧。

?

網(wǎng)絡接口層

網(wǎng)絡接口層實際上并不是因特網(wǎng)協(xié)議組中的一部分,但是它是數(shù)據(jù)包從一個設備的網(wǎng)絡層傳輸?shù)搅硗庖粋€設備的網(wǎng)絡層的方法。這個過程能夠在網(wǎng)卡的軟件驅動程序中控制,也可以在韌體或者專用芯片中控制。這將完成如添加報頭準備發(fā)送、通過實體媒介實際發(fā)送這樣一些數(shù)據(jù)鏈路功能。

另一端,鏈路層將完成數(shù)據(jù)幀接收、去除報頭并且將接收到的包傳到網(wǎng)絡層。 然而,鏈路層并不經常這樣簡單。它也可能是一個虛擬專有網(wǎng)絡(VPN)或者隧道,在這里從網(wǎng)絡層來的包使用隧道協(xié)議和其他(或者同樣的)協(xié)議組發(fā)送而不是發(fā)送到實體的接口上。VPN和信道通常預先建好,并且它們有一些直接發(fā)送到實體接口所沒有的特殊特點(例如,它可以加密經過它的數(shù)據(jù))。由于現(xiàn)在鏈路“層”是一個完整的網(wǎng)絡,這種協(xié)議組的遞歸使用可能引起混淆。但是它是一個實現(xiàn)常見復雜功能的一個優(yōu)秀方法。(盡管需要注意預防一個已經封裝并且經隧道發(fā)送下去的數(shù)據(jù)包進行再次地封裝和發(fā)送)。

?

如今,大多數(shù)商業(yè)操作系統(tǒng)都包括TCP/IP棧,并且缺省安裝它們,對于大多數(shù)用戶來說,沒有必要去探求它們如何實現(xiàn)。

TCP/IP包含在所有的商業(yè)Unix和Linux發(fā)布包中,同樣也包含在Mac OS X和微軟視窗和視窗服務器版本中。

?

特別說明:以上大部分內容整理自**百科。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結

以上是生活随笔為你收集整理的TCP/IP协议族 详解(TCP/IP四层模型、OSI七层模型)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。