天天看點

Linux網絡程式設計——基礎概念網絡的概念

網絡的概念

網絡

關于計算機網絡的最簡單的定義是:一些互相連接配接的、自治的計算機的集合
           
  • 線路(網絡中會用到)

    雙絞線(網線)—> 最大傳輸距離100米

    同軸電纜

    光纖 —> 速度快,但是不能折斷

  • 裝置

    路由器 —> 網絡層,利用IP位址,實作網絡與網絡之間的資料連結

    交換機 —> 資料鍊路層,利用MAC位址,實作網絡端口的擴充

    集線器 —> 資料鍊路層

網際網路

網際網路:将不同的網絡連接配接起來
           

最大的網際網路就是Inter網,還有一種網際網路為專用網絡

IP位址

IP位址:主機的邏輯位址,由連接配接接入的路由器配置設定
           

IPV4:4位元組 32位

  • 點分十進制 的字元串,由網絡号和主機号構成,可分為A、B、C、D、E五類
    Linux網絡程式設計——基礎概念網絡的概念
位址類型 範圍
A類位址 0.0.0.0~127.255.255.255
B類位址 128.0.0.0~191.255.255.255
C類位址 192.0.0.0~223.255.255.255

D類和E類一般不使用

IPV6:16位元組 128位

MAC位址

MAC位址:主機的實體位址,內建在網卡上,不會随着位置的改變而改變
           

協定

協定:一種約定,一種規定,規定了通信雙方傳輸資料的一種格式
           
Linux網絡程式設計——基礎概念網絡的概念

ARP協定

ARP協定在主機ARP高速緩存中應存放一個從IP位址到硬體位址的映射表,并且這個映射表還經常動态更新(新增或逾時删除)
每一個主機都設有一個ARP高速緩存,裡面有本區域網路上的各主機和路由址到硬體位址的映射表
           
  • 主機如何知道所存儲的位址
  1. 主機A向本區域網路主機B發送資料報時,會先在ARP高速緩存中檢視有無B的IP位址,若有,則找到相應的MAC位址
  2. 若沒有B的IP位址

    (1)ARP程序在本區域網路上廣播發送一個ARP請求分組

    (2)在本區域網路上的所有主機上運作的ARP程序都收到此ARP請求分組

    (3)主機B在ARP請求分組中見到自己的IP位址,就向主機A發送ARP響應分組

    (4)主機A收到主機B的ARP響應分組後,就在其ARP高速緩存中寫入主機B的位址到硬體位址的映射,B也将A的位址映射寫入B得ARP高速緩存

    ARP請求分組是一對多,而ARP響應分組是單點傳播的,即從一個源位址發送到一個目的地

    Linux網絡程式設計——基礎概念網絡的概念
  • ARP把儲存在高速緩存中的每一個映射位址項目都設定生存時間,并且ARP是解決同一個區域網路上的主機或路由器的IP位址和硬體位址的映射問題
  • 使用ARP的四種典型情況
  1. 發送方是主機,要把IP資料報發送到本網絡上的另一個主機,這時用ARP找到目的主機的硬體位址
  2. 發送方是主機,要把IP資料報發送到另一個網絡上的一個主機,這時用ARP找到本網絡上的一個路由器的硬體位址,剩下的工作由這個路由器來完成
  3. 發送方是路由器,要把IP資料報轉發到本網絡上的一個主機,這時用ARP找到目的主機的硬體位址
  4. 發送方是路由器,要把IP資料報轉發到另一個網絡上的一個主機,這時用ARP找網絡上的一個路由器的硬體位址,剩下的工作由這個路由器來完成
  • 為什麼要使用ARP而不是直接使用硬體位址通信

    由于全世界存在着各式各樣的網絡,它們使用不同的硬體位址。要使這些異構網絡能夠互相通信就必須進行非常複雜的硬體位址轉換工作,是以由使用者或使用者主機來完成這項工作幾乎是不可能的事。但統一的IP位址把這個複雜問題解決了。連接配接到網際網路的主機隻需擁有統一的IP位址,它們之間的通信就像連接配接在同一個網絡上那樣簡單友善,因為上述的調用ARP的複雜過程都是由計算機軟體自動進行的,對使用者來說是看不見這種調用過程的

繼續閱讀