6.电子邮件
电子邮件是一种异步通信媒介。
电子邮件系统有三个主要组成部分,用户代理、邮件服务器、简单邮件传输协议。
(1)SMTP
电子邮件的应用层协议,使用TCP可靠数据传输服务,从发送方的邮件服务器向接收方的邮件服务器发送邮件。
STMP有客户端和服务器端两部分,每台邮件服务器同时运行这两部分。
在用SMTP传送邮件前,要先把二进制多媒体数据编码为7比特ASCII码,传输后再解码回去。
假设从A传到B,具体过程如下:
A调用她的邮件代理程序并提供B的邮件地址,撰写报文,指示用户代理发送该报文
A的用户代理把报文发到她的邮件服务器,在那里该报文被放在报文队列中
运行在A的邮件服务器上的SMTP客户发现了报文队列中的这个报文,它创建一个到运行在B的邮件服务器上的SMTP服务器的TCP连接
经过一些初始的SMTP握手后,SMTP客户通过该TCP连接发送A的报文
在B的邮件服务器上,SMTP的服务器接收该报文。B的邮件服务器将该报文放入B的邮箱。
在B方便的时候,他调用用户代理阅读该报文。
注意:SMTP一般不使用中间邮件服务器发送邮件。
(2)邮件报文格式
首部行
From:
To:
Subject:
空行
报文体
(3)邮件访问协议
SMTP是一个推操作,取报文是一个拉操作。
B从邮件服务器取回邮件有两种常用方法,一种是HTTP,另一种是因特网邮件访问协议。
7.DNS:因特网的目录服务
主机的一种标识方法是用主机名,如www.baidu.com,但主机名几乎没有提供关于主机在因特网中的信息的问题。另一种是用IP地址。
DNS,即域名系统,提供从主机名到IP地址转换的目录服务。构成:
①一个由分层的DNS服务器实现的分布式数据库。
②一个使得主机能够查询分布式数据库的应用层协议。
DNS服务器通常是运行在BIND软件上的UNIX机器,DNS协议运行在UDP之上,使用53号端口。
浏览器请求URL页面时会发生什么?
同一台用户主机上运行着DNS应用的客户端
浏览器从URL中抽取出主机名,传给DNS应用的客户端
DNS客户向DNS服务器传送一个包含主机名的请求
DNS客户会收到一份回答报文,其中含有对应的IP地址
浏览器接收到IP地址,向位于该IP地址80端口的HTTP服务器进程发起一个TCP连接
IP地址通常就缓存在附近的DNS服务器之中
DNS的其他服务
主机别名、邮件服务器别名、负载分配(一个主机名对应一个IP地址集合)
DNS的工作机理
集中式设计的问题
单点故障、通信容量、远距离的集中式数据库(带来时延)、维护
所以DNS采用分布式的设计方案
a.分布式、层次数据库
DNS使用了大量的DNS服务器,以层次方式组织分布在全世界范围内。大致来说,有3种类型:根DNS服务器、顶级域DNS服务器、权威DNS服务器。
如www.baidu.com,客户先与根服务器之一联系,获得顶级域名com的服务器的IP地址,再与顶级域服务器联系,获得baidu.com的权威服务器的IP地址,再与权威服务器联系,获得www.baidu.com的IP地址。
除此之外,还有一个本地DNS服务器。一个ISP都有一台本地DNS服务器,起代理作用。
DNS查询可以是迭代的,也可以是递归的。
b.DNS缓存
为减少时延,DNS广泛地使用了缓存技术。当一个DNS服务器接收到一个DNS回答时,能将映射缓存在本地存储器中,下次查询就能直接提供。DNS的缓存并非永久,会在一段时间(通常是2天)后丢弃缓存的信息。
就像是使用Redis
DNS记录和报文
资源记录
共同实现DNS分布式数据库的所有DNS服务器存储了资源记录(RR),RR提供了主机名到IP地址的映射。
RR形式如下
(Name, Value, Type, TTL)
TTL为生存时间
Type有四类
A Name是主机名,Value是IP地址
NS Name是域,Value是权威DNS服务器的主机名
CNAME Value是主机别名Name对应的规范主机名
MX Value是一个别名为Name的邮件服务器的规范主机名
DNS报文
查询和回答报文格式一致
标识符 标志
问题数 回答RR数
权威RR数 附加RR数
以上12字节
问题 :查询的名字和类型字段
回答 :对查询的响应中的RR
权威 :权威服务器的记录
附加信息 : 可被使用的附加“有帮助的”信息
在DNS数据库中插入记录
需提供基本、辅助权威DNS服务器的名字和IP地址。
对于一个DNS权威服务器,机构将一个Type为A和一个Type为NS的记录插入顶级域服务器(TLD)
你必须确保用于Web服务器的Type为A的资源记录和用于邮件服务器的Type为MX的资源记录输入到权威DNS服务器中
8.P2P文件分发
从单一服务器向大量主机分发一个大文件
(1)P2P体系结构的扩展性
对于P2P,最小分发时间不仅总是小于CS体系结构的分发时间,而且对于任意的对等方数量N,总是小于1小时。因此P2P的应用程序能够是自扩展的。直接成因是:对等方除了是比特的消费者外,还是它们的重新分发者。
(2)BitTorrent
一种用于文件分发的流行P2P协议。
参与一个特定文件分发的所有对等方的集合被称为一个洪流(torrent),在一个洪流中的对等方彼此下载等长度的文件块(chunk)。
每个洪流都有一个追踪器,跟踪在洪流中的对等方。当一个新的对等方A加入洪流时,追踪器给A发送一个对等方的子集。
A试图与子集上的所有对等方创建并行的TCP连接。成功创建TCP连接的对等方称为邻近对等方。一个对等方的邻近对等方随时间而波动。
A周期性地询问每个邻近对等方具有的块列表,并对它所没有的块发出请求。A利用最稀缺优先技术,首先向邻近对等方请求那些最稀缺的块,目标是均衡每个块在洪流中的副本数量。
BitTorrent使用一种对换算法。A根据当前能够以最高速率向他提供数据的邻居,给出其优先权。被确定的几个对等方称为疏通,每过一定时间测算并切换。使对等方能以趋向于找到彼此的协调的速率上载。除了前4个对等方和1个试探的对等方外,其余的相邻对等方均被‘阻塞’。
9.视频流和内容分发网
(1)因特网视频
视频的一个重要特征是能被压缩,可用比特率衡量视频质量。对流式视频的最重要的性能度量是平均端到端吞吐量。
(2)HTTP流和DASH
在HTTP流中,视频是存储在HTTP服务器中的一个普通文件,每个文件有其特定的URL。
用户要看视频时,向服务器创建一个TCP连接并发送对该URL的HTTP GET请求。服务器在HTTP响应报文中发送该视频文件。客户接收字节并缓存,一旦缓存的字节数超过预设门限。就开始播放。
DASH,即经HTTP的动态适应流。在DASH中,视频编码分为几个不同的版本,每个版本有不同的比特率。客户根据带宽动态的请求来自不同版本的长度为几秒的视频段数据块。
使用DASH后,每个视频版本各有一个URL,HTTP服务器有一个告示文件。客户请求告示文件得知各种版本,在HTTP GET请求报文中对每块指定一个URL和字节范围(依照带宽)。
(3)内容分发网
CDN,管理分布在多个地理位置上的服务器,在它的服务器中存储各种文件的副本,将每个客户请求定向到一个将提供最好的用户体验的CDN位置。
有两种不同的服务器安置原则:
深入、邀请做客。
CDN操作
略
集群选择策略

10.套接字编程
暂时跳过。
2万+

被折叠的 条评论
为什么被折叠?



