赞
踩
电子监听、全国断网,棱镜门背后,中国如何从末路狂奔到世界之巅(DNS域名)
计算机网络
有多牛?从1G到5G,我们的使用报告未完待续
实际上4G或者5G技术并没有改变计算机网络协议,而是改变了无线电波的信息通信标准提高电磁波频谱资源利用率和效率。
5G:超高速、低时延、海量连接
物理基础
无线网络的物理数据传递方式是电磁波或者光波(模拟信号),光纤是电压转变为光波脉冲序列传递信息—光信号,网线拨号上网是电压传递信息,电脑内部信息是电压传递。(数字信号)
无线电波、红外线、可见光、紫外线、X射线、γ射线等等无线通信都是电磁波,不过它们的产生方式不尽相同,波长也不同,把它们按波长(或频率)顺序排列就构成了电磁波谱。
无线电波技术将全世界紧密相连。
卫星也是基于无线电波技术实现的超远程通信。
卫星通信主要是因为基站总不能在海上,沙漠,深山老林等地方大量建立吧,所以这时候你就要用卫星通讯了,这种超远距离无线通信就用到卫星了。
无线都是基于电磁波。
无线电波存在物理极限。
无线是有限的,有线是无限的。
无线都是基于电磁波。
WiFi信号和收音机收到的信号,包括手机打电话的信号,都是靠电磁波传输的,只不过他们对应的频率不一样。
之所以手机联WiFi不能像收音机一样,因为传输WiFi信号的能量不够。你想手机为什么可以随时用流量,打电话,因为信号足够强,你在楼顶上看到的铁塔包括野外看到的大的铁塔(就是所谓基站),它们的作用是接力传递并增强远处传来的信号(因为电磁波随传输距离增加,强度会衰减)。把信号比作接力比赛的棒子,人就是基站,棒子从一个人传到另一个人,可以传很远。再比如有3个人站成一条线,每个人之间相隔很远,只有相邻两个人说话可以听见。边上两个人直接说话相互听不到,但是如果中间这个人给他们传话,两边的人就可以听到各自的声音。
至于能不能做到wifi也无处不在,打开手机wifi连接,肯定可以,只要有足够多的“基站”(和上面说的基站不是一回事,只是个比喻)。
无线电波是电磁波。无线电波是指在自由空间传播的射频频段的电磁波。无线电波的波长越短、频率越高,相同时间内传输的信息就越多。在不同的波段内的无线电波具有不同的传播特性。频率越低,传播损耗越小,覆盖距离越远,绕射能力也越强。但是低频段的频率资源紧张,系统容量有限,因此低频段的无线电波主要应用于广播、电视、寻呼等系统。
无线电波频率范围是0-3000GHz有限的范围,而1/2/3/4/5G技术主要是在有限的频率范围内实现更高的利用效率。
1/2/3/4/5G主要指无线电波技术,基于无线通信的技术。
无线电技术原理。
无线电技术以导体中电流发生强弱变化时产生的无线电波作为载体,信息调制应用其中,承载着信息的电磁波在空间中进行传输,并到达无线电广播终端设备,电波在这时发生了磁场变化,由于导体中有电流,需要使用解调方式将数据信息提取出来。
从在浏览器中输入网址开始,一路追踪到显示出网页的内容位置的整个过程。
实际软件开发中的前后端http数据交互只用到了应用层。
七层网络协议是指应用层(提供应用程序间的通信)、表示层(处理数据格式、数据加密)、会话层(建立、维护和管理会话)、传输层(建立主机端到端链接)、网络层(寻址和选择路由)、数据链路层(提供介质访问和链路管理)、物理层(比特流传输)。
四层网络协议主要指应用层、运输层、网际层和网络接口层。 五层网络协议是指应用层、运输层、网络层、数据链路层和物理层。
物理层:网络通信中的硬件设备(网卡,网线…)
数据链路层:负责完成相邻两个设备之间的通信
网络层:负责点到点之间的通信。网络中的任意节点,到任意节点之间的通信,网络层负责这个两个点,规划出一条合适的路线
传输层:负责端到端之间的通信。(起点到终点)只关注结果,不关注过程
引用层:负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
我们的网络编程主要就是针对应用层
场景再现:
360自动修复网络我就记住一句话:“如果你可以登录QQ,但打不开网页,往往是DNS服务出了问题”
原理:
QQ是直接使用IP地址来连接服务器的,所以即便DNS失效,它依然可以“屹立不倒”,以至于现在有很多人把QQ当成一个排查DNS问题的“参照物”。
QQ是基于UDP协议来通信,是IP到IP,所以不用走DNS域名解析,并且QQ是桌面应用非网页,无需通过URL进行域名解析通信。
URL就是网络资源的地址,只有知道URL才能访问到网络资源,就像知道家庭住址才能找到对应人一样。
网络的全貌
request请求------信息传输------response响应。
用户端应用程序------搬运数字信息(0|1)的机制------服务器。
域名系统
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
路由器
路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。因此,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。
路由器分本地路由器和远程路由器,本地路由器是用来连接网络传输介质的,如光纤、同轴电缆、双绞线;远程路由器是用来连接远程传输介质,并要求相应的设备,如电话线要配调制解调器,无线要通过无线接收机、发射机。
以太网和无线网络在传输媒介、连接方式以及成本方面存在显著差异。具体分析如下:
以太网和无线网的区别
综上所述,以太网因其稳定性和高速度通常用于办公室或家庭中对网络要求较高的场合,而无线网络由于其便利性和灵活性,更适合移动设备或布线困难的环境。
Web服务器
(1)浏览器:“请给我×××网页的数据。”(浏览器向Web服务器发送请求–request)
(2) Web服务器:“好的,这就是你要的数据。”(Web服务器根据请求向浏览器发送响应–response)
服务器一般采用Linux开发环境。
简单点说就是运行着服务器软件的计算机。服务器软件就是处理各种请求,并做出相应的回应。
简单来说:具备公网IP的电脑可被搜索连接访问。用户可以通过URL(IP/域名)访问服务器中部署的服务和数据。
Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、 Nginx 、IIS。 ——百度百科
信息传输
用户请求和服务器响应都是由0和1组成的数字信息,所以可以说,我们需要的是一种能够将数据信息搬运到指定目的地的机制和规则。
网络是由许多设备连接组成的,信息则是由0和1组成的数据,传输过程中也可能出现数据丢失。因此网络传输的目的就是将信息有组织规则的传到目的地的机制。而这一过程是由网络控制软件以及路由器等设备共同合作来实现的。基本思路就是将信息切割成块,然后装入到一些称为“包”的容器中。
包相当于信件或者包裹,而交换机和路由器则相当于邮局或快递公司的分拣处理区。包的头部存有目的地等控制信息,通过许多交换机和路由器的接力,就可以根据控制信息对这些包进行分拣,然后将它们一步一步地搬运到目的地。
Web浏览器(URL,生成request请求信息)→网络控制软件/协议栈(消息层层打包,加目的地等控制信息,交网卡)+网卡(数据包转化电信号(->光信号),通过网线或光纤发送)→集线器+交换机+路由器(进入背后的互联网)→接入网(通信线路)+网络运营商基站(接入接入点的设备/POP/路由,进入骨干网到达Web服务器的局域网)→防火墙(检查非法包)+缓存服务器(存放重复利用数据)+负载均衡器(消息发到多个Web服务器)→Web服务器(层层解包为请求信息,交给程序)→反向推送response响应→浏览器读取response数据并显示。
- URL—》DNS域名解析—》IP
- 浏览器显示的内容都是response的body返回的数据。
关键点:
运营商使用的路由器可跟我们家用的小型路由器不一样,它是一种可以连接几十根网线的高速大型路由器。在互联网的骨干部分,存在着大量的这种路由器,它们之间以复杂的形式连接起来,而网络包就在这些路由器之间穿行。
由于5G无线电波的频率高所以无法实现远距离传输,因此构建5G网络所需5G基站数目足够多,才可以实现5G无线电波远距离传输。
5G频率高导致耗电也多
由于5G基站可用范围小但数目多,产生了基站定位更加精准的效果。
例如:只要联通用户用手机打电话,发短信,打电话,流量冲浪等等需要基站传输无线电波信号的服务,都可以被记录下来,从而实现用户行程定位。
基础知识
1、营业厅办理的宽带带宽(网速)是资源包并发量(大小)。
2、光猫就是网线:电信号 <-互转-> 光纤:光信号。
光猫是有账户随着办理人走的,每个人想新办理宽带是不能用上任留下的设备的,需要再次缴纳一次性费用(安装费)。
3、路由器就是网线电信号转无线电波。
网络资源输入(光->电->无线电波):光纤->光猫->路由器.
网络请求输出(无线电波->电->光):路由器->光猫->光纤.
路由器三大要素
1、功率(无线穿墙和覆盖面积)。
2、有线技术(有线接口(如WAN口和LAN口):能支持的网线最高带宽。
3、无线技术(WiFi):无线的最高带宽。
经常有假千兆路由器有线技术千兆,无线技术500M 。
有线端口带宽过剩,千兆带宽套餐办理错误,真实无线体验500M,浪费钱,反之无线技术千兆,有线技术500M同样真实体验500M。
需要买有线技术和无线技术都是千兆的才行。
实例:
无线技术:不能看双频总和,因为你用的时候只用一个频率,要看单频最多多少兆。
电磁波频宽->无线带宽
主要是建立http连接后请求网络资源下载到内存再解析展示,决定用户体验和宽带网速(下载/Mbps决定用户体验)。
拓展:
路由器搭建的5G局域网,频率高范围小,2.4G局域网,频率低范围远。
但是最终都是走路由器只是在路由器搭建的局域网内分5G和2.4G快慢
为什么5G传输范围小?
由电磁波的物理特性决定的:波长越长衰减越少,也更容易绕过障碍物继续传播。5G信号频率高、波长短,而2.4G信号频率低、波长长,所以5G信号穿过障碍物时衰减更大,穿墙能力比2.4G信号弱,所有双频无线路由器都存在这样的情况。
IPV4和IPV6之间不能相互转换需要其它设备转换和映射。(花费太大)
很简单啊,就两个字:利益。
ipv4地址紧缺现在是大面积采用了NAPT转换的方式来缓解,也就是通过牺牲独立ip的方式来解决ip不足的问题。另一种方法就是升级ipv6。那么分析一下这两种方案对不同人的利弊
对于用户来说,NAPT当然是不利的,没有了独立ip,很多东西都无法开展,你现在用的很多P2P东西能正常使用,那都是开发者专门针对NAPT这玩意做了优化的。比如下载器、游戏。而IPv6的话,v4v6双栈跑一点问题没有,v4用NAPT然后有v6这是完美的解决方案。
对于运营商来说,ipv6的地址要申请分配,设备要升级,路由也要处理,总体来说要近似搭建一张全新的网络,成本高昂。NAPT的话则只需要改改配置,升级一下地址分配服务器软件就可以了。而NAPT的缺点对于运营商来说,这就是一个优点。用户想要IP地址怎么办,花钱买专线呗,自己手里的IP地址更挣钱了。反正三家运营商都一样,用户你也没得选。通过侵害消费者权益来实现差异化定价,赚的很饱好么。
对于服务提供商来说,网络肯定是买专线,专线肯定有独立ip地址,所以他们其实不在乎这个。虽然由于ipv4地址的稀缺,他们想要更多的ip地址就要付出更多的钱,但是通过服务分流的方式,也可以降低ip地址的需求,所以问题不大。对于他们来说,重要的是有没有,有多少是次要的。支持ipv6当然更好,不支持也没关系。
ok,网络上下游很明确了,一个赞同ipv6,一个赞同NAPT,一个弃权。然后再看看这仨,谁强势,谁弱势。
三方利益往这一摆,为什么ipv6没普及,这不就很明显了么。
其实要追根溯源,还是消费者在面对不提供独立ip地址的运营商面前没有话语权。至于为什么没有话语权,那就是另外一个问题了
公网IP–》多个私网IP(192.168.x.x)
IPV4过渡技术:私网地址
192.168.x.x等都是私网地址:假IP
私有网络地址的特征是它们属于保留的 IP
地址范围,用于内部局域网或私有网络,不被路由器转发到公共互联网。私有网络地址的使用旨在提供内部通信而不会与全球公共互联网上的其他网络发生冲突。以下是私有网络地址的特征:
保留的 IP 地址范围: 私有网络地址是根据专门的 IP 地址范围保留的,这些地址不可在公共互联网上路由。最常见的私有网络地址范围包括:
- 10.0.0.0 到 10.255.255.255
- 172.16.0.0 到 172.31.255.255
- 192.168.0.0 到 192.168.255.255
内部通信: 私有网络地址用于在组织、家庭或企业的内部网络中进行通信。这些地址通常在本地局域网(LAN)上使用,不会被直接转发到公共互联网。
NAT(网络地址转换): 私有网络可以使用网络地址转换(NAT)来映射多个私有 IP 地址到单个公共 IP 地址,以便内部网络中的多个设备可以共享一个公共 IP 地址。
安全性增强: 由于私有网络地址不直接访问公共互联网,它们在一定程度上增加了内部网络的安全性。这有助于防止外部互联网上的未经授权访问。
总之,私有网络地址是一种为了内部通信而保留的特殊 IP 地址范围,旨在提供安全、内部化的网络环境,不与全球互联网上的公共 IP地址发生冲突。
将一个公网地址提供给多个私网地址在互联网中通信使用。
每一个小的局域网都会使用一个网段的私网地址,在与外界连接时再变成公网地址。
云平台的作用
存放我们的docker容器,让计算跑在云端。
获得公网IP地址,让每个人可以访问到我们的服务。
特定划分出来几个私网网段。
公网不识别以下几个私网网段,10,172,192开头的。
私网网段:用户在创建虚拟私有云VPC时,需要指定虚拟私有云VPC使用的私网网段。当前虚拟私有云VPC支持的网段有10.0.0.0/824、172.16.0.0/1224和192.168.0.0/16~24。
子网:云资源(例如云服务器、云数据库等)必须部署在子网内。所以,虚拟私有云VPC创建完成后,您需要为虚拟私有云VPC划分一个或多个子网,子网网段必须在私网网段内。
同一个私网下所有子网互通。
路由表:在创建虚拟私有云VPC时,系统会自动生成默认路由表,默认路由表的作用是保证了同一个虚拟私有云VPC下的所有子网互通。当默认路由表中的路由策略无法满足应用(比如未绑定弹性公网IP的云服务器需要访问外网)时,您可以通过创建自定义路由表来解决。
网络两端相当于寄件人和收件人,协议栈相当于取件的快递员,快递员取件后将要寄出的快递打包好,写上目的地址,贴上快递单详情信息,然后交给网卡/光猫(也就是物流公司)通过网线/光纤(相当于物流)来运输到目的地
URL就是网络资源的地址,只有知道URL才能访问到网络资源,就像知道家庭住址才能找到对应人一样。
为了简化网络的复杂度,网络通信的不同方面被分解为多层次结构,每一层只与紧挨着的上层或者下层进行交互,将网络分层,这样就可以修改,甚至替换某一层的软件,只要层与层之间的API接口保持不变,就不会影响到其他层。
层与层之间通过调用API进行沟通,提高了网络协议可扩展性
可将上方报文格式和下方具体报文进行一一对比映射。
URL:统一资源定位符(Uniform Resource Locator,缩写为URL),又叫做网页地址,是互联网上标准的资源的地址(Address)。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
例如:http://localhost:8080/index.html
模式(或称协议)、服务器名称(或IP地址)、路径和文件名
url是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名,如“协议://授权/路径?查询”。完整的、带有授权部分的普通统一资源标志符语法看上去如下:协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志。
计算机网络的协议栈是OS中的网络控制软件
协议栈是指网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议.
使用最广泛的是英特网协议栈,由上到下的协议分别是:
应用层(HTTP,TELNET,DNS,EMAIL等),运输层(TCP,UDP),网络层(IP),链路层(WI-FI,以太网,令牌环,FDDI等),物理层.
网卡将数据包转化为电信号并通过网线进入网络中
网线是基于电压差分来识别01010的—电信号,但没有利用磁场。
光猫将网卡转化的电信号转化为光信号并通过光纤进入网络中
光纤是基于光波脉冲序列传递0101信息—光信号
协议栈将数字信号打包好交给网卡,网卡进行对数字信号转化为电信号,然后再通过光猫将电信号转换为光信号通过光纤发送
一、从输入网址到获得网页的过程
1 浏览器查询DNS,获取域名对应的ip地址,具体包括浏览器搜索自身DNS缓存,搜索操作系统DNS缓存,读取本地host文件,向本地DNS服务器进行查询。
2 浏览器获得域名对应的ip地址以后,浏览器向服务器请求建立连接,发起三次握手。
3 TCP/IP连接建立后,浏览器想服务器发送HTTP请求。
4 服务器接收到这个请求,并根据路径参数映射到特定的请求处理器进行处理,并将处理结果及相应的视图返回给浏览器。
5 浏览器解析并渲染视图,若遇到对js文件,css文件及图片等静态资源的引用,则重复上述步骤并向服务器请求这些资源。
6 浏览器根据其请求到的资源和数据渲染问好,最终向用户呈现一个完整的页面。
二、计算机网络的体系结构和作用
1 第一层物理层,用于通信信道上的原始比特流传输。主要设备为集线器和中继器,协议数据单元为比特。
2 第二层数据链路层,物理寻址,数据的成帧,流量控制,数据的检错和重发。协议数据单元为帧,主要设备为网桥和交换机。
3 第三层网络层。将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方。协议数据单元为包,主要设备包括路由器。主要协议是IP和ARP。
4 第四层传输层,负责将上层数据分段并提供端到端的,可靠的或者不可靠的传输,还要处理端到端的差错控制和流量控制问题。协议数据单元为数据段,主要协议为TCP,UDP
5 第五层会话层,不同机器上的用户之间建立及会话管理。
6 第六层表示层,信息的语法语义以及他们的关联,如加密解密,转换翻译。
7 第七层应用层,负责为操作系统或者网络应用提供网络服务的接口。主要设备为网关。提供的服务包括文件传输,文件管理等。主要协议为HTTP和FTP。
三、TCP和UDP的区别
tcp是面向连接的,可靠的,udp是无连接的,不可靠的。tcp只支持点对点通信,udp支持一对一,一对多,多对一和多对多。tcp是面向字节流的,udp是面向报文的。
四、什么时候用TCP,什么时候用UDP
对某些实时性要求比较高的时候,选择udp,比如游戏,媒体通信和实时视频流,即出现传输错误也可以容忍。其他大部分情况,HTTP都是用TCP,因为要求传输内容可靠,不出现丢失。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。