应用层协议application layer protocol
域名系统DNS——从域名解析IP地址
万维网和HTTP协议以及万维网两种不同收索引擎
动态主机配置协议DHCP特点
网络管理的三个组成部分SNMP 管理信息结构SMI、管理信息库MIB
系统调用和应用编程接口的基本概念
P2P文件系统
6.1域名系统DNS
6.1.1概述
域名系统DNS Domain Name System 把人们使用的机器器名字主机名字转换为IP地址。
采用树状组织结构命名方法,使用分布式域名系统DNS。
过程:当某一个应用程序需要把主机名解析为IP地址时,该进程就吊筒解析程序,称为DNS一个客户,把带解析的域名放在DNS请求报文中,以UDP用户数据报发给本地域名服务器。若本地域名服务器不能会回答该请求,此渔民服务器暂时称为DNS中另一个客户,并向其他域名服务器发出查询请求。
6.1.3域名服务器
根域名服务器 root name server
13个不同IP地址的域名,任播技术,IP数据报交付离远点最近的一台服务器。许多情况下根域名服务器不直接把带查询的域名直接转化成IP地址,而是告诉本地域名服务器下一步该找那个顶级域名服务器。
顶级域名服务器
权限域名服务器
本地域名服务器
域名改动不频繁,大多数网点不需花费太多精力能维护数据库一致性。
6.2文件传送协议
6.2.1FTP概述
文件传送协议FTP File Transfer Protocol
TCP FTP和UDP 简单文件传送协议TFTP TricialFTP
若要存取一个文件,必须先获得文件副本,修改只能对文件副本修改。
6.3远程终端协议TELENT
用户用TELENT用过TCP连接登录到另一台主机上,能将用户击键传到主机,同时将远地主机输出返回屏幕。终端仿真协议。
6.4万维网WWW
万维网概述
World Wide Web
大规模的联机式的信息储藏所,简称Web。
客户向服务器程序发送请求,服务器程序向客户送回客户所需的万维网文档。使用同一资源定位符URL Uniform Resource Locator。超文本传送协议HTTP HyperText Transfer Protocol是一个应用层协议,使用TCP可靠传输,超文本标记语言HTML HyperText Markup Language。
6.4.2同一资源定位符
URL格式
协议://主机:端口/路径
HTTP默认端口号80
6.4.3超文本传送协议HTTP
HTTP操作过程
HTTP协议定义了浏览器(万维网客户进程)怎样向服务器请求文档,及服务器怎样把文档传送给浏览器。HTTP使用面向连接的TCP作为运输层协议,保证了数据的可靠运输。HTTP本身是无连接的。
HTTP协议是无状态stateless,同一个客户第二次访问同一个服务器,响应与第一次相同。
HTTP/1.0每请求一个文档需要两倍RTT开销。
HTTP/1.1使用了持续连接persistent connect,万维网服务器在发送响应后仍然在一段时间内保持这条连接,可以使同一个客户端和服务器继续传送HTTP报文。
HTTP/1.1工作方式:
1、非流水线方式without pipelining 客户端在收到前一个响应后才能发出下一个请求。
2、流水线方式with pipelining
客户收到HTTP响应之前,就能发送新的请求报文。
代理服务器
代理服务器proxy server是一种网络实体,又称万维网高速缓存。代理服务器把最近的一些请求和响应存在本地磁盘中,当新请求到达时若代理服务器发现这个请求与暂时存放的请求相同,就返回暂存的响应,不需要按URL地址再次去互联网访问该资源。
HTTP保报文结构
由于HTTP面向文本,报文中每一个字段长度不固定。
1、开始行
用于区分请求报文还是响应报文,请求报文开始行叫请求行Request-Line,响应报文叫状态行Status-line,三个字段空格隔开,CR回车LF换行
2、首部行
用来说明浏览器、服务器、或报文主体的一些信息。
3、实体主体ehtity body
通常不用
响应报文状态行状态码Statues-Code分为5大类
1xx通知信息,如请求收到了或正在进行处理。
2xx成功,如接收,知道了
3xx重定向,如要完成请求还必须采取进一步行动
4xx客户的差错,如请求有错误语法或不能完成
5xx服务器差错,如服务器无法完成请求。
在服务器上存放用户信息
一些万维网站点常常希望能够识别用户,规定使用Cookie来跟踪用户,Cookie表示在HTTP服务器和客户之间传递状态信息。
Cookie工作过程:
当用户A浏览某个使用Cookie网站,该网站服务器为A产生一个唯一识别码,并以此为索引在服务器后端数据库中产生一个项目,在给A的HTTP响应报文中添加Set-cookie的首部行
Set-cookie:31d4d96e407aad42
于是,这个网站就能跟踪用户31d4d96e407aad42在该网站的活动,服务器并不需要知道这个用户的真实姓名以及其他信息,但服务器能够知道用户31d4d96e407aad42在什么时候访问了哪些页面,以及顺序。
如果A在几天后再次访问,那么他的浏览器会在HTTP请求报文同首部行
Cookie:31d4d96e407aad42
而这个网站可以根据A过去浏览记录推荐商品。
Cookie可以用来手机用户在万维网上的行为。
6.4.4万维网文档
超文本标记语言HTML
万维网页面标准语言,消除了不同计算机之间信息交流障碍。
可拓展标记语言XML Extensible Markip Language
设计宗旨是传输数据,用户标记电子文件,使其具有结构欧姓的标记语言。
层叠样式表CSS Cascading Style Sheets
万维网文档
动态文档dynamic documeng文档内容在浏览器访问万维网才由应用程序创建
活动万维网文档
有两种技术可用于浏览器屏幕连续更新
1、服务器推送 server push 将所有工作交给服务器,服务器不断运行与动态文档相关联的应用程序,定期更新信息,并发送更新过的文档。
2、活动文档active documeng 把所有工作转移给浏览器端,每当浏览器请求,服务器就返回一段活动文档程序副本,使该程序副本在浏览器端运行。
6.4.5信息检索系统
搜索引擎search engine
1、全文检索引擎
一种纯技术型检索工具,通过搜索软件Spider到互联网上各网站收集信息,用户查询使从已经建立的索引数据库进行查询。google 百度
2、分类检索引擎
不采集任何信息,利用各网站向搜索引擎提交信息时填写的关键词和网站描述信息,经人工和审核编辑后,输入到分来目录数据库中。雅虎 新浪 网易 搜狐
6.4.6微博博客
博客weblog
微博micblog
社交网站SNS Social Network Site
6.5 电子邮件
简单邮件传送协议SMTP Simple Mail Transfer Protocol
邮局协议POP3 Post Office Protocol
动态主机配置协议DHCP
Dynamic Host Configuration Protocol 即插即用。允许一台计算机加入新的网络和获取IP地址而不用手工参与。
简单网络管理协议SNMP
网络管理包括对硬件软件和人力的使用综合与协调,以便对网络资源进行监视、测试配置分析评价和控制,这样就能以合理的价格满足网络的一些需求,如实时允许性能、服务质量等。
6.8应用进程跨网络通信
6.8.1系统调用和编程接口
大多数操作系统使用系统调用机制在应用程序和操作系统之间传递控制权。应用编程接口API(Application Programmer Interface)从程序设计角度定义了许多表尊的系统调用函数。在网络编程时常常把套接字作为应用进程和运输层之间的接口。
P2P应用
具有集中目录服务器的P2P工作方式
Napster能够搜索音乐文件,能够提供检索服务,所有音乐文件的索引信息都集中存放在Napster目录服务器中。这个目录服务器起缩影所用。这里关键就是运行Napster所有用户必须及时向Napster目录服务器报告自己已经存有哪些音乐文件。
具有分布式结构的P2P文件共享程序
为了不使查询量过大,Gnutella设计了一种有限范围的洪泛查询。
BT比特洪流 Bit Torrent
BitTorrent把参与某个文件分发的所有对等防集合称为一个数据洪流,把对等方下载的数据单元称为文件块,一个文件块的长度固定不变。
每一个洪流都有一个基础设施几点追踪器,当一个节点加入洪流时,必须向追踪器登记。
由于P2P对等方用户数量非常多,因此,从不同的对等方获得不同的数据块,然后组装成整个文件,比从一个地方下载快得多。
问题:哪些文件块首先是需要向其相邻对等方请求的?应当向那些相邻对等方发送所请求的文件块?
1、最稀有优先 rarest first
2、凡当前有以最高数据率向A传送文件块的某相邻对等方,A就优先把所请求的文件块传给该相邻对等方。
结果:节点互相之间都能够以令人满意的速率交换文件块。
6.9.4在P2P对等方中搜索对象
利用散列函数定位对等方。设法构建一种分布式数据库,以进行对等方及其资源的定位,数据库关键信息:要查找的资源名K(关键字)、存放该对象结点的IP地址N。问题的关键时要设法把每个资源名K存放在一个非常便于查找的地方。
现在广泛是通的索引和查找技术叫做分布式散列表DHT Distributed Hash Table。由大量对等方共同维护。DHT利用散列函数,把资源名K及其存放节点IP地址N分别映射为资源名标识符KID和节点标识符NID,如果所有对等方使用SHA-1那么用过散列函数得出的标识符KID和NID都是160位二进制数字。
Chord把结点按标识符数值从大到小沿顺时针排列成一个环形覆盖网络,并按照下面规则映射:
1、结点NID按照其标识符值映射到Chord换上相应的点,小圆点N4 7 10 20 26 30.
2、资源名标识符KID按照其标识符值映射到与其值对接近的下一个NID
每一个资源由Chord环上与其标识符值最接近的下一个结点提供服务,在Chord向相邻的结点,地理上可能相距非常远。
网友评论