天天看點

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

OSI參考模型

OSI RM:開放系統互連參考模型(open systeminterconnection reference model)

OSI參考模型具有以下優點:

    • 簡化了相關的網絡操作;
    • 提供裝置間的相容性和标準接口;
    • 促進标準化工作;
    • 結構上可以分隔;
    • 易于實作和維護。

20世紀60年代以來,計算機網絡得到了飛速增長。各大廠商為了在資料通信網絡領域占據主導地    位,紛紛推出了各自的網絡架構體系和标準,如IBM公司的SNA,Novell IPX/SPX協定,Apple公司的AppleTalk協定,DEC公司的DECnet,以及廣泛流行的TCP/IP協定。同時,各大廠商針對自己的協定生産出了不同的硬體和軟體。各個廠商的共同努力促進了網絡技術的快速發展和網絡裝置種類的迅速增長。但由于多種協定的并存,也使網絡變得越來越複雜;而且,廠商之間的網絡裝置大部分不能相容,很難進行通信。

    為了解決網絡之間的相容性問題,幫助各個廠商生産出可相容的網絡裝置,國際标準化組織ISO于1984年提出了OSI RM(OpenSystem Interconnection Reference Model,開放系統互連參考模型)。OSI 參考模型很快成為計算機網絡通信的基礎模型。在設計OSI 參考模型時,遵循了以下原則:各個層之間有清晰的邊界,實作特定的功能;層次的劃分有利于國際标準協定的制定;層的數目應該足夠多,以避免各個層功能重複。

OSI分層

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

        通常OSI參考模型第一層到第三層稱為底層(lower layer),又叫媒體層(media layer),底層負責資料在網絡中的傳送,網絡互連裝置往往位于下三層,以硬體和軟體的方式來實作。OSI參考模型的第五層到第七層稱為高層(upper layer),又叫住幾層(host layer),高層用于保障資料的正确傳輸,以軟體方式來實作。

OSI七層功能:

【jc1-1】TCP/IP協定棧及OSI參考模型詳解
  • TCP/IP協定棧
【jc1-1】TCP/IP協定棧及OSI參考模型詳解

由于OSI模型和協定比較複雜,是以并沒有得到廣泛的應用。

而TCP/IP(transfer control protocol/internet protocol,傳輸控制協定/網際協定)模型因其開放性和易用性在實踐中得到了廣泛的應用,TCP/IP協定棧也成為網際網路的主流協定。

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

TCP/IP模型各個層次分别對應于不同的協定。TCP/IP協定棧是資料通信協定的集合 ,包含許多協定。其協定棧名字來源于其中最主要的兩個協定TCP(傳輸控制協定)和IP(網際協定)。TCP/IP協定棧負責確定網絡裝置之間能夠通信。它是一組規則,規定了資訊如何在網絡中傳輸。

TCP/IP模型的層間通信與資料封裝

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

TCP/IP每一層都讓資料得以通過網絡進行傳輸,這些層之間使用PDU(協定資料單元)彼此交換資訊,確定網絡裝置之間能夠通信。

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

    A.    傳輸層資料中加入TCP報頭後得到PDU被稱為segment(資料段);

    B.    資料段被傳遞給網絡層,網絡層添加IP報頭得到的PDU被稱為packet(資料包);

    C.    資料包被傳遞到資料鍊路層,封裝資料鍊路層報頭得到的PDU被稱為frame(資料幀);

    D.    幀被轉換為比特,通過網絡媒體傳輸。

    這種協定棧向下傳遞資料,并添加報頭和報尾的過程稱為封裝,資料被封裝并通過網絡傳輸後,接收裝置将删除添加的資訊,并根據報頭中的資訊決定如何将資料沿協定棧上傳給合适的應用程式,這個過程稱為解封裝。不同裝置的對等層之間依靠封裝和解封裝來實作互相間的通信。

