計算機網路 網路層

2021-10-12 10:31:22 字數 4614 閱讀 4220

網路層可稱得上是本書最重要的一章了,考試也是重點。本文對於網路層的介紹重點在各個協議的介紹,以及為啥會有這個協議的產生。

回到上文提到的網路層的功能:路由選擇和分組**。所以網路層的各個協議基本是為了完成這兩個功能提出的。但還有一些特殊情況像vpn這種的與功能無關的也會介紹滴!

網路層提供兩種服務:虛電路服務和資料報服務,前者是面向連線的,後者是無連線的。前面了解到資料鏈路層不是可靠傳輸,那網路層是不是呢?答案是網路層也不提供服務質量的承諾,那這樣做是為什麼呢?在網路層涉及到大量的路由轉換,如果提供可靠傳輸那麼對每乙個路由器都有要求,造價什麼的就上來了。所以為了方便設計,在網路層也不使用可靠傳輸。可以看看這個:

對應上面的服務,在tcp/ip結構中使用的也是資料報服務啦!在tcp/ip中ip屬於網路層,tcp屬於運輸層,那為什麼要提出ip協議呢?我的理解是這樣的,如果網路要想實現全世界的互聯,那麼它需要有乙個統一的標準。前面介紹的兩層屬於物理層次,在實際物理世界中很難做到統一。於是迫切需要乙個層次來制定乙個標準,這就是ip協議提出的初衷。

網際協議ip(internet protocal)連線的是全世界的網路,全世界的乙個大網又是由若干個小網組成的。這裡就有乙個虛擬網際網路絡的概念,我把它理解為一種技術,能夠連線不同型別的小網路。這種技術的落實需要一種工具,統一稱為中間裝置,中間裝置在不同的層次有不同的代表:

物理層——**器/集線器

資料鏈路層——網橋/橋接器

網路層——路由器

網路層以上——閘道器

其實一提到ip,所有人想到的不是什麼ip協議,而是ip位址(當然了,ip位址也是ip協議的一部分),總有那個問題:你的ip位址是多少?那就會有兩個問題:ip位址是什麼?ip位址有什麼用?

上面介紹的子網掩碼思想不錯,但好像還有點兒侷限性:拆分的時候只拆了原來的主機號,能不能把網路號拆了?如果兩個都能靈活的變化,能不能統一?這就是無分類編址cidr提出的思想,拋掉所有的分類與子網的概念。將3級重新變回2級,通過在位址後加乙個數字來定義網路的位數(這個位數相當於子網掩碼中1的數量)。cidr常使用斜線記法,與點分十進位制相結合(可簡單理解為斜線後面的數字代表網路號的位數,剩下的代表主機號):

注意cidr不使用子網並不是說它不能劃分子網,而是沒有像之前那樣具體的指明多少位作為子網的位數。分配到了乙個cidr的單元,仍可以在本單位根據需要進行子網的劃分。

都知道**分組依據的是路由表,路由表就是要儲存ip位址資訊的,那如果有這麼多ip位址,路由表裡的內容就太多了,檢索也不比較慢。於是重新利用分級的思想,叫路由聚合(也叫構成超網),作用就是將幾個小網路匯聚成乙個大網,就是使用cidr來實現。這樣可以大大的減少路由表中表項。具體的路由聚合過程可以看看這個:

對於ip協議的介紹就到此為止了,下面說說和它相關的三種協議。這裡只介紹各自的功能和出現的原因了。

位址解析協議arp(address resolution protocol)

arp的作用就是把ip位址轉換成對應的實體地址,那為什麼要把ip位址轉換成實體地址呢?原因是在物理實現上找到一台主機具體還是要靠實體地址,ip位址看不見摸不著。那為什麼不直接用實體地址呢?前面我其實有說過,物理比較複雜,難以統一。這個問題可以看看這個:需要注意的是arp協議只作用於乙個區域網中。或許可以這樣理解是ip位址和實體地址的合作:ip位址負責尋找目標網路,到了網路中再通過實體地址尋找具體主機。相反也有rarp協議作用是將實體地址轉換成ip位址。

