微信视频聊天安全吗的视频能播放出来吗怎么操作,能把步骤分解下吗

前段时间有读者希望我写一篇關于 IP 分类地址、子网划分等的文章,他反馈常常混淆摸不着头脑。

那么说来就来!而且要盘就盘全一点,顺便挑战下我斗帝强者的图解功力所以就来个 IP 基础知识全家桶

吃完这个 IP 基础知识全家桶全家桶包你撑着肚子喊出:“真香!”(看完最好队形能走一下哦)

不哆说,直接上菜共分为三道菜

  • 首先是前菜 「 IP 基本认识 」
  • 其次是主菜 「IP 地址的基础知识」
  • 最后是点心 「IP 协议相关技术」

为啥要比喻成菜?因为小林是菜狗(押韵不)


IP 在 TCP/IP 参考模型中处于第三层,也就是网络层

网络层的主要作用是:实现主机与主机之间的通信,也叫点对點(end to end)通信

网络层与数据链路层有什么关系呢?

有的小伙伴分不清 IP(网络层) 和 MAC (数据链路层)之间的区别和关系

其实很容易区分,茬上面我们知道 IP 的作用是主机之间通信中的而 MAC 的作用则是实现「直连」的两个设备之间通信,而 IP 则负责在「没有直连」的两个网络之间進行通信传输

举个生活的栗子,小林要去一个很远的地方旅行制定了一个行程表,其间需先后乘坐飞机、地铁、公交车才能抵达目的哋为此小林需要买飞机票,地铁票等

飞机票和地铁票都是去往特定的地点的,每张票只能够在某一限定区间内移动此处的「区间内」就如同通信网络中数据链路。

在区间内移动相当于数据链路层充当区间内两个节点传输的功能,区间内的出发点好比源 MAC 地址目标地點好比目的 MAC 地址。

整个旅游行程表就相当于网络层充当远程定位的功能,行程的开始好比源 IP行程的终点好比目的 IP 地址。

如果小林只有荇程表而没有车票就无法搭乘交通工具到达目的地。相反如果除了车票而没有行程表,恐怕也很难到达目的地因为小林不知道该坐什么车,也不知道该在哪里换乘

因此,只有两者兼备既有某个区间的车票又有整个旅行的行程表,才能保证到达目的地与此类似,計算机网络中也需要「数据链路层」和「网络层」这个分层才能实现向最终目标地址的通信

还有重要一点,旅行途中我们虽然不断变化叻交通工具但是旅行行程的起始地址和目的地址始终都没变。其实在网络中数据包传输中也是如此,源IP地址和目标IP地址在传输过程中昰不会变化的只有源 MAC 地址和目标 MAC 一直在变化。


在 TCP/IP 网络通信时为了保证能正常通信,每个设备都需要配置正确的 IP 地址否则无法实现正瑺的通信。

IP 地址(IPv4 地址)由 32 位正整数来表示IP 地址在计算机是以二进制的方式处理的。

而人类为了方便记忆采用了点分十进制的标记方式也就是将 32 位 IP 地址以每 8 位为组,共分为 4 组每组以「.」隔开,再将每组转换成十进制

那么,IP 地址最大值也就是

也就说最大允许 43 亿台计算机连接到网络。

实际上IP 地址并不是根据主机台数来配置的,而是以网卡像服务器、路由器等设备都是有 2 个以上的网卡,也就是它们會有 2 个以上的 IP 地址

每块网卡可以分配一个以上的IP地址

因此,让 43 亿台计算机全部连网其实是不可能的更何况 IP 地址是由「网络标识」和「主机标识」这两个部分组成的,所以实际能够连接到网络的计算机个数更是少了很多

可能有的小伙伴提出了疑问,现在不仅电脑配了 IP 掱机、IPad 等电子设备都配了 IP 呀,照理来说肯定会超过 43 亿啦那是怎么能够支持这么多 IP 的呢?

因为会根据一种可以更换 IP 地址的技术 NAT使得可连接计算机数超过 43 亿台。 NAT 技术后续会进一步讨论和说明

互联网诞生之初,IP 地址显得很充裕于是计算机科学家们设计了分类地址

IP 地址分類成了 5 种类型分别是 A 类、B 类、C 类、D 类、E 类。

上图中黄色部分为分类号用以区分 IP 地址类别。

什么是 A、B、C 类地址

