协议那些事(三)
简单的ip address 又包含哪些信息呢?
查看IP信息的命令
- Windows下 ipconfig
- Linux下 ifconfig 或 IP addr 【如果你的Linux被裁减过 这两个命令均没有 那你需要先安装一下net-tools和IProute2工具】
ifconfig与ip addr的区别
-
ifConfig 与ipconfig类似 显示的是基础的IP配置信息 如下
-
ip addr则是会显示当前机器上的所有网卡信息【网卡的ip地址 可有可没有 非一定存在】 具体信息如下
网卡名称后的
是net_device flags--网络设备的状态标识
-
UP--网卡处于启动状态
-
BROADCAST--该网卡有广播地址 可发送广播包
-
MULTICAST--网卡可发送多播包
-
LOWER_UP--L1是启动的 插着网线
-
mtu 1500--最大传输单元MTU上线是1500(以太网默认值) MTU是二层MAC层的概念 表示MAC头+正文(Ip头+TCP头+Http头)总长不超过1500字节 超过则需要分片传输
-
qdisc--queueing discipline 排队规则 即接口数据包加入规则 分为两种
- pfifo--不对包做处理 包采取先入先出的方式通过队列
- pfifo-fast--包括三个band 每个band里依旧是先进先出通过 通过band将包的优先级进行划分 band0优先级最高 其次是band1 band2; IP头里有一个字段TOS--Type of service表示包的优先级 根据TOS划分包的band
IP地址
-
IP地址就是网卡在网络世界的通讯地址 比拟为现实世界门牌号【具有定位功能】
-
IPv4 是32位 比如10.100.122.2 IPv4又分为五类
其中D类是组播地址 此类地址表示某个组的主机都能收到 比如公司常用的邮件组 -
IPv6 是128位 如 inet6 fe80::f816:3eff:fec7:7975/64 IPv6的出现是因为IPv4的划分最大主机数过少不够用
-
-
这里我们要区分公有ip 和私有IP
- 通常我们办公司、家里、学校的ip地址都是私有IP 这些私有ip容许组织内部IT人员自己管理、自己分配、可重复 比如每个小区都可以有3001可重复 但是出了小区就要使用公有IP地址 区分到底是哪个小区
- 公有ip--是被某个组织统一分配的 我们要用需要花钱买 比如我们想建一个网站 还想被外部人员访问 我们就需要有一个公有IP
-
又因为IPv4的划分规则 使C类最大主机数过低 而B类主机数又过多 会造成浪费 所以又出现了无类型域间选路(CIDR)
- 它将32位地址一分为2 比如 10.100.122.2/24 -- 【/24】表示 32位的ip 前24位表示 网络号 后32-24=8位表示主机号 则第一地址就是10.100.122.1
- CIDR的存在
- 造就广播地址 比如 10.100.122.2/24 的广播地址就是 10.100.122.255 意味着多有 10.100.122网络里的机器都可以收到
- 和 子网掩码 比如 10.100.122.2/24 的子网掩码就是 255.255.255.0
- 将IP地址与子网掩码进行位运算(AND)可以得到网络号
CIOR的常见误区
EG: 求16.158.165.91/22 第一个地址、子网掩码和广播地址
- 错误答案: 第一地址 16.158.165.1
- 正解: /22表示 前22位(不是24位啦)表示网络号 前16位是16.158 又22-16=6
所以 165也就是10100101的前6位是网络号 于是16.158.<101001>为网络号(余位补0 即16.158.<101001><00> --16.158.164) <01>.91为主机号
所以第一地址 16.158.164.1
子网掩码 255.255.<111111><00>.0--255.255.252.0 【缺位补0】
广播地址 16.158.<101001><11>.255--16.158.167.255 【缺位补1】