本章重要的内容:

1、域名系统DNS—从域名解析出IP地址;

2、万维网和HTTP协议,以及万维网的两种不同的信息搜索引擎;【HTTP协议比较重要,但这个里面讲的比较简单】

3、电子邮件的传送过程,SMTP协议和POP3协议、IMAP协议使用的场合;

4、动态主机配置协议DHCP的特点;

5、网络管理的三个组成部分(SNMP本身、管理信息结构SMI和管理信息库MIB)的作用;

6、系统调用和应用编程接口的接口概念;

7、P2P文件系统。

1. 域名系统DNS

1.1 域名系统概述

域名系统DNS(Domain Name System)是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。

【为什么要用DNS?】用户与互联网上的某台主机通信时,必须要知道对方的IP地址。然而用户很难记住32位的二进制主机地址,所以使用域名系统能把互联网上的主机名字转换为IP地址。

【为什么机器在处理IP数据报的时候要使用IP而不直接使用域名呢?】这是因为IP地址的长度是固定的32位(如果是IPV6,则是128位),而域名的长度并不是固定的,机器处理起来比较困难。

互联网的域名系统DNS被设计成为一个联机分布式数据库,并采用客户服务器方式。

1.2 互联网的域名结构

互联网采用层次树状结构的命名方法,采用这种命名方法,任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(Domain Name)。“域”是名字空间中一个可被管理的划分,还可以划分子域。

DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母;级别低的域名写在最左边,而级别最高的域名写在最右边。由多个标号组成的完整域名总共不超过255个字符。各域名由上一级的域名管理。

互联网的名字空间是按照机构的组织来划分的,与物理的网络无关,与IP地址中的“子网”也没有关系。

1.3 域名服务器

一个域名服务器所负责的(或有权限的)范围叫做区(zone),一个区中的所有节点必须是可以联通的。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。总之,DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位。区是DNS服务器实际管辖的范围。区可能等于或小于域,但一定不能大于域。

根据域名服务器所起的作用,可以把域名服务器划分为四种不同的类型:根域名服务器、顶级域名服务器、权限域名服务器、本地域名服务器。

1.根域名服务器

最高层次的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。根域名服务器是最重要的域名服务器,因为不管是哪一个本地域名服务器,若要对互联网上任何一个域名进行解析,只要自己无法解析,就首先要求助于根域名服务器。

根域名服务器采用任播技术,因此当DNS客户向某个根域名服务器的IP地址发出查询报文时,互联网上的路由器就能找到离这个DNS客户最近的一个根域名服务器。

2.顶级域名服务器

负责一个区的域名服务器。当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器。

3.本地域名服务器

首先说明:本地域名服务器并不属于域名服务器层次结构,但它对域名系统非常重要。

当一台主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。本地域名服务器离用户较近,一般不超过几个路由器的距离。当所要查询的主机也属于同一个本地ISP时,该本地域名服务器就能将所查询的主机名转换为它的IP地址,而不需要再去询问其他的域名服务器。

  • 域名解析过程中,递归查询和迭代查询的区别:

递归查询:主机向本地域名服务器的查询一般都是采用递归查询。所谓递归查询就是:如果主机所要询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文,而不是让该主机自己进行下一步的查询。

迭代查询:本地域名服务器向根域名服务器的查询通常采用的是迭代查询。当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本杜域名服务器下一步应当指向哪一个域名服务器进行查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步应当向哪一个权限域名服务器进行查询,本地域名服务器就这样进行迭代查询。

当然,本地域名服务器也可以采用递归查询,这取决于最初的查询请求报文的设置是要求哪一种查询方式。

  • 高速缓存

为了提高DNS查询效率,并减轻域名服务器的负荷和较少互联网上的DNS查询报文数量,在域名服务器中广泛使用高速缓存。高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。当然需要设置计时器,超时删除,再重新获取。

主机中也有高速缓存。许多主机在启动时,从本地域名服务器下载名字和地址的全部数据库,维护存放自己最近使用的域名的高速缓存,并且只在从缓存中找不到名字时才使用域名服务器。

