TCP/IP協(xié)議分析-協(xié)議分層[1]

字號:

協(xié)議分層
    正如OSI七層模型定義的一樣,TCP/IP協(xié)議也根據(jù)不同的通信功能分為不同的層次,TCP/IP通常被認為是一個四層協(xié)議系統(tǒng),TCP/IP的四層跟OSI的七層對應關系如表1-2所示。
    表1-2 TCP/IP協(xié)議與OSI七層模型的對應關系
    OSI七層模型
     TCP/IP協(xié)議
    應用層
     應用層(Application)
    表示層
    會話層
    傳輸層
     傳輸層(Transport)
    網(wǎng)絡層
     網(wǎng)絡層(Internet)
    數(shù)據(jù)鏈路層
     網(wǎng)絡接口層(Network)
    物理層
    1、網(wǎng)絡接口層
    也叫數(shù)據(jù)鏈路層,通常包括操作系統(tǒng)中的設備驅動程序和計算機中對應的網(wǎng)絡接口卡,它們一起處理與傳輸媒介的物理接口細節(jié)。上表中TCP/IP協(xié)議沒有相應的層次對應OSI七層模型中的物理層,正是因為TCP/IP協(xié)議的這種特性,使得其構筑的Internet被廣泛的應用。
    2、網(wǎng)絡層
    也叫互聯(lián)網(wǎng)層,處理路由選擇等分組在網(wǎng)絡中的活動。在TCP/IP協(xié)議組件中,網(wǎng)絡層協(xié)議包括IP協(xié)議(Internet Protocol,網(wǎng)際協(xié)議)、ICMP協(xié)議(Internet互聯(lián)網(wǎng)控制報文協(xié)議),以及IGMP協(xié)議(Internet組管理協(xié)議)。
    3、傳輸層
    主要功能是為兩臺主機上的應用程序提供端到端的通信。在TCP/IP協(xié)議組件中,有兩個互不相同的傳輸協(xié)議:TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報協(xié)議)。
    TCP為兩臺主機提供高可靠性的數(shù)據(jù)通信。它所做的工作包括把應用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡層、確認接收到的分組、設置發(fā)送最后確認分組的超時時鐘等。
    另一方面,UDP為應用層提供一種非常簡單的服務。它只是把數(shù)據(jù)報從一臺主機發(fā)送到另一臺主機,但并不保證該數(shù)據(jù)報能到達另一端。
    TCP提供了高可靠性,因此不需要應用層去考慮,UDP則把所有必需的的可靠性交給應用層自己解決。
    4、應用層
    應用層負責處理特定的應用程序TCP/IP提供了大量的應用程序,下面幾種是最為通用的:WWW 國際互聯(lián)網(wǎng)、Telnet 遠程登錄、FTP 文件傳輸協(xié)議、SMTP 用于電子郵件的簡單郵件傳輸協(xié)議、SNMP 簡單網(wǎng)絡管理協(xié)議。
    表1-3 TCP/IP協(xié)議層與對應的服務
    TCP/IP協(xié)議
     對應的服務
    應用層
     WWW、SMTP、FTP、Telnet、Gopher、SNMP
    Socket、NetBIOS
    傳輸層
     TCP、UDP
    網(wǎng)絡層
     IP(ARP、RARP、ICMP)
    網(wǎng)絡接口層
     Ethernet、X.25、PPP、SLIP
    如表1-3所示,F(xiàn)TP是一種應用層協(xié)議,TCP是一種傳輸層協(xié)議,IP是一種網(wǎng)絡層協(xié)議,而以太網(wǎng)協(xié)議則應用于網(wǎng)絡接口層上。TCP/IP協(xié)議組件是一組不同的協(xié)議組合在一起構成的協(xié)議族。盡管通常稱該協(xié)議組件為TCP/IP,但TCP和IP只是其中的兩種協(xié)議而已。
    在TCP/IP協(xié)議組件中,網(wǎng)絡層IP提供的是一種不可靠的服務。也就是說,它只是盡可能快地把分組從源結點送到目的結點,但是并不提供任何可靠性保證。而另一方面,TCP在不可靠的IP層上提供了一個可靠的傳輸層。為了提供這種可靠的服務,TCP采用了超時重傳,發(fā)送和接收端到端的確認分組等機制。
    TCP和UDP是兩種最為的傳輸層協(xié)議,二者都使用IP作為網(wǎng)絡層協(xié)議。
    如前面所說的,TCP采用的超時重傳、確認分組機制,使得可以提供可靠的服務。UDP不提供可靠性:它把應用程序傳給IP層的數(shù)據(jù)發(fā)送出去,但是并不保證它們能到達目的地。UDP是一個簡單的面向數(shù)據(jù)報的傳輸層協(xié)議:進程的每個輸出操作都正好產(chǎn)生一個UDP數(shù)據(jù)報,并組裝成一份待發(fā)送的IP數(shù)據(jù)報。IP數(shù)據(jù)報的長度如果如果超過網(wǎng)絡的MTU,那么就要對IP數(shù)據(jù)報進行分片。
    IP是網(wǎng)絡層上的主要協(xié)議,同時被TCP和UDP使用。TCP和UDP的每組數(shù)據(jù)都通過端系統(tǒng)和每個中間路由器中的IP層在互連網(wǎng)中進行傳輸。
    ICMP是IP協(xié)議的附屬協(xié)議,它用來把一個UDP數(shù)據(jù)報多播到多個主機。IP層用它來與其他主機或路由器交換錯誤報文和其他重要信息。ICMP主要被IP使用,應用程序也有可能訪問它。Ping和Traceroute是我們經(jīng)常要使用的診斷工具,它們就是使用的ICMP。
    ICMP包括了各種類型的ICMP報文,報文的類型由類型字段和代碼字段共同決定。
    ARP(地址解析協(xié)議)和RARP(逆地址解析協(xié)議)是某些網(wǎng)絡接口(如以太網(wǎng)和令牌環(huán)網(wǎng))使用的特殊協(xié)議,用來轉換IP層和網(wǎng)絡接口層使用的地址。