TCP IP 網路基礎(二)網路層

2021-09-14 07:58:00 字數 2254 閱讀 8939

ip位址和ip協議基本上構成了網路層的核心和全部。而網路層又是 tcp/ip 的心臟,或者是精華… 還拿前面的例子來說,資料鏈路層負責網路內「直連」(廣義的直連也包括通過交換機、集線器等連起來)的裝置的通訊,而ip協議(又叫網際協議)負責網路間的連通。也就是說,資料鏈路層相當於快遞員騎著小電驢在你小區裡面找到你;而ip協議則負責把包裹從北京朝陽區某小區運到上海某小區。

ip協議是無連線的。它只提供盡力服務。而更可靠的協議則留待上層實現。

在網路層通訊離不開網路層位址,即ip位址。

ip位址由32位正整數構成,通常用點分十進位制表示。如 192.168.0.1.

ip位址分為兩部分,前面是網路號,後面是主機號。意思是在同乙個網路內的所有主機的網路號應該是一致的,而主機號則用來區分是哪台電腦。根據網路內能容納多少臺主機又可以分為 a、b、c、d等幾類位址,然而現在也不用了,因為出現了子網掩碼。

子網掩碼

子網掩碼就是網路號部分全部為1,後面全部為0. 同樣可以用點分十進位制表示。如 255.255.255.0 表示ip位址的前24位是網路號。也可以用 192.168.0.1 /24 這種式子表示乙個帶有子網掩碼的ip位址。

簡單地說,路由器根據乙個位址的ip部分加上子網掩碼算出網路號,從而得出該位址是在本網路內部還是外部,從而決定如何**。

公有(全域性)位址和私有位址

公有位址是全域性唯一的,即乙個ip只能被乙個主機擁有。而私有位址則只需要在網路內部唯一,不同的網路內的主機的ip位址可以是相同的私有位址。例如家庭用的路由器的ip位址往往都是 192.168.0.1,連到路由器上的電腦都會被分配一些很相近的ip。

私有位址是為了解決公有位址耗盡的問題。因為ip位址總共五億左右,遠遠小於網際網路上的主機數。而現在普遍採用乙個網路只有很少幾個公有ip,網路內的主機持有私有位址,通過 nat 實現與外部的通訊。

接收方的ip

本機的路由控制表

路由控制表就是一張表,它告訴我們碰到哪種ip就把資料報傳送到哪個路由器上。比較ip位址往往就是匹配它的網路號。

由於每個主機上都有路由控制表(至少有個預設路由,指向閘道器),每個路由器也有路由控制表,因此乙個報文就會這樣一跳一跳地最終到達目的地。就好像京東上買東西,先是上海倉庫發貨,然後發到上海總運輸站,再到江蘇總運輸站,再到南京xx區物流中心,然後快遞員上門送貨。

下面是乙個路由**的例子:

關於路由我們只需要知道這麼多。至於路由間是如何商量出一條通道來傳輸資料的,這有專門的路由協議,並不屬於tcp/ip。

為了更直觀,以下是我用windows自帶命令 tracert 檢視我的電腦到 baidu.com 的路由路徑。

ip位址

ns網域名稱

cname

主機別名

ptrip位址反向解析

mx郵件

arpip資料報在底層還得經過資料鏈路來傳遞。而資料鏈路只認mac位址,不認識ip位址。arp就是位址解析協議——由ip位址解析出mac位址。它的工作方式也非常簡單:傳送方在網路內廣播:誰是老王?然後老王聽到了回應:我就是老王,我mac位址是***。

icmp

icmp是ip協議實現的一部分,用於網路診斷和錯誤通知。例如,如果接收方不可達,經過多次嘗試超時後,路由器會傳送icmp資料報回來,告訴傳送方錯誤資訊。

icmp常見的有幾類重要訊息。如:

dhcp

非常簡單,就是解決靜態ip配置太麻煩的問題。搭建乙個dhcp伺服器,新加入網路的主機就能租用到新的ip,從而能夠聯網。路由器一般能配置dhcp功能。

nat前面講到網路內部的主機如今都是私有位址。在網路內部通訊沒問題,但要想與外界的公有網路通訊,傳送沒問題,接收就有大問題:外部網路不認識私有位址,不知道發給誰。就好像你給人寫信,發件人位址是「三年二班小王」,人家怎麼給你回信呢?

nat(狹義上又叫napt)的解決方法是:由閘道器提供一次轉換。每次內部網路向外請求時,都修改源位址,改為本閘道器的外部位址加上自己才能認識的埠號,這樣外部網路也能發訊息回來。當收到訊息時,再根據埠號**到對應的內部主機上。

假如a、b兩個主機都在內網,顯然任何一台主機直連對方都是做不到的。但它們連線外部的公網伺服器就沒問題。

現在搭建一台公網伺服器,它和a、b都建立了連線。此時a想連線b,它就通過伺服器告訴b自己想連線。然後b就發起乙個請求直連a的公網位址加埠號。由於是外部請求,a的閘道器會遮蔽這個連線,但b已經在b的閘道器上「打了個洞」。a接著直接請求b的公網位址加埠號,此時就能連線成功,從而建立通訊。

1 3 網路基礎TCP IP

1.tcp ip協議族 通常使用的網路是在tcp ip協議族的基礎上運作的。http和上文所講的ip,tcp,dsn是它的子集。由此可以看出tcp和ip協議的重要性。當然http也很重要啦。計算機與網路裝置要相互通訊,雙方就必須基於相同的方法。我們把這種方法稱為協議。而所有協議的集合就是tcp ip...

網路基礎篇(二) 網路層工作原理

給出乙個二進位制數,怎麼轉化成十進位制數?例如10001110 128 8 4 2 142,即2 7 2 3 2 2 2 1。那麼十進位制數怎麼變成二進位制呢?例如239,怎麼操作最快捷?常用的方法是除2取反法,這裡介紹乙個更快的方法,239 128 64 32 8 4 2 1 2 7 2 6 2 ...

8 5網路層 路由

路由 跨越從源主機到目標主機的乙個網際網路來 資料報的過程。路由器 將資料報 到正確目的地,並且在 過程中選擇最佳路徑的裝置 路由器乙個介面乙個網段 路由表是記憶體裡的,停電會丟失的。路由器裡有路由表,還有哪些裝置裡有路由表?三層交換機,電腦,路由的型別 靜態路由 人工新增 預設路由 不能找到匹配的...