地址位元組

地址位元組

地址位元組簡單來說是指地址是由多少位元組組成。在計算機網路中存在多種地址,例如IP地址,MAC地址以及物理地址,一般來說不同地址位元組數是不相同的。地址位元組與很多因素,一般可以分為以下幾類:地址的用途、有關應用協議版本或系統版本、硬體設計水平。

簡介


地址位元組是指地址佔據多少位元組。在計算機網路中,地址一般分為MAC地址和IP地址,MAC地址由6位元組組成,IP地址有IPv4地址和IPv6地址,IPv4地址四個位元組組成,IPv6地址長度有128位,即16位元組。在計算機科學中,地址位元組不同,地址的作用是不同的,同時地址位元組中不同位元組含義也是不同。

網際網路協議地址


IP地址是指網際網路協議地址(英語:Internet Protocol Address,又譯為網際協議地址),是IP Address的縮寫。IP地址是IP協議提供的一種統一的地址格式,它為網際網路上的每一個網路和每一台主機分配一個邏輯地址,以此來屏蔽物理地址的差異。IP地址一般可以分為IPv4地址和IPv6地址。

IPv4地址

IPv4,是網際網路協議(Internet Protocol,IP)的第四版,也是第一個被廣泛使用,構成現今網際網路技術的基礎的協議。IPv4地址由32位二進位數組成,即地址位元組數為4。為便於使用,常以XXX.XXX.XXX.XXX形式表現,每組XXX代表小於或等於255的10進位數。例如維基媒體的一個IP地址是208.80.152.2。地址可分為A、B、C、D、E五大類,其中E類屬於特殊保留地址。

IPv6地址

IPv6 技術的主要目的之一就是解決 IPv4 地址短缺問題。 IPv6 汲取了 IPv4 地址資源不足的教訓,將地址長度擴大至 IPv4 地址的 4 倍,即由 32bit 擴展至128bit ,即16個地址位元組數。毫不誇張的說,如果將這些 IPv6 地址平均分配在地球表面,地球上的每一平方米即可獲得幾百萬個IPv6 地址,甚至每一粒沙子都可以獲得一個 IPv6 地址。所有 IPv4 地址只相當於 IPv6 地址中一個 /32 地址塊的地址容量。IPv6地址的表達形式,一般採用32個十六進位數。IPv6中可能的地址有2128≈3.4×1038個。

IPv4地址不同位元組含義

圖1位IPv4協議結構,圖中指出了地址位元組中不同位元組的具體作用,解釋如下:
Version - 4位欄位,指出當前使用的 IP 版本。
IP Header Length (IHL) ─ 指數據報協議頭長度,表示協議頭具有32位字長的數量。指向數據起點。正確協議頭最小值為5。
IPv4地址位元組結構
IPv4地址位元組結構
Type-of-Service ─ 指出上層協議對處理當前數據報所期望的服務質量,並對數據報按照重要性級別進行分 配。這些8位欄位用於分配優先順序、延遲、吞吐量以及可靠性。(即TOS)
Total Length ─ 指定整個 IP 數據包的位元組長度,包括數據和協議頭。其最大值為65,535位元組。典型的主機可以接收576位元組的數據報。
Identification ─ 包含一個整數,用於識別當前數據報。該欄位由發送端分配幫助接收端集中數據報分片。
Flags ─ 由3位欄位構成,其中最低位(MF)控制分片,存在下一個分片置為1,否則置0代表結束分片。中間位(DF)指出數據包是否可進行分片。第三位即最高位保留不使用,但是必須為0。
Fragment Offset ─ 13位欄位,指出與源數據報的起始端相關的分片數據位置,支持目標IP適當重建源數據報。
Time-to-Live ─ 是一種計數器,在丟棄數據報的每個點值依次減1直至減少為0。這樣確保數據包無止境的環路過程(即TTL)。
Protocol ─ 指出在 IP 處理過程完成之後,有哪種上層協議接收導入數據包。
Header Checksum ─ 幫助確保 IP 協議頭的完整性。由於某些協議頭欄位的改變,如生存期(Time to Live),這就需要對每個點重新計算和檢驗。Internet 協議頭需要進行處理。
Source Address ─ 源主機IP地址。
Destination Address ─ 目標主機IP地址。
Options ─ 允許 IP 支持各種選項,如安全性。
Data ─ 包括上層信息。

物理地址


MAC地址

MAC(Media Access Control或者Medium Access Control)地址,意譯為媒體訪問控制,或稱為物理地址、硬體地址,用來定義網路設備的位置。在OSI模型中,第三層網路層負責 IP地址,第二層數據鏈路層則負責 MAC地址。因此一個主機會有一個MAC地址,而每個網路位置會有一個專屬於它的IP地址。一個 MAC 地址長 48 比特,即 48 位的二進位數字,表示成 12 個十六進位數字,每兩個 16 進位數字之間用″ - ″ 隔開,如″ 00- 60- 2F- 3A- 07- BC″ 就是某一個網卡的 MAC 地址。其中前 6 個十六進位數字是由 IEEE 管理的,用於識別製造商、供貨商,構成組織惟一標識符(OUI) ,例如“00 60 2F”就表示CISCO公司。剩下的 6 個十六進位數字由介面序列號或者是特定供貨商管理的編號所組成。網卡的 MAC 地址是被事先燒錄到網卡的只讀存儲器(ROM)中的,當網卡啟動時,才被拷貝到隨機存儲器(RAM)中去,因此,網卡的 MAC 地址不能被隨意修改,除非採用特殊的方法或者採用第三方的工具軟體。

存儲器地址

存儲器地址(Memory address)是存儲器中存儲單元的編號。由於存儲器中存儲單元數量很多,為了進行查找,需要給每個存儲單元賦予一個存儲器地址。存儲器地址位元組一般操作系統有關,例如32位操作系統存儲器地址位元組為4個位元組,64位操作系統存儲器地址位元組為8個位元組。