實體層

       實體層功能:

  • 規定媒體類型、接口類型、信令類型;
  • 規範在終端系統之間激活、維護和關閉實體鍊路的電氣、機械、流程和功能等方面的要求;
  • 規範電平、資料速率、最大傳輸距離和實體接頭等特征。
【jc1-1】TCP/IP協定棧及OSI參考模型詳解

實體層标準規定了實體媒體和用于将裝置與實體媒體相連的接頭。

如上圖,區域網路常用的實體層标準有IEEE指定的以太網标準802.3、令牌總線标準802.4、令牌環網标準802.5以及美國國家标準組織ANSI的X3T9.5委員會制訂的光纜标準FDDI(fiber distributed data interface,光纖分布式資料接口)等。廣域網常用的實體層标準有電子工業協會和電信工業協會EIA/TIA制定的公共實體層接口标準EIA/TIA-232(即RS-232)、國際電信聯盟ITU制定的串行線路接口标準V.24和V.35、以及有關各種數字接口的實體和電氣特性的标準G.703等。

實體層媒體和實體層裝置:

  實體層媒體:

    • 同軸電纜(coaxical cable)
    • 雙絞線(twisted pair)
    • 光纖(fiber)
    • 無線電波(wireless raido)

同軸電纜:

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

  同軸電纜是一種早期使用的傳輸媒體,同軸電纜的标準分為兩種,10BASE2和10BASE5.這兩種标準都支援10Mbps的傳輸速率,最長傳輸距離分别為185米和500米。10BASE5和10BASE2的同軸電纜使用

的同軸電纜的直徑分别為9.5mm和5mm,是以前者又稱為粗纜,後者又稱為細纜。一般情況下,10BASE2同軸電纜使用BNC接頭,10BASE5同軸電纜使用N型接頭。目前,10Mbps的傳輸速率早已不能滿足目前企業網絡需求,是以同軸電纜在目前企業網絡中很少應用。

雙絞線

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

雙絞線采用了一對互相絕緣的金屬導線互相絞合的方式來抵禦一部分外界電磁波幹擾。把兩根絕緣的銅導線按一定密度互相絞在一起,可以降低信号幹擾的程度,每一根導線在傳輸中輻射的電波會被另一根線上發出的電波抵消,“雙絞線”的名字也是由此而來的。

與同軸電纜相比雙絞線(twistedpair)具有更低的制造和部署成本,是以在企業網絡中被廣泛應用。雙絞線可分為屏蔽雙絞線(shieldedtwisted pair,STP)和非屏蔽雙絞線(unshieldedtwisted pair,UTP)。屏蔽雙絞線在雙絞線與外層絕緣封套之間有一個金屬屏蔽層,可以屏蔽電磁幹擾。

雙絞線有很多種類型,不同類型的 雙絞線所支援的傳輸速率一般也不相同。例如,3類雙絞線支援10Mbps傳輸速率;5類雙絞線支援100Mbps傳輸速率,滿足快速以太網标準;超5類雙絞線及更進階别的雙絞線支援千兆以太網傳輸。

雙絞線順序:

568A順序:

1-綠白,2-綠,3-橙白,4-藍,5-藍白,6-橙,7-棕白,8-棕

568B順序:

   1-橙白,2-橙,3-綠白,4-藍,5-藍白,6綠,7-棕白,8-棕

根據網線兩端連接配接網絡裝置的不同,網線又分為直通線(平行線)和交叉線兩種。

直通線(平行線)就是按照前面介紹的568A标準或568B标準制作(即雙絞線兩端的順序一樣,568A的順序不常用,現主流用的都是568B的順序)

交叉線的一端保持原來的順序,另一端把1和3對調,2和5對調。

直通線和交叉線的應用:

    1.    同種類型裝置之間使用交叉線連接配接,不同類型裝置之間使用直通線連接配接;

    2.    路由器和PC屬于DTE(DataTerminal Equipment,資料終端裝置)類型裝置,交換機和HUB資料DCE(Data Circuit-terminatingEquipment,資料通信裝置)類型裝置。

光纖

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

