接口與協議學習筆記-Ethernet UDP通訊協議(一) mac地址、IP地址和端口號

 

        總線(BUS,即公共汽車,數據的公共傳輸路線)分類的方式有不少,如被分爲外部和內部總線、系統總線和非系統總線等等,下面是幾種最經常使用的分類方法。另外,總線的傳輸核心思想是多路複用:時分多路複用-TDMA/頻分多路複用-FDMA/碼分多路複用-CDMA。html

  1. 按功能分    
  • (1) 片總線(Chip Bus, C-Bus) 又稱元件級總線,是把各類不一樣的芯片鏈接在一塊兒構成特定功能模塊(如CPU模塊)的信息傳輸通路,它的寬度能夠是八、1六、32或64位。目前比較流行的幾種內部總線技術:I2C總線、SCI總線等。算法

  • (2) 內總線(Internal Bus, I-Bus) 又稱系統總線或板級總線,是微機系統中各插件(模塊)之間的信息傳輸通路。例如CPU模塊和存儲器模塊或I/O接口模塊之間的傳輸通路。經常使用的有PC總線、AT總線(ISA總線)、PCI總線等。安全

  • (3) 外總線(External Bus, E-Bus)

  又稱通訊總線,是微機系統之間或微機系統與其餘系統(儀器、儀表、控制裝置等)之間信息傳輸的通路,如EIA RS-232C、IEEE-488等。網絡

  其中的系統總線,即一般意義上所說的總線,通常又含有三種不一樣功能的總線,即數據總線DB、地址總線AB和控制總線CB。異步

  地址總線是專門用來傳送地址的。在設計過程當中,見得最多的應該是從CPU地址總線來選用外部存儲器的存儲地址。地址總線的位數每每決定了存儲器存儲空間的大小,好比地址總線爲16位,則其最大可存儲空間爲216(64KB)。post

  數據總線是用於傳送數據信息,它又有單向傳輸和雙向傳輸數據總線之分,雙向傳輸數據總線一般採用雙向三態形式的總線。數據總線的位數一般與微處理的字長相一致。例如Intel 8086微處理器字長16位,其數據總線寬度也是16位。在實際工做中,數據總線上傳送的並不必定是徹底意義上的數據。大數據

  控制總線是用於傳送控制信號和時序信號。若有時微處理器對外部存儲器進行操做時要先經過控制總線發出讀/寫信號、片選信號和讀入中斷響應信號等。控制總線通常是雙向的,其傳送方向由具體控制信號而定,其位數也要根據系統的實際控制須要而定。google

     2.按傳輸方式url

      按照數據傳輸的方式劃分,總線能夠被分爲串行總線和並行總線。從原理來看,並行傳輸方式其實優於串行傳輸方式,但其成本上會有所增長。通俗地講,並行傳輸的通路猶如一條多車道公路,而串行傳輸則是隻容許一輛汽車經過單線公路。目前常見的串行總線有SPI、I2C、USB、IEEE139四、RS23二、CAN等;而並行總線相對來講種類要少,常見的如IEEE128四、ISA、PCI等。spa

    3.按時鐘信號方式分

    按照時鐘信號是否獨立,能夠分爲同步總線和異步總線。同步總線的時鐘信號獨立於數據,也就是說要用一根單獨的線來做爲時鐘信號線;而異步總線的時鐘信號是從數據中提取出來的,一般利用數據信號的邊沿來做爲時鐘同步信號。

        總線的帶寬指的是單位時間內總線上傳送的數據量,即每鈔傳送MB的最大數據傳輸率。

  總線的位寬指的是總線能同時傳送的二進制數據的位數,或數據總線的位數,即32位、64位等總線寬度的概念;總線的位寬越寬,數據傳輸速率越大,總線的帶寬就越寬。

  總線的工做時鐘頻率以MHz爲單位,它與傳輸的介質、信號的幅度大小和傳輸距離有關。在一樣硬件條件下,咱們採用差分信號傳輸時的頻率經常會比單邊信號高得多,這是由於差分信號的的幅度只有單邊信號的一半而已。

 

 

       UDP協議     UDP 是 User Datagram Protocol(用戶數據報協議)的英文縮寫。 UDP 只提供一種基 本的、低延遲的被稱爲數據報的通信。所謂數據報,就是一種自帶尋址信息,從發送端走到接 收端的數據包。 UDP 協議常常用於圖像傳輸、網絡監控數據交換等數據傳輸速度要求比較高 的場合。

