1. 程式人生 > >基礎網路概念(四)route、ip與MAC的關係以及ICMP協定

基礎網路概念(四)route、ip與MAC的關係以及ICMP協定

宣告:本文為筆者複習計算機網路相關知識時的摘錄,文章中的圖片及語句均出自《鳥哥的Linux私房菜》,這裡僅作為整理自用。

喜歡鳥哥文章的朋友可以到鳥哥的主頁檢視:http://linux.vbird.org/


觀察主機路由: route   每一部主機都有自己的路由表。

在上面的例子當中,鳥哥是以 PC 01 這部主機的路由狀態來進行說明。由於 PC 01 為192.168.0.0/24 這個網域,所以主機已經建立了這個網域的路由了,那就是『 192.168.0.0 * 255.255.255.0 ... 』那一行所顯示的訊息!當你下達 route 時,螢幕上說明了這部機器上面共有三個路由規則,第一欄為『目的地的網域』,例如
192.168.0.0 就是一個網域咯,最後一欄顯示的是 『要去到這個目的地要使用哪一個網路介面!』例如 eth0 就是網路卡的裝置代號啦如果我們要傳送的封包在路由規則裡面的 192.168.0.0/255.255.255.0 或者 127.0.0.0/255.0.0.0 裡面時,因為第二欄Gateway 為 * ,所以就會直接以後面的網路介面來傳送出去,而不透過 Gateway 咯 萬一我們要傳送的封包目的地 IP 不在路由規則裡面,那麼就會將封包傳送到 『default』所在的那個路由規則去,也就是 192.168.0.254 那個 Gateway 喔!所以, 幾乎每一部主機都會有一個 default gateway 來幫他們負責所有非網域內的封包轉遞! 這是很重要的概念。 IP 與 MAC:鏈結層的 ARP 與 RARP 協定
現在我們知道 Internet 上面最重要的就是那個 IP 了,也會計算所謂的區域網絡與路由。 但是,事實上用在傳遞資料的明明就是乙太網絡啊!乙太網絡主要是用網絡卡卡號 (MAC) 的嘛!這就有問題啦!那這兩者 (IP 與 MAC) 勢必有一個關連性存在吧?沒錯!那就是我們要談到的 ARP (Address Resolution Protocol, 網路地址解析) 協議,以及 RARP (Revers ARP, 反向網路地址解析)。 當我們想要了解某個 IP 其實是設定於某張乙太網絡卡上頭時,我們的主機會對整個區網傳送出 ARP 封包,  對方收到 ARP 封包後就會回傳他的 MAC 給我們,我們的主機就會知道對方所在的網絡卡,那接下來就能夠開始傳遞資料囉。 如果每次要傳送都得要重新來一遍這個 ARP 協定那不是很煩?因此,當使用 ARP 協議取得目標 IP 與他網絡卡卡號後, 就會將該筆記錄寫入我們主機的 ARP table 中 (記憶體內的資料) 記錄 20 分鐘。
那如何取得本機的 ARP 表格內的 IP/MAC 對應資料呢?就透過 arp 這個指令吧! [[email protected] ~]# arp -[nd] hostname [[email protected] ~]# arp -s hostname(IP) Hardware_address 選項與引數: -n :將主機名以 IP 的型態顯示 -d :將 hostname 的 hardware_address 由 ARP table 當中刪除掉 -s :設定某個 IP 或 hostname 的 MAC 到 ARP table 當中

宣告:本文為筆者複習計算機網路相關知識時的摘錄,文章中的圖片及語句均出自《鳥哥的Linux私房菜》,這裡僅作為整理自用。

喜歡鳥哥文章的朋友可以到鳥哥的主頁檢視:http://linux.vbird.org/