2. 文件传送协议

2.1 FTP概述

文件传输协议FTP(File Transfer Protocol)是互联网上使用得最广泛得文件传送协议。FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。

下面介绍基于TCP的FTP和基于UDP的简单文件传输协议TFTP,它们都是文件共享协议中的一大类,即复制整个文件,其特点是:若要存取一个文件,就必须先获得一个本地的文件副本。如果要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回原节点。

2.2 FTP的基本工作原理

文件传输协议FTP只提供文件传送的一些基本服务,它使用TCP可靠的运输服务。FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。

FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。

主进程的工作步骤如下:

1、打开21端口,使客户进程能够连接上;
2、等待客户进程发出连接请求;
3、启动从属进程处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可以创建其他一些子线程;
4、回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发进行的

在进行文件传输的时候,FTP的客户和服务器之间要建立两个并行的TCP连接:“控制连接”和“数据连接”。控制连接在整个会话期间一直保持打开,FTP客户所发出的传送请求,通过控制连接发送给服务端的控制进程,但控制连接并不用来传送文件。实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到FTP客户发来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务端的数据传送进程。

当客户端进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的数值端口21,同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传输连接。接着,服务器进程用自己传送数据的熟知端口20与客户进程所提供的端口号建立数据传送连接。由于FTP使用了两个不同的端口号,所以数据连接与控制链家而不会发生混乱。

2.3 简单文件传输协议TFTP

简单文件传输协议TFTP(Trivial File Transfer Protocol)是一个很小且容易实现的文件传送协议。

TFTP使用UDP数据报,因此TFTP需要有自己的差错改正措施。TFTP只支持文件传输而不支持交互,也不对用户身份进行鉴别。

TFTP的主要优点:

1、TFTP可用于UDP环境。例如:当需要将程序或者文件同时向许多机器下载时就往往需要使用TFTP;

2、TFTP代码所占内存比较小。

TFTP的主要特点:

1、每次传送的数据报文中有512字节的数据,但最后一次可不足512字节;

2、数据报文按序编号,从1开始;

3、支持ASCII码或二进制传送;

4、可对文件进行读或写;

5、使用简单的首部。

3. 远程终端协议TELNET

TELNET是一个简单的远程终端协议。用户用TELNET就可以在其所在地登陆(TCP连接注册)到远地的另一台主机上,能够实现远程控制。TELNET又称为终端仿真协议。

TELNET也使用客户服务器模式。在本地系统运行TELNET客户进程,而在远地主机上运行TELNET服务器进程。和FTP的情况相似,服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接。

TELNET定义了数据和命令应怎样通过互联网,这些定义就是所谓的网络虚拟终端NVT(Network Virtual Terminal)。

客户软件把用户的击键和命令转换成NVT格式,并送交服务器。服务器软件把收到的数据和命令从NVT格式转换成远地系统所需的格式。向用户返回数据时,服务器把远地系统的格式转换为NVT格式,本地客户再从NVT格式转换到本地系统所需的格式。

TELNET的选项协商(Option Negotiation)使TELNET客户和TELNET服务器可商定使用更多的终端功能,协商的双方是平等的。

4. 万维网和HTTP协议

4.1 万维网概述

万维网WWW(World Wide Web)是一个大规模、联机式的信息储藏所,简称Web。万维网用链接的方法能非常方便地从互联网上的一个站点访问/链接另一个站点,从而主动地按需获取丰富的信息。

万维网是一个分布式的超媒体系统,它是超文本系统的扩充。

超文本:指包含指向其他文档的链接的文本。也就是说,一个超文本由多个信息源链接组成,而这些信息源可以遍布在世界各地,并且数目也是不受限制的,利用一个链接可使用户找到远在异地的另一个文档,而这又可链接到其他文档(以此类推)。这些文档可以位于世界上任何一个接在互联网上的超文本系统中。超文本是万维网的基础。

4.2 统一资源定位符URL

