灵魂9问,光怪陆离的网络世界有哪些不为人知的秘密?(网络面试必...
你比诸葛亮更厉害,你有庞大的情报网,无论走到哪都可以实时收到天下大事,并做出决策你有比皇帝更强大的八百里加急传书,1 秒之间就能和你的大臣聊骚、分享宫里生活、快乐、与悲伤全世界的人都在为你服务,你可以不用出门就买东西、订客栈、吃到贝加尔湖的皮皮虾、给大明湖畔的夏雨荷发红包......互联网,改变了我们的生活。互联网也给我们提供了就业机会,让千千万万的人吃上一口饱饭那,你有没有想过?这么传奇的东西,到底是通过什么方式走到我们的眼前?里面到底充斥着什么不为人知的秘密?
现在就请你和小熊一起走向今天的探索发现,一起揭秘 21 世纪最神秘的诡异技术 —— 互联网
一、是什么组成了网络?



2020
年,起码有200
亿以上的设备连入了互联网!网络把很多计算机连接在一起,变成一个一个小的网络,比如家庭网络、公司网络、移动网络,把很多网络连起来就叫因特网(Internet,注意大写 I)
二、为什么我们可以享受网络服务?

1993
年开始,政府机构不再负责因特网的运营,这个时候无数的因特网服务提供商 ISP(Internet Service Provider)涌现,比如中国电信、联通、移动,为了给广大人民群众实现联网
ISP
向Internet
管理机构申请很多IP
地址,大ISP
自己造通信线路,小ISP
就租他们通信线路以及各种联网设备。我们就只要向ISP
交钱获得IP
使用权,就可以接入到互联网了。
ISP
获得的IP
地址,接入到因特网”IP
地址管理机构不会把单个IP
分配给单个用户,而是把一批IP
有偿租用给合格的ISP
,所以因特网就是无数的ISP
共同拥有的,这种现象被称为“网络中的网络”
ISP
根据其规模大小被拆分为不同层次,覆盖面积最广的就是主干ISP
,通常为国家级范围,其次是地区,借助一个或多个主干并联,最后是本地ISP
,可以直接连主干,也可以连地区,也就是我们最常用的(比如公司内网私有云、学校、公有云厂商)任何一个ISP
(除了顶层)都可以和多个ISP
互联,成为他们的下级,也就是多宿(multi-home), 这时候即使提供商之一出现问题,他仍然不会断网那么问题来了,用户那么多,主干ISP
就那么几个,肯定要涵盖超大的网络数据流量,就算他有最大的带宽,可以完成流量交换,但是距离越远传输速度越慢是亘古不变的真理,如果先把相邻地区流量转发到千里之外再转发回来,是一种对网络资源的浪费为了避免这种浪费,一种更有效快速的转发方式出现了,那就是因特网交换点 IXP (Internet Exchange Point)
IXP
充当一个桥梁的作用,如上图,右侧两个地区ISP
就是通过IXP
连接起来,相当于“绕过”了最高ISP
,这部分的流量就不用给主干ISP
付钱了,也降低了网络延迟。既然IXP
可以省钱,让别人接入IXP
明摆着是赚钱的事,钱谁都想赚,那么IXP
是谁来建,谁运营,谁维护,如何收费,谁让主要的 ISP
愿意接进来,那就要各显神通了。举个例子,如果在深圳内有一个NAP/IXP
点,深圳移动用户访问深圳电信网络就可以不出市,费用按NAP/IXP
的博弈价格收费,便宜多了,从整个大网的拓扑看,流量确实也得到很大的优化。
BAT
在干嘛呢?BAT
严格意义上来说不属于ISP
,他们是提供内容的,所以被叫做因特网内容提供商 ICP
(Internet Content Provider),内容供应商有内容,他们的数据中心需要和运营商网络互联互通,才能被他们的用户访问。一般是拉通了专线边界网关协议 BGP
(Border Gateway Protocol),简单来说你向BAT
发消息,他们就近原则回消息,根据你访问的源地址,判断消息从哪里过来的,如果是电信,就走电信的线路回去。如果是联通,就走联通的线路回去。
互联网数据中心 IDC
(Internet Data Center)都是运营商的,为了让自己的服务跑的更快,现在是 BAT
都自建数据中心,也就是云,多余的计算资源也向外提供,把计算放到云上,这就是云计算,尤其是阿里和腾讯的云服务很不错。如果一个IDC
同时也是一个IXP
点,网络的互联互通就是楼道之间的布线,不但成本低,而且更稳定(不用担心光缆被挖断)。这个IDC
的网络质量就比普通的IDC
要优秀,也就更值钱。这种模式就是现在火热的互联网盈利模式,IXP
可以不赚钱,IDC
发大了。
软件定义网络 SDN
(Software Defined Network)的东西,特别是可编程路由,使得路由可以根据业务需求,流量需求,怎么省钱怎么来,用他来充当IXP
的角色,成本比路由器还要便宜,而且可以按需调度,可以支持复杂流量工程,以实现分布式拒绝服务(DDOS
)防止被攻击。三、为什么不同国家的计算机能听懂对方说的话?



- 硬件直接通过网线互联,通过协议控制网卡之间的比特流
- 端系统通过阻塞控制协议,控制收发包过程中分组发送速率
- 路由器协议,控制分组从源到目的地之间的路径

协议 (Protocol):定义在两个或多个通信实体之间的报文样式和顺序,以及报文发送和接收一条报文/事件所采取的动作。至此我们揭秘了互联网到底是如何传递信息的,以及是如何组成的,让视野回到手中,拿起手机连上
wifi
,揭秘网络的边缘。四、为什么我的电脑、手机、ipad 都能在家里连网?


ISP
,通过数模转换得到数字型号,家到ISP
通过双绞铜线连接(搓成麻花状的铜线)


wifi
、蜂窝网络(2G、3G、4G、LET)。
100
个接线员服务一个人都不够。需要一些端系统来充当服务器,端系统又被叫做主机,可以划分为两类 客户(client) 与 服务器(server),客户一般是指个人电脑、手机、ipad
等设备,一般指可以接触到并拿在手中,只要连网就可以享受服务的设备。
web
网站、视频、中继电子邮件等的大型计算机或者数据中心,这些数据中心里面可能有数十万台服务器。

客户端知道服务器的地址,主动向服务器发起通信,服务器可同时处理多个远程客户的请求且永远不停机的运行。对等方式,是指两个主机在通行时可能又是服务请求方也服务提供方

ISP
、IXP
、ICP
,但是并不知道,客户端发送一条信息,怎么通过千山万水准确的到达服务器,下一节我们来缕一缕这个过程。五、为什么郭杰瑞在美国发送一条视频,远在中国深圳南山科技园的我能收到?




byte
的集合(可以理解为10101100
这样的高低电平),通过通信链路和分组交换机(路由器和链路交换机)进行传输。


16
跳(16
次)以内就能到达任意位置这就是路由选择协议(routing protocol)的内容,如果感兴趣可以自己下来查查。你可以登陆www.traceroute.org
,随便选择一个源,输入你的真实ip
或域名,看看他是怎么跳转的。我选了美国的一个AS 1221
节点和百度的域名,经过了13
跳才到达目的地。
六、为什么网络要分层?

web
开发的同学可能听过四层、七层负载均衡,其实无非是绑定ip
还是绑定域名的区别。
TCP
和UDP
协议就是在传输层起的作用然后继续传递给网络层,增加源和目的端系统地址(如IP
地址)等信息(IP 首部),让接受端知道包是从哪来的然后传递给链路层,他会把数据包组装成帧(framing)也就是之前第五节说过长报文切分成短报文的分组(packet),每帧包含数据和校验必要的信息(同步信息、地址、校验信息等)(以太网首部),链路层会加上MAC
(Media Access Contol 介质访问控制)地址,将一个数据帧从一个节点传送到相同链路的另一个节点然后传递给物理层,加上连接电缆的插头有多少根引脚以及如何连接等类似信息发送出去以后下一个物理设备就会拆包,如果是二层交换机就会拆掉链路层和物理层,如果是路由器还会多拆掉一个网络层,再打上自己的信息和下一跳的信息,继续传递。交换机和路由器的区别就是,路由器在网络层,可以处理TCP/IP
协议,可以把一个IP
分配给多个主机而交换机不能,交换机在链路层是根据MAC
寻址,可以提供防火墙功能而路由器不能。路由器主要用来连接多个网络,交换机主要用来使局域网连接更多计算机。常见家用交换机是指二层交换机,现在有三层及三层以上的交换机可基于网络层甚至传输层工作。整个分层的传输过程如下图
ASCII
码,IBM 主机使用 EBCDIC 编码还有一个安全加密层,很多人都使用过,只是一直没有人想去划分层次结构,它的名字叫SSL/TLS
,有了安全层提供的服务,位于应用层的HTTP/SMTP/FTP
,都可以在其名字后加一个S
(Security),比如HTTPS
,其实这个世界压根不存在HTTPS
协议,只有HTTP
协议,加上 S 的后缀只是告诉大家HTTP
使用的是六层结构,有了SSL/TLS
的安全保护。七、为什么明明我办了 100M 的宽带,却怎么也跑不满?

100M
的宽带,为什么我的网速达不到100M/s
呢?几乎所有人都有这样的疑惑100M
的带宽,实际上网速只有可怜的12M/s
,此兆非彼兆~100M
宽带的正常速度就是100 Mbit/s
,只是单位不同而已 8bit=1B
, 我们关注的是MB/s
,所以100 Mbit/s = 100/8 = 12MB/S
八、为什么打游戏、看视频会卡?

12M/s
的速度我也认了,为什么现在卡的只有1M/S
? 小熊这你又怎么解释?”感叹一句,只要套路深谁把谁当真,作为用户感觉总是玩不过运营商,总感觉花了钱,享受不到服务



100M
带宽,如果全部跑满,他的峰值吞吐量(throughput)就是12Mbps
,吞吐量就是单位时间内成功地传送数据的数量(以比特、字节、分组等测量)我们的家庭网络一般都是使用局域网(LAN)接入,其实也是带宽共享的一种。一般来说,整个小区是一个局域网,与电信骨干网相连接的带宽总出口如果有100M
,也就是说,如果小区内有一百人同时在线,那么就是有一百人在共享这100M
的带宽,因此,共享带宽下的宽带接入,在上网用户稍多时可能速度会有所降低。在宽带较不普及的小区,共享带宽会有很高的性价比,因为共享带宽比较便宜,又正好没人和你抢带宽;但如果在宽带较普及的小区,可以用ADSL
(全称为 Asymmetric Digital Subscriber Line,非对称数字用户线路),每个用户的网络终端都有单独的一条线路与ADSL
局域端相连,可以保证所有带宽是由每一用户独享的,即使用户激增,其速度也不会减慢。
21
世界20
年代了,ADSL
是用电话线上网,最大理论上行速率可达到 1Mbps,下行速率可达 8Mbps,早被淘汰了,老老实实用LAN
,办大一点的宽带才是王道,有线有条件直接拉光纤,我在网上查到的市场价,100M
的光纤大概一年一千多,不过就得你们小区有没有了。附两个简单直接的增强wifi
信号方法:- 买
wifi
放大器,信号放大器接收主路由器的信号,放大之后再发射出来,因此家里的信号还是同一个,手机、Pad 会连接质量较好的信号。 - 在装修的时候多埋一根网线,从主路由器位置延伸到信号不好的地方,再接一个路由器,主副路由器之间通过各自的 LAN 口连接起来,此时副路由器相当于无线交换机。
九、为什么你的电脑会受到攻击?



windows
),而应用程序目标是运行在操作系统上的各种程序。攻击我们的网络,以网络本身或其协议为目标,导致网络瘫痪或者欺骗源、目的地的网络导致身份识别出错等

