我相信,只要对电脑有点入门的,都知道如何查询本地ip地址.在win中是ipconfig.linux中是ifconfig
如上图,192.168.1.117就是我的局域网地址.局域网内通过此ip就能访问我的电脑
再举一个场景,我们新装了宽带,买了路由器都知道访问地址是192.168.1.1 那这个IP又是为何而来
子网掩码又是啥东东呢.别急,接下来进入正题,你想要的我下面都会一一讲解
1.IP地址的分类
ip地址的大小为4个字节共32位以二进制的方式.每8位一个数字
总共分以下几类
比如A类地址第一位固定是0,那他的网络地址段就是00000001~01111111,用二进制的计算结果就是1~127之间,后面的主机地址每8位都是00000000~11111111,即0~255
所以就是上图所见的A类1.0.0.0~127.255.255.255
再说B类前八位的话10000000~10111111即128~191
C类就是11000000~11011111即192~223
2.公网、内网
公网,是供外部访问的地址.基本上是唯一.
内网,也可以理解为局域网.比如192.168.1.11 每个不同的公网,都可以用相同的内网
好比如解放路1号1栋6楼、解放路2号2栋6楼 。解放路N号N栋是公网.N楼是内网
那我们怎么确定两个地址之间是否在局域网呢,比如192.168.2.5、192.168.1.8是同一个局域网码
上述问题就是子网掩码发挥作用了
3.CIDR
无类别域间路由 Classless Inter-Domain Routing.具体的话还是看百度百科吧
它可以知道目标IP是否在统一内网(网络号)
在linux系统中,除了使用ifconfig查看ip.还能使用ip addr
可以看到第二部分里的ip 192.168.1.111/24 奇怪了,这24是来干嘛的
他表示的是前24位为网络号,后8位为主机号,网络号全为1主机号为0就是他的子网掩码.那就是255.255.255.0广播地址192.168.1.255 网络号192.168.1 只要网络号相同的地址,就都在同一局域网内
.这样一来刚刚所举的192.168.2.5、192.168.1.8在24位网络号的情况下是否在同一个局域网,相信答案不用多说
再举个例子:如果ip addr 返回的是192.168.1.111/20 .求第一个网络号.子网掩码和广播地址
那就表示前20位为网络号,后12位为主机号.
192.168.1.111用表示为11000000.10101000.00000001.01101111
192.168.<0000>为网络号 <0001>.111为机器号
那子网掩码为255.255.<1111>0000.0即255.255.240.0
那广播地址192.168.<0000><1111>.255,即192.168.15.255
注:192.168.0.*~192.168.15.*都是在一个局域网内
4.MAC地址
看第二行 link/ether e0:d5:5e:07:af:4b brd ff:ff:ff:ff:ff:ff 即为网卡的物理地址MAC,他相当于我们的身份证号在网络中是唯一标识的。
我们发包一般都会带上IP和MAC地址,有了MAC地址直接用MAC地址通信不就OK了为啥还要IP呢,其实IP相当于邮政编码.快递员可以通过它层层分类去到不同的站点,最后才到底目的地的收件人(MAC)手里.
而到达目的地比如在公司(局域网内)基本靠吼(ARP):谁是MAC地址,给我出来.这是就有计算出出来应答了:是我是我!
总结:MAC地址的定位功能范围较小.一般只有在子网内(同一个网络号中).所以得先通过IP确定好目标地址.再通过MAC把最终主机找出来
<BROADCAST,MULTICAST,UP,LOWER_UP>
BROADCAST:翻译成中文为“广播”,表示这个网卡有广播地址们可以发送广播包
MULTICAST:翻译成中文为"组播,多点传送",表示网卡可以发送多播包
UP:状态为启用中
LOWER_UP:表示L1启动着,即插着网线呢
mtu 1500:为MAC层的协议,它表示最大传输单元为1500字节..一般来说默认值是以太网的1500.上节已经讲过包是层层包装的,所以这个MAC头有IP头、TCP头、HTTP头,如超过必须分段传输
qdisc pfifo:qdisc(Queueing Discipline),翻译成中文就是“队列规则” pfifo这个词汇相信大家都比较敏感即先进先出
内核如果需要通过网络发送包,都得通过网卡配置的qdisc规则入列。这里是最近单的pfifo,不不对入列的数据包做任何处理直接入列,并且先入列的包先发送出去(先进先出规则)
还有其它的规则如pfifo_fast,它表示3个波段(band),也就是3个队列的意思.他们的优先级分别为0(band0)、1(band1)、2(band2)。当brand0有包时优先处理、然后是band1、band2
数据包是按服务类型(Type Of Service)TOS被分配到三个波段(band)里面的。TOP是IP头里面的一个字段,代表了当前的包时高优先级的还是低优先级
队列是个好东西,当多用户共享一个网络出口(网关,即路由器)去访问外部请求,这个时候如何排队,每个队列有多粗,队列的处理速度应该怎样提升,后面再讲解
5.总结
本节总的来说需要掌握以下几个知识点:
1.IP具有寻址功能而MAC地址没有,就像快递一样,地址是IP(具体到门牌号).而姓名+手机号就是MAC地址。他们缺一不可
2.CIDR:具有识别目标IP是在统一局域网内
3.IP地址:分为公网IP和内网IP
来源:oschina
链接:https://my.oschina.net/u/2283248/blog/1817464