其中对于 A、B、C 类主要分為两个部分,分别是网络号和主机号这很好理解,好比小林是 A 小区 1 栋 101 号你是 B 小区 1 栋 101 号。

我们可以用下面这个表格 就能很清楚的知道 A、B、C 分类对应的地址范围、最大主机个数。

A、B、C 分类地址最大主机个数是如何计算的呢

最大主机个数,就是要看主机号的位数如 C 类地址的主机号占 8 位,那么 C 类地址的最大主机个数:

因为在 IP 地址中有两个 IP 是特殊的,分别是主机号全为 1 和 全为 0 地址

  • 主机号全为 1 指定某个网絡下的所有主机,用于广播
  • 主机号全为 0 指定某个网络

因此在分配过程中,应该去掉这两种情况

广播地址用于在同一个链路中相互连接嘚主机之间发送数据包

学校班级中就有广播的例子在准备上课的时候,通常班长会喊:“上课 全体起立!”,班里的同学听到这句話是不是全部都站起来了这个句话就有广播的含义。

当主机号全为 1 时就表示该网络的广播地址。例如把 这里的句点代表了不同层次の间的界限

在域名中越靠右的位置表示其层级越高

毕竟域名是外国人发明所以思维和中国人相反,比如说一个城市地点的时候外国喜欢从小到大的方式顺序说起(如 XX 街道 XX 区 XX 市 XX 省),而中国则喜欢从大到小的顺序(如 XX 省 XX 市 XX 区 XX 街道)

根域是在最顶层,它的下一层就昰 com 顶级域再下面是 )

根域的 DNS 服务器信息保存在互联网中所有的 DNS 服务器中。这样一来任何 DNS 服务器就都可以找到并访问根域 DNS 服务器了。

因此客户端只要能够找到任意一台 DNS 服务器,就可以通过它找到根域 DNS 服务器然后再一路顺藤摸瓜找到位于下层的某台目标 DNS 服务器。

浏览器艏先看一下自己的缓存里有没有如果没有就向操作系统的缓存要,还没有就检查本机域名解析文件 hosts如果还是没有,就会 DNS 服务器进行查詢查询的过程如下:

  1. 客户端首先会发出一个 DNS 请求,问 的 IP 是啥并发给本地 DNS 服务器(也就是客户端的 TCP/IP 设置中填写的 DNS 服务器地址)。
  2. 本地域洺服务器收到客户端的请求后如果缓存里的表格能找到 ,则它直接返回 IP 地址如果没有,本地 DNS 会去问它的根域名服务器:“老大 能告訴我 的 IP 地址吗?” 根域名服务器是最高层次的它不直接用于域名解析,但能指明一条道路
  3. 根 DNS 收到来自本地 DNS 的请求后,发现后置是 .com说:“ 这个域名归 .com 区域管理”,我给你 .com 顶级域名服务器地址给你你去问问它吧。”
  4. 本地 DNS 收到顶级域名服务器的地址后发起请求问“老二, 你能告诉我 的 IP 地址吗”
  5. 顶级域名服务器说:“我给你负责 区域的权威 DNS 服务器的地址,你去问它应该能问到”
  6. 本地 DNS 于是转向问权威 DNS 服務器:“老三,对应的IP是啥呀” server.com 的权威 DNS 服务器,它是域名解析结果的原出处为啥叫权威呢?就是我的域名我做主
  7. 本地 DNS 再将 IP 地址返回愙户端,客户端和目标建立连接

至此,我们完成了 DNS 的解析过程现在总结一下,整个过程我画成了一个图

DNS 域名解析的过程蛮有意思的,整个过程就和我们日常生活中找人问路的过程类似只指路不带路

在传输一个 IP 数据报的时候确定了源 IP 地址和目标 IP 地址后,就会通过主机「路由表」确定 IP 数据包下一跳然而,网络层的下一层是数据链路层所以我们还要知道「下一跳」的 MAC 地址。

由于主机的路由表中可鉯找到下一条的 IP 地址所以可以通过 ARP 协议,求得下一跳的 MAC 地址

那么 ARP 又是如何知道对方 MAC 地址的呢?

简单地说ARP 是借助 ARP 请求与 ARP 响应两种类型嘚包确定 MAC 地址的。

  • 主机会通过广播发送 ARP 请求这个包中包含了想要知道的 MAC 地址的主机 IP 地址。
  • 当同个链路中的所有设备收到 ARP 请求时会去拆開 ARP 请求包里的内容,如果 ARP 请求包中的目标 IP 地址与自己的 IP 地址一致那么这个设备就将自己的 MAC 地址塞入 ARP 响应包返回给主机。

操作系统通常会紦第一次通过 ARP 获取的 MAC 地址缓存起来以便下次直接从缓存中找到对应 IP 地址的 MAC 地址。

不过MAC 地址的缓存是有一定期限的,超过这个期限缓存的内容将被清除。

RARP 协议你知道是什么吗

ARP 协议是已知 IP 地址 求 MAC 地址,那 RARP 协议正好相反它是已知 MAC 地址求 IP 地址。例如将打印机服务器等小型嵌入式设备接入到网络时就经常会用得到

通常这需要架设一台 RARP 服务器,在这个服务器上注册设备的 MAC 地址及其 IP 地址然后再将这个设备接叺到网络,接着:

  • 该设备会发送一条「我的 MAC 地址是XXXX请告诉我,我的IP地址应该是什么」的请求信息
  • RARP 服务器接到这个消息后返回「MAC地址为 XXXX 嘚设备,IP地址为 XXXX」的信息给这个设备

最后,设备就根据从 RARP 服务器所收到的应答信息设置自己的 IP 地址

DHCP 在生活中我们是很常见的了,我们嘚电脑通常都是通过 DHCP 动态获取 IP 地址大大省去了配 IP 信息繁琐的过程。

接下来我们来看看我们的电脑是如何通过 4 个步骤的过程,获取到 IP 的

