ifconfig講解(ip地址)


如果查看ip地址,window上是ipconfig,linux上是ifconfig

linux上還有其他命令查看ip地址嗎,答案是ip addr

ifconfig和ip addr區別

這是一個有關 net-tools 和 iproute2 的“歷史”故事

net-tools起源於BSD,自2001年起,Linux社區已經對其停止維護,而iproute2旨在取代net-tools,並提供了一些新功能。一些Linux發行版已經停止支持net-tools,只支持iproute2。
net-tools通過procfs(/proc)和ioctl系統調用去訪問和改變內核網絡配置,而iproute2則通過netlink套接字接口與內核通訊。
net-tools中工具的名字比較雜亂,而iproute2則相對整齊和直觀,基本是ip命令加后面的子命令。
雖然取代意圖很明顯,但是這么多年過去了,net-tool依然還在被廣泛使用

ip addr輸出介紹

[read@221.228.75.244:~]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 18:66:da:4d:26:f9 brd ff:ff:ff:ff:ff:ff
    inet 221.228.75.244/25 brd 221.228.75.255 scope global em1
3: em2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 18:66:da:4d:26:fa brd ff:ff:ff:ff:ff:ff
    inet 172.16.20.244/16 brd 172.16.255.255 scope global em2
4: em3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 18:66:da:4d:26:fb brd ff:ff:ff:ff:ff:ff
5: em4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 18:66:da:4d:26:fc brd ff:ff:ff:ff:ff:ff

 這個命令顯示了這台機器上所有的網卡。大部分的網卡都會有一個 IP 地址,當然,這不是必須的。可參考上面輸出

inet:ip地址+網絡號位數

在 IP 地址的后面有個 scope,global,說明這張網卡是可以對外的,可以接收來自各個地方的包。對於 lo 來講,是 host,說明這張網卡僅僅可以供本機相互通信。lo 全稱是 loopback,又稱環回接口,往往會被分配到 127.0.0.1 這個地址。這個地址用於本機通信,經過內核處理后直接返回,不會在任何網絡中出現

link/ether:mac地址,用十六進制,6 個 byte 表示

網絡設備狀態標識(net_device flags):<BROADCAST,MULTICAST,UP,LOWER_UP>

UP 表示網卡處於啟動的狀態;BROADCAST 表示這個網卡有廣播地址,可以發送廣播包;MULTICAST 表示網卡可以發送多播包;LOWER_UP 表示 L1 是啟動的,也即網線插着呢。MTU1500 是指什么意思呢?是哪一層的概念呢?最大傳輸單元 MTU 為 1500,這是以太網的默認值

網絡包是層層封裝的。MTU 是二層 MAC 層的概念。MAC 層有 MAC 的頭,以太網規定連 MAC 頭帶正文合起來ip數據包不允許超過 1500 個字節。正文里面有 IP 的頭、TCP 的頭、HTTP 的頭。如果放不下,就需要分片來傳輸

 

 

qdisc:全稱是 queueing discipline,中文叫排隊規則。內核如果需要通過某個網絡接口發送數據包,它都需要按照為這個接口配置的 qdisc(排隊規則)把數據包加入隊列。

最簡單的 qdisc 是 pfifo,它不對進入的數據包做任何的處理,數據包采用先入先出的方式通過隊列。pfifo_fast 稍微復雜一些,它的隊列包括三個波段(band)。在每個波段里面,使用先進先出規則。

三個波段(band)的優先級也不相同。band 0 的優先級最高,band 2 的最低。如果 band 0 里面有數據包,系統就不會處理 band 1 里面的數據包,band 1 和 band 2 之間也是一樣。

數據包是按照服務類型(Type of Service,TOS)被分配到三個波段(band)里面的。TOS 是 IP 頭里面的一個字段,代表了當前的包是高優先級的,還是低優先級的

 

 

 

小結

  • IP 是地址,有定位功能;MAC 是身份證,無定位功能;
  • CIDR 可以用來判斷是不是本地人;
  • IP 分公有的 IP 和私有的 IP。后面的章節中我會談到“出國門”,就與這個有關。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM