分布式与路漫漫,代码与篇齐飞

分布式系统的基石

TCP/IP是Internet的基本协议,由底层的IP和TCP组成,其结合DNS、路由协议最终实现了网络之间任意两点间的数据通信问题,当在CMD运行ipconfig/all可以查看当前计算机配置的TCP/IP参数、默认网关和DNS服务器的信息。

当在浏览器中输入*http://www.baidu.com/*时,浏览器发现URL的主机部分有一个域名,他就查找本机配置的DNS服务器,用UDP协议向DNS服务器发送DNS查询命令,DNS服务器获取到查询命令并从数据库中查询该域名所对应的主机的IP地址。

nslookup命令

此命令成功解释了上面一段话

在执行命令的过程中可能会发现此查询返回的第一个IP地址不同 可能而非一定

称为DNS的负载均衡机制

DNS查询返回多个IP地址

返回的IP地址被浏览器获取后就会向这个地址的80端口发起TCP连接,由于返回的IP地址不是计算机所在的局域网,而是广域网内中的地址

IP报文的路由问题

路由

路由负责互联网中多个小网之间的连接,并相互交换路由表信息来确定一个IP报文要经过哪个路由器的端口发到另一个互联的子网,为防止在数据包转发过程中形成死循环,IP包中的TTL字段每经过路由器转发一次就会减一,当减到零的时候则被丢弃,认为网络不可达,一般默认的最大跳数为30。

tracert

ICMP协议

确定一个报文到达目标地址所经过的路由器节点,程序发出的前三个数据包的TTL值是1,之后3个是2,以此类推,便得到一连串数据包路径,路径上的每一个IP地址是一个路由器的IP。

注意: 部分数据可能是未知的,原因便是防火墙、路由器等设备屏蔽了ICMP报文。

socket

Socket是一个IP地址与端口的组合,代表计算机上一个远程通信接口,本地的Socket与远程的Socker建立连接的过程即是3次握手过程

互联互不通–>CDN

双线机房

互联互不通和双线机房两个名词经常同时出现,例如当一个机房中同时有两个服务商的两条线路接入,通过BGP自动路由的分析可以让访问数据互相不受对方的干扰,合理地解决了互相访问速度慢的问题。

为了解决不只两个网络,甚至到ISP的互通问题

CDN

内容分发网络,是一种基于C/S结构的分布式媒体服务技术平台,其节点遍布各ISP,CDN将网站的内容发布到最接近用户的网络“边缘”,访问者就近获取数据,保证了网站到任意ISP的访问速度。

注意: CDN因为流量分流到各节点的原理,天然获得了抵抗网络攻击的能力。

新的 CDN 技术在云计算技术的推动下将结合虚拟化技术,如果在 CDN 系统的边缘节点部署分布式的云系统架构,则能够对采集的海量非结构化数据进行并行处理,从而使整个系统具备强大的数据处理能力和更优化的扩展性。

posted @ 2019-12-15 20:36  Roko&Basilisk  阅读(104)  评论(0编辑  收藏  举报