網際控制報文協議icmp(internet control message protocol)

icmp的作用是更有效地**ip資料報和提高交付成功的機會。是負責控制差錯發生時的協議。報文種類分兩種:icmp差錯報告報文(分為終點不可達、時間超過、引數問題、改變路由)和icmp詢問報文(分為回送請求或回答、時間戳請求或回答)。簡單點兒說這個協議就是給人用的,會輸出一些錯誤資訊,用於在出錯的時候幫助人判斷。這個協議不太出名(嘿嘿,至少我之前沒怎麼聽過),但有乙個應用很有趣,就是ping。ping可以在cmd中後面加上ip位址,用於判斷是否可達。

網際管理組協議igmp(internet group management protocol)

igmp實際上是用於ip多播管理分組的,啥叫ip多播呢?比如乙個節點要給90個節點傳送相同資訊,單播的話要傳送90次。但如果最開始將資訊複製給相鄰的節點各發乙份,收到的節點再複製發給相鄰自己的,一輪輪後90個都會收到。這就叫多播,相比單播會省很多資源。ip多播分為兩種:在區域網內多播和在網際網路上多播。注意:多播位址只能做目的位址不能做源位址。想多播,但是不想廣播(給所有節點),就要把物件分組,只給我想要給的人,這就是多播分組。那我怎麼知道你是不是這個多播組的成員呢?這就是igmp的作用啦,我這裡留乙個參考**(其實我自己還沒看~):

說了這麼多,還是沒有回到考點上啊~網路層作用之一是路由選擇。路由選擇大致可以分為兩類:靜態路由選擇(非自適應)和動態路由選擇(自適應)。各自的特點是:

靜態:優點:簡單開銷小 缺點:不能及時適應網路狀態的變化

動態:優點:較好的適應網路狀態的變化 缺點:實現較為複雜,開銷較大

(其實學了這麼久,我也看明白了,容易實現的永遠有個優點叫簡單~~~)

那路由選擇相關的協議有什麼呢?學了三個:rip、ospf、bgp。

在說之前,先說乙個概念——自治系統as(autonomous system):as是在單一技術管理下的一組路由器,這些路由器使用一種自治系統內部的路由選擇協議和共同的度量。乙個as對其他as表現出的是乙個單一的和一致的路由選擇策略。簡單點兒說就是把網路劃塊兒,塊兒內統一。

對於以上三種協議的劃分就是根據as劃分的,as內部有rip,ospf。as外部有bgp。對於三種協議不具體介紹了,書上或者網上都有,只說一些它們的特點。

內部閘道器協議rip(rounting information protocol)

rip協議是一種分布式的基於距離向量的路由選擇協議。rip協議中只和相鄰的路由器節點交換資訊。rip協議優點是實現簡單,開銷較小。缺點是網路規模小,最大距離為15跳。而且收斂速度慢(源於「好訊息傳得快,壞訊息傳得慢」的特點)。主要適用於小規模網路。

內部閘道器協議ospf(open shortest path first)

ospf是一種分布式的基於鏈路狀態的路由選擇協議。從名字shortest path可以看出是基於最短路徑演算法的(具體是迪傑特斯拉演算法)。ospf優點是規模比rip更大,且收斂的速度更快。ospf中使用了洪氾(flooding)思想,於是對自治系統由進行的再劃分,劃分單元叫做區域。在區域內進行洪氾,避免了洪氾開銷過大的缺點。每個區域間由邊界路由器作為銜接。

以上兩種協議裡面,原理不同,乙個是距離向量(dv)乙個是鏈路狀態(ls)。那二者有什麼區別呢?其實我是這麼理解的dv裡面每乙個路由器維護的只是自己相鄰節點的資訊,而ls維護的是整個拓撲的資訊。各自特點決定了路由選擇的方式:dv是逐條**,送到下乙個節點就不管了,剩下的由後面的節點做選擇。而ls是源路由**,是從自己的路由表中選擇一條最短路徑,然後按照這個最短路徑**。二者各有優劣,在網路比較穩定的情況下,肯定ls更快,因為少了每步判斷的過程。但如果網路動態性比較強,像ad hoc那種,ls維護的大多是髒路由,反而不如dv每次做抉擇效果好。所以這就是網路的特點:根據需求做選擇。

