網(wǎng)絡(luò)層

網(wǎng)絡(luò)層

1.網(wǎng)絡(luò)層介紹:

網(wǎng)絡(luò)層是OSI參考模型中的第三層,介于傳輸層和數(shù)據(jù)鏈路層之間,它在數(shù)據(jù)鏈路層提供的兩個相鄰端點之間的數(shù)據(jù)幀的傳送功能上,進一步管理網(wǎng)絡(luò)中的數(shù)據(jù)通信,將數(shù)據(jù)設(shè)法從源端經(jīng)過若干個中間節(jié)點傳送到目的端,從而向運輸層提供最基本的端到端的數(shù)據(jù)傳送服務(wù)。主要內(nèi)容有:虛電路分組交換和數(shù)據(jù)報分組交換、路由選擇算法、阻塞控制方法、X.25協(xié)議、綜合業(yè)務(wù)數(shù)據(jù)網(wǎng)(ISDN)、異步傳輸模式(ATM)及網(wǎng)際互連原理與實現(xiàn)。

2.功能目的

a) 主要功能負(fù)責(zé)點到點(point-to-point)的傳輸(這里的“點”指主機或路由器)

網(wǎng)絡(luò)層是為傳輸層提供服務(wù)的,傳送的協(xié)議數(shù)據(jù)單元稱為數(shù)據(jù)包或分組。該層的主要作用是解決如何使數(shù)據(jù)包通過各結(jié)點傳送的問題,即通過路徑選擇算法(路由)將數(shù)據(jù)包送到目的地。另外,為避免通信子網(wǎng)中出現(xiàn)過多的數(shù)據(jù)包而造成網(wǎng)絡(luò)阻塞,需要對流入的數(shù)據(jù)包數(shù)量進行控制(擁塞控制)。當(dāng)數(shù)據(jù)包要跨越多個通信子網(wǎng)才能到達目的地時,還要解決網(wǎng)際互連的問題。

b) 網(wǎng)絡(luò)地址: 網(wǎng)絡(luò)層地址由兩部分地址組成:網(wǎng)絡(luò)地址和主機地址。網(wǎng)絡(luò)地址是全局唯一的。

c) 路由尋址:

  • 通過路由選擇算法為分組通過通信子網(wǎng)選擇最佳路.

  • 實現(xiàn)路由選擇,擁塞控制以及網(wǎng)絡(luò)互聯(lián)等.

網(wǎng)絡(luò)層的主要協(xié)議:IP、ARP、RARP

ARP協(xié)議:用來找到目標(biāo)主機的Ethernet網(wǎng)卡Mac地址;

IP協(xié)議:則承載要發(fā)送的消息。數(shù)據(jù)鏈路層可以從ARP得到數(shù)據(jù)的傳送信息,而從IP得到要傳輸?shù)臄?shù)據(jù)信息。

3.IP協(xié)議

IP協(xié)議是TCP/IP協(xié)議的核心,所有的TCP,UDP,IMCP,IGCP的數(shù)據(jù)都以IP數(shù)據(jù)格式傳輸。要注意的是,IP不是可靠的協(xié)議,這是說,IP協(xié)議沒有提供一種數(shù)據(jù)未傳達以后的處理機制--這被認(rèn)為是上層協(xié)議--TCP或UDP要做的事情。所以這也就出現(xiàn)了TCP是一個可靠的協(xié)議,而UDP就沒有那么可靠的區(qū)別。

IP數(shù)據(jù)報如下圖所示:

2019-06-08_195233.png

3.1 ip路由選擇

當(dāng)一個IP數(shù)據(jù)包準(zhǔn)備好了的時候,IP數(shù)據(jù)包(或者說是路由器)是如何將數(shù)據(jù)包送到目的地的呢?它是怎么選擇一個合適的路徑來"送貨"的呢?

最特殊的情況是目的主機和主機直連,那么主機根本不用尋找路由,直接把數(shù)據(jù)傳遞過去就可以了。至于是怎么直接傳遞的,這就要靠ARP協(xié)議了,后面會講到。