统一资源定位符URL(Uniform Resource Locator):是用来表示从互联网上得到的资源位置和访问这些资源的方法。

互联网上的所有资源,都有一个唯一确定的URL。URL相当于一个文件名在网络范围的扩展,它的一般形式由下面四个部分组成:

<协议>://<主机>:<端口>/<路径>

URL里面的字母不分大小写,但为了便于阅读,有时故意使用一些大写字母。

4.3 超文本传送协议HTTP

1.HTTP的操作过程

HTTP协议定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。

HTTP协议是面向事务的应用层协议,它是万维网上能够可靠地交换文件(包括:文本、声音、图像等各种多媒体文件)的重要基础。

每个万维网网点都有一个服务器进程,它不断地监听TCP的端口80,以便发现是否有浏览器向它发出连接建立请求。一旦监听到连接建立请求并建立了TCP连接之后,浏览器就向万维网服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。最后,TCP连接就被释放了。在浏览器和服务器之间的请求和响应的交互,必须按照规定的格式和遵循一定的规则。这些格式和规则就是超文本传送协议HTTP。

HTTP协议是无状态的,即同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时的相同(假设页面没有更新),因为服务器不记得曾经访问过的这个客户,也不记得为它服务过多少次。HTTP的无状态特性简化了服务器的设计,使服务器更容易支持大量并发的HTTP请求。

HTTP/1.0的主要缺点:

每请求一个文档就要有两倍RTT的开销。若一个主页上有很多链接的对象需要依次进行链接,那么每一次链接下载都导致2RTT的开销。另一种开销就是万维网客户和服务器每一次建立新的TCP连接都要分配缓存和变量。特别是万维网服务器往往要同时服务于大量客户的请求,所以这种非持续连接会使万维网服务器的负担很重。好在浏览器都能够打开5~10个并行的TCP连接,而每一个TCP连接处理客户的一个请求。因此,使用并行TCP连接可以缩短响应时间。

HTTP/1.1:

较好的解决了HTTP/1.0两倍RTT时间开销的问题。它使用持续连接。所谓持续连接就是万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续HTTP请求报文和响应报文。这并不局限于传送同一个页面上链接的文档,而是只要这些文档都在同一个服务器上就行。

HTTP/1.1的持续连接有两种工作方式:非流水线方式和流水线方式。非流水线客户访问一次对象需要一个RTT时间,流水线客户访问所有的对象只需要花费一个RTT时间。

2. 代理服务器

代理服务器是一种网络实体,它又称为万维网高速缓存。代理服务器把最近的一些请求和响应暂存在本地磁盘中。当新请求到达时,若代理服务器发现这个请求与暂时存放的请求相同,就返回暂存的响应,而不需要按URL的地址再次去互联网访问该资源。代理服务器可在客户端或服务器端工作,也可在中间系统上工作。

下面举个例子说明:

图中校园网使用代理服务器访问互联网的过程如下:

1、校园网计算机中的浏览器访问互联网的服务器请求服务时,就先和校园网的代理服务器建立TCP连接,并向代理服务器发出HTTP请求报文;

2、若代理服务器已经存放了所请求的对象,代理服务器就把这个对象放入HTTP响应报文中返回给计算机的浏览器;

3、否则,代理服务器就代表发出请求的用户浏览器,与互联网上的源点服务器建立TCP连接,并发送HTTP请求报文;

4、源点服务器把所请求的对象放在HTTP响应报文中返回给校园网的代理服务器;

5、代理服务器收到这个对象后,先复制在自己的本地存储器中(留待下次用),然后再把这个对象放在HTTP响应报文中,通过已建立的TCP连接,返回给请求该对象的浏览器。

3.HTTP的报文结构

HTTP有两类报文:请求报文和响应报文。

由于HTTP是面向文本的,因此在报文中的每一个字段都是一些ASCII码串,因而各个字段的长度都是不确定的。

HTTP请求报文和响应报文都是由三个部分组成:开始行(请求报文中叫请求行、响应报文中叫状态行)、首部行和实体主体。