外部閘道器協議bgp(border gateway protocol)

bgp面對的是整個網際網路,那麼多網路,如果細緻的判斷太慢了!所以它提供一種「可達性」的判斷,即是否可達。比如想去***網,可通過我。bgp面對的是自治系統,那多個自治系統之間的橋梁叫做bgp發言人,之前在想乙個自治系統裡有幾個bgp發言人?其實沒有確定的答案,但至少乙個。

最後剩下網路層提供的三種服務吧:vpn、nat、mpls

虛擬專用網vpn(virtual private network)

總能聽到掛個vpn,那這vpn是啥呢?說vpn之前,先說說專用網。都知道ip位址比較緊張,要省著點兒用。ip位址實際上是接入網際網路的手段,那乙個公司就想在乙個辦公樓的某一層相互通訊,不和外界通訊,那沒必要每個都弄個ip位址啊。這就是專用網——只是實現一部分範圍的通訊,不完全連入網際網路。那如果這是個大公司,乙個樓在上海,乙個樓在深圳。也是部分範圍,只不過不是乙個地理範圍,依舊不想完全接入網際網路,怎麼辦呢?就是vpn。簡單來說vpn是跨地區的專用網

網路位址轉化nat(network address translation)

nat的概念和專用網也分不開,上面提到專用網是不怎麼和網際網路通訊的。但這是一種理想的情況,**能不上網呢?但是專用網裡面的主機又沒有各自的ip位址,所以需要乙個**(**有ip位址)。如果專用網中的某個主機需要用傳送資料,先把資料發給**,以**的名義傳送出去實現通訊。如果對方回信,那麼也會先發給**。**再轉交給主機。對於接收方來說是不知道傳送方是不是專用網的,也是一種透明~**有幾個ip位址就能同時處理幾台主機的業務。這種特性也限制裡專用網中的主機不能作為伺服器,因為找不到。

多協議標記交換mpls(multiprotocol label switching)

mpls的提出是基於這樣一種問題:在分組**的時候查詢路由表,路由表中專案很多查詢的很慢,需要一一按照ip位址匹配。如果給每個ip資料報打上個標籤,直接匹配標籤就知道往**送了。這就是mpls的核心思想。而且這個是通過硬體實現,速度更加快。但天上不會掉餡餅,這也增加了一定開銷。不過權衡得失,還是賺的。是ip增強的一種方式。我說的不好,但這個不錯:

計算機網路 網路層

arp是解決同乙個區域網的主機和路由器的ip位址的mac位址的對映問題。ip分組在路由的 是通過arp來完成的。路由通過改變資料幀的mac源位址和目的位址來實現的。a arp請求分組 b arp響應分組 a arp 快取記憶體 網際控制報文協議可以分為兩種 icmp差錯報告報文和icmp詢問報文 p...

網路層(計算機網路)

1.網路層向上只提供簡單靈活的 無連線的 盡量努力交付的資料報服務。網路層不提供服務質量的承諾,也就是說,所傳送的分組可能出現出錯 丟失 重複和失序 即不按序到達終點 當然也不保證分組交付的時限。2.網際協議ip 是tcp ip體系中兩個最主要的協議之一,也是最重要的網際網路標準協議之一。與ip協議...

計算機網路 網路層

網路層關注的是如何將分組從源主機沿著網路路徑送達目的主機,會經過多個路由器,選擇適當的 路徑。網路層的最核心功能是 分組 和路由選擇 分組 每乙個路由器中都有乙個 表,在分組到達路由器時,會根據分組首部中的 表示在 表中查詢,應該在哪乙個介面被 出去,標識可能是目的主機的ip位址,也可能是分組所屬的...