提示:待到山花爛漫時,她在叢中笑。
IP地址與硬件地址
概述
IP地址是網(wǎng)絡(luò)層使用的地址,它是分層次等級的,
硬件地址是數(shù)據(jù)鏈路層使用的地址(如 MAC地址),它是平面式的
在網(wǎng)絡(luò)層及網(wǎng)絡(luò)層之上使用IP地址,IP地址放在IP數(shù)據(jù)報的首部,而MAC地址放在MAC幀的首部
數(shù)據(jù)鏈路層看不見數(shù)據(jù)報分組中的IP地址
具體關(guān)系:在網(wǎng)絡(luò)層中的路由器相互傳輸時使用IP地址,當?shù)竭_目標網(wǎng)絡(luò)后,使用MAC地址查找目標物理主機
路由器:擁有多個IP地址,擁有多個硬件地址。
地址解析協(xié)議(ARP)
作用:實現(xiàn)IP地址到MAC地址的映射
ARP表:每臺主機都設(shè)有一個ARP高速緩存,用來存放本局域網(wǎng)上各主機和路由器的IP地址到MAC地址的映射表
需要加頭加尾,其中頭部最重要的就是加了IP地址和MAC地址(也就是邏輯地址和物理地址)集線器物理層設(shè)備,交換機是鏈路層的設(shè)備,如上圖路由器左邊就是一個局域網(wǎng),若是文件比較大就需要在傳輸層進行分段,在網(wǎng)絡(luò)層進行封裝就需要加上IP地址形成一個IP數(shù)據(jù)報,要加兩個地址,一個是源主機的地址,一個是目的主機的地址,(傳輸層要講)根據(jù)這個DNS就可以將目的地址填入,分組通常是數(shù)據(jù)報分片之后的結(jié)果,為什么要進行分片可能是因為這個鏈路層的協(xié)議要求的最大傳輸單元有一個是MTU,根據(jù)MTU來決定是否要在網(wǎng)絡(luò)層進行分片,然后構(gòu)成一個IP數(shù)據(jù)報,然后數(shù)據(jù)鏈路層加上一個MAC地址,每一個主機或者說每一個路由器都會有一個ARP高速緩存,可以把他想成是一個倉庫,這個倉庫存的就是IP地址和MAC地址的映射,也就是某一個IP地址對應的MAC地址應該是多少,當然所存的都是一個局域網(wǎng)內(nèi)部的主機,若是沒有找到就要使用ARP的協(xié)議,就需要先發(fā)送一個ARP分組請求,其實是一個幀,這個數(shù)據(jù)幀的這幾個部分,它自己的IP地址,它所查詢的主機的IP地址,以及自己的MAC地址,還一個就是目的物理地址,這里能夠看出來是全FFF,也就是局域網(wǎng)內(nèi)有廣播效應的一個幀,若是MAC地址是廣播地址的話,那么交換機就可以將他從所有的端口轉(zhuǎn)發(fā)出去,這里也就是2,3,還有連接的路由器,只有三號會響應,單播就是只發(fā)給1,
==假如說要和五號主機進行通信,正常交換機是沒有MAC地址的,只有主機和路由器的端口是有MAC地址的,路由器可以有多個MAC地址,IP地址,先來查看高速緩存自然是沒有的,先用自己的子網(wǎng)掩碼和目的IP地址相與,看看是否在自己的網(wǎng)段內(nèi),結(jié)果1號主機發(fā)現(xiàn)不在自己的網(wǎng)段內(nèi),然后查詢默認網(wǎng)關(guān)的MAC地址,也就是他與外界溝通的路由器,下一跳(或者說下一個路)是可以跳到三個地方,2,3,和默認網(wǎng)關(guān),然后如何得到MAC6的地址呢,依然是廣播的形式獲得默認網(wǎng)關(guān)IP6的MAC地址,
此時假設(shè)已經(jīng)傳輸?shù)搅寺酚善鬟@里,然后進行一個數(shù)據(jù)的解封裝,然后最高到網(wǎng)絡(luò)層,然后再從網(wǎng)絡(luò)層開始封裝,封裝就是要加上這個源地址和目的地址,也就是IP1和IP5,源地址和目的地址是不變的,當然目前是不考慮NAT那種請求的(若是NAT這個IP地址會發(fā)生改變的),這個物理地址是要發(fā)生變化了(因為到了一個新的網(wǎng)絡(luò)內(nèi))它的源MAC和目的MAC都發(fā)生了改變,也就變成了這個的MAC7和下一個的MAC8,此時是一個點對點的通信也就是使用PPP協(xié)議,我們說過PPP協(xié)議中目的MAC是全1的,若不是點對點就是填MAC8,然后到了下一個路由器,然后依然是IP1和IP5這個是自始至終都是不變的,目的MAC地址就是MAC5,這個MAC5依然是使用ARP協(xié)議得來的,然后這個路由器也就知道下一跳要往哪走了,具體如何做到走5不走4的這就是鏈路層對數(shù)據(jù)幀進行轉(zhuǎn)發(fā)的過程了,
局域網(wǎng)內(nèi)部只能看懂MAC地址,有的主機沒有找到就需要這個ARP協(xié)議,
也就是只要是發(fā)給本網(wǎng)絡(luò)中的一個主機,那么只需要使用ARP獲取這個主機的MAC地址,若是要發(fā)給另外一個網(wǎng)絡(luò),也就是不在同一個網(wǎng)絡(luò)的主機或者路由器也就是需要通過默認網(wǎng)關(guān),通過ARP找到這個默認網(wǎng)關(guān)的MAC地址,剩下的事交給這個網(wǎng)關(guān)就可以了,主機的用戶對這個ARP的過程是不知情的,
6次ARP協(xié)議
結(jié)合了MAC地址和IP地址,但是主要是將其劃分成網(wǎng)絡(luò)層的協(xié)議,它是為IP協(xié)議來提供服務的,
動態(tài)主機配置協(xié)議(DHCP)
概述
常用于給主機動態(tài)地分配IP地址
提供了即插即用聯(lián)網(wǎng)的機制這種機制允許一臺計算機加入新的網(wǎng)絡(luò)和獲取IP地址 而不用手工參與,DHCP是應用層協(xié)議,它是基于UDP的
主機在進行通信的時候,一定是需要一個IP地址,但是主機是如何獲取一個IP地址的呢?這個默認網(wǎng)關(guān)就是這些主機它的數(shù)據(jù)得以進入外界的一個端口,通常都是一個路由器的接口的IP地址,只有通過這樣一個默認網(wǎng)關(guān)才能與外界進行通信,手機到了一個教室中就會給它分配一個動態(tài)的IP地址,也就是通過DHCP服務器來進行分配的,主機走了這個分配的IP地址就會收回了,
DHCP客戶機廣播”DHCP發(fā)現(xiàn)”消息,試圖找到網(wǎng)絡(luò)中的DHCP服務器
DHCP服務器收到“DHCP發(fā)現(xiàn)”消息后,向網(wǎng)絡(luò)中廣播”DHCP提供消息,其中包括提供DHCP客戶機的IP地址和相關(guān)配置信息
DHCP客戶機收到”DHCP提供”消息,如果接收DHCP服務器所提供的相關(guān)參數(shù),那么通過廣播”DHCP請求消息向DHCP服務器請求提供IP地址
DHCP服務器廣播”DHCP確認”消息,將IP地址分配給DHCP客戶
注意:DHCP服務器分配給DHCP客戶的IP地址是臨時的,因此DHCP客戶只能在一段有限的時間內(nèi)使用這個分配到的IP地址DHCP的客戶端和服務器端需要通過廣播方式來進行交互
之所以把這個應用層協(xié)議放到網(wǎng)絡(luò)層來講是因為這個協(xié)議為網(wǎng)絡(luò)層的通信提供了一個基礎(chǔ),只有有了DHCP協(xié)議我們才有IP地址,才能延伸出許多的內(nèi)容,
可以看出就是主機和服務器之間來回交互,這種方式就是客戶服務器的方式,而且這四個過程都是使用廣播的方式,
網(wǎng)際控制報文協(xié)議(ICMP)目的:為了提高IP數(shù)據(jù)報交付成功的機會,在網(wǎng)絡(luò)層使用了網(wǎng)際控制報文協(xié)議(ICMP)來讓主機或路由器報告差錯和異常情況
ICMP和IGMP是處于網(wǎng)絡(luò)層和傳輸層之間的協(xié)議,ICMP協(xié)議起到一個橋梁的作用,也就是為了更好的轉(zhuǎn)發(fā)IP數(shù)據(jù)報和提高交互成功的機會,
在實際的通信中總會有一些分組出錯,在網(wǎng)絡(luò)層的出錯就是給它丟棄,并同時發(fā)送一個ICMP的差錯報文,ICMP的報文是裝在IP數(shù)據(jù)報的數(shù)據(jù)部分,所以ICMP是網(wǎng)絡(luò)層的協(xié)議,
類型是為了指這個ICMP是那一類的,代碼是為了區(qū)分某一個類型中具體的情況,這個檢驗和是為了檢驗整個ICMP報文的,(注意IP數(shù)據(jù)報的首部檢驗和是只檢驗首部)
所有的ICMP差錯報告報文,它們的數(shù)據(jù)字段的格式都是一樣的,收到的需要進行差錯報告的IP數(shù)據(jù)報首部以及數(shù)據(jù)部分前八個字節(jié)取出來,作為ICMP報文的數(shù)據(jù)字段,然后加上ICMP的前8個字節(jié)然后構(gòu)成了一個完整的差錯報告報文,加上IP數(shù)據(jù)報的首部就構(gòu)成了一個完整的數(shù)據(jù)報,也就是ICMP差錯報告報文是網(wǎng)絡(luò)層傳輸單元的數(shù)據(jù)部分,
因為既然是封裝成幀,自然是有可能還是出錯的,
組播是一點到多點,廣播是一點到所有結(jié)點,組播是有選擇性的,
回送請求和回答報文
時問戳請求和回答報文
掩碼地址請求 和回答報文
路由器詢問和通告報文
是有兩個主機一個是源主機,一個是目的主機,源主機就會發(fā)送一連串的數(shù)據(jù)報,主要差別是生存時間是不一樣的,然后就可以測算出從源點到終點之間的距離了,
IPV6是解決IP地址耗盡的最根本方法,緩解方法是超網(wǎng)聚合 NAT等
更大的地址空間IPv6將地址從IPv4的32位增大到了 128位
擴展的地址層次結(jié)構(gòu)
靈活的首部格式
改進的選項
允許協(xié)議繼續(xù)擴充
支持即插即用(即自動配置 )
支持資源的預分配
IPv6只有在包的源結(jié)點才能分片,是端到端的,傳輸路徑中的路由器不能分片
IPv6首部長度必須是8B的整數(shù)倍,而IPv4首部是4B的整數(shù)倍
增大了安全性。身份驗證和保密功能是IPv6的關(guān)鍵特征
支持Qos就可以滿足實時的以及多媒體通信的需要,
也就相當于將IPv4中的可變部分挪到了有效載荷當中,所以IPv6的基本首部就是固定的,這個擴展首部就是對這個數(shù)據(jù)報有什么要求,比如這個數(shù)據(jù)報要增加什么功能,也就是放在這個擴展首部來實現(xiàn),因為有這個擴展首部原來IPv4中一些不必要的部分就可以先不用了,用的話只需要放在擴展首部中就可以了,IPv6靈活的首部格式就可以大大的加快分組處理的速度,
其中的擴展首部是可有可無的,有效載荷長度指的是有效載荷這個的長度是有多大,IPv4標識長度有兩個字段,一個叫做首部長度字段,一個叫總長度字段,首部長度字段指的是首部的大小,總長度是首部加上數(shù)據(jù)部分的大小,而這里的有效載荷長度指的是擴展首部加上數(shù)據(jù)的大小,基本首部中的下一個首部指向的是擴展首部1,擴展首部1中的下一個首部指向的是擴展首部2,最后一個指向的是數(shù)據(jù)部分,跳數(shù)限制也就相當于IPv4中的生存時間,若是為零,返回一個ICMP差錯報告報文,
如果沒有校驗和字段,對于數(shù)據(jù)報的首部的檢驗時間就縮短了,因此就可以減少每一跳的時間,
IPV6 是不允許分片的,若是IPv6數(shù)據(jù)報很大,必須要進行分片,只能在路由器這里將其丟棄,然后返回一個差錯報告報文,
IPv4的協(xié)議字段是指其中的數(shù)據(jù)使用的是哪一個協(xié)議,也就是分組的數(shù)據(jù)部分應該是交給的哪一個傳輸層協(xié)議,
IPv6的首部長度是固定的,因此不需要首部長度字段。IPv6取消了校驗和字段,這樣就加快了路由器處理數(shù)據(jù)報的速度。我們知道,數(shù)據(jù)鏈路層會丟棄檢測出差錯的幀,運輸層也有相應的差錯處理機制,因此網(wǎng)絡(luò)層的差錯檢測可以精簡掉。
只要前面有連續(xù)的0我們就可以對其進行壓縮,
多播地址只能作為目的地址,不能作為源地址,多播地址可以包括廣播地址,任播是IPV6獨有的一種地址,是一對多的一個通信,本質(zhì)上也是一對一的,通常是選擇一個離他最近的一個主機,
隧道技術(shù)是一種使用比較廣泛的技術(shù),也就是將IPv6作為IPv4的數(shù)據(jù)部分進行傳輸,,文章來源:http://www.zghlxwxcb.cn/news/detail-707859.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-707859.html
到了這里,關(guān)于計算機網(wǎng)絡(luò)第四章——網(wǎng)絡(luò)層(中)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!