範例一:列出目前主機上面記載的 IP/MAC 對應的 ARP 表格 [[email protected] ~]# arp -n Address HWtype HWaddress Flags Mask Iface 192.168.1.100 ether 00:01:03:01:02:03 C eth0 192.168.1.240 ether  00:01:03:01:DE:0A C eth0 192.168.1.254 ether 00:01:03:55:74:AB C eth0 範例二:將 192.168.1.100 那部主機的網絡卡卡號直接寫入 ARP 表格中 [[email protected] ~]# arp -s 192.168.1.100 01:00:2D:23:A1:0E # 這個指令的目的在建立靜態 ARP   如同上面提到的,當你傳送 ARP 封包取得的 IP/MAC 對應,這個記錄的 ARP table 是動態的資訊 (一般保留 20 分鐘),他會隨時隨著你的網域裡面計算機的 IP 更動而變化,所以,即使你常常更動你的計算機 IP,不要擔心,因為 ARP table 會自動的重新對應 IP 與 MAC 的表格內容!但如果你有特殊需求的話, 也可以利用『 arp  -s 』這 個選項來定義靜態的 ARP 對應喔! ICMP 協定 ICMP 的全名是『 Internet Control Message Protocol, 因特網訊息控制協議 』。基本上,ICMP 是一個錯誤偵測與回報的機制,最大的功能就是可以確保我們網路的聯機狀態與聯機的正確性!  ICMP 也是網路層的重要封包之一,不過,這個封包並非獨立存在,而是納入到 IP 的封包中!也就是說,  ICMP 同樣是透過 IP 封包來進行資料傳送的啦!因為在 Internet 上面有傳輸能力的就是 IP 封包啊!  ICMP 有相當多的類別可以偵測與回報。

相關推薦

基礎網路概念routeipMAC關係以及ICMP協定

宣告:本文為筆者複習計算機網路相關知識時的摘錄,文章中的圖片及語句均出自《鳥哥的Linux私房菜》,這裡僅作為整理自用。 喜歡鳥哥文章的朋友可以到鳥哥的主頁檢視:http://linux.vbi

Solidity基礎入門知識列舉儲存型別和陣列

今天米切爾致敬卡特轉身成功問鼎扣籃王,可惜只有形而無神,就連形都差點意思--!列舉型別:一個變數可能的取值都知道,就可以把它定義為列舉型,然後把變數的值一一列出來,令變數的值只限於列舉出來的值的範圍內。例如月份、星期幾、天氣等情況,列舉型別用enum關鍵字來定義。例子:enu

重新學習java ---- 組合聚合繼承的愛恨情仇

有人學了繼承,認為他是面向物件特點之一,就在所有能用到繼承的地方使用繼承,而不考慮究竟該不該使用,無疑,這是錯誤的。那麼,究竟該如何使用繼承呢?java中類與類之間的關係大部分的初學者只知道java中兩個類之間可以是繼承與被繼承的關係,可是事實上,類之間的關係大體上存在五

EOSIO開發- nodeoskeosdcleos

前一篇文章介紹了EOSIO中錢包、賬戶與賬戶許可權的概念,這一篇文章繼續學習EOSIO系統的主要元件,包括nodeos、keosd以及cleos。 本文執行的命令都是基於Docker環境,請先下載Docker映象 docker pull eosio/eos

oraclesql基礎篇系列——數字字典索引序列三正規化

數字字典表 --檢視當前使用者下面有哪些張表 select * from user_tables; select table_name from user_tables;   --檢視當前使用者下面有哪些檢視 select * from user_views; select view_

java基礎常見問題解析常量池方法區棧佇列

堆、常量池、方法區棧與佇列 在Java 中,下面關於String 類和StringBuffer 類的描述正確的是哪一個 a. StringBuffer 類的物件呼叫toString()方法將轉化為String 型別 b. 兩個類都有append()方法

基礎算法——深度優先搜索

英文 起點 left 問題 思路 基礎算法 區別 邊界條件 logs 一般情況下,深度有限搜索也適用於圖的遍歷,英文縮寫為DFS即Depth First Search.其過程簡要來說是對每一個可能的分支路徑深入到不能再深入為止,而且每個節點只能訪問一次。 【重點】BFS和D

Spring-- JdbcTemplate聲明式事務

子類 xmla 文件中 epo style 如果 2.2.0 not 可變參 1.Spring提供的一個操作數據庫的技術JdbcTemplate,是對Jdbc的封裝。語法風格非常接近DBUtils。 JdbcTemplate可以直接操作數據庫,加快效率,而且學這個Jdb

