1. 首页
  2. > 海外移民投资 >

1010101.101二进制转十进制(将1010101转化为十进制)

网络是一个虚拟的东西,它很大意义上不是看的见摸得着的:


  • 从上到下依次包括 应用层、传输层、网络层、链路层、物理层。
  • 本文会沿着相反的方向,依次讲述物理层、链路层和网路层。

物理层

是网线,是光纤,是产生信号传输的介质,是物理介质。



  • 计算机通过电路信号交互信息
  • 网线或光纤能产生计算机能识别的01信号

链路层

在物理层中,我们知道


  • 数据以的形式存在于通信介质中
  • 网线是双工的,A可以发送到B,B也可以发送到A,如果A一直发送,那么B就没法工作。

我们需要划分一些规范,让这个简单的网络能正常工作。


数据流和帧

首先是包的拆分,这可以让一个方向的流不会永远占据链路。


按照流发送


这里描述的过程是这样的:


  • A先发送
  • B打算发送
  • B检测到碰撞就先等待
  • A要发送的内容特别多,一直没有停下
  • B一直检测到链路是不空闲的,会等特别长时间

链路帧发送

所以,链路层做了一些事情,如下图:



  • A网卡将要发送的数据按照MTU拆分为一个帧
  • A先发送一个帧
  • B打算发送,B检测到碰撞就先等待
  • A发送完一个帧后,链路空闲
  • B可以发送
  • A检测到空闲之后继续发送剩余的帧

这样的话,链路层的帧解决了链路独占的问题。


以太网是使用的最广泛的一种链路层的协议。


链路层基本要素

这样,链路层基本要素如下图:



  • 假设A给B 传输一段数据:0111001010101
  • 这段数据会被分给为一个个的frame
  • 以太网协议的链路层是现在用的最广泛的链路层协议,规定 frame (MTU:最大传输单位)大小是1500字节
  • 如果一次传输的数据超过了MTU,则需要链路层分割再发送到物理层
  • 通用的网卡需要实现以太网协议,包括MTU大小设置

链路层还制定了mac地址的规范, 每一张都网卡有唯一的MAC地址标志


链路层的寻址工具-交换机

一般主机的网卡端口少,能直连的机器非常少,所以引入了交换机。


交换机本身没有MAC地址,存在的目的是帮助帧的转发。



如上图:


  • 网卡还有唯一的MAC地址标志,MAC地址是48位的
  • 交换机的端口比较多,几十个端口很常见。
  • 交换机可缓存并自动记录端口和对应的主机mac地址的关系

链路层的帧格式

链路层制定了mac地址的规范,可以看到帧格式如下:



  • playload是要发送的数据的内容,这里就是0111001010101,通过 dst mac转发到目的地
  • frame大小不超过MTU

链路层的网络世界构成部落

如下图交换机通过层级结构还能构成更大的网络:



A发包给C,如果当前连接的交互机没有记录这个mac地址,则会转发给其他所有的交互机,开销很大。


主机的mac地址相当于没有特殊标志的身份证,通过相连的交换机,再遍历整个网络去寻址


所以一个交换机相连的子网一般都不会包含太多的机器,就相当于一个一个的小部落


IP层

要通过链路层构成大的网络世界有些麻烦,所以网络协议的制定者又开始思考新的方案。


如果想要在很多很多的小部落里面进行通信,路由会变得非常困难,所以产生了IP层。


网络范围扩张

部落-村落

交换机组成的网络世界相当于一个一个的小部落,我们人类的发展不就是网络发展的最好的借鉴,如下图:



  • 多个部落(交换机的网络)构成了更大的村落
  • 村落之间可以通过路牌去识别部落
    • 两位二进制可以表示这四个部落了,分别是00011011

村落-更大区域

网络还在继续发展:



  • 这里的区域同样可以用两位二进制表示包含的各个村落
  • 继续这样扩大范围发展,最终就构成了全世界的网络

IP层次划分

现在网络已经足够大了,然而现实情况的网络比这个更密集更复杂。


住址和行政层级

