【計算機網絡】第五章:[網絡層]IP地址和子網劃分(Part1.IP地址)

網絡層的功能

簡單來說就是爲數據包選擇最佳路徑,儘可能的轉發數據包。分爲兩種,一種是管理員告訴路由器怎麼走,一種是路由器自己來選擇。前者是靜態路由,後者是動態路由。

網絡層提供的兩種服務

在計算機通信中,可靠傳輸應該由端系統還是網絡來負責?

我們思考一個簡單的例子,網購某一樣物品,你下單後確認商人發單,只需要在家等待收到快遞即可。如果你沒有收到快遞,或者收到了物品出現了損壞,那麼你是去聯繫賣家還是快遞公司呢?

是賣家。我們出現網購中的任何環節上的不滿需要反饋時,都會告訴賣家,然後賣家替我們查找問題所在並給我們一個滿意的答覆。在計算機通信中也是同樣的,數據包在傳輸過程中,如果每一個步驟都確保可靠性,則意味着每過一個路由都要拆開數據包來確認數據,那麼經過很多路由後到達目的地這一過程效率就會大大下降。數據包的確有丟包或者損壞的概率,但是概率比較低,我們默認他不會壞,如果收到發現壞了則要求發送端重傳即可,這樣在整體上保證可靠傳輸而不在部分上保證可靠傳輸就能夠提高效率。

綜上所述,是端系統提供可靠性傳輸而不是網絡。

那麼網絡層需要向運輸層提供的服務是:虛電路服務和數據報服務。


虛電路服務
在這裏插入圖片描述
如圖,網絡管理員按照上圖路徑配置,則數據報轉發就只走這條鏈路而不考慮其他路線了。如果指定的這條鏈路斷了,則這條網絡就不通了,因爲管理員沒有配置其他路徑。
這種配置方法可以不寫目標和源地址,因爲鏈路唯一確定。


數據報服務
在這裏插入圖片描述
數據包寫上地址(源+目標),並由路由器選擇路徑。這種方式更靈活,它發送數據時不分組不排序,每一個數據包獨立發送並盡最大努力交付。因爲是臨時選擇路徑,則某一條鏈路斷線,則也能換其他線路,能夠保證連接。至少網絡通,可能會比較慢也比不通強。

在這裏插入圖片描述
比較一下二者的優缺點。

虛擬互聯網

在這裏插入圖片描述
轉發器:信號放大。
數據鏈路層還有交換機。
網關:現在已經演變成路由器的接口。現在的網關就是通向其他網段的路由器接口。
在這裏插入圖片描述
虛擬的互聯網絡屏蔽了網絡的複雜性,我們上網只需要接入網線或者輸入賬號密碼即可,非常簡單,不懂網絡的任何人都可以快捷使用。
在這裏插入圖片描述
網絡協議:
在這裏插入圖片描述
網絡層的四個協議,要明白的是
IP以ARP協議爲基礎實現功能,而ICMP和IGMP都是以IPv4協議來實現功能,這裏要求我們閉上眼能有這個圖浮現出來。

IP Address& MAC Address

在計算機網絡中每一個設備如果想要在網絡上通信必須有MAC和IP兩個地址。兩者缺一不可。IP地址是網絡層的地址,MAC地址是數據鏈路層的地址。IP地址決定了數據包的最終去向,而MAC地址決定了數據包下一跳的目標。
在這裏插入圖片描述
IP地址分爲網絡部分和主機部分。由32位二進制組成,每八位一組。圖中可以看到,同一網段內的網絡部分——網絡地址都是相同的。路由器的多個接口也對應不同網段,路由器的作用就是在不同網段間轉發數據,一般而言,路由器的對應的網段接口是該網段的第一個地址(不成文的規定,爲了避免地址衝突)。

爲了表述方便,接下來按照.來區分。4個部分分別稱之爲第一部分,第二部分……

IP地址的分類

兩個特殊的主機地址:
全0地址:默認給網段用,計算機不可用
全1地址:廣播地址,所有局域網內計算機都要接收且MAC地址是全1(全F)
在這裏插入圖片描述
A類地址:網絡部分是第一部分,且開頭的第一位二進制是0,127是特殊的保留,0作爲網絡ID不可用,所以第一部分可以是1-126.只要網絡部分是1~126就是A類地址。一個A類地址有256x256x256-2個地址,除去的兩個是廣播地址和網段地址。