【SQL】- 基礎知識梳理 - 存儲過程

var isp spl 更改 option fault 結果 特定 num 存儲過程的概念 存儲過程Procedure是一組為了完成特定功能的SQL語句集合,經編譯後存儲在數據庫中,用戶通過指定存儲過程的名稱並給出參數來執行 存儲過程的好處 A、 存儲過程允許標準組件式編

linux基礎知識總結

基礎知識第四周學習總結 目錄 一.知識脈絡圖二.軟件包管理三.磁盤管理 一.知識脈絡圖 二.軟件包管理 1.軟件組成 二進制應用程序的組成部分: 二進制文件,庫文件,配置文件,幫助文件 庫文件: 庫文件是一個很特殊的存在,他對於很多程序起著支持作用,如果不小心

Java基礎學習筆記

animal 自定義類型 轉型 通過 PC pri 法則 lse super() 21.構造方法(續):分類: 隱式構造方法:如果在一個類中,沒有手動編寫構造方法,則系統會提供一個默認的無參的構造方法 顯式構造方法:如果在一個類中,手動編寫構造方法,則系統不會提供默認的

python---基礎知識回顧模塊sys,os,random,hashlib,re,json,xml,shutil,configparser,logging,datetime,time,集合,堆,雙端隊列,其他

ID 正常 空值 字符 預測 platform OS normal 生成 前提:dir,__all__,help,__doc__,__file__ dir:可以用來查看模塊中的所有特性(函數,類,變量等) >>> import copy >>

Admin——NTPtarcron計劃任務

tar cront crontab NTP 一、管理用戶和組--用戶賬戶的作用:登錄操作系統、訪問控制(不同的用戶具備不同的權限)--組賬號:方便對用戶的管理--唯一標識: UID(用戶ID)、GID(組ID)管理員的UID為0,普通用戶的UID從1000開始(rhel7)組的分類:附加組(從

Flutter 布局- BaselineFractionallySizedBoxIntrinsicHeightIntrinsicWidth詳解

ota 最大 dsi 就是 構造 5.1 his align style 本文主要介紹Flutter布局中的Baseline、FractionallySizedBox、IntrinsicHeight、IntrinsicWidth四種控件,詳細介紹了其布局行為以及使用場景,

基礎知識概念1:Socket 長連線和短連線的概念

1.短連線 連線->傳輸資料->關閉連線     HTTP是無狀態的,瀏覽器和伺服器每進行一次HTTP操作,就建立一次連線,但任務結束後就中斷連線。短連線是指SOCKET建立連線後 ,傳送後或接收完資料後,就馬上斷開連線。 2.長連線

DTL語言學習{% spaceless %}{% autospace %}和{% verbatim %}標籤

{% spaceless %}標籤 移除html標籤中的空白字元,包括空格,換行鍵,tab鍵等。 首先建立一個測試環境,相信看到看到這裡的都知道怎樣建立一個測試環境了。這裡就不細說了。 我們在html中寫入一下程式碼: <div> <p>

java基礎學python----------字典,集合

字典 類似於java中的hashmap 建立字典  使用{}建立字典  使用:指明鍵:值對 my_dict = {'John': 86411234, 'Bob': 86419453,'Mike': 86412387}  鍵必須是不可變的且不重複,值可以是

網路管理網路檢測

使用ping命令檢測TCP/IP協議的配置資訊     ping是用於檢測網路連線性、可達到和名稱解析的疑難問題的主要TCP/IP命令。     引數使用說明如下:     -t:指定在中斷前ping可以

大資料基礎之Quartz1簡介原始碼解析

一簡介 官網 http://www.quartz-scheduler.org/ What is the Quartz Job Scheduling Library? Quartz is a richly featured, open source job scheduling libra

大資料基礎之Kafka1簡介安裝及使用

http://kafka.apache.org   一 簡介 Kafka® is used for building real-time data pipelines and streaming apps. It is horizontally scalable,&nb