灵魂9问,光怪陆离的网络世界有哪些不为人知的秘密?(网络面试必考)
一、是什么组成了网络?
2020
年,起码有200
亿以上的设备连入了互联网!二、为什么我们可以享受网络服务?
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
充当一个桥梁的作用,如上图,右侧两个地区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
个接线员服务一个人都不够。ipad
等设备,一般指可以接触到并拿在手中,只要连网就可以享受服务的设备。web
网站、视频、中继电子邮件等的大型计算机或者数据中心,这些数据中心里面可能有数十万台服务器。客户端知道服务器的地址,主动向服务器发起通信,服务器可同时处理多个远程客户的请求且永远不停机的运行。
ISP
、IXP
、ICP
,但是并不知道,客户端发送一条信息,怎么通过千山万水准确的到达服务器,下一节我们来缕一缕这个过程。五、为什么郭杰瑞在美国发送一条视频,远在中国深圳南山科技园的我能收到?
byte
的集合(可以理解为10101100
这样的高低电平),通过通信链路和分组交换机(路由器和链路交换机)进行传输。16
跳(16
次)以内就能到达任意位置这就是路由选择协议(routing protocol)的内容,如果感兴趣可以自己下来查查。www.traceroute.org
,随便选择一个源,输入你的真实ip
或域名,看看他是怎么跳转的。AS 1221
节点和百度的域名,经过了13
跳才到达目的地。六、为什么网络要分层?
web
开发的同学可能听过四层、七层负载均衡,其实无非是绑定ip
还是绑定域名的区别。TCP
和UDP
协议就是在传输层起的作用IP
地址)等信息(IP 首部),让接受端知道包是从哪来的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
,吞吐量就是单位时间内成功地传送数据的数量(以比特、字节、分组等测量)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之道公众号
好文章,我在看❤️
评论