網絡基礎

一、 TCP/IP四層模型

    1、應用層:應用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協議(FTP)、網絡遠程訪問協議(Telnet)等。

    2、傳輸層:在此層中,它提供了節點間的數據傳送服務,如傳輸控制協議(TCP)、用戶數據報協議(UDP)等,TCP和UDP給數據包加入傳輸數據並把它傳輸到下一層中,這一層負責傳送數據,並且確定數據已被送達並接收。

    3、互連網絡層:負責提供基本的數據封包傳送功能,讓每一塊數據包都能夠到達目的主機(但

不檢查是否被正確接收),如網際協議(IP)。

    4、網絡接口層:對實際的網絡媒體的管理,定義如何使用實際網絡(如Ethernet、Serial Line等)來傳送數據。

二、OSI七層模型

    物理層、數據鏈路層、網絡層、傳輸層、表示層、會話層、應用層

     OSI七層協議體系結構的概念清楚,理論也比較完整,但它既複雜又不實用。所以轉換成了TCP/IP四層模型

三、TCP/IP協議棧與數據包封裝

    傳輸層及其以下的機制由內核提供,應用層由用戶進程提供應用程序對通訊數據的含義進行釋,而傳輸層及其以下處理通訊的細節,將數據從一臺計算機通過一定的路徑發送到另一臺計算機。應用層數據通過協議棧發到網絡上時,每層協議都要加上一個數據首部(header),稱爲封裝(Encapsulation),如下圖所示:

    wKioL1c1z_7xnM0NAAGJ19PMxcE174.jpg

  

不同的協議層對數據包有不同的稱謂,在傳輸層叫做段(segment),在網絡層叫做數據報(datagram),在鏈路層叫做幀(frame)。數據封裝成幀後發到傳輸介質上,到達目的主機後每層協議再剝掉相應的首部,最後將應用層數據交給應用程序處理。

上圖對應兩臺計算機在同一網段中的情況,如果兩臺計算機在不同的網段中,那麼數據從一臺計算機到一臺計算機傳輸過程中要經過一個或多個路由器,如下圖所示。

      

wKiom1c1z9-xOHIFAAFzMOsAHQk168.jpg1、在鏈路層之下還有物理層,指的是電信號的傳遞方式。

    集線器工作在物理層,用於將已衰減的信號再次放大 使之傳的更遠

2、鏈路層有以太網、令牌環網、等標準,鏈路層負責網卡設備的驅動、幀同步、

    交換機工作在鏈路層、用於在不同的鏈路層網絡之間轉發數據幀

3、網絡層的IP協議是構成Internet的基礎。

    路由器工作在網絡層,兼有交換機的功能,可以在不同的鏈路層接口之間轉發數據包,因此路  由器需要將進來的數據包拆掉網絡層和鏈路層兩層首部重新封裝。IP 協議不保證傳輸的可靠性,數據  包在傳輸過程中可能丟失,可靠性可以在上層協議或應用程序中提供支持

4、網絡層負責點到點的傳輸,而傳輸層負責端到端的傳輸。傳輸層可選擇TCP或UDP協議。

    TCP是一種面向連接的、可靠的協議。

    UDP協議不面向連接,也不保證可靠性,

四、目的主機收到數據包後,如何經過各層協議棧最後到達應用程序呢?

   以太網驅動程序首先根據以太網首部中的“上層協議”字段確定該數據幀的有效載荷(payload,指除去協議首部之外實際傳輸的數據)是IP、ARP還是RARP協議的數據報,然後交給相應的協議處理。假如是IP數據報,IP協議再根據IP首部中的“上層協議”字段確定該數據報的有效載荷 是TCP、UDP、ICMP還是IGMP,然後交給相應的協議處理。假如是TCP段或UDP段,TCP或UDP協議再根據TCP首部或UDP首部的“端口號”字段確定應該將應用層數據交給哪個用戶進程。Ip地址是標識網絡中不同主機的地址,而端口號就是同一臺主機上標識不同進程的地址,IP 地址和端口號合起來標識網絡中唯一的進程。

   雖然IP、ARP和RARP數據報都需要以太網驅動程序來封裝成幀,但是從功能上劃分,ARP和RARP屬於鏈路層,IP屬於網絡層。雖然ICMP、IGMP、TCP、UDP的數據都需要IP協議來封裝成數據報,但是從功能上劃分,ICMP、IGMP與IP同屬於網絡層,TCP和UDP屬於傳輸層

五、以太網的幀格式

    以太網的幀格式如下所示:

    wKiom1c11AmTG-YwAAGU_FfsE-8905.jpg

1、其中的源地址和目的地址是指網卡的硬件地址(也叫MAC地址),長度是48位,是在網卡出廠時固化的.

  幀協議類型字段有三種值,分別對應IP、ARP、RARP。幀末尾是CRC校驗碼。

2、以太網幀中的數據長度規定最小46字節,最大1500字節,ARP和RARP數據包的長度不夠46字節,要在後面補填充位.最大值1500稱爲以太網的最大傳輸單元(MTU),不同的網絡類型有不同的MTU,如果一個數據包從以太網路由到撥號鏈路上,數據包長度大於撥號鏈路的MTU了,則 需要對數據包進行分片。MTU這個概念指數據幀中有效載荷的最大長度,不包括幀首部的長度。

六、ARP數據包格式

  ARP地址解析協議。每臺主機都維護一個ARP緩存表,可以用arp -a命令查看。緩存表中的表項有過期時間(一般爲20分鐘),如果20分鐘內沒有再次使用某個表項,則該表項失效,下次還要發ARP請求來獲得目的主機的硬件地址。          

ARP數據報的格式如下所示:

wKiom1c12YWCaITTAADqu7agl1I710.jpg

 硬件類型指鏈路層網絡類型,1爲以太網,協議類型指要轉換的地址類型,0x0800爲IP地址,後面兩個地址長度對於以太網地址和IP地址分別爲6和4(字節),op字段爲1表示ARP請求,op字段爲2表示ARP應答。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章