请求报文的请求行的第一个字段“方法”,常用的如下表所示:

HTTP请求报文:

HTTP响应报文:

响应报文的状态行包括三项内容:HTTP的版本、状态码以及解释状态码的简单短语。

状态码都是三位数字的,分为5大类:

  1. 1xx 表示通知信息,如请求收到了或者正在处理;
  2. 2xx 表示成功,如接受或知道了;
  3. 3xx 表示重定向,如要完成请求还必须采取进一步的行动;
  4. 4xx 表示客户的差错,如请求中有错误的语法或不能完成;
  5. 5xx 表示服务器的差错,如服务器失效无法完成请求。

如下面三种常遇见的响应报文中的状态行:

4. 在服务器上存放用户的信息

因为HTTP是无状态的协议,所以服务器识别不了用户,但是某些场景又需要服务器能够识别出用户,比如下面这个场景:

在网上购物时,一个顾客要购买多种物品。当他把选好的一件物品放入“购物车”后,他还要继续浏览和选购其他商品。因此,服务器需要记住用户身份,使他接着选购的一些物品能够放入同一个“购物车”中,这样便于集中结账。

要做到上面的场景的需求,需要在HTTP中使用Cookie,其在HTTP服务器和客户之间传递状态信息。

Cookie的工作过程:

当用户A浏览某个使用Cookie的网站时,该网站的服务器就为A产生一个唯一的识别码,并以此作为索引在服务器的后端数据库中产生一个项目。接着在给A的HTTP响应报文中添加一个叫做Set-cookie的首部行。这里的“首部字段名”就是“Set-cookie”,而后面的“值”就是赋予该用户的“识别码”。例如这个首部行是这样的:

Set-cookie:31d4d96e407aad42

当A收到这个响应时,其浏览器就在它管理的特定Cookie文件中添加一行,其中包括这个服务器的主机名和Set-cookie后面给出的识别码。当A继续浏览这个网站时,每发送一个HTTP请求报文,其浏览器就会从其Cookie文件中取出这个网站的识别码,并收到HTTP请求报文的Cookie首部行中:

Cookie:31d4d96e407aad42

于是,这个网站就能跟踪用户31d4d96e407aad42在该网站的活动。需要注意的是,服务器并不需要知道这个用户的真实姓名以及其他的信息。但服务器能够知道用户31d4d96e407aad42在什么时间访问了哪些页面,以及访问这些页面的顺序。如果A是在网上购物,那么这个服务器可以为A维护一个所购物品的列表,使A在结束这次购物时可以一起付费。

4.4 万维网文档

超文本标记语言

要使任何一台计算机都能显示出任何一个万维网服务器上的页面,就必须解决页面制作的标准化问题。超文本标记语言HTML(HyperText MarkUp Language)就是一种制作万维网页面的标准语言,它消除了不同计算机之间信息交流的障碍。

HTML利用很多“标签”用于文档的排版。

需要注意的是仅当HTML文档是以.html或.htm为后缀时,浏览器才对这样的HTML文档的各种标签进行解释。如果HTML文档是以.txt为后缀的,则HTML解释程序就不对标签进行解释,而浏览器只能看见原来的文本文件。

5. 电子邮件

5.1 电子邮件概述

电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人“邮箱”里,收件人可在自己方便时上网到自己使用的邮件服务器进行读取。

发送和接收一个邮件的几个重要步骤:

1、发件人编写好邮件内容。然后把邮件通过SMTP协议发送给发送方的邮件服务器;

2、SMTP服务器收到用户发来的邮件后,就把邮件临时存放在邮件缓存队列中,等待发送到接收方的邮件服务器中;

3、发送方邮件服务器SMTP客户与接收方邮件服务器的SMTP服务器建立TCP连接,然后就把邮件缓存队列中的邮件依次发送出去;

4、运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,把邮件放入收件人用户邮箱中,等待收件人进行读取;

