1.分布式系统的特点------------>每个节点是一个完整的计算机,系统没有共享的存储器,耦合十分松散。分布式系统构建的目的,是将大量松散的机器转化为一个基于一种概念的一致系统。由于每个节点的硬件和操作系统都可能不同,为了达到这个目的,分布式系统在节点的操作系统顶部设定了一层软件,称为中间件。其提供了一些特定的数据结构和操作,从而允许机器上的进程和用户用一致的方式进行交互操作。
2.分布式系统的构建:
a.网络硬件: 网络主要分为两种:局域网(LAN)和广域网(WAN)。其中LAN的重要类型是以太网(Ethernet),WAN的重要类型数因特网(Internet)
以太网---> 经典的以太网,是由链接若干计算机的同轴电缆组成。在以太网上发送包,首先侦听电缆,如果其他计算机正在传输,则挂起等待,否则,进行传输。 当同时传输,会发生碰撞。然后等待0-T微妙的随机时间后再次发送。若继续冲突,则等待0-2T微妙的随机时间,以此类推。该算法称为二进制指数补偿算法。
由于一个建筑中存在多个以太网,为了链接两个以太网进行通信,需要桥接器。
碰撞是由于信息只能在一条电缆上传输,为了避免碰撞,用到了交换机。所有机器都先将包发送给交换机对应端口,而后交换机将包发送给电缆,以此避免了碰撞。
因特网---> 因特网由主机和路由器组成。路由器是一种专用计算机,它在许多进线中接受包,然后选择在许多出线中分发包。
因特网的大致组成: 主干网:包含了大量通过高带宽光纤的路由器。
地区网络和ISP的路由器:由中等速度光纤链接到主干网。
本地路由器和家用PC:前者通过铜线或低带宽光纤与地区网络连接,后者通过拨号电话线与ISP的路由器连接。
b.网络服务和协议:
1)网络服务: 分为---> 面向连接的服务:服务首先建立一个连接,而后使用该连接,最后释放连接。
无连接的服务: 信息携带了完整的目的地地址,与其他消息独立。
2)服务质量用以评估一个服务:可靠的服务在发送信息后,接受者会发送一个确认包确认收到消息。由此带来了可靠的,面向连接的服务两种变种:消息序列--->可以区分每个消息的具体大小,即消息有边界;字节流---> 无法区分消息,不存在消息的边界。
不可靠的无连接服务,也称数据报服务,不需要接收方发送确认包。为提高可靠性,衍生出确认数据报服务。
面向连接的服务---->可靠性高;无连接服务--->高可达率且速度快。
c.网络协议: 网络协议是计算机通信所应遵循的规则的集合。现代计算机之间的通信需要遵守一层一层的协议,它们构成了协议栈。
Internet两种常见的协议为:IP协议和TCP协议。
IP协议概述: IP协议是一种数据报协议,发送者可发送64KB的数据包。当前有IPv4和IPv6两种版本的IP协议。目前常用IPv4。在IPv4中,数据包包含32位源地址和32位目标地址,常写作XXX.XXX.XXX.XXX。路由器会根据这个地址,解析出目标地址,进而选择路由
TCP协议概述: TCP协议位于IP层之上。用于提供可靠传输。其根据IP来提供面向连接的数据流。
DNS,即域名系统,它本质是一个数据库,将主机的ASCII码值映射为对应IP
d.基于文档的中间件: 核心万维网(WEB)
web的简单范型: 每个计算机可以持有一个或多个文档,这些文档就是web页面。当用户使用web浏览器请求一个web页面时,该页面就显示在了屏幕上。 当点击超链接,当前页面就被替换。这就是web的简单工作原理。 web可以称为是一个由文档构成的巨大有向图,文档可以指向其他文档。
每个web页面都有一个唯一的地址,称为URL(统一资源定位符),其构成为 协议://DNS-name/file-name
访问一个URL时发生的事情: 1)浏览器向DNS询问 DNS-name 的IP地址
2)DNS应答,IP地址为 X
3)浏览器向X的一个端口建立TCP连接
4)浏览器对 file-name 请求
5)X服务器发送 file
6)释放连接
7)屏幕显示file所有文本及其图像等。