稍微一般一點的情況是,主機通過若干個路由器(router)和目的主機連接。那么路由器就要通過ip包的信息來為ip包尋找到一個合適的目標(biāo)來進行傳遞,比如合適的主機,或者合適的路由。路由器或者主機將會用如下的方式來處理某一個IP數(shù)據(jù)包

  1. 如果IP數(shù)據(jù)包的TTL(生命周期)以到,則該IP數(shù)據(jù)包就被拋棄。

  2. 搜索路由表,優(yōu)先搜索匹配主機,如果能找到和IP地址完全一致的目標(biāo)主機,則將該包發(fā)向目標(biāo)主機

  3. 搜索路由表,如果匹配主機失敗,則匹配同子網(wǎng)的路由器,這需要“子網(wǎng)掩碼(1.3.)”的協(xié)助。如果找到路由器,則將該包發(fā)向路由器。

  4. 搜索路由表,如果匹配同子網(wǎng)路由器失敗,則匹配同網(wǎng)號(第一章有講解)路由器,如果找到路由器,則將該包發(fā)向路由器。

  5. 搜索路由表,如果以上都失敗了,就搜索默認(rèn)路由,如果默認(rèn)路由存在,則發(fā)包

  6. 如果都失敗了,就丟掉這個包。

這再一次證明了,ip包是不可靠的。因為它不保證送達。

4.ARP協(xié)議

還記得數(shù)據(jù)鏈路層的以太網(wǎng)的協(xié)議中,每一個數(shù)據(jù)包都有一個MAC地址頭么?我們知道每一塊以太網(wǎng)卡都有一個MAC地址,這個地址是唯一的,那么IP包是如何知道這個MAC地址的?這就是ARP協(xié)議的工作。

在網(wǎng)絡(luò)通訊時,源主機的應(yīng)用程序知道目的主機的IP地址和端口號,卻不知道目的主機的硬件地址,而數(shù)據(jù)包首先是被網(wǎng)卡接收到再去處理上層協(xié)議的,如果接收到的數(shù)據(jù)包的硬件地址與本機不符,則直接丟棄。因此在通訊前必須獲得目的主機的硬件地址。ARP協(xié)議就起到這個作用。

工作原理:

1)每臺主機都維護一個ARP緩存表,當(dāng)源主機要發(fā)送一個IP包的時候,會首先查一下自己的ARP高速緩存(就是一個IP-MAC地址對應(yīng)表緩存)。

2)如果查詢的IP-MAC值對不存在,那么源主機就向網(wǎng)絡(luò)發(fā)送一個ARP協(xié)議廣播包,這個廣播包里面就有待查詢的IP地址,比如詢問“IP地址是192.168.0.1的主機的硬件地址是多少”,并將這個請求廣播到本地網(wǎng)段(以太網(wǎng)幀首部的硬件地址填FF:FF:FF:FF:FF:FF表示廣播)。

  1. 直接收到這份廣播的包的所有主機都會查詢自己的IP地址,如果收到廣播包的某一個主機發(fā)現(xiàn)IP地址與本機相符,那么就準(zhǔn)備好一個包含自己的MAC地址的ARP包傳送給發(fā)送ARP廣播的源主機,而廣播源主機拿到ARP包后會更新自己的ARP緩存(就是存放IP-MAC對應(yīng)表的地方)。

  2. 發(fā)送廣播的主機就會用新的ARP緩存數(shù)據(jù)準(zhǔn)備好數(shù)據(jù)鏈路層的的數(shù)據(jù)包發(fā)送工作。

5.ip地址與路由

IPv4的IP地址長度為4字節(jié),通常采用點分十進制表示法(dotted decimal representation)例如0xc0a80002表示為192.168.0.2。Internet被各種路由器和網(wǎng)關(guān)設(shè)備分隔成很多網(wǎng)段,為了標(biāo)識不同的網(wǎng)段,需要把32位的IP地址劃分成網(wǎng)絡(luò)號和主機號兩部分,網(wǎng)絡(luò)號相同的各主機位于同一網(wǎng)段,相互間可以直接通信,網(wǎng)絡(luò)號不同的主機之間通信則需要通過路由器轉(zhuǎn)發(fā)。

過去曾經(jīng)提出一種劃分網(wǎng)絡(luò)號和主機號的方案,把所有IP地址分為五類,如下圖所示:

2019-06-08_200404.png

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類 224.0.0.0到239.255.255.255 E類 240.0.0.0到247.255.255.255

一個A類網(wǎng)絡(luò)可容納的地址數(shù)量最大,一個B類網(wǎng)絡(luò)的地址數(shù)量是65536,一個C類網(wǎng)絡(luò)的地址數(shù)量是256。D類地址用作多播地址,E類地址保留未用。

隨著Internet的飛速發(fā)展,這種劃分方案的局限性很快顯現(xiàn)出來,大多數(shù)組織都申請B類網(wǎng)絡(luò)地址,導(dǎo)致B類地址很快就分配完了,而A類卻浪費了大量地址。這種方式對網(wǎng)絡(luò)的劃分是flat的而不是層級結(jié)構(gòu)(hierarchical)的,Internet上的每個路由器都必須掌握所有網(wǎng)絡(luò)的信息,隨著大量C類網(wǎng)絡(luò)的出現(xiàn),路由器需要檢索的路由表越來越龐大,負(fù)擔(dān)越來越重。