同理還有BCDE類地址。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
D類地址用於多播地址,應該記住這些地址範圍,因爲對於病毒而言,廣播數據包管理員非常容易發現,而多播地址管理員不小心可能就會當成正常數據包處理。多播地址沒有子網掩碼。多播和組播是一個概念。
E類地址是保留爲了今後使用,目前仍沒有應用的實例。

爲了方便記憶,可看下圖。
在這裏插入圖片描述

保留的IP地址

在這裏插入圖片描述
127.0.0.1:本地環回地址,我。WIN+R輸入\127.0.0.1可以訪問本地的共享資源。如果本機配置了Web服務器,還可以通過http://127.0.0.1來訪問本地網站。
在這裏插入圖片描述
即便計算機沒有網卡,ping 127.0.0.1也通。因爲訪問本地資源不需要網卡,只要求操作系統裏的TCPIP協議個工作正常即可。卸載網卡後重新掃描即可重新加載網卡。
如果這個都ping不通那麼就說明需要重裝OS了。
ps)在ping 的時候,127.x.x.x任何地址,只要127開頭都可以通。但是本地資源必須是0.0.1
在這裏插入圖片描述
在WIN系統中,把地址設置爲自動獲得,就會向網絡中的DHCP服務器請求得到一個合法的地址,如果網絡中沒有DHCP分配地址,則win系統會給自己分配一個169.254.0.0~169.254.255.255的地址,這叫做自動私有地址。微軟設計這個功能是爲了在沒有DHCP服務器的情況下,使用該地址的設備們也能在同一網段交互。這些已經使用私有地址的設備會每隔一段時間就再發一個廣播來請求獲得一個合法地址,如果有DHCP服務器爲其分配地址,則該私有地址會立刻被替換。上圖是用VMWare禁用DHCP服務後的網絡狀態,被分配了169.254.x.x的地址。
在這裏插入圖片描述
0.0.0.0:在請求IP地址而未獲得IP地址時使用,如果網絡內與其他計算機地址衝突時也會顯示該字段。上圖是網絡中IP地址衝突時,第二個設備的ipconfig。

公網地址和私網地址

在這裏插入圖片描述
公網 : 公共 IP ,經由 INTERNIC 所統一規劃的 IP,有這種 IP 纔可以連上 Internet
私網 : 私有 IP 或保留 IP,不能直接連上 Internet 的 IP ,主要用於局域網絡內的主機聯機規劃。
而且公網的規劃爲了易於安排,一般而言會有一定規律。所以當我們有一個IP就可以通過某數據庫查出其大體位置。私網地址在世界範圍內是可重複的,比如公網地址同樣是192.168.1.113根據子網掩碼不同可以同時存在複數個,而對於私網地址更是可以任意重複,只要兩個不同單位的相同的私網地址之間不互相訪問即可。


私網保留地址:有必要記住,因爲私網保留地址是固有的私網地址,這些地址外網是無法直接訪問的,想要訪問必須建立端口映射或者VPN撥號。是絕對無法遠程直接訪問服務器的。私網地址比公網地址安全。
在這裏插入圖片描述

NAT地址轉換

對於私網地址,如果不在任何處理下訪問互聯網,則發數據包的過程沒問題,但是數據包往回返的時候,由於此時的目標地址是私網地址,而網絡中的路由不知道這個地址在哪,就無法轉發。所以爲了私網上網,我們需要一種網絡地址轉換服務。
網絡地址轉換:私網地址在路由器處將源地址變更爲路由器的公網地址,這樣既可保證到目標的數據包有來有回。當數據包回來後,路由器再將數據包的目標地址改成私網地址。從而完成了私網訪問公網的操作。
在這裏插入圖片描述
提前說明:除了改地址,還需要改端口。網站一啓動,就會使用TCP協議的80端口來連接客戶端,傳輸層在封裝時會寫上需要的協議,源端口和目標端口80.然後再在網絡層加上目標IP和源IP地址。這樣的數據包給到web時,我們通過netstate -n 就可以看到與其相連的端口。

一般而言,既然內網在上網時會替換成公網地址,那麼內網是不是使用非保留的私網地址也可以呢?畢竟上網的時候就替換了,不是無所謂嗎?
A)私網地址最好使用保留的私網地址,因爲內網使用了哪一個公網網段的地址就不能再訪問哪一個公網的地址。一般而言沒有問題,但是假如說目標IP正好和本機的IP處於一個網段,都是192.168.1.x,這種情況下發送數據時會先解析是否在同一網段,而恰巧解析的結果是處於同一網段,那麼發送端會想要通過交換機直接訪問來訪問,當然是不可能成功的了。