UDP數據報可分爲首部和數據共兩個部分。首部或者稱爲報頭由四個域組成,每一個域佔用2個字節,報頭共佔用8個字節。

  1. UDP源端口號。爲不一樣的應用保留其各自的數據傳輸通道,數據發送一方將UDP數據報經過源端口發送出去。
  2. UDP目的地端口,數據接收一方經過目標端口接收數據。
  3. 數據報的長度包括報頭和數據部分在內的總字節數。用戶數據報長度所佔域的比特爲16位,因此包含報頭在內的數據報的最大長度爲 65535 字節。不過,一 些實際應用每每會限制數據報的大小,有時會下降到 8192 字節。
  4. 校驗值用來保證數據的安全。佔兩個字節,共16位。在數據發送方經過特殊的算法計算得出,傳遞到接收方以後還須要從新計算。傳輸過程當中受到損壞,數值不會相符。檢測到錯誤時,只是將損壞的消息段扔掉,或者給應用提供警告信息。

UDP通常分爲三個部分,UDP發送模塊,UDP接收模塊和CRC校驗模塊。

MAC地址  IP地址  端口號

   

在網絡中,按照用途可把網絡地址分爲以下四類:

①    物理地址:即MAC地址,如00-aa-00-62-c9-09。在數據鏈路層包裹在以太網頭部,用來識別同一個鏈路中的不一樣計算機。

②    邏輯地址:即IP地址,如127.0.0.1。在網絡層的IP頭部裏,用於識別網絡中互聯的主機和路由器,其實主要是確認子網,經過子網掩碼確認某個IP地址所在的子網,然後再在子網內部確認mac地址就能找到準確的用戶了。

③    端口地址:應用進程端口號。在傳輸層包含在TCP/UDP頭部中的,用於識別應用程序。

④    域名地址:萬維網地址,取代IP地址方便記憶,如www.google.com。

     

                       主機A向主機B利用發送了一條消息,則在TCP head裏包含了發送消息的應用的端口號以及接收方應用的端口號,傳遞給它的下一層,網絡層會將TCP數據包封裝起來再加本身的頭部,IP頭部裏包含本地IP以及接收方IP等信息傳遞給數據鏈路層。數據鏈路層會再給加一個以太網頭部,這裏包含雙方的mac地址。

                     以太網數據包會在其子網內部廣播,若是接收方在其子網內,則在比對mac地址後直接接收數據。若是不在同一個子網內,以太網協議就不能實現數據傳輸了,並且由於以太網協議採起廣播的方式發送消息,就算沒有侷限在子網內,若是給很是龐大的主機羣廣播消息是很是可怕的。這個時候就須要IP地址了,IP地址主要是用來區分哪些mac地址在同一個子網。找到目的主機所在子網以後再根據mac地址確認主機,IP層從IP首部肯定數據包所用的協議以後將數據包交給對應的協議,再由協議來確認程序的端口號,從而實現了消息的傳遞

                   參見:mac地址、IP地址和端口號          https://www.cnblogs.com/Chilly2015/p/5720670.html                                                                        https://blog.csdn.net/guoping16/article/details/6584363

IP數據報數據格式

  1. 1-4字節   版本IPV4,首部長度佔 4 位,可表示的最大數值是 15 個單位(一個單位爲 4 字節)所以 IP 的首部長度的最大值 是 60 字節。區分服務通常不使用。總長度佔16位,所以數據報的最大長度爲65535字節。
  2. 5-8字節   標識佔16位,用來產生數據包的標識,標誌(flag): 佔 3 位,目前只有前兩位有意義 MF 標誌字段的最低位是 MF (More Fragment) MF=1 表示後面「 還有分片」 。 MF=0 表示最後一個分片 DF 標誌字段中間的一位是 DF (Don't Fragment) 只有當 DF=0 時才容許分片。片偏移: 佔 12 位,指較長的分組在分片後某片在原分組中的相對位置.片偏移以 8 個字節爲偏移單 位
  3. 9-12字節   生存時間佔8位,記爲 TTL (Time To Live) 數據報在網絡中可經過的路由器數的最大值,TTL 字段 是由發送端初始設置一個 8 bit 字段.推薦的初始值由分配數字 RFC 指定,當前值爲 64.發送 ICMP 回顯應答時常常把 TTL 設爲最大值 255。協議佔8位,1 表示爲 ICMP 協議, 2 表示爲 IGMP 協議, 6 表示爲 TCP 協議, 17 表示爲 UDP 協議。首部檢驗和: 佔 16 位,只檢驗數據報的首部不檢驗數據部分.這裏不採用 CRC 檢驗碼而採用簡單的計 算方法。
  4. 13-16字節    記錄源地址
  5. 17-20字節    記錄目的地址
相關文章
相關標籤/搜索