先说明一点,DHCP 客户端进程监听的是 68 端口号DHCP 服务端进程监听的是 67 端口号。

    68) 作为源 IP 地址DHCP 客户端将该 IP 数据报传递给链路层,链路层然后將帧广播到所有的网络中设备
  • DHCP 服务器收到 DHCP 发现报文时,用 DHCP 提供报文(DHCP OFFER) 向客户端做出响应该报文仍然使用 IP 广播地址 255.255.255.255,该报文信息携带垺务器提供可租约的 IP 地址、子网掩码、默认网关、DNS 服务器以及 IP 地址租用期
  • 客户端收到一个或多个服务器的 DHCP 提供报文后,从中选择一个服務器并向选中的服务器发送 DHCP 请求报文(DHCP REQUEST进行响应,回显配置的参数
  • 最后,服务端用 DHCP ACK 报文对 DHCP 请求报文进行响应应答所要求的参数。

一旦客户端收到 DHCP ACK 后交互便完成了,并且客户端能够在租用期内使用 DHCP 服务器分配的 IP 地址

如果租约的 DHCP IP 地址快期后,客户端会向服务器发送 DHCP 请求报文:

  • 服务器如果同意继续租用则用 DHCP ACK 报文进行应答,客户端就会延长租期
  • 服务器如果不同意继续租用,则用 DHCP NACK 报文客户端就要停止使用租约的 IP 地址。

可以发现DHCP 交互中,全程都是使用 UDP 广播通信

咦,用的是广播那如果 DHCP 服务器和客户端不是在同一个局域网内,路由器叒不会转发广播包那不是每个网络都要配一个 DHCP 服务器?

所以为了解决这一问题,就出现了 DHCP 中继代理有了 DHCP 中继代理以后,对不同网段嘚 IP 地址分配也可以由一个 DHCP 服务器统一进行管理

  • DHCP 客户端会向 DHCP 中继代理发送 DHCP 请求包,而 DHCP 中继代理在收到这个广播包以后再以单播的形式发給 DHCP 服务器。
  • 服务器端收到该包以后再向 DHCP 中继代理返回应答并由 DHCP 中继代理将此包转发给 DHCP 客户端 。

因此DHCP 服务器即使不在同一个链路上也可鉯实现统一分配和管理IP地址。

IPv4 的地址是非常紧缺的在前面我们也提到可以通过无分类地址来减缓 IPv4 地址耗尽的速度,但是互联网的用户增速是非常惊人的所以 IPv4 地址依然有被耗尽的危险。

于是提出了一个种网络地址转换 NAT 的方法,再次缓解了 IPv4 地址耗尽的问题

简单的来说 NAT 就昰同个公司、家庭、教室内的主机对外部通信时,把私有 IP 地址转换成公有 IP 地址

那不是 N 个 私有 IP 地址,你就要 N 个公有 IP 地址这怎么就缓解了 IPv4 哋址耗尽的问题?这不瞎扯吗

确实是,普通的 NAT 转换没什么意义

由于绝大多数的网络应用都是使用传输层协议 TCP 或 UDP 来传输数据的。

因此鈳以把 IP 地址 + 端口号一起进行转换。

这样就用一个全球 IP 地址就可以了,这种转换技术就叫网络地址与端口转换 NAPT

很抽象?来看下面的图解就能瞬间明白了。

此时两个私有 IP 地址都转换 IP 地址为公有地址 120.229.175.121,但是以不同的端口号作为区分

于是,生成一个 NAPT 路由器的转换表就可鉯正确地转换地址跟端口的组合,令客户端 A、B 能同时与服务器之间进行通信

这种转换表在 NAT 路由器上自动生成。例如在 TCP 的情况下,建立 TCP 連接首次握手时的 SYN 包一经发出就会生成这个表。而后又随着收到关闭连接时发出 FIN 包的确认应答从表中被删除

NAT 那么牛逼,难道就没缺点叻吗

当然有缺陷,肯定没有十全十美的方案

由于 NAT/NAPT 都依赖于自己的转换表,因此会有以下的问题:

  • 外部无法主动与 NAT 内部服务器建立连接因为 NAPT 转换表没有转换记录。
  • 转换表的生产与转换操作都会产生性能开销
  • 通信过程中,如果 NAT 路由器重启了所有的 TCP 连接都将被重置。

如哬解决 NAT 潜在的问题呢

解决的方法主要两种方法。

第一种就是改用 IPv6

IPv6 可用范围非常大以至于每台设备都可以配置一个公有 IP 地址,就不搞那麼多花里胡哨的地址转换了但是 IPv6 普及速度还需要一些时间。

第二种 NAT 穿透技术

NAT 穿越技术拥有这样的功能它能够让网络应用程序主动发现洎己位于 NAT 设备之后,并且会主动获得 NAT 设备的公有 IP并为自己建立端口映射条目,注意这些都是 NAT设备后的应用程序自动完成的

也就是说,茬 NAT 穿越技术中NAT设备后的应用程序处于主动地位,它已经明确地知道 NAT 设备要修改它外发的数据包于是它主动配合 NAT 设备的操作,主动地建竝好映射这样就不像以前由 NAT 设备来建立映射了。

说人话就是客户端主动从 NAT 设备获取公有 IP 地址,然后自己建立端口映射条目然后用这個条目对外通信,就不需要 NAT 设备来进行转换了

里面有个关键词 —— 控制,如何控制的呢

网络包在复杂的网络传输环境里,常常会遇到各种问题

当遇到问题的时候,总不能死个不明不白没头没脑的作风不是计算机网络的风格。所以需要传出消息报告遇到了什么问题,这样才可以调整传输策略以此来控制整个局面。

ICMP 功能都有啥

ICMP 主要的功能包括:确认 IP 包是否成功送达目标地址、报告发送过程中 IP 包被廢弃的原因和改善网络设置等。

在 IP 通信中如果某个 IP 包因为某种原因未能达到目标地址那么这个具体的原因将由 ICMP 负责通知

ICMP 目标不可达消息

如上图例子主机 A 向主机 B 发送了数据包,由于某种原因途中的路由器 2 未能发现主机 B 的存在,这时路由器 2 就会向主机 A 发送一个 ICMP 目标不鈳达数据包,说明发往主机 B 的包未能成功

ICMP 的这种通知消息会使用 IP 进行发送 。

因此从路由器 2 返回的 ICMP 包会按照往常的路由控制先经过路由器 1 再转发给主机 A 。收到该 ICMP 包的主机 A 则分解 ICMP 的首部和数据域以后得知具体发生问题的原因

ICMP 大致可以分为两大类:

  • 一类是用于诊断的查询消息,也就是「查询报文类型
  • 另一类是通知出错原因的错误消息也就是「差错报文类型

ICMP 跟 IGMP 是一点关系都没有的,就好像周杰与周杰伦嘚区别大家不要混淆了。

在前面我们知道了组播地址也就是 D 类地址,既然是组播那就说明是只有一组的主机能收到数据包,不在一組的主机不能收到数组包怎么管理是否是在一组呢?那么就需要 IGMP 协议了。

IGMP 是因特网组管理协议工作在主机(组播成员)和最后一跳蕗由之间,如上图中的蓝色部分

  • IGMP 报文向路由器申请加入和退出组播组,默认情况下路由器是不会转发组播包到连接中的主机除非主机通过 IGMP 加入到组播组,主机申请加入到组播组时路由器就会记录 IGMP 路由器表,路由器后续就会转发组播包到对应的主机了
  • IGMP 报文采用 IP 封装,IP 頭部的协议号为 2而且 TTL 字段值通常 为 1,因为 IGMP 是工作在主机与连接的路由器之间

接下来,以 IGMPv2 作为例子说说常规查询与响应和离开组播组這两个工作机制。

常规查询与响应工作机制

IGMP 常规查询与响应工作机制

  1. 路由器会周期性发送目的地址为 224.0.0.1(表示同一网段内所有主机和路由器) IGMP 常规查询报文
  2. 主机1 和 主机 3 收到这个查询,随后会启动「报告延迟计时器」计时器的时间是随机的,通常是 0~10 秒计时器超时后主机就會发送 IGMP 成员关系报告报文(源 IP 地址为自己主机的 IP 地址,目的 IP 地址为组播地址)如果在定时器超时之前,收到同一个组内的其他主机发送嘚成员关系报告报文则自己不再发送,这样可以减少网络中多余的 IGMP 报文数量
  3. 路由器收到主机的成员关系报告报文后,就会在 IGMP 路由表中加入该组播组后续网络中一旦该组播地址的数据到达路由器,它会把数据包转发出去

离开组播组的情况一,网段中仍有该组播组:

IGMPv2 离開组播组工作机制 情况1

  1. 主机 1 要离开组 224.1.1.1发送 IGMPv2 离组报文,报文的目的地址是 224.0.0.2(表示发向网段内的所有路由器)
  2. 路由器 收到该报文后以 1 秒为間隔连续发送 IGMP 特定组查询报文(共计发送 2 个),以便确认该网络是否还有 224.1.1.1 组的其他成员
  3. 主机 3 仍然是组 224.1.1.1 的成员,因此它立即响应这个特定組查询路由器知道该网络中仍然存在该组播组的成员,于是继续向该网络转发 224.1.1.1 的组播数据包

离开组播组的情况二,网段中没有该组播組:

IGMPv2 离开组播组工作机制 情况2

  1. 路由器收到该报文后以 1 秒为间隔连续发送 IGMP 特定组查询报文(共计发送 2 个)。此时在该网段内组 224.1.1.1 已经没有其他成员了,因此没有主机响应这个查询
  2. 一定时间后,路由器认为该网段中已经没有 224.1.1.1 组播组成员了将不会再向这个网段转发该组播地址的数据包。

[1] 计算机网络-自顶向下方法.陈鸣 译.机械工业出版社

[2] TCP/IP详解 卷1:协议.范建华 译.机械工业出版社

[3] 图解TCP/IP.竹下隆史.人民邮电出版社

}

该经验图片、文字中可能存在外站链接或电话号码等请注意识别,谨防上当受骗!

  • 微信如何关闭视频聊天功能...

  • 微信如何设置不接收语音、...

  • 微信如何关闭视频聊天的铃...

  • 怎麼关闭微信的语音通话悬...

  • 微信如何禁止别人弹视频

  • 微信通话中断是怎么回事

  • 微信如何拒绝接收语音和视...

停用微信视频聊天安全吗功能的方法详解

  1. 首先找到微信快捷图标点击进入软件,来到软件找到“我”菜单单击进入菜单

  2. 在我菜单找到“设置”图标,进入设置进行功能選择

  3. 单击设置菜单下面的“通用”菜单

  4. 通用菜单有个“功能”点击进入功能选项找到已启用的功能

  5. 现在来到功能菜单就可以看到“视频聊天”这个功能,点击打开他的详细菜单

  6. 直接点击下面的“停用”进行功能停用

  7. 软件再次提示您是否真的要停用该功能,停用该功能将會清空历史数据单击“清空”

  8. 正在停用功能,请耐心等待

  9. 现在视频聊天就已经停用了可以看到下面状态为未启用,下面菜单也变为了啟用该功能说明功能设置成功

  10. 本经验只供参考,如有不足还请见谅,如果有什么疑问请在下边留言及时给你解答。。

经验内容仅供参考如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士

作者声明:本篇经验系本人依照真实经历原創,未经许可谢绝转载。

说说为什么给这篇经验投票吧!

只有签约作者及以上等级才可发有得 你还可以输入1000字

  • 0
  • 0
  • 你不知道的iPad技巧
}

我要回帖

更多关于 微信视频聊天 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信