雙絞線和同軸電纜傳輸資料時使用的是電信号,而光纖傳輸資料時使用的是光信号。光纖支援的傳輸速率包括10Mbps,100Mbps,1Gbps,10Gbps,甚至更高。根據光纖傳輸光信号模式的不同,光纖又可分為單模光纖和多模光纖。單模光纖隻能傳輸一種模式的光,不存在模間色散,是以适用于長距離高速傳輸。多模光纖允許不同模式的光在一根光纖上傳輸,由于模間色散較大而導緻信号脈沖展寬嚴重,是以多模光纖主要用于區域網路中的短距離傳輸。光纖連接配接器種類喝多,常用的連接配接器包括ST,FC,SC,LC連接配接器。

序列槽電纜

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

網絡通信中常常會用到各種各樣的序列槽電纜。常用的序列槽電纜标準為RS-232,同時也是推薦的标準。但是RS-232的傳輸速率有限,傳輸距離僅為6米。其他的序列槽電纜标準可以支援更長的傳輸距離,例如RS-422和RS-485的傳輸距離可達1200米。RS-422和RS-485序列槽電纜通常使用V.35接頭,這種接頭在上世紀80年代已經淘汰,但是現在仍在幀中繼、ATM等傳統網絡上使用。V.24是RS-232标準的歐洲版。RS-232本身沒有定義接頭标準,常用的接頭類型為DB-9和DB-25。現在,RS-232已逐漸被FireWire、USB等新标準取代,新産品和新裝置已普遍使用USB标準。

沖突域

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

如圖是一個10BASE5以太網,每個主機都是用同一根同軸電纜來與其它主機進行通信,是以,這裡的同軸電纜又被稱為共享媒體,相應的網絡被稱為共享媒體網絡,或簡稱為共享式網絡。共享式網絡中,不同的主機同時發送資料時,就會産生信号沖突的問題,解決這一問題的方法一般是采用載波偵聽多路通路/沖突檢測技術(carrier sense multiple access/collisiondetection)。

       CSMA/CD的基本工作過程如下:

        1.    終端不停地檢測共享線路的狀态。如果線路空閑,則可以發送資料;如果線路不空閑,則等待一段時間後繼續檢測(延時時間由退避算法決定)。

        2.    如果有另一個裝置同時發送資料,兩個裝置發送的資料會産生沖突。

        3.    終端裝置檢測到沖突之後,馬上停止發送自己的資料,并發送特殊阻塞資訊,以強化沖突信号,使線路上其他站點能夠盡早檢測到沖突。

        4.    終端裝置檢測到沖突後,等待一段時間之後再進行資料發送(延時時間由退避算法決定)。

        CSMA/CD的工作原理可簡單總結為:先聽後發,邊發邊聽,沖突停發,随機延遲後重發。

實體層裝置:中繼器和集線器

資料鍊路層

       資料鍊路層又分為MAC子層和LLC子層

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

       MACSub-layer:media access controlsub-layer媒體通路控制子層

MAC子層負責指定資料如何通過實體線路進行傳輸,并向下與實體層通信,它定義了實體編址、網絡拓撲、線路規範、錯誤通知、按序傳遞和流量控制等功能。

       LLCSub-layer:logic link control sub-layer邏輯鍊路控制子層

    LLC子層負責識别協定類型并對資料進行封裝以便通過網絡進行傳輸。LLC子層主要執行資料鍊路層的大部分功能和網絡層的部分功能。如幀的收發功能,在發送時,幀由發送的資料加上位址和CRC校驗等構成,接收時将幀拆開,執行位址識别、CRC校驗,并具有幀順序控制、差錯控制、流量控制等功能。此外,它還執行資料報、虛電路、多路複用等部分網絡層的功能。

資料鍊路層協定

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

     資料鍊路層協定規定了資料鍊路層幀的封裝方式。

         區域網路常用的資料鍊路層協定有IEEE802.2 LLC标準。

         廣域網常用的資料鍊路層協定有:

              HDLC(high-level data link control,進階資料鍊路控制)

              PPP(point-to-point protocol,點到點協定)

              FR(frame relay,幀中繼)

