本文主要是介绍小凉学网络之掩码套娃,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
小凉学网络之掩码套娃
- 一、WIFI怎么玩?
- 1、fps是什么?
- 2、双频路由2.4GHz和5GHz
- 二、用子网掩码套娃缓解IP枯竭
- 1、想得美,根本套不了
- 2、从通信角度看掩码
- 3、还是能套,但只能套一点
- 4、提高网络应用性
- 三、计算机网络?
- 1、路由协议?选路协议
- 2、谁是甲方?4G还是TCP/IP
- 3、TCP流量控制与BBR流量调度算法
- 四、十分钟组个网
- 算了,就这样吧
一、WIFI怎么玩?
1、fps是什么?
无线信道是对无线通信中发送端和接收端之间通路的一种形象比喻,对于无线电波而言,它从发送端传送到接收端,其间并没有一个有形的连接, 它的传播路径也有可能不只一条,我们为了形象地描述发送端与接收端之间的工作,可以想象两者之间有一个看不见的道路衔接,把这条衔接通路称为信道, 无线信道也就是常说的无线的 “ 频段(Channel)”。
信道容量反映了信道所能传输的最大信息量。 信道容量可以表示为单位时间内可传输的二进制位的位数(称信道的数据传输速率,位速率),以位/秒(b/s)形式予以表示,简记为bps。
bps bit/s: 每秒钟有多少bit的数据经过
fps: frame per second 每秒钟有多少个数据帧经过
2、双频路由2.4GHz和5GHz
- 2.4GHz标准频段 ,微波炉、无线摄像头、蓝牙设备,很多设备都用,信号就会变得过于拥挤。他有11个信道可供选择,但是只有三个是不重叠的,所以基本上只有三个可靠信道可供选择。但是他传输距离远呀,还能穿墙,这就很棒。
- 5GHz 新频段用的比较少,可以缓解网络速度慢的问题,值得一说,他有25个不重叠信道,有时候受到其他无线设备的干扰,可能就需要切换到不同的信道,这时候就有很多信道可以切换啦。但是频率越高,波长越短,穿墙难度越大。
二、用子网掩码套娃缓解IP枯竭
初学计算机的时候,一直有一个疑问。由于有子网掩码,相同的IP可以指代不同的计算机,使用网络掩码就可以让IP地址变多,IPv4地址枯竭根本不存在呀。
1.1.1.1/1,1.1.1.1/2,1.1.1.1/3 … 1.1.1.1/30,1.1.1/31,1.1.1.1/32 可以给32台计算机使用,全球60亿人口,232 *32=237=1374亿个,每人最少可以分几十个玩吧。怎么会不够用?
1、想得美,根本套不了
假命题:条件为假,结论必然为假。
首先IP是唯一标识,就像身份证号,使用子网掩码,他还是同一个IP,多人使用必然会冲突,也就是根本不能套娃。
但是上百度一搜,子网掩码的作用:
一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的IP网络划分为若干小的子网络。
使用子网是为了减少IP的浪费。因为随着互联网的发展,越来越多的网络产生,有的网络多则几百台,有的只有区区几台,这样就浪费了很多IP地址,所以要划分子网。使用子网可以提高网络应用的效率。
认真研读了一下这段话,好像并没有说能增加IP,那这网上说的减少了IP的浪费,提高了网络应用的效率,到底是个啥意思?
2、从通信角度看掩码
网络到底是什么,网络听起来好抽象的样子,计算机网络,简化来说就是计算机连接而成的网。而计算机网络世界的计算机通信,其实就三种通信模式:
-
1)主机和自己通信
比如 主机=1.1.1.1,当与自己通信时,目的IP=1.1.1.1。当这个IP报文到达本机的IP路由转发模块时,目的IP = 自己接口IP。按照预先设定,将其从发送链表删除并移到接收链表尾部。常见操作,ping 127.0.0.1,回环地址,目的就是检测本机的回路是否正常, 如果正常,则说明本机的TCP/IP协议安装正常。如果连这个都不正常,则说明连TCP/IP协议都出了问题,那就需要从系统层面,先修复TCP/IP协议来解决所碰到的网络故障了。
整个过程,IP报文不过在TCP/IP内部兜了一圈,没有到达硬件网卡。这里根本没有掩码什么事。
-
2)主机和广播域内其他主机通信
如果主机1.1.1.1与1.1.1.200通信,该如何通信?
这不是个问题,既然和自己的IP不相同,那么只要从硬件网卡发出就ok了。那网卡如何填写目的MAC地址?
这也不是问题,可以用ARP广播请求1.1.1.200的MAC地址。假设主机1.1.1.1使用24位掩码,即1.1.1.1/24,那么主机用24位掩码,mask自己的IP,得到1.1.1。
同样,mask 1.1.1.200,得到同样的1.1.1。故两者位于相同的广播域,就可以通信。但是ARP广播消息无法跨越不同广播域传输。
假设主机1.1.1.1使用25位掩码,即1.1.1.1/25,那么主机用25位掩码,mask自己的IP,得到1.1.1.0。
同样的,mask 1.1.1.200,得到不一样的1.1.1.128。
由于1.1.1.0 ≠ 1.1.1.128,不在一个广播域,这样的方式就无法通信了。 -
3)主机和广播域外其他主机通信
主机1.1.1.1/25发现1.1.1.200位于另外的广播域,但是ARP广播消息无法跨越不同广播域传输。于是决定将其扔给自己的网关1.1.1.126代为转发。问题是怎么扔?目的MAC填谁的?
当然填网关的MAC了,否则到达网关的网卡也会被丢弃。可以ARP广播发现网关的MAC吗?(arp地址表的存在,不会让他每次都广播)
当然可以了,因为网关和自己在一个广播域。怎么就在同一个广播域了?
因为1.1.1.126 使用25位掩码做mask操作,与1.1.1.1 是相同的。当报文到达网关,剥离以太帧头,网关发现目的IP = 1.1.1.200 和自己另外一个接口 = 1.1.1.254 在一个相同的广播域。于是ARP广播发现其MAC地址,于是将IP报文完成封装,将其发给真正的目的地主机 = 1.1.1.200。
如果网关发现目的IP= 8.8.8.8,自己的任何端口都和它都不在一个广播域,如何处理?
这依然是不同广播域之间的通信,网关最坏的情况,查询路由表匹配到0.0.0.0/0,并按照0.0.0.0/0的指示,将其发给更靠近目的地的下一跳网关。通过N次相同迭代,和8.8.8.8相同广播域(物理直连)网关,再完成相同广播域主机之间通信,整个迭代过程完成收敛。
3、还是能套,但只能套一点
全球IP地址:全球IP配置在TCP/IP协议栈里,可以与世界任何终端自由自在通信,这是一个美好的愿望。 但是呢,TCP/IP协议的设计者没有什么远见,IP地址只有32位,全球IP只有40亿+,很快全球IP被瓜分完毕。
全球IP,供不应求,IPv6蓄势待发,私有IP应运而生。
IPv6国内没有城市使用,只有一部分高校在试用。根本还没有用起来。
我们会发现ipconfig和浏览器查询出的ip不一样。其实就是使用的私有IP。
互联网管理机构颁布一项新的规定,无法拥有全球IP的电脑、手机终端可以自由使用以下三个号段的IP地址:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
但是互联网管理机构又规定,私有IP报文不能进入Internet。
诶,就是玩?私有IP报文既然不能进入Internet,意味着无法上网,配置这些私有IP又有何用呢?
看这个图,可能就顶端那一个路由器网口使用公有IP
互联网管理机构早就想好了,用户私有IP报文,当流经网关时,修改成网关的全球IP不就可以了吗?这就是上文所说的从通信角度看掩码,多台终端从共用同一个公有IP,这不就是解决了IP的浪费嘛。从结果看,还是能套娃,但只能套一点。
4、提高网络应用性
那又说用子网掩码可以提高网络应用性,是怎么回事?
对于主机来说,仅仅是判断要通信的主机是否和自己在相同广播域。对于网关(路由器)来说,掩码长度长短,仅仅表示哪条路径更可信。
比如一个包裹收件人地址 = 广东省深圳市南山区南十二路 xxx
网关现在有四条路:
1 广东省
2 广东省深圳市
3 广东省深圳市南山区
4.广东省深圳市南山区南十二路
做为网关应该优选哪条路?
当然是4,因为它更具体,更可信!这个原理跟路由器转发IP报文的原理是几乎一致的。
三、计算机网络?
1、路由协议?选路协议
当然,路由器是有路由表的, 路由表存储着指向特定网络地址的路径(有时候还记录有路径的路由度量值)。路由表中含有网络周边的拓扑信息。路由表建立的主要目标是为了实现路由协议和静态路由选择。
缺省路由,一般是0.0.0.0,也可以自己配置。
静态路由,自己配就完了。
动态路由,那就得说路由协议了,有点抽象,其实就是选路协议
按照范围分:
IGP(内部网关协议):RIP OSPF IS-IS
EGP(外部网关协议):BGP EIGRP
按照算法分:
距离矢量:RIP
链路状态:OSPF、IS-IS
混合型:BGP EIGRP
能够竞争进入路由表的协议有:OSPF(10)、IS-IS Level1(15)、IS-IS Level2(20)、RIP(120)、EIGRP(90)、BGP(20,200),还有直连路由(0)以及静态路由(1), 括号里为它们AD优先级,外部BGP为20,内部BGP为200。
EBGP 外部边界网关协议,不同AS自治系统间交换路由信息。
IBGP 内部边界网关协议,同一个AS间路由信息,使用统一的内部路由协议的网络就是一个AS。
目前常用路由协议的AD优先级为:
直连路由> 静态路由 > EBGP > EIGRP > OSPF> ISIS > RIP > IBGP
优先级度量标准:路径长度、可靠性、延迟、带宽、负载 -> 可信度和cost(成本)
OSPF的AD优先级高,IS-IS的AD优先级低,如果同时运行OSPF和IS-IS,则IS-IS所有路由条目都不会进入路由表。是这样吗?
当然不是,只有同等的路由条目才可以使用AD值的优先级来决定去留,如果不是同等的路由条目,压根不会去比较AD优先级。
2、谁是甲方?4G还是TCP/IP
可以把TCP/IP比作快递物流公司,把4G可以比作高速公路
甲方: 浏览器、聊天软件
乙方: TCP/IP
乙方的乙方: 4G
4G代表是硬件实力,而TCP/IP则代表软件实力。只有软硬全面发展,才能带来飞速的流量速度与效率。
-
1)硬实力提升:5G (5G > 4G > H > 3G > E > 2G)
4G,Forth Generation的缩写,经常还写作LTE,Long Term Evolution的缩写,意思是人类与移动通信的斗争是持久战。 -
2)软实力提升:
传统的TCP流量调度算法,基于丢包来决定发送速率,已经严重制约了人类对高速通信的追求。后来通过增加路由器的的缓冲队列,来缓冲互联网上无法及时转发的IP报文,本意是提高物流速度,可是无限制增加缓冲队列非但没有增加网速,反而让互联网更慢了。
Google公司BBR流量调度算法,实时测量IP报文的吞吐效率,然后让TCP的发送速率等于或接近实时测量IP报文的吞吐效率,可以更有效地利用网络,从而提高网速。
3、TCP流量控制与BBR流量调度算法
TCP需要有自己的流量调度,滑动窗口机制。
发送窗口只有收到对端对于本段发送窗口内字节的ACK确认,才会移动发送窗口的左边界。
接收窗口只有在前面所有的段都确认的情况下才会移动左边界。当在前面还有字节未接收但收到后面字节的情况下,窗口不会移动,并不对后续字节确认。以此确保对端会对这些数据重传。
BBR流量调度算法,引自[dog250]的博客,我不太懂,就不班门弄斧了。
四、十分钟组个网
算了,就这样吧
画图板画了个简图,是有点丑呀。。。
该文章部分引用B站比尔迈克视频。
BBR流量调度算法,引自[dog250]的博客。
该文章部分引自微信公众号车小胖谈网络。
这篇关于小凉学网络之掩码套娃的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!