5、收件人在打算收信时,就运行计算机中的用户代理,使用POP3或者IMAP协议读取发送给自己的邮件。

5.2 简单邮件传送协议SMTP

STMP(Simple Mail Transfer Protocol)规定了两个相互通信的SMTP进程之间应该如何交换信息。

SMTP规定了14条命令和21种应答信息。下面介绍发送和接收方的邮件服务器之间的SMTP通信的三个阶段的主要命令和响应信息。

1、连接建立

发件人的邮件发送到发送方邮件服务器的邮件缓存中后,邮件服务器中的代理SMTP客户每隔一定时间对邮件缓存扫描一次。如发现有邮件,就使用SMTP的熟知端口25与接收方邮件服务器的SMTP服务器建立TCP连接。在连接建立后,接收方SMTP服务器要发出“220 Service ready”(服务就绪)。然后SMTP客户向SMTP服务器发送HELLO命令,附上发送方的主机名。SMTP服务器若有能力接收邮件,则回答“250 OK”,表示已准备好接收。若SMTP服务器不可用,则回答“421 Service not available”(服务不可用)。

注意:SMTP不使用中间邮件服务器,TCP连接总是在发送方和接收方这两个邮件服务器之间直接建立。

2、邮件传送

邮件的传送从MAIL命令开始。MAIL命令后面有发件人的地址。

下面跟着一个或者多个RCPT命令,取决于把同一个邮件发送给一个或多个收件人。

RCPT命令的作用:先弄清楚接收方系统是否已做好接收邮件的准备,然后才发送邮件。这样做是为了避免浪费通信资源,不至于发送了很长的邮件以后才知道地址错误。

再下面就是DATA命令,表示要开始传送邮件的内容了。

3、连接释放

邮件发送完毕后,SMTP客户应发送QUIT命令。SMTP服务器返回的信息是“221(服务关闭)”,表示SMTP同意释放TCP连接。邮件传送的全部过程即结束。

需要说明的是:
SMTP传送的邮件是明文,不利于保密。也没有身份鉴别,所以造成很多垃圾邮件。

解决办法:扩充的SMTP(Extened SMTP),记为ESMTP。新增的功能有:客户端的鉴别、服务器接受二进制报文、服务器接受分块传送的大报文、发送前先检查报文的大小以、使用安全传输TLS以及使用国际化地址等。

SMTP有很多缺点,比如:不能传送可执行文件或其他二进制对象、限于传送7位ASCII码、SMTP服务器拒绝超过一段长度的邮件等等。为了解决以上问题,提出了通用互联网邮件扩充MIME,它并没有改变或取代SMTP,但增加了邮件主体的结构并定义了传送非ASCII码的编码规则。

5.3 邮件读取协议POP3和IMAP

邮局协议POP3是一个非常简单、但功能有限的邮件读取协议。它最大的特点就是只要用户从POP3服务器读取了邮件,POP3服务器就把该邮件删除。

网际报文存取协议IMAP(Internet Message Access Protocol):用户在自己的计算机上就可以操纵邮件服务器的邮箱,就像在本地操纵一样,因此IMAP是一个联机协议。IMAP最大的好处就是用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己在邮件服务器中的邮件。

强调一下:发件人的用户代理向发送邮件的服务器发送邮件,以及发送邮件服务器向接收方邮件服务器发送邮件,都使用SMTP协议。而POP3或IMAP则是用户代理从接收方邮件服务器上读取邮件所使用的协议。

6. 动态主机配置协议

连接到互联网的计算机的协议软件需要配置四个项目:

  • 1、IP地址;
  • 2、子网掩码;
  • 3、默认路由器的IP地址;
  • 4、域名服务器的IP地址;

动态主机配置协议DHCP(Dynamic Host Configuration Protocol),提供了一种机制,称为动态主机配置协议,称为即插即用连网。这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。