資料鍊路層-以太網位址(MAC位址)

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

       網絡裝置的MAC位址是全球唯一的。MAC位址由48個二進制位組成,通常我們用十六進制數字來表示。其中前6位十六進制數字由IEEE統一配置設定給裝置制造商,後6位十六進制數字由廠商自行配置設定。

網絡層

       功能:在不同的網絡之間轉發資料包

    • 提供邏輯位址,如果資料跨網絡傳遞,則需要使用邏輯位址來尋址。
    • 路由:将資料封包從一個網絡轉發到另一個網絡。

裝置:路由器、三層交換機

網絡層協定

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

常用網絡層協定有:

       IP(Internet Protocol):IP為網絡層最主要的協定,其功能即為網絡層的主要功能,一是提供邏輯編址,二是提供路由功能,三是封包的封裝和解封裝。ICMP、ARP、RARP協定輔助IP工作。

       ICMP(Internet Control Message Protocol)是一個管理協定并為IP提供資訊服務,ICMP消息承載在IP封包中。

       ARP(Address Resolution Protocol)實作IP位址到硬體位址的動态映射,即根據已知的IP位址獲得相應的硬體位址。

       RARP(Reverse Address Resolution Protocol)實作硬體位址到IP位址的動态映射,即根據已知的硬體位址獲得相應的IP位址。

       網絡層位址:網絡位址在網絡層唯一辨別一台網絡裝置。

       網絡位址包含兩部分:網絡ID+主機ID(下節主要内容)

傳輸層

     主要功能:

    • 分段上層資料;
    • 建立端到端連接配接;
    • 将資料從一端主機傳送到另一端主機;
    • 保證資料按序、可靠、正确傳輸。

傳輸層協定:

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

傳輸層協定主要包含傳輸控制協定TCP(transfer control protocol)和使用者資料封包協定UDP(user datagram protocol)

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

TCP提供面向連接配接的、可靠的位元組流服務。面向連接配接意味着使用TCP協定作為傳輸層協定的兩個應用之間在互相交換資料之前必須建立一個TCP連接配接。TCP通過确認、校驗、重組等機制為上層應用提供可靠的傳輸服務。但是TCP連接配接的建立以及确認、校驗等機制都需要耗費大量的工作并且會帶來大量的開銷。

UDP提供簡單的、面向資料報的服務。UDP不保證可靠性,即不保證封包能夠到達目的地。UDP适用于更關注傳輸效率的應用,如SNMP、Radius等,SNMP監控網絡并斷續發送告警等消息,如果每次發送少量資訊都需要建立TCP連接配接,無疑會降低傳輸效率,是以諸如SNMP、Radius等更注重傳輸效率的應用程式都會選擇UDP作為傳輸層協定。另外,UDP還适用于本身具備可靠性機制的應用層協定。

應用層功能

    • 為使用者提供接口、處理特定的應用;
    • 資料加密、解密、壓縮、解壓縮;
    • 定義資料表示的标準。

應用層協定

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

應用層有許多協定,以下協定可以幫助您使用和管理 TCP/IP 網絡:

FTP(File TransferProtocol) 檔案傳輸協定。用于傳輸獨立的檔案,通常用于互動式使用者會話。

HTTP(HypertextTransfer Protocol)超文本傳輸協定。 用于傳輸那些構成網際網路上的頁面的檔案。

TELNET :遠端終端通路。用于傳送具有TELNET控制資訊的資料。它提供了與終端裝置或終端程序互動的标準方法,支援終端到終端的連接配接及程序到程序分布式計算的通信。

SMTP(Simple MessageTransfer Protocol)簡單郵件傳輸協定 和

POP3(Post OfficeProtocol)郵局協定用于發送和接收郵件。

DNS(Domain NameServer)是一個域名服務的協定,提供域名到IP位址的轉換,允許對域名資源進行分散管理。

