| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> linux网络之IP命令 -> 正文阅读 |
|
[网络协议]linux网络之IP命令 |
目录 IP命令格式ip options object {command | help} options 可选项: -V,显示版本 -h,符合人类阅读习惯显示输出 -f,-family {inet, inet6, link} 强制使用指定的协议族 -4,指定使用的网络层协议是IPv4协议 -B,指定使用的网络层协议是Bridge协议 -D,指定使用的网络层协议是decnet协议 -M,指定使用的网络层协议是mpls协议 -0,指定使用的网络层协议是link协议 -i,指定使用的网络层协议是ipx协议 -d,输出更详细的信息 -o,-oneline,输出信息每条记录输出一行,即使内容较多也不换行显示 -r,-resolve,显示主机时,不使用IP地址,而使用主机的域名 -l,-loops,指定“ip地址刷新”的最大循环数。如果设置为0,那么将会一直尝试,直到所哟地址被移除。 -t,-timestamp,当使用监视器选项时,输出时间戳 -a,-all,执行指定命令给所有对象(如果命令支持这个选项) -c,-color,使用颜色输出 ?object可选项: ? ? ? ?address(addr):网络设备的IP(v4或者v6)地址信息 ? ? ? ? link :网络设备信息 ? ? ? ? maddress:多播地址 ? ? ? ? mourte:组播路由缓存条目 ? ? ? ? monitor:监控网络链接消息 ? ? ? ? netns:管理网络命名空间 ? ? ? ? ntable:管理邻居表缓存操作 ? ? ? ? neighbour:邻居表 ? ? ? ? route:路由表 ? ? ? ? rule:IP策略 ? ? ? ? tunnel:IP隧道 ? ? ? ? tuntap:管理tun/tap设备 command?选项: ? ? ? ? add:新增 ? ? ? ? delete:删除 ? ? ? ? show(or list):显示 ????????set:设置参数 ?IP命令很强大,但是常用的只有 route(路由) address(网络设备的IP(v4或者v6)地址信息)和 link(网络设备信息) 这三个。 route命令route命令主要是显示和处理关于路由相关的操作。 ip route show或者 ip route list? 主要显示本机的路由信息
其中第一行的意思是:默认路由 通过enp1s0网络设备(网卡)经由网关172.16.0.1 发出。 第二行的意思是:发送到169.254.169.254这个网络的包?通过enp1s0网络设备(网卡) ?经由网关172.16.0.3 发出 第三行的意思是:发送到172.16.10.0/24这个网段的包,通过enp1s0网络设备(网卡)发出, src 172.16.10.31表示改网卡的IP是172.16.10.31? metric代表路径距离,如果一个ip路由到相同的网络,且网络前缀相同时,metric值越小则优先级越高。 其中route还有一种查询方式
其中default和0.0.0.0是一个意思,都代表默认网关。 默认网关是一种特殊网关:0.0.0.0/0 代表网络掩码全是0,用全0掩码和目的地址进行AND运算的结果必然全是0,这样和转发表中0.0.0.0/0网段全匹配,这样就按照转发表找到下一跳的路由。而根据路由最长匹配原则,当一个目的地址找不到对应网关时,就会和默认网关的网段进行匹配(默认网关的网络段是最段的)。 路由最长匹配原则:根据IP斜线划分法,把IP分为两部分,网络前缀(网段)和主机,而网段越长,主机号越短,而路由就更具体,为了快速找到目的地址,可以根据前缀的长短进行排序,前缀越长的排在前面,当前面网段匹配上时,就不再进行后续匹配。 169.254.169.254 代表的是特定主机路由。特定主机路由的子网掩码(Genmask)必定是255.255.255.255? 用169.254.169.254/32表示。特定主机路由没用实际意义,主要用于测试。 其中默认路由和主机路由是网卡自带的。每安装一个网卡必然会有这两个。 ip route add 目标网络/掩码 via 网关 dev 网络接口
上述命令是给172.16.10.0/24网络内部再划分一个子网络,其中 via代表经由? dev后面跟着网络接口,上面的add代表的意思,添加一个网络路由,发送172.16.10.0/24网段的包,经由172.16.10.241路径 通过enp1s0接口发出 删除路由
addr命令ip addr
io代表回环网络接口 enp代表以太网卡网络接口 docker0代表容器的网络接口 veth一般是linux的veth-pair类型的虚拟网络接口 br一般代表桥接或者网桥接口 brd代表广播地址 link/ether mac地址,veth类型的网络接口中没有ip地址,是因为该网络接口只是工作在链路层,通mac地址进行帧的转发,所以没有IP LOWER_UP表示网线插着 BROADCAST 表示这个网可以发送广播包;MULTICAST 表示网卡可以发送多播 UP 表示网卡处于启动的状态; MTU1500是指最大传输单元 MTU 为 1500,这是以太网的默认值。MTU 是二层 MAC 层的概念 scope global/host ip addr add ip/netmask dev 网口名称
上图是给enp1s0设置多个IP地址 link 命令:link 即链路的意思,该命令主要用来查看和管理网络设备接口。 该命令最长用的是创建veth_pair ip link set
?总结: 由于我们大多数对window操作比较熟悉,而对linux操作部熟悉,导致读于网络的link addr route概念上不容易区分,我把这三者和window操作做类比如下: ip link 操作网络接口,其实相当于window中对网络的操作,比如禁用网络启用网络 ip addr 相当于window对网络配置Ip 子网掩码 ip route? 相当于window配置网关 本次文章涉及的概念名词有: 网络接口,虚拟网络接口,路由,网关(默认网关,主机网关),IP ,网络协议? 放在一起说,是为了有意识的进行比较。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:16:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |