PC 和手机能够通信的机制
用 PC 或手机打开网站、发送消息、观看视频时,设备内部会进行用于通信的处理。
从人的角度看,通信显得非常简单。
在浏览器中打开 URL。 搜索。 发送消息。 上传图片。 播放视频。
但是,实际上并不是应用独自随意向外通信。
通信是通过应用、OS、设备的网络功能、Wi-Fi 路由器或基站等相互配合而成立的。
本文说明通信在 PC 或手机内部如何开始,又如何被发送到外部网络。
IP 地址、DNS、HTTP/HTTPS、TCP/UDP、通信日志等详细机制,会在其他文章中说明。
PC 和手机是怎样开始通信的
通信在很多情况下从应用操作开始。
例如,考虑在浏览器中打开网站的情况。
当你点击搜索结果或输入 URL 时,浏览器会生成“想打开这个网站”这样的通信内容。
在消息应用中发送文字时也是一样。
当你输入文字并按下发送按钮时,应用会生成“想发送这条消息”这样的通信内容。
上传图片时,会生成“想发送这张图片数据”这样的通信内容。
在视频应用中观看视频时,会生成“想接收这段视频数据”这样的通信内容。
也就是说,通信最初的契机,是应用生成“想与外部交换的内容”。
不过,应用并不是就这样直接与世界各地的服务器通信。
应用生成的通信内容会被交给 OS。
应用会生成想要通信的内容
应用是指浏览器、消息应用、SNS 应用、视频应用、地图应用、游戏应用等。
这些应用会根据需要与外部通信。
浏览器为了获取网页而通信。
消息应用为了收发文字、图片、音频、文件等而通信。
地图应用为了获取地图数据和路线信息而通信。
视频应用为了接收视频数据而通信。
像这样,应用会生成“想发送什么”“想接收什么”这样的通信内容。
但是,仅靠应用无法完成通信。
应用会请求 OS:“请把这次通信发送到外部。”
在这一点上重要的是,通信不是应用单独的动作,而是使用整个设备的机制来进行。
OS 负责把通信发送到外部
OS 是管理整台 PC 或手机的基础软件。
如果是 PC,有 Windows、macOS、Linux 等。
如果是手机,有 Android 和 iOS。
OS 管理应用启动、文件管理、屏幕显示、键盘和触摸操作、安全、网络功能等。
通信也是 OS 管理的重要功能之一。
当应用生成想要通信的内容后,OS 会接收这个通信请求。
然后处理要使用哪种网络功能把它发送到外部。
例如,设备连接到 Wi-Fi 时,OS 会使用 Wi-Fi 把通信发送到外部。
手机使用移动网络时,OS 会使用移动通信功能。
PC 通过 LAN 网线连接时,会使用有线 LAN。
另外,如果正在使用 ,有时也会进行处理,让该通信经过 VPN。
像这样,OS 负责接收来自应用的通信请求,并使用设备的网络功能把它发送到外部。
通信并不是“应用擅自跑到外部”。
其流程是应用生成通信内容,OS 接收它,再使用网络功能发送到外部。
设备具有用于通信的功能
PC 和手机中包含用于与外部通信的功能。
如果是 PC,有 Wi-Fi 适配器或有线 LAN 端口。
Wi-Fi 适配器是用于通过 Wi-Fi 无线电波通信的部件。
有线 LAN 端口是用于通过 LAN 网线通信的接口。
如果是手机,有 Wi-Fi 功能和移动通信功能。
使用 Wi-Fi 时,手机会与附近的 Wi-Fi 路由器通信。
使用移动通信时,手机会与附近的移动基站通信。
有了这样的通信功能,PC 和手机才能连接到外部网络。
不过,PC 和手机并不是单独直接连接到世界各地的服务器。
设备首先会把通信发送到附近的网络设备。
如果是家用 Wi-Fi,会先把通信发送到 Wi-Fi 路由器。
如果是手机的移动通信,会先把通信发送到附近的基站。
如果是有线 LAN,会通过 LAN 网线把通信发送到路由器或网络设备。
之后,通信会经过通信运营商的网络和互联网上的路径,继续向目的地前进。
信息会作为 0 和 1 的数据来处理
这里也看一下设备内部如何处理信息。
从人的角度看,信息有各种形式。
文字。 图片。 音频。 视频。 文件。 应用操作。
但是,计算机并不是以和人类相同的形式理解这些内容。
计算机会把文字、图片、音频等作为数字数据来处理。
其基础就是 0 和 1。
例如,英文字母“A”在代表性的字符编码中,可以表示为 01000001 这样的 0 和 1 的序列。
即使在人看来是“A”这个字符,在计算机内部也会作为规定好的数字数据来处理。
图片也是一样。
图片是由大量颜色和亮度信息集合而成的数据。
即使在屏幕上看起来是照片或插图,在计算机内部也会被当作一组数字来处理,这些数字描述哪个位置显示哪种颜色。
音频也是一样。
音频在人听来是声音。
但是,在计算机内部,它会作为对声波进行细致测量后得到的数字集合来处理。
也就是说,文字、图片、音频、视频在设备内部都会作为数据来处理,其基础是 0 和 1 的组合。
0 和 1 会作为信号发送
不过,0 和 1 这些数字本身并不会原样在空中或电缆中飞行。
0 和 1 是计算机用于处理信息的表示方式。
在实际通信中,0 和 1 的数据会作为电、光、无线电波等信号被发送。
在有线 LAN 中,信息会作为电缆上的电信号发送。
在光纤中,信息会作为光信号发送。
在 Wi-Fi 和移动通信中,信息会作为无线电波的变化发送。
也就是说,设备内部生成的数据在向外发送时,会转换成物理信号。
这时,会通过电的高低、光的变化、无线电波的变化等,表示相当于 0 和 1 的信息。
通信并不只是屏幕上按下按钮而已。
它是通过应用生成数据、OS 进行处理、设备的通信功能把数据转换成信号,并把这些信号发送到网络设备而成立的。
为什么使用 0 和 1
计算机使用 0 和 1 的一个重要原因,是机器容易稳定判断。
对机器来说,区分两种状态相对容易。
例如,电压是低还是高。
信号是没有还是有。
是在某个基准以下还是以上。
如果是这样的两阶段,机器就更容易稳定判断。
如果试图用 10 阶段这样细微的状态表示信息,机器就必须准确分辨很小的差异。
但是,现实通信中存在噪声。
电信号可能会受到扰动。
无线电波可能会受到其他无线电波的影响。
距离变长时,信号也可能变弱。
在这样的环境中,区分 0 或 1 这两个阶段,比区分细小的 10 阶段更稳定。
把信息分成 0 和 1 两种状态来处理的设计,对计算机和通信设备来说容易处理,也是在现实存在噪声的环境中更容易判定的表示方式。
因此,计算机会把信息作为 0 和 1 的组合来处理。
设备首先会把通信发送到附近设备
PC 和手机通信时,设备首先会把通信发送到附近的网络设备。
在家里、学校、公司等使用 Wi-Fi 时,PC 或手机首先会与 Wi-Fi 路由器通信。
之后,通信会从 Wi-Fi 路由器进入通信运营商的网络,再经过互联网上的路径,朝目标服务器前进。
手机使用移动通信时,手机首先会与附近的基站通信。
之后,会经过移动通信公司的网络,前往互联网上的目的地。
使用有线 LAN 时,通信会从 PC 通过 LAN 网线发送到路由器或网络设备。
把这个流程简单整理如下。
- 你操作应用
- 应用生成想要通信的内容
- OS 接收通信请求
- OS 使用设备的网络功能向外发送
- 通过 Wi-Fi、移动通信、有线 LAN 等发送信号
- 首先到达 Wi-Fi 路由器或基站等附近设备
- 从那里继续进入外部网络
像这样,通信并不是只在设备内部就完成。
应用、OS、设备的通信功能、路由器、基站、通信运营商的网络等会相互配合。
通信不是由一个部件决定的
如本页整理的那样,PC 和手机的通信并不是由一个部件决定的。
应用会生成想要通信的内容。
OS 会接收这个通信请求,并使用网络功能把它发送到外部。
设备的通信功能会把数据转换成电、光、无线电波等信号。
Wi-Fi 路由器和基站会把这些信号连接到外部网络。
像这样,通信由多个层次构成。
因此,在理解通信机制时,只把它大致看成“浏览器在通信”“手机在通信”是不够的。
实际上,在背后,应用、OS、设备的通信功能、周围的网络设备分别承担着各自的角色。
有了这个视角,之后学习 IP 地址、DNS、HTTP/HTTPS、TCP/UDP、VPN、WebRTC 等内容时,也会更容易理解。
学习匿名性时的重要视角
思考匿名性时,很多人会关注浏览器。
当然,浏览器很重要。
浏览网站时,浏览器会与外部通信。
根据浏览器设置不同,外部可见的信息也可能改变。
但是,只看浏览器是不够的。
实际通信会涉及应用、OS、网络设置、Wi-Fi、移动线路、DNS 设置、VPN 设置等。
例如,即使在浏览器中注意匿名性,其他应用也可能正在通信。
OS 本身也可能进行更新检查、时间同步等通信。
DNS 设置也会改变名称解析查询被发送到哪里。
即使你以为正在使用 VPN,如果设置不充分,非预期的通信也可能从普通线路出去。
另外,浏览器中也有 WebRTC 这样的功能,根据设置不同,可能导致网络信息泄漏。
像这样,思考匿名性时,需要看的不是“只有浏览器”,而是“整台设备如何通信”。
为了理解浏览器设置、DNS 设置、VPN 设置、WebRTC 泄漏等问题,首先掌握设备的通信从哪里开始、如何向外出去非常重要。
总结
PC 和手机的通信从应用操作开始。
在浏览器中打开网站。
在消息应用中发送文字。
上传图片。
观看视频。
进行这些操作时,应用会生成想要通信的内容。
这些通信内容会交给 OS。
OS 会使用 Wi-Fi、有线 LAN、移动通信等网络功能,把通信发送到外部。
设备的通信功能会把数据作为电、光、无线电波等信号发送。
然后,这些信号首先到达 Wi-Fi 路由器或基站等附近设备,再从那里进入外部网络。
另外,在设备内部,文字、图片、音频、视频等信息会作为数字数据来处理。
其基础就是 0 和 1。
0 和 1 容易让机器稳定判断,并且对噪声也相对较强,因此被用作计算机和通信的基础。
本文中重要的是,通信并不是“应用擅自跑到外部”。
只有应用、OS、设备的网络功能、Wi-Fi 路由器或基站等相互配合,通信才会成立。
这个视角在学习匿名性时也很重要。
思考匿名性时,需要看的不只是浏览器,还要包括应用、OS、网络设置、Wi-Fi、移动线路、DNS 设置、VPN 设置等。
理解通信在 PC 或手机内部如何开始,又如何向外出去,是理解网络与匿名性的基础。
相关工具
WhatIsMyIP
与本文相关的外部资源。只有在符合你的处境和威胁模型时再打开。
列在这里的原因: 它可能有助于理解本文主题,但位于 Anonymity Sense 之外,使用前应先自行确认。
DNSLeakTest
与本文相关的外部资源。只有在符合你的处境和威胁模型时再打开。
列在这里的原因: 它可能有助于理解本文主题,但位于 Anonymity Sense 之外,使用前应先自行确认。