TFTP(Trivial FileTransfer Protocol)簡單檔案傳輸協定。設計用于一般目的的、高吞吐量的檔案傳輸。

RIP(RoutingInformation Protocol)路由器用來在 IP 網絡上交換路由資訊的協定。

SNMP(Simple NetworkManagement Protocol)用于收集網絡管理資訊,并在網絡管理控制台和網絡裝置(例如路由器、網橋和伺服器)之間交換網絡管理資訊。

Radius(RemoteAuthentication Dial In User Service)撥号接入遠端認證協定完成接入使用者的認證、授權、計費功能的協定。

  • TCP/IP協定棧的封裝過程
【jc1-1】TCP/IP協定棧及OSI參考模型詳解

以傳輸層采用TCP或者UPD、網絡層采用IP、鍊路層采用Ethernet為例,可以看到TCP/IP中封包的封裝過程如上圖所示。使用者資料經過應用層協定封裝後傳遞給傳輸層,傳輸層封裝TCP頭部,交給網絡層,網絡層封裝IP頭部後,再交給資料鍊路層,資料鍊路層封裝Ethernet幀頭和幀尾,交給實體層,實體層以比特流的形式将資料發送到實體線路上。

TCP Segment

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

TCP協定概述:

TCP為應用程式提供一種面向連接配接的、可靠的服務。

TCP的可靠性:

    • 面向連接配接的傳輸
    • 最大封包段長度
    • 傳輸确認機制
    • 首部和資料的檢驗和
    • 流量控制

TCP首部格式

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

TCP使用IP作為網絡層協定,TCP資料段被封裝在一個IP資料包内。TCP資料段由TCP Head(頭部)和TCP Data(資料)組成。

    TCP最多有60個位元組的首部,如果沒有任選字段,正常的長度是20位元組。TCP Head如上圖示識的一些字段組成,這裡列出幾個常用的字段。

    16位源端口号:TCP會為源應用程式配置設定一個源端口号。

    16位目的端口号:目的應用程式的端口号。每個TCP段都包含源和目的端的端口号,用于尋找發端和收端應用程序。這兩個值加上IP首部中的源端IP位址和目的端IP位址可以唯一确定一個TCP連接配接。

    32位序列号:用于辨別從TCP發端向TCP收端發送的資料位元組流。

    32位确認序列号:确認序列号包含發送确認的一端所期望收到的下一個序号。确認序列号為上次成功收到的資料序列号加1。

    4位首部長度:表示首部占32bit字的數目。因為TCP首部的最大長度為60位元組。

    16位視窗大小:表示接收端期望接收的位元組,由于該字段為16位,因而視窗大小最大值為65535位元組。

    16位檢驗和:檢驗和覆寫了整個TCP封包段,包括TCP首部和TCP資料。該值由發端計算和存儲并由接收端進行驗證。

TCP的三次握手(建立連接配接)和四次揮手(斷開連接配接)

TCP連接配接的建立是一個三次握手的過程。如圖所示:

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

    1、請求端(通常也稱為用戶端)發送一個SYN段表示客戶期望連接配接伺服器端口,初始序列号為a。

    2、伺服器發回序列号為b的SYN段作為響應。同時設定确認序号為用戶端的序列号加1(a+1)作為對用戶端的SYN封包的确認。

    3、用戶端設定序列号為伺服器端的序列号加1(b+1)作為對伺服器端SYN封包段的确認。

    這三個封包段完成TCP連接配接的建立。

TCP連接配接的建立是一個三次握手的過程,而TCP連接配接的終止則要經過四次握手。

如圖所示:

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

    1、請求端(通常也稱為用戶端)想終止連接配接則發送一個FIN段,序列号設定為a。

    2、伺服器回應一個确認序号為用戶端的序列号加1(a+1)的ACK确認段,作為對用戶端的FIN封包的确認。

    3、伺服器端向用戶端發送一個FIN終止段(設定序列号為b,确認号為a+1)。

    4、用戶端傳回一個确認封包(設定序列号為b+1)作為響應。

    以上四次互動完成雙方向的連接配接的關閉。