世界也很大,我们要找到一个人的住址,可以用行政层次来表示:


从下到上依次是: 小组-村-乡-镇-县-区-市-省-国家-星球


IP地址

和现实世界不一样的,我们用IP地址来表示网络地址,IP有32位,表示全世界最多有4亿个独一无二的IP地址。


上面的行政地址一共划分了10个层次,IP地址虽然没有这么形象,但是也是天然自带层次的。



  • IP的每个数字都是有意义的,某几个位代表村-县-城市
  • mac地址像是身份证号码 (ID card), 这个是没有任何地址标志的
  • 所以通过IP地址就大概知道去某个范围去找对应的主机了

ipv4

如果按照8位一组来划分,则IP分成了4组,所以称为ipv4



上面的地址就是一个ipv4的地址,01101111.01111101.11111011.11110100 也就是111.125.251.244


IP分配

  • A类地址:IP地址的前8位表示网络ID,后24位表示主机ID,除去一些特殊的标记,这样的网络也就200多个,大部分都被分配给美国的公司,里面的主机地址很多都没有用到,造成了很多的浪费 十进制127开头的地址:环回地址,如ping自己127.0.0.1, 127.0.0.1:这个地址,就像我们时长称呼自己的‘我’一样。 0.0.0.0表示网络本身
  • B类地址:IP地址的前16位表示网络ID,后16位表示主机ID
    • 192.168.1.1 表示私有的网络
  • C类地址:IP地址的前24位表示网络ID,后8位表示主机ID,网络内可用的主机地址256-2个。 全0主机ID:表示网络本身,如IP地址129.152.0.0是指网络ID为129.152的B类网络 全1主机ID:表示广播地址

私有的网络

只是现在全世界的电脑台数应该远远不止4亿,IP地址已经不够用了,再加上上面说到的那些划分导致的浪费,就更是IP告急了。 所以大部分时候,比如在我们国家,很多社区、公司和学校都会用到私有网络的方案。


  • 你家里的网络,你公司的网络,你查看自己的IP,都很有可能是私有的局域网内的地址。
  • 在云上买的服务器,那可能是公有IP地址的。

如下面的图:



私有网络限制

case1

因为私有网络限制,里面的主机在上网的时候,往往需要对包多进行一层处理(和公网相比还多了一层转换),如下C1A打开了QQ聊天程序,和学校外面的家人聊天,



  • 发送包的时候,这里内网的出口路由器可能需要将包拆分为包2(加上自己的公网ip和mac地址)
  • 接收包的时候,这里内网的出口路由器需要将包2转为包1的格式,再转发到内网的主机上面去。

case2

有时候需要访问私有的地址,就像访问服务器一样。


比如P2P类型的应用,大家都是网络上的一个节点。


因为处于局域网的原因,所以我们需要用到一些网络反转技术


ipv6

因为IP告急的原因,后来又制定了ipv6的规范。


一共128bit,每16位划分,分成了8组。


但是现在还不是很普及。


路由

上面讲了IP层次的划分,我们可以形象的知道大概通过这样的方式去找到网络世界上的另外一个主机。


在具体实现上,实现了IP层协议的机器都维护了1张路由表,这个路由表表示了自己所能感知的网络世界


可以通过route命令查看主机或者路由器上面的路由表,


# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 9.134.64.1 0.0.0.0 UG 0 0 0 eth1 9.0.0.0 9.134.64.1 255.0.0.0 UG 0 0 0 eth1 9.134.64.0 0.0.0.0 255.255.240.0 U 0 0 0 eth1 10.0.0.0 9.134.64.1 255.0.0.0 UG 0 0 0 eth1 100.64.0.0 9.134.64.1 255.192.0.0 UG 0 0 0 eth1 172.16.0.0 9.134.64.1 255.240.0.0 UG 0 0 0 eth1 192.168.0.0 9.134.64.1 255.255.0.0 UG 0 0 0 eth1 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 docker0

输出结果中各个字段的含义是:


一步步,一层层,网络从原始的形态渐渐变成了现在这样的现代化的形态。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123456@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息