网络协议学习笔记二

查看ip地址:网络

在 Windows 上是 ipconfig,在 Linux 上是 ifconfig 或者ip addr。
 
登陆进入一个被裁剪过的很是小的 Linux 系统中,发现既没有 ifconfig 命令,也没有 ip addr 命令,你是否是感受这个系统压根儿无法用?这个时候,你能够自行安装 net-tools 和 iproute2 这两个工具。固然,大多数时候这两个命令是系统自带的。
 
IP 地址被点分隔为四个部分,每一个部分 8 个 bit,因此 IP 地址总共是 32 位。由于不够用,因而就有了 IPv6,这个有 128 位。
原本 32 位的 IP 地址就不够,还被分红了 5 类:
 
这里面有个尴尬的事情,就是 C 类地址能包含的最大主机数量实在太少了,只有 254 个。当时设计的时候恐怕没想到,如今估计一个网吧都不够用吧。而 B 类地址能包含的最大主机数量又太多了。6 万多台机器放在一个网络下面,通常的企业基本达不到这个规模,闲着的地址就是浪费。
因而有了一个折中的方式叫做 无类型域间选路 ,简称 CIDR 。这种方式打破了原来设计的几类地址的作法,将 32 位的 IP 地址一分为二,前面是 网络号 ,后面是 主机号 。从哪里分呢?你若是注意观察的话能够看到,10.100.122.2/24,这个 IP 地址中有一个斜杠,斜杠后面有个数字24。这种地址表示形式,就是CIDR。后面 24 的意思是,32 位中,前 24 位是网络号,后 8 位是主机号。
伴随着 CIDR 存在的,一个是 广播地址 ,10.100.122.255。若是发送这个地址,全部10.100.122 网络里面的机器均可以收到。另外一个是 子网掩码, 255.255.255.0。
将子网掩码和 IP 地址进行 AND 计算。前面三个 255,转成二进制都是 1。1 和任何数值取AND,都是原来数值,于是前三个数不变,为 10.100.122。后面一个 0,转换成二进制是 0,0 和任何数值取 AND,都是 0,于是最后一个数变为 0,合起来就是 10.100.122.0。这就是 网络号 将子网掩码和 IP 地址按位计算 AND,就可获得网络号。
公有 IP 地址有个组织统一分配,你须要去买。若是你搭建一个网站,给你学校的人使用,让大家学校的 IT 人员给你一个 IP 地址就行。可是假如你要作一个相似网易 163 这样的网站,就须要有公有 IP 地址,这样全世界的人才能访问。
表格中的 192.168.0.x 是最经常使用的私有 IP 地址。你家里有 Wi-Fi,对应就会有一个 IP 地址。通常你家里地上网设备不会超过 256 个,因此 /24 基本就够了。有时候咱们也能见到 /16 的CIDR,这两种是最多见的,也是最容易理解的。
 
16.158.165.91/22 这个 CIDR:
/22 不是 8 的整数倍,很差办,只能先变成二进制来看。16.158 的部分不会动,它占了前 16位。中间的 165,变为二进制为10100101。除了前面的 16 位,还剩 6 位。因此,这 8 位中前6 位是网络号,16.158.<101001>,而<01>.91 是机器号。第一个地址是 16.158.<101001><00>.1,即 16.158.164.1。子网掩码是 255.255.<111111><00>.0,即 255.255.252.0。广播地址为 16.158.<101001><11>.255,即16.158.167.255。
这五类地址中,还有一类 D 类是 组播地址。 使用这一类地址,属于某个组的机器都能收到。
 
在 IP 地址的后面有个 scope,对于 eth0 这张网卡来说,是 global,说明这张网卡是能够对外的,能够接收来自各个地方的包。对于 lo 来说,是 host,说明这张网卡仅仅能够供本机相互通讯。lo 全称是 loopback ,又称 环回接口 ,每每会被分配到 127.0.0.1 这个地址。这个地址用于本机通讯,通过内核处理后直接返回,不会在任何网络中出现。
 
MAC 地址
在 IP 地址的上一行是 link/ether fa:16:3e:c7:79:75 brd ff:ff:ff:ff:ff:ff,这个被称为 MAC 地址, 是一个网卡的物理地址,用十六进制,6 个 byte 表示。
MAC 地址号称全局惟一,为何网络通信不直接用MAC地址?
由于一个网络包要从一个地方传到另外一个地方,除了要有肯定的地址,还须要有定位功能。 而有门牌号码属性的 IP 地址,才是有远程定位功能的。
MAC 地址更像是身份证,是一个惟一的标识。 它的惟一性设计是为了组网的时候,不一样的网卡放在一个网络里面的时候,能够不用担忧冲突。从硬件角度,保证不一样的网卡有不一样的标识。
MAC 地址是有必定定位功能的,只不过范围很是有限,局限在一个子网里面。 例如,从 192.168.0.2/24 访问 192.168.0.3/24 是能够用 MAC 地址的。一旦跨子网,即从 192.168.0.2/24 到 192.168.1.2/24,MAC 地址就不行了,须要 IP 地址起做用了。
 
网络设备的状态标识
解析完了 MAC 地址,咱们再来看 < BROADCAST,MULTICAST,UP,LOWER_UP > 是干什么 的?这个叫做 net_device flags 网络设备的状态标识
UP 表示网卡处于启动的状态;
BROADCAST 表示这个网卡有广播地址,能够发送广播包;
MULTICAST 表示网卡能够发送多播包;
LOWER_UP 表示 L1 是启动的,也即网线插着呢。
MTU1500 是指什么意思呢?是哪一层的概念呢?最大传输单元 MTU 为 1500,这是以太网的默认值。
网络包是层层封装的。MTU 是二层 MAC 层的概念。MAC 层有 MAC 的头,以太网规定连 MAC 头带正文合起来,不容许超过 1500 个字节。正文里面有 IP 的头、TCP 的头、HTTP 的头。若是放不下,就须要分片来传输。
 
qdisc pfifo_fast 是什么意思呢?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。
相关文章
相关标签/搜索