趣谈网络协议(三)

我相信,只要对电脑有点入门的,都知道如何查询本地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是否在统一内网(网络号)

传送门:https://baike.baidu.com/item/%E6%97%A0%E7%B1%BB%E5%9F%9F%E9%97%B4%E8%B7%AF%E7%94%B1/240168?fr=aladdin&fromid=3695195&fromtitle=CIDR

在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

转载于:https://my.oschina.net/u/2283248/blog/1817464

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值