从浏览器输入url到页面加载(六)前端必须了解的路由器和光纤小知识

前言

上一章我们说到了数据包在网线中的故事,说到了双绞线,还说到了麻花。这一章继续沿着这条线路往下走,说一些和cdn以及路由器相关,运营商以及光纤相关的小知识,前端同学应该了解一下的

 

目录

前言

1.  CDN和路由器有关系吗?

2. 你的电脑能直接上网吗?

3.  运营商的井盖

4. 通信线路服务 

5. 小结


1.  CDN和路由器有关系吗?

我们做前端开发经常会谈到cdn加速的话题,意思就是比如我们的网站部署在县里,村里的人访问网站,就要发送请求数据,输入url,然后请求从生产队出发,到达村里,村里在到乡里,乡里又到县里,最终找到那台服务器,访问网站内容,然后数据再从县里原路返回生产队,然后我们的手机上显示了响应的网页内容。

这样必定路途遥远,所以县里为了解决这个问题,出现了一家服务商,提供cdn加速服务。他们在在全县18个乡镇部署了CDN缓存节点,每次县里升级网站后,顺带着把最新的内容部署到18个乡镇的CDN缓存节点上。这样,我们在自己家里,再发出请求的时候,到自己的乡里就直接请求到数据了,这样是不是很快了。所以,如果这个CDN服务商足够强悍,可以往全县193个存大队书记家也部署上节点,这样,我们在家里访问网站就更快啦。

而在数据电信号传输过程中,请求包是要从村里往乡里发,在从乡里往县里发,我们知道每次数据走向是路由器根据配置信息做的决定。所以,路由器和CDN服务器配置后,路由器便知道如何调度到适当的缓存服务器上,当然,路由器还可以根据用户与服务器的就近性,服务器的设备状态等情况进行分配。

如果在回答CDN问题的时候,如果可以顺带着说一些路由器的小知识点,是绝对有用的。但也不排除,那个面试官不知道这回事,觉得你在瞎说,然后断定你回答的不好。

 

 

2. 你的电脑能直接上网吗?

很多时候,例如在公司的个人电脑,是没有公有地址的,意思就是你的个人电脑其实并没有直接连接到互联网中。

一般我们用公司的电脑上网查资料,上CSDN找代码, 其实是必须通过公司的大路由器设备的。但在家里,如果你的网线直接插在电脑上,其实就给自己的电脑配置了TCP/IP信息,这就相当于家里的电脑有了公有地址。但在公司的电脑,这个公有地址会配置在路由器上,我们的个人电脑就被配置了一个私有地址,必须得依靠这个大路由器才能上网。

很多公司控制的比较严格,记得有一次给朋友发图片发不出去了,后来才发现,自己电脑为了调试,用whistle做了代理,导致和公司的那一层代理服务器起了冲突,被拦截了。

但如果个人电脑配置了TCP/IP信息,就拥有了公有地址,这意味着来自互联网的包可以直接到达计算机,这可能导致计算机被攻击。因此,对于直接上网的客户端计算机,我们应该采取安装防火墙软件等防御手段。

3.  运营商的井盖