TCP滑動視窗機制:

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

TCP滑動視窗技術通過動态改變視窗大小來調節兩台主機間的資料傳輸。每個TCP/IP主機支援全雙工資料傳輸,是以TCP有兩個滑動視窗:一個用于接收資料,另一個用于發送資料。TCP使用肯定确認技術,其确認号指的是下一個所期待的位元組。

如圖中所示以資料單方向發送為例,介紹滑動視窗如何實作流量

控制。伺服器端向用戶端發送4個大小為1024位元組的資料段,其中發送端的視窗大小為4096,用戶端到以ACK4097響應,視窗大小調整為2048,表明用戶端(即接收端)緩沖區隻能處理2048個位元組的資料段。于是發送端改變其發送速率。發送接收端能夠接收的資料段大小2048的資料段。

UDP協定概述

  • UDP為應用程式提供面向無連接配接的服務。傳輸資料之前源端和目的端不需要建立連接配接。
  • 不需要維持連接配接狀态,收發狀态等,是以伺服器可同時向多個用戶端傳輸相同的消息。
  • UDP适用于對傳輸效率要求高的運用。

UDP首部格式

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

    UDP和TCP一樣都使用IP作為網絡層協定,TCP資料報被封裝在一個IP資料包内。由于UDP不象TCP一樣提供可靠的傳輸,是以UDP的封包格式相對而言較簡單。

    整個UDP首部有如下辨別:

    16位源端口号:為源端應用程式配置設定的一個源端口号。

    16位目的端口号:目的應用程式的端口号

    16位UDP長度:是指UDP首部和UDP資料的位元組長度。該字段的最小值為8。

    16位UDP檢驗和:該字段提供與TCP檢驗和同樣的功能,隻不過在UDP協定中該字段是可選的。

TCP VS UDP

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

IP packet

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

網絡層收到傳輸層的TCP資料段後會再加上網絡層IP頭部資訊。普通的IP頭部固定長度為20個位元組(不包含IP選項字段)。

IP封包頭主要由以下字段組成:封包長度是指頭部占32比特字的個數,包括任何選項。由于它是一個4比特字段,24=16,除掉全0項共有15個有效值比特字段,其中最大值也為15,表示頭部占15個32比特。是以32*15/8=60位元組,頭部最長為60位元組。

版本号(Version)字段标明了IP協定的版本号,目前的協定版本号為4。下一代IP協定的版本号為6。

8比特的服務類型(TOS,Type of Service)字段包括一個3比特的優先權字段(COS,Class of Service),4比特TOS字段和1比特未用位。4比特TOS分别代表最小時延、最大吞吐量、最高可靠性和最小費用。

總長度(Total length)是整個IP資料報長度,包括資料部分。由于該字段長16比特,是以IP資料報最長可達65535位元組。盡管可以傳送一個長達65535位元組的IP資料報,但是大多數的鍊路層都會對它進行分片。而且,主機也要求不能接收超過576位元組的資料報。UDP限制使用者資料報長度為512位元組,小于576位元組。而事實上現在大多數的實作(特别是那些支援網絡檔案系統NFS的實作)允許超過8192位元組的IP資料報。

辨別符(Identification)字段唯一地辨別主機發送的每一份資料包。通常每發送一份封包它的值就會加1。

生存時間(TTL,Time to Live)字段設定了資料包可以經過的路由器數目。一旦經過一個路由器,TTL值就會減1,當該字段值為0時,資料包将被丢棄。

協定字段确定在資料包内傳送的上層協定,和端口号類似,IP協定用協定号區分上層協定。TCP協定的協定号為6,UDP協定的協定号為17。

報頭校驗和(Head checksum)字段計算IP頭部的校驗和,檢查封包頭部的完整性。

源IP位址和目的IP位址字段辨別資料包的源端裝置和目的端裝置IP位址資訊。