需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文(DHCPDISCOVER:将目的IP地址全置1,即255.255.255.255,源IP地址全设为0),这时该主机就成了DHCP客户。发送广播报文是因为现在还不知道DHCP服务器在什么地方,因此要发现DHCP服务器的IP地址。.这样,本网段的所有主机都能够收到这个广播包,但是只有DHCP服务器才能对此广播包进行回答。DHCP服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的IP地址池中取一个地址分配给该计算机。DHCP服务器的回答报文叫做提供报文(DHCPOFFER),表示“提供”了IP地址等配置信息。


需要说明几点:

1、我们没必要在每个网段上都设置一个DHCP服务器,只需要在每一个网络中设置一个DHCP中继代理(通常是一台路由器),就可以实现跨网段获取IP地址。DHCP中继代理配置了DHCP服务器的IP地址信息。当DHCP中继代理收到主机A以广播形式发送的发现报文后,就以单播方式向DHCP服务器转发此报文,并等待其回答。收到DHCP服务器回答的提供报文后,DHCP中继代理再把此提供报文发回给主机A。

2、DHCP服务器分配给DHCP客户的IP地址是临时的,,因此DHCP客户只能在一段有限的时间内使用这个分配到的IP地址。DHCP协议称这段时间为租用期,这个数值由DHCP服务器自己决定。当租用期过半,DHCP客户还要发送请求更新租用期。

7. P2P 应用

  • 话题
  1. P2P内容分发
  2. 不须要中心server,是一种去中心化的协议
  • 起源:
    因为CDN须要中心server,所以诞生了P2P去中心化的内容分发网络

  • P2P

  1. P2P的目标就是去中心化实现内容分发
  2. 主要想法就是让參与P2P的用户互相帮助
  • P2P的挑战
  1. 没有server支持,全部的连接须要用户主机自己组织。这就导致了一些问题。
  2. 每一个节点的能力有限
  3. 參与者可能是自私的,为什么节点之间会相互帮助呢?
  4. 去中心化,节点之间怎样找到对方呢?
  • 克服能力的限制
    每一个节点都是client,同一时候也扮演着server的角色

  • 參与者可能是自私的

  1. 每一个节点都扮演着两种角色,下载或者上传
  2. 防止自私的方法就是:假设你给我数据,我也给你数据
  • 实现去中心化
  1. 节点必需要知道对方的地址是什么
  2. 能够通过DHT分布式哈希表来实现
  3. DHT是全然去中心化、高效的分布式索引
  • BitTorrent
  1. 现在使用的基本的P2P系统
  2. 使用torrents来分发数据。每一个节点将文件分割成非常多片段,然后将这些片段进行传输
  • BitTorrent协议
  1. 第一步:从torrent种子开始
  2. 第二步:联系tracker,将自己增加到列表中,而且获取其它的用户列表
  3. 使用DHT网络来更新节点列表
  4. 将自己的数据片段和别人的数据片段进行交易,对自己贡献多的节点优先考虑
  5. 全部的节点都是同一时候下载/上传数据
  6. 将文件切割成非常小的片段来提高传输速度
  7. 孤立贡献小的节点,鼓舞他作出很多其它贡献
  8. DHT是全然去中心化的
  • P2P前景
  1. 是CDN的替代品
  2. P2P和DHT技术有了很多其它的应用,比方SKYPE AMAZON
  3. 还有比特币