子網掩碼

子網掩碼又稱爲網絡掩碼或地址掩碼。它的作用就是高速計算機它的IP地址哪些是主機部分哪些是網絡部分。
在這裏插入圖片描述
如果子網掩碼是3個255的話,也就意味着這個IP地址的前三個部分是網絡部分。最有一部分的主機部分。也就說255的子網掩碼錶示了對應IP地址的網絡部分。
在這裏插入圖片描述
網絡中計算機想要通信,必須首先判斷是否與目標在同一網段。如果目標與自身在同一網段,發送端會發送一個ARP廣播來解析目標MAC地址,解析後封裝成幀直接交給接收端。如果網段不同,則需要通過路由器轉發,就不能發廣播來解析目標MAC地址,因爲路由器不轉發廣播。
在這裏插入圖片描述
如果子網掩碼配置錯誤,會導致網絡故障。一般來說,計算機在將要發數據包時,會通過和子網掩碼進行與運算來計算自身和目標兩個地址的網段,計算的結果相同則會通過arp廣播來解析MAC並封裝傳輸,否則會封裝傳給路由器。
ex)10.1.2.15和10.1.3.15這兩個地址的子網掩碼都是255.255.255.0所以他們的網絡部分應該是前三部分,如果此時解析會得出不在一個網段的結論,並轉發給路由器。這是正常的。但是如果子網掩碼某一端寫成了255.255.0.0,那麼解析時就會得到兩個設備在同一網段的結論,此時發廣播接收端無法收到,必然無法通信。

訪問的實現

在這裏插入圖片描述
如圖所示,一個數據幀的構成需要IP和MAC地址。圖中的灰色部分是數據部分,和兩個IP地址構成數據包,然後再加上源MAC和當前目標的MAC構成數據幀。圖中是A計算機向計算機F發出的訪問,然後MAC地址的選擇是當前MAC地址和目標MAC地址,這裏的目標是對於路由或者設備本體。也就是說,IP地址全程不變,但是數據幀解封和封裝的過程中,新封裝的MAC地址的源和目標都是當前所處的設備的MAC(可以是路由)加上下一個設備的MAC(可以是路由或計算機)。
MAC在不斷變化的過程中實現數據包的交互和數據幀的重新封裝;IP決定最終目標,MAC決定數據包的動向,兩層必不可少。
路徑選擇就近原則,且目標web服務器無法知道訪問者的mac地址,但是知道IP地址。因爲封裝好的數據幀應爲在這裏插入圖片描述
階段1:
網絡訪問的實現:首先主機請求DNS解析域名,把域名(*.com)解析成IP地址,然後將IP地址返回主機,然後將該信息作爲數據進行封裝,封裝時,一個數據包應該包含數據、目標IP和本機IP三部分。然後數據包再進行加工成爲數據幀,應該包含數據包、本機MAC、和目標MAC三部分,注意目標MAC並不是最終目標的MAC,因爲路由器的作用就是尋找最佳路徑並選擇,所以這裏的目標MAC作爲起始點,應該是局域網轉發路由的MAC。然後進入廣域網,實現多個路由之間的傳遞,最終訪問到目標。


封裝如下:
在這裏插入圖片描述

思考1:爲什麼需要兩個地址(IPMAC)只用一個MAC不可以嗎?
思考2:目標PC能知道源PCMAC地址嗎?

1Answer):數據通訊的規則決定了IP地址決定最終目標,MAC地址決定的是下一個中轉地址。如果只使用MAC地址,那麼只有在局域網內,要訪問的PC都接入一個集線器或者交換機時才能實現。那麼假如說整個因特網是一個足夠大的局域網,那麼根據局域網的廣播信號,每次通訊會發給所有計算機信號,如此龐大的資源消耗是問題之一;其次當某臺設備上網時,會存在佔線導致其他設備無法上網的問題,所以是不可能的。

2Answer):不可以。因爲收到的最後一個數據幀包含的源MAC地址實際上是上一個中轉站路由器的MAC地址,而不是發送數據的PC的MAC地址,這個MAC地址在第一步中轉時就被過濾掉了。


實驗部分:【計算機網絡原理·實驗·第五章】本地環回地址和網段內廣播

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章