Ethernet frame

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

以太網頭部由三個字段組成:

DMAC:表示目的終端MAC位址。

SMAC:表示源端MAC位址。

LENGTH/TYPE字段:根據值的不同有不同的含義:

當LENGHT/TYPE > 1500時,代表該資料幀的類型(比如

上層協定類型)常見的協定類型有:

0X0800 IP資料包

0X0806 ARP請求/應答封包

0X8035 RARP請求/應答封包。

當LENGTH/TYPE < 1500時,代表該資料幀的長度。

案例分析

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

    如上圖所示,通過例舉出的TELNET協定的抓包執行個體,進一步加深對封包封裝的了解。

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

上圖為AR1使用TELNET協定遠端登入AR2進行的TCP三向交握過程。

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

上圖為資料鍊路層封裝。如圖可知使用的是Ethernet II格式封裝。

    DMAC為:00e0:fc3b:6792

    SMAC為:00e0:fc80:64f3

    type:字段為0x0800表明資料字段封裝是IP封包。

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

上圖為網絡層封包封裝。一個網絡層IP包是由IP頭部和IP資料組成。

    上圖表明是一個IPv4的封包

    封包頭為20位元組

    協定字段為0x06,表明資料封裝的是一個TCP封包。

    資料的源IP位址為12.12.12.1,目的IP位址為12.12.12.2

【jc1-1】TCP/IP協定棧及OSI參考模型詳解

上圖為傳輸層資料封裝。如圖所示的傳輸層使用的是TCP協定

    源端口号為随機端口号49895,目的端口号為公認TELNET協定端口号23

附:

常用預設端口号 網絡層---資料包的包格式裡面有個很重要的字段叫做協定号。比如在傳輸層如果是TCP連接配接那麼在網絡層IP包裡面的協定号就将會有個值是6如果是UDP的話那個值就是17---傳輸層。

傳輸層---通過接口關聯(端口的字段叫做端口)---應用層。

用netstat –an 可以檢視本機開放的端口号。

代理伺服器常用以下端口:

HTTP協定代理伺服器常用端口号80/8080/3128/8081/9080

SOCKS代理協定伺服器常用端口号1080

FTP檔案傳輸協定代理伺服器常用端口号21

Telnet遠端登入協定代理伺服器常用端口23

HTTP伺服器預設的端口号為80/tcp木馬Executor開放此端口

HTTPSsecurely transferring web pages伺服器預設的端口号為443/tcp 443/udp

Telnet不安全的文本傳送預設端口号為23/tcp木馬Tiny Telnet Server所開放的端口

FTP預設的端口号為21/tcp木馬Doly Trojan、Fore、InvisibleFTP、WebEx、WinCrash和Blade Runner所開放的端口

TFTPTrivial File Transfer Protocol 預設的端口号為69/udp

SSH安全登入、SCP檔案傳輸、端口重定向預設的端口号為22/tcp

SMTP Simple Mail Transfer Protocol (E-mail)預設的端口号為25/tcp木馬Antigen、EmailPassword Sender、Haebu Coceda、ShtrilitzStealth、WinPC、WinSpy都開放這個端口

POP3 Post Office Protocol (E-mail) 預設的端口号為110/tcp

WebLogic預設的端口号為7001

Webshpere應用程式預設的端口号為9080

webshpere管理工具預設的端口号為9090

JBOSS預設的端口号為8080

TOMCAT預設的端口号為8080

WIN2003遠端登陸預設的端口号為3389

Symantec AV/Filter for MSE ,預設端口号為8081 Oracle 資料庫預設的端口号為1521

ORACLE EMCTL預設的端口号為1158

Oracle XDB XML 資料庫預設的端口号為8080

Oracle XDB FTP服務預設的端口号為2100

MS SQL*SERVER資料庫server預設的端口号為1433/tcp 1433/udp

MS SQL*SERVER資料庫monitor預設的端口号為1434/tcp 1434/udp

QQ預設的端口号為1080/udp 

繼續閱讀