針對這種情況提出了新的劃分方案,稱為CIDR(Classless Interdomain Routing)。網(wǎng)絡(luò)號和主機號的劃分需要用一個額外的子網(wǎng)掩碼(subnet mask)來表示,而不能由IP地址本身的數(shù)值決定,也就是說,網(wǎng)絡(luò)號和主機號的劃分與這個IP地址是A類、B類還是C類無關(guān),因此稱為Classless的。這樣,多個子網(wǎng)就可以匯總(summarize)成一個Internet上的網(wǎng)絡(luò),例如,有8個站點都申請了C類網(wǎng)絡(luò),本來網(wǎng)絡(luò)號是24位的,但是這8個站點通過同一個ISP(Internet service provider)連到Internet上,它們網(wǎng)絡(luò)號的高21位是相同的,只有低三位不同,這8個站點就可以匯總,在Internet上只需要一個路由表項,數(shù)據(jù)包通過Internet上的路由器到達ISP,然后在ISP這邊再通過次級的路由器選路到某個站點。

下面舉兩個例子:

劃分子網(wǎng)的例子1

IP地址 140.252.20.68 8C FC 14 44
子網(wǎng)掩碼 255.255.255.0 FF FF FF 00
網(wǎng)絡(luò)號 140.252.20.0 8C FC 14 00
子網(wǎng)地址范圍 140.252.20.0~140.252.20.255

劃分子網(wǎng)的例子2

IP地址 140.252.20.68 8C FC 14 44
子網(wǎng)掩碼 255.255.255.240 FF FF FF F0
網(wǎng)絡(luò)號 140.252.20.64 8C FC 14 40
子網(wǎng)地址范圍 140.252.20.64~140.252.20.79

可見,IP地址與子網(wǎng)掩碼做與運算可以得到網(wǎng)絡(luò)號,主機號從全0到全1就是子網(wǎng)的地址范圍。IP地址和子網(wǎng)掩碼還有一種更簡潔的表示方法,例如140.252.20.68/24,表示IP地址為140.252.20.68,子網(wǎng)掩碼的高24位是1,也就是255.255.255.0。

如果一個組織內(nèi)部組建局域網(wǎng),IP地址只用于局域網(wǎng)內(nèi)的通信,而不直接連到Internet上,理論上使用任意的IP地址都可以,但是RFC 1918規(guī)定了用于組建局域網(wǎng)的私有IP地址,這些地址不會出現(xiàn)在Internet上,如下表所示。

  • 10.*,前8位是網(wǎng)絡(luò)號,共16,777,216個地址

  • 172.16.到172.31.,前12位是網(wǎng)絡(luò)號,共1,048,576個地址

  • 192.168.*,前16位是網(wǎng)絡(luò)號,共65,536個地址

使用私有IP地址的局域網(wǎng)主機雖然沒有Internet的IP地址,但也可以通過代理服務(wù)器或NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)等技術(shù)連到Internet上。

除了私有IP地址之外,還有幾種特殊的IP地址。127.*的IP地址用于本機環(huán)回(loop back)測試,通常是127.0.0.1。loopback是系統(tǒng)中一種特殊的網(wǎng)絡(luò)設(shè)備,如果發(fā)送數(shù)據(jù)包的目的地址是環(huán)回地址,或者與本機其它網(wǎng)絡(luò)設(shè)備的IP地址相同,則數(shù)據(jù)包不會發(fā)送到網(wǎng)絡(luò)介質(zhì)上,而是通過環(huán)回設(shè)備再發(fā)回給上層協(xié)議和應(yīng)用程序,主要用于測試。如下圖所示)。

2019-06-08_200545.png

還有一些不能用作主機IP地址的特殊地址:

  • 目的地址為255.255.255.255,表示本網(wǎng)絡(luò)內(nèi)部廣播,路由器不轉(zhuǎn)發(fā)這樣的廣播數(shù)據(jù)包。

  • 主機號全為0的地址只表示網(wǎng)絡(luò)而不能表示某個主機,如192.168.10.0(假設(shè)子網(wǎng)掩碼為255.255.255.0)。

  • 目的地址的主機號為全1,表示廣播至某個網(wǎng)絡(luò)的所有主機,例如目的地址192.168.10.255表示廣播至192.168.10.0網(wǎng)絡(luò)(假設(shè)子網(wǎng)掩碼為255.255.255.0)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容