http
开头的网站上要格外小心;本地储存的敏感文件进行加密;不要点开陌生人发来的邮件特别是打开附件;使用值得信赖的软件、安全类软件、及时清理自己的隐私记录、设置防火墙。你还有什么互联网安全的防范方式,可以在评论区和我讨论!总结

参考文献
- 对 IXP 的一些思考 https://coding3min.com/go/1241/
- ICP 百度百科 https://coding3min.com/go/1240/
- 阿里云说的多线 BGP 接入到底指的是什么东西? https://www.zhihu.com/question/266549604
- BGP 维基百科 https://coding3min.com/go/1239/
- IDC 百度百科 https://coding3min.com/go/1235/
- SDN 与 IXP https://www.cnblogs.com/pullself/p/10806054.html
- 网络协议 百度百科 https://coding3min.com/go/1236/
- 对等网络-百度百科 https://coding3min.com/go/1237/
- 路由选择协议-百度百科 https://coding3min.com/go/1238/
- 学习笔记-计算机网络 https://www.pianshen.com/article/4615873688/
- 计算机网络(自顶向下方法)学习笔记 https://blog.csdn.net/qq_39326472/article/details/88089747
- 《计算机网络-自顶向下方法 第 7 版》
- 《计算机网络-第 6 版》
- 宽带中的 ADSL 与 LAN 有什么区别? https://coding3min.com/go/1245/
- 什么是共享带宽? https://coding3min.com/go/1242/
- 交换机和路由器有什么区别 https://coding3min.com/go/1243/
- 为什么说交换机工作在数据链路层? https://coding3min.com/go/1244/
- 表示层( presentation layer)和会话层(session layer)为什么会被弃用? https://www.zhihu.com/question/58798786
- 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 https://blog.csdn.net/weixin_41738417/article/details/92796077
- OSI 七层模型的学习-会话层、表示层和应用层 https://www.jianshu.com/p/801e650850b7
- 网络安全攻击分类分析 https://zhuanlan.zhihu.com/p/50235996
有道无术,术可成;有术无道,止于术
欢迎大家关注Java之道公众号
好文章,我在看❤️
评论