计算机网络:第六章 应用层相关推荐

  1. 计算机网络 第六章 应用层

    计算机网络的最后一章,内容上也没什么特别重要的东西,当初老师也没有讲,这里只按照王道整理一下知识点,不再多写了. 6.1 DNS域名系统 域名系统是因特网使用的命名系统,用于将具有特定含义的主机名转换 ...

  2. 计算机网络--第六章 应用层--课后习题答案

    计算机网络原理第五版课后的全部习题答案,学习通作业答案. 说明:计算机网络原理其他章节的习题答案也在此"计算机网络"专栏. 6-01 因特网的域名结构是怎么样的?它与目前的电话网的 ...

  3. 王道考研计算机网络第六章——应用层

    目录 6.1 网络应用模型 6.1.1 应用层概述 6.1.2 网络应用模型 1 客户/服务器模型(Client/Server) 2 P2P模型(Peer-to-peer) 6.2  DNS系统(53 ...

  4. 【思维导图】计算机网络第六章应用层

  5. 计算机网络复习-第六章应用层

    计算机网络复习-第六章应用层 第六章 应用层 应用层协议概述 应用层协议特点 每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的 ...

  6. 【计算机网络】知识点整理 第六章 应用层(王道考研视频学习记录)

    第六章 应用层 6.1 网络应用模型 6.1.1应用层概述 6.1.2 客户/服务器(C/S)模型 6.1.3 P2P模型 6.2 DNS系统 6.2.1 域名 6.3 文件传输协议FTP 6.4 电 ...

  7. 计算机网络笔记第六章应用层

    适用计算机网络(第七版) 自己的学习笔记,PPT及图片来源网络,侵删. 第六章协议较多,且大多数不再408考研范围,后面比较简略. 计算机网第六章 第六章 应用层 6.1 域名系统 DNS 6.1.1 ...

  8. 计算机网络原理笔记 精整理 第六章 应用层

    计算机网络原理笔记 精整理 第六章 应用层 6.1域名系统DNS 6.1.1什么是域名 6.1.2域名的结构 6.1.3Internet中的域名服务器 6.1.4域名解析过程 6.2动态主机配置协议D ...

  9. 计算机网络(BYSEE)第六章 应用层 学习笔记(0612)

    第六章 应用层 每个应用层协议都是为了解决某一类应用问题,通过位于不同主机中的多个应用进程之间的通信和协同工作来完成. 应用层的具体内容就是规定应用进程在通信时所遵循的协议 应用层的许多协议都是基于客 ...

  10. 计算机网络第六弹——应用层

    计算机网络第六弹--应用层 彩蛋 计算机网络谢希仁第七版原版ppt获取方式:公众号后台回复"N3"即可获取. 由于公众号不支持显示LaTeX公式且公众号排版混乱,建议大家关注微信公 ...

最新文章

  1. android 监听物理返回键,Android应用开发之react-native 监听Android物理返回键
  2. java追加文本到文件末尾
  3. 字符设备驱动基本流程
  4. 一年拿下软考中高级+PMP是一种怎样的体验?
  5. JS中生成8位的随机数字
  6. php生日计算年龄,php根据生日计算年龄的方法
  7. js实现导航菜单栏随着屏幕的滚动进行滚动的效果
  8. 解决java报Too many open files错误
  9. 下载Nagios监控软件步骤
  10. 实现WebSocket和WAMP协议的开源库WampSharp
  11. 基于SSM的企业OA系统
  12. 队列服务(Queue)
  13. postman调用webservice接口
  14. matlab画gds图,Matlab GDS流程.doc
  15. 【NTL密码算法开源库-概述】
  16. Android前置后置摄像头录制视频综合版
  17. 厉害了,苹果承认故意让旧 iPhone 变慢!
  18. 美团赴抖音之“约”:让本地生活补贴大战来得更猛烈些?
  19. uniPaas入门(magic最新版本改名叫uniPaas,unipaas也就是以前的magic)
  20. ECharts 数据可视化插件

热门文章

  1. Transact SQL 常用语句以及函数
  2. Active report-在Web 上使用 active report
  3. 剑指 Offer 11. 旋转数组的最小数字 简单
  4. 霍金的预言正在实现,我们已经离不开人工智能,而它们在脱离控制
  5. 操作系统开发第一人去世,曾获图灵奖启发Linux和C语言
  6. 为什么不从算法上优化机器的“眼睛”,而是从“大脑”入手?
  7. 吴恩达对话Yann LeCun:从相识Hinton到深度学习崛起
  8. 小波变换在语音信号处理的应用
  9. c语言 临时文件作用,c语言函数mktemp()产生唯一临时文件名实例源码介绍
  10. android编程用真机模拟,android编程的广播,模拟器可接受,但真机不可接受。