IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 小凉学网络之掩码套娃 -> 正文阅读

[网络协议]小凉学网络之掩码套娃

一、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]的博客。
该文章部分引自微信公众号车小胖谈网络。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:51:11  更:2021-07-13 17:53:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:36:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码