我们普通用户要访问一个网站,中间必定要经过运营商的地盘。(没错,运营商是基建)而我们访问后,数据包绝对不会只通过一家运营商的地盘,他们的管辖盘根错节的。

 一般我们公司的机房或者个人家庭电脑就是那种网线,上一章说到那种双绞线就满足使用了,但运营商走的数据量一定是巨大的,他们会更多的使用光纤。(哈哈,近几年小区单元门里,墙上经常看见一张纸上写的光纤入户,说明了什么?

光纤不像普通的电线,架设个高压线大高塔就行了(我曾不止一次看见那种高压线高塔就想,我啥时候能往上爬一爬啊)。光纤需要地下铺设,出了问题还需要大量的维护人员进行排查维修,日常还需要巡检维护,所以能用得起光纤的运营商必定很有能力。而且平时我们在路上看见的井盖,也不都是下水道的,的确也有运营商相关的。

4. 通信线路服务 

运营商有光纤,那么也有一些小的例如电话公司(咱们的运营商就是电话公司),他们没有光纤,但是如果电话线走光纤传输速度那将是相当快的。没有光纤,怎么办,租。但一条光纤并不是只能传输一条语音数据,光纤是可以复用的,一条语音数据只占其通信能力的一部分。

这样,拥有光纤的运营商就可以靠收租金,收服务费带来一定的收益,这就是通信线路服务。

其实“从浏览器输入url到页面加载”这个话题,你可以换着问,

  • 例如我们页面中加载一个图片的过程是怎么样的?
  • 例如我们发送一个ajax请求的过程是怎么样的?
  • 你甚至还可以问,打电话的时候,你说出一句“好阿又”,对方回复了一句“艾亩fai 三可由”的过程是怎么样的?

所以,无论电话业务,还是互联网业务,他们在传输这一点上,其实是有共同性的。你是不是想问,我的安卓手机打个电话还要走光纤?我说的是这个电话,如下图的电话:

 

5. 小结

其实学完这一节,我们可以解释很多问题,比如为什么国外某些网站我们可以访问,但有些访问不了;比如为什么那些知名网站可以访问速度这么快(排序他们本身做的web性能优化);比如我们日常看见的井盖为什么还有运营商标志的;比如为什么公司的陆游气坏了,大家都上不了网了等等吧。

 我为大家精心准备了投票环节,你一定会喜欢哒!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1453.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自定义类型详解(C语言)

自定义类型 一. 结构体1.1 什么是结构体1.2 结构体的声明1.3 特殊的声明1.4 结构体的自引用1.5 结构体变量的定义和初始化1.5.1 结构体变量的定义1.5.2 结构体变量的初始化 1.6 结构体内存对齐1.6.1 为什么存在内存对齐 1.7 修改默认对齐数1.8 结构体传参 二. 位段2.1 什么是位…

OCR学术前沿及产业应用高峰论坛202204

OCR学术前沿及产业应用高峰论坛 相关议程:https://mp.weixin.qq.com/s/LYoKHFad9D-gjhGlVF3Czg 广告OCR技术研究与应用-腾讯 视频制作ASR,ocr得到字幕 计算机动画CG OCR实践与技术创新 - 蚂蚁 loss优化 数据合成 对比学习的方式,什么样是…

冯诺依曼体系结构

文章目录 一.冯诺依曼体系结构的主要组成部分1.输入设备 & 输出设备2.存储器3.运算器 & 控制器 二.为什么这么设计三.现实案例 一.冯诺依曼体系结构的主要组成部分 当代的计算机,本质上都是一堆硬件的集合(CPU、内存、磁盘、显卡等)…

springboot中的接口实现调用

定义接口:实现接口调用分析在类中定义方法也可以在其他类中声明使用,与使用接口的方法相比他们的差异是什么,哪个更合理 springboot中的接口实现调用: 定义接口: 通过创建一个interface的类型的类创建接口 示例: package app.test4.OpportunityMatching;import org.springframe…

【C++】命名空间 ( namespace )

目录搁这 什么是命名空间命名空间的作用如何定义命名空间命名空间的种类如何使用命名空间内的成员作用域限定符命名空间展开命名空间全部展开命名空间部分展开 总结 什么是命名空间 命名空间是一种用来避免命名冲突的机制,它可以将一段代码的名称隔离开&#xff0c…

对学习方法的一些思考

只看基金的招募书和合同的只言片语是没办法彻底的了解这只基金的策略的,必须有一个机会看看基金经理是怎么聊这个策略的! 基金这个壳子的【股票/债券】究竟应该如何配比才能达到理想且优秀的效果呢? 【债券配得多从长期(5年&#…

纯CSS实现的卡片切换效果

纯CSS实现的卡片切换效果 无需JS就可以实现限于纯静态页面产品展示不需要轮播,自动切换 示例代码 <template><div class"example-css-tab"><div class"container dwo"><div class"card"><input type"radio"…

【实战总结】SpringMVC架构升级SpringCloudAlibaba

升级目标 SpringMVCDubboZookeeper分布式架构改为Spring Cloud Alibaba微服务 技术框架:Spring Boot 2.7.2、Spring Cloud 2021.0.3 & Alibaba 2021.0.1.0 容器:Tomcat 9.0.65 JDK:1.8 配置中心:Nacos 2.0.4 消息队列:RocetMQ 4.9.3 配置中心:Apollo 11.0 缓存: Redis 4.0…

Elasticsearch 查询分析器简介

Elasticsearch 查询分析器简介 一、Elasticsearch 查询分析器概述1.1 Elasticsearch 简介1.2 查询分析器的作用 二、查询分析器类型2.1 Standard Analyzer2.2 Simple Analyzer2.3 Whitespace Analyzer2.4 Stop Analyzer2.5 Keyword Analyzer2.6 Pattern Analyzer2.7 语言分析器…

【C语言】杨氏矩阵中寻找元素

题目名称&#xff1a; 杨氏矩阵 题目内容&#xff1a; 有一个数字矩阵&#xff0c;矩阵的每行从左到右是递增的&#xff0c;矩阵从下到上递增的&#xff08;杨氏矩阵的定义&#xff09;&#xff0c;请编写程序在这样的矩阵中查找某个数字是否存在。 形如这样的矩阵就是杨氏…

[USACO21DEC] Convoluted Intervals S

洛谷[USACO21DEC] Convoluted Intervals S 题目大意 有 n n n个区间&#xff0c;第 i i i个区间为 [ a i , b i ] [a_i,b_i] [ai​,bi​]&#xff0c;都在 [ 0 , m ] [0,m] [0,m]上。对于每一个 k ∈ [ 0 , 2 m ] k\in [0,2m] k∈[0,2m]&#xff0c;求满足 a i a j ≤ k ≤ …

关于贪心算法的一个小结

下面的内容主要参考了数据结构与算法之美。 贪心算法的应用有&#xff1a; 霍夫曼编码&#xff08;Huffman Coding&#xff09; Prim和Kruskal最小生成树算法 01背包问题(当允许取部分物品的时候) 分糖果 我们有m个糖果和n个孩子。我们现在要把糖果分给这些孩子吃&#xff…

MySQL是否解决幻读问题

MySQL是否解决幻读问题 MySQL事务隔离级别 ✓ 读未提交&#xff08;Read Uncommitted&#xff09;&#xff1a;最低的隔离级别&#xff0c;会读取到其他事务还未提交的内容&#xff0c;存在脏读。 ✓ 读已提交&#xff08;Read Committed&#xff09;&#xff1a;读取到的内容都…

chatglm微调

chatGML 看到 【【官方教程】ChatGLM-6B 微调&#xff1a;P-Tuning&#xff0c;LoRA&#xff0c;Full parameter】 【精准空降到 15:27】 https://www.bilibili.com/video/BV1fd4y1Z7Y5/?share_sourcecopy_web&vd_sourceaa8c13cff97f0454ee41e1f609a655f1&t927 记得看…

npm 加速 国内镜像源

一、修改成腾讯云镜像源 1、命令 npm config set registry http://mirrors.cloud.tencent.com/npm/ 验证命令 npm config get registry 如果返回http://mirrors.cloud.tencent.com/npm/&#xff0c;说明镜像配置成功。 二、修改成淘宝镜像源 命令 npm config set regist…

一文了解Docker之网络模型

目录 1.Docker网络 1.1 Docker网络模型概述 1.2 Docker网络驱动程序 1.2.1 host模式 1.2.2 bridge模式 1.2.3 container模式 1.2.4 none模式 1.3 Docker网络命令示例 1.3.1 创建一个自定义网络 1.3.2 列出所有网络 1.3.3 连接容器到网络 1.3.4 断开容器与网络的连接…

SpringCloud(三)LoadBalancer负载均衡

一、负载均衡 实际上&#xff0c;在添加LoadBalanced注解之后&#xff0c;会启用拦截器对我们发起的服务调用请求进行拦截&#xff08;注意这里是针对我们发起的请求进行拦截&#xff09;&#xff0c;叫做LoadBalancerInterceptor&#xff0c;它实现ClientHttpRequestIntercep…

Android 系统的分区介绍

由于Android系统采用Linux架构&#xff0c;所以Android的系统分区可以类比同样采用Linux架构的操作系统&#xff08;如Windows&#xff09;。 Android系统分区分类 现在一般常见的Android分区方式共有三种&#xff0c;在不同的Android系统版本上会采用不同的分区方式。 1、传…

Postman接口自动化之postman脚本编写

这是之前搞的接口自动化方案&#xff0c;已经在业务测试中实现了使用postman编写接口脚本&#xff0c;通过GitHubJenkinsemail html report实现了接口自动化&#xff0c;现在分块整理一下。 postman脚本编写 1、创建集合 和 目录&#xff1a; 一条业务线下的接口可以放到一个…

Android adb说明与详解

Android adb 说明与详解 Android Debug Bridge&#xff08;ADB&#xff09;是一个非常有用的工具&#xff0c;它可以帮助开发人员在Android设备和计算机之间进行通信&#xff0c;以便在设备上进行调试、测试和安装应用程序。 1. 安装ADB 在使用ADB之前&#xff0c;您需要安装…