實體地址和邏輯地址
Mac地址就是在媒體接入層上使用的地址,通俗點說就是網絡卡的實體地址,現在的Mac地址一般都採用6位元組48bit***在早期還有2位元組16bit的Mac地址***。 今天小編給大家介紹一下。供大家參考!
參考如下
MAC地址也叫實體地址、硬體地址或鏈路地址,由網路裝置製造商生產時寫在硬體內部。IP地址與MAC地址在計算機裡都是以二進位制表示的,IP地址是32位的,而MAC地址則是48位的。MAC地址的長度為48位***6個位元組***,通常表示為12個16進位制數,每2個16進位制數之間用冒號隔開,
1.MAC地址
網絡卡MAC地址不是隨便定義的,它的組成結構如圖所示。
1>後3個位元組代表該製造商所製造的某個網路產品***如網絡卡***的系列號,前3個位元組表示代表網路硬體製造商的編號,它由IEEE***電氣與電子工程師協會***分配
2>乙太網的地址為48位,由IEEE統一分配給網絡卡製造商,每個網絡卡的地址都必須是全球唯一的。共6個位元組的長度。
為合法乙太網地址。上面的X代表0-F中的任一個。
地址
為組播地址,只能作為目的地址,不能作為源地址。組播地址可以被支援該組播地址的一組網絡卡接收到。組播地址主要用在視訊廣播,遠端喚醒***通過發一個特殊的資料包使網絡卡產生一箇中斷訊號,啟動電腦***,遊戲***多個人在局域網裡聯機打遊戲***裡等。
邏輯地址***Logical Address*** 是指由程式產生的與段相關的偏移地址部分。例如,你在進行C語言指標程式設計中,可以讀取指標變數本身值***&操作***,實際上這個值就是邏輯地址,它是相對於你當前程序資料段的地址,不和絕對實體地址相干。只有在Intel真實模式下,邏輯地址才和實體地址相等***因為真實模式沒有分段或分頁機制,Cpu不進行自動地址轉換***;邏輯也就是在Intel 保護模式下程式執行程式碼段限長內的偏移地址***假定程式碼段、資料段如果完全一樣***。應用程式設計師僅需與邏輯地址打交道,而分段和分頁機制對您來說是完全透明的,僅由系統程式設計人員涉及。應用程式設計師雖然自己可以直接操作記憶體,那也只能在作業系統給你分配的記憶體段操作。
線性地址***Linear Address*** 是邏輯地址到實體地址變換之間的中間層。程式程式碼會產生邏輯地址,或者說是段中的偏移地址,加上相應段的基地址就生成了一個線性地址。如果啟用了分頁機制,那麼線性地址可以再經變換以產生一個實體地址。若沒有啟用分頁機制,那麼線性地址直接就是實體地址。Intel 80386的線性地址空間容量為4G***2的32次方即32根地址匯流排定址***。
實體地址***Physical Address*** 是指出現在CPU外部地址總線上的定址實體記憶體的地址訊號,是地址變換的最終結果地址。如果啟用了分頁機制,那麼線性地址會使用頁目錄和頁表中的項變換成實體地址。如果沒有啟用分頁機制,那麼線性地址就直接成為實體地址了。
虛擬記憶體***Virtual Memory*** 是指計算機呈現出要比實際擁有的記憶體大得多的記憶體量。因此它允許程式設計師編制並執行比實際系統擁有的記憶體大得多的程式。這使得許多大型專案也能夠在具有有限記憶體資源的系統上實現。一個很恰當的比喻是:你不需要很長的軌道就可以讓一列火車從上海開到北京。你只需要足夠長的鐵軌***比如說3公里***就可以完成這個任務。採取的方法是把後面的鐵軌立刻鋪到火車的前面,只要你的操作足夠快並能滿足要求,列車就能象在一條完整的軌道上執行。這也就是虛擬記憶體管理需要完成的任務。在Linux 0.11核心中,給每個程式***程序***都劃分了總容量為64MB的虛擬記憶體空間。因此程式的邏輯地址範圍是0x0000000到0x4000000。
有時我們也把邏輯地址稱為虛擬地址。因為與虛擬記憶體空間的概念類似,邏輯地址也是與實際實體記憶體容量無關的。
邏輯地址與實體地址的“差距”是0xC0000000,是由於虛擬地址->線性地址->實體地址對映正好差這個值。這個值是由作業系統指定的。
小編介紹了的相關知識,希望你喜歡。
實體地址擴充套件有什麼用