如果查看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輸出介紹
[[email protected]:~]$ 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 頭帶正文合起來,不允許超過 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 頭里面的一個欄位,代表了當前的包是高優先級的,還是低優先級的


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/60976.html
標籤:其他
上一篇:網路協議小故事(簡述)
