2021-02-02~03--总结
英语
计算机网络
客户(client)和服务器(server)都是指通信中所涉及的两个应用进程
客户是服务请求方,服务器是服务提供方。
本章重点:
(1)域名系统DNS–从域名解析出IP地址
(2)万维网和HTTP协议,以及万维网的两种不同的信息搜索引擎
(3)电子邮件的传送过程,SMTP协议和POP3协议、IMAP协议使用的场合
(4)动态主机配置协议DHCP的特点
(5)网络管理的三个组成部分(SNMP本身、管理信息结构SMI、管理信息库MIB的作用)
(6)系统调用和应用变成接口的基本概念
(7)P2P文件系统
第六章 应用层
域名系统DNS(Domain Name System)
域,说的简单直白一点,就是把网络上的主机或者服务器之类的,划分到一个域里面,并且一台主机可以是这个域中的一台主机,也可以是另一个域中的一个主机。
例子:
一天,小明因为用工具扫描了一下腾讯的官网,然后就被送进局子里面去了。小明一进去,这里面小明不熟悉啊,里面讲究帮派(域)的,你刚进去你是不知道的,这个时候,你要么被人揍一顿,然后人家告诉人家是什么帮派的,或者你找一个一个看似睿智的老头,可能他会给以一通描绘,然后告诉你那些人是那个帮派里面的。并且当一个帮派在里面变得越来越大的时候,帮派里面也是要分等级的。这就是*域名、二级域名、三级域名(每一个标号不超过63个字符,也不区分大小写字母。由多个标号组成的完整域名总共不超过255个字符)。
同时还要注意区和域的区分:
区是域的真子集
(1)根域名服务器(root name server)
(2)*域名服务器(即TDL服务器)
(3)权限域名服务器
(4)本地域名服务器(local name server)
迭代查询:
就是一个主机或者服务器查询的时候,自己向所有其它主机、服务器询问
递归查询:
就是A问完B后,B去问C,C再去问D
文件传送协议
FTP:
文件传送协议FTP只提供文件传送的一些基本的服务,它使用TCP可靠的运输服务。FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。
TFTP(Trivial File Transfer Protocol):
简单文件传送协议
TFTP的工作像停止等待协议。发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号。发完数据后在规定时间内收不到确认就要重发数据PDU。发送确认PDU的一*在规定时间内收不到下一个文件块,也要重发确认PDU。这样就可以保证文件的传送不致因某一个数据报的丢失而告失败。
远程终端协议TELNET
通过TCP连接注册到远地的另一台主机上(使用主机名或IP地址)。TELNET能将用户的击键传到远地主机,同时也能将远地主机的输出通过TCP连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。因此,TELNET又称为终端仿真协议。
两端使用TCP连接的时候使用NVT格式。
万维网WWW(World Wide Web)
万维网是一个分布式的**超媒体(hypermedia)系统,它是超文本(hypertext)**系统的扩充。所谓超文本是指包含指向其他文档的链接的文本(text)。也就是说,一个超文本由多个信息源链接成,而这些信息源可以分布在世界各地,并且数目也是不受限制的。利用一个链接可使用户找到远在异地的另一个文档,而这又可链接到其他的文档。这些文档可以位于世界上任何一个接在互联网上的超文本系统中。超文本是万维网的基础。(这段话有点官方)
统一资源定位符URL
URL一般形式:
<协议>://<主机>:<端口>/<路径>
使用HTTP的URL
http://<主机>:<端口>/<路径>
从层次的角度看,HTTP是面向事务的(transaction-oriented)应用层协议
HTTP/1.0的主要缺点,就是每请求一个文档就要有两倍RTT的开销。
HTTP/1.1协议使用了持续连接(persistent connection),这种协议的持续连接有两种工作方式,即非流水线方式(without pipelining)和流水线方式(with pipelining)。
代理服务器(proxy server)又称为万维网高速缓存(Web cache)
代理服务器把最近的一些请求和响应暂存在本地磁盘中。
HTTP有两类报文:请求报文、响应报文
HTTP由三个部分组成:
(1)开始行
(2)首部行
(3)实体主体
状态码:
1xx:表示通知信息,如请求收到了或正在进行处理
2xx:表示成功,如接收或知道了
3xx:表示重定向,如完成请求还必须采取进一步的行动
4xx:表示客户的差错,如请求中有错误的语法或不能完成
5xx:表示服务器的差错,如服务器失效无法完成请求
电子邮件
电子邮件的两个最重要的标准就是:简单邮件传送协议SMTP(Simple Mail Transfer Protocol)和互联网文本报文格式。
用户代理UA(User Agent)就是用户与电子邮件系统的接口,在大多数情况下它就是运行在用户电脑中的一个程序。因此用户代理又称为电子邮件客户端软件。
IMAP和POP3的主要功能比较
操作位置 | 操作内容 | IMAP | POP3 |
---|---|---|---|
收件箱 | 阅读、标记、移动、删除等 | 客户端与邮箱更新同步 | 仅在客户端内 |
发件箱 | 保存到已发送 | 客户端与邮箱更新同步 | 仅在客户端内 |
创建文件夹 | 新建自定义的文件夹 | 客户端与邮箱更新同步 | 仅在客户端内 |
草稿 | 保存草稿 | 客户端与邮箱更新同步 | 仅在客户端内 |
垃圾文件夹 | 接收并移入垃圾文件夹的邮件 | 支持 | 不支持 |
广告邮件 | 接收并移入广告邮件夹得邮件 | 支持 | 不支持 |
动态主机配置协议DHCP
DHCP(Dynamic Host Configuration Protocol)
原理简单一点说就是:由于一个主机刚接入互联网,但是它什么都不知道,因此它采用广播的方式并且将目的IP地址置为全1,即255.255.255.255,源地址置为全0。这样,在本来网络上的所有主机都能够收到这个广播报文,但只有DHCP服务器才对此广播报文进行回答。接着就是DHCP应答与新来的主机建立连接,然后给他一个可以租用的IP地址。
简单网络管理协议SNMP
简单网络管理协议SNMP(Simple Network Management Protocol)中的管理程序和代理程序按客户服务器方式工作。管理程序运行SNMP客户程序,而代理程序运行SNMP服务器程序。
SNMP的网络管理由三个部分组成,即SNMP本身、管理信息结构(Structure Of Management Information)和管理信息库MIB(Management Information Base)
应用简称跨越网络的通信
SMI定义了命名对象和定义对象类型(包括范围和长度)的通用规则,以及把对象和对象的值进行编码的规则。这样做是为了确保网络管理数据的语法和语义无二义性。请注意,SMI并不定义一个实体应管理的对象数目,也不定义被管对象名以及对象名及其值之间的关联。
MIB给每个对象命名,并定义对象的类型。
SMI规定所有被管对象都必须处在对象命名树(object naming tree)。
P2P应用
简单的说一下我理解的,就是比如说你要下载一个电影:
原来的时候,就是大家都去那些视频网站去下载这个,比如说都去爱奇艺去下载这个电影,就是集中式的,大家都去一个地方下载;P2P是把这个电影分成多个块,然后有多个人要下载,假设现有一部分已经下载过一些切片的数据了,这个时候有又许多的主机假如,说我也要下载这个,但是注意,这个时候,它们不必都去一个主机那里去下载,而是可以去原来下载过这个主机那里去下载,这样就变为分布式的了。但是同时也带来一些其它的问题。
这其中涉及到很多原理和其它都不再提及,里面有一个Chord比较难理解:
Chord把结点按标识符数值从小到大沿顺时针排列成一个唤醒覆盖网络,并按照下面的规则映射:
- (1)结点标识符NID按照其标识符值映射到Chord环上对应的点
- (2)资源名标识符KID则按照其标识符值映射到与其值最接近的下一个NID(这其中还用到了散列函数)
本章的重要概念
- 用层协议是为了解决某一类应用问题,而问题的解决又是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层规定了应用进程在通信时所遵循的协议。应用层的许多协议都是基于客户服务器方式的。客户是服务请求方,服务器是服务提供方。
- 域名系统DNS是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。DNS是一个联机分布式数据库系统,并采用客户服务器方式。
- 域名到IP地址的解析是由分布在互联网上的许多域名服务器程序(即域名服务器)共同完成的。
- 互联网采用层次树状结构的命名方法,任何一台连接在互联网上的主机或路由器都有一个唯一的层次结构的名字,即域名。域名中的点和点分十进制IP地址中的点没有关系。
- 域名服务器分为根域名服务器、*域名服务器、权限域名服务器和本地域名服务器。
- 文件传送协议FTP使用TCP可靠的运输服务。FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。在进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接:控制连接和数据连接。实际用于传输文件的是数据连接。
- 万维网SWW是一个大规模的、联机式的信息储藏所,可以非常方便地从互联网上的一个站点链接到另一个站点。
- 万维网的客户程序向互联网中的服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。在客户程序主窗口上显示出的万维网文档称为页面。
- 万维网使用资源定位符URL来标志万维网上的各种文档,并使每一个文档在整互联网的范围内具有唯一的标识符URL。
- 万维网客户程序与服务器程序之间进行交互所使用的协议是超文本传送协议HTTP。HTTP使用TCP连接进行可靠的传送。HTTP协议本身是无连接、无状态的。HTTP/1.1协议使用了持续连接(分为非流水线方式和流水线方式)。
- 万维网使用超文本标记语言HTML来显示各种万维网页面。
- 万维网静态文档是指在文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变。动态文档是指文档的内容是在浏览器访问万维网服务时才由应用程序动态创建的。
- 活动文档技术可以使浏览器屏幕连续更新。活动文档程序可与用户直接交互,并可连续地改变屏幕的显示。
- 在万维网中用来进行搜索的工具叫做搜索引擎,搜索引擎大体上可划分为全文检索搜索引擎和分类目录搜索引擎两大类。
- 电子邮件是互联网上使用最多的和最受用户欢迎的一种应用。电子邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可随时上网到自己使用的邮件服务器进行读取,相当于“电子信箱”。
- 一个电子邮件系统有三个主要组成构件,即:用户代理、邮件服务器,以及邮件协议(包括邮件发送协议,如SMTP,和邮件读取协议,如POP3和IMAP)。用户代理和邮件服务器都要运行这些协议。
- 电子邮件的用户代理就是用户与电子邮件系统的接口,它向用户提供一个很友好的视窗界面来发送和接收邮件。
- 从用户代理把邮件传送到邮件服务器,以及在邮件服务器之间的传送,都要使用SMTP协议。但用户代理从邮件服务器读取邮件时,则要使用POP3(或IMAP)协议。
- 基于万维网的电子邮件使用户能够利用浏览器收发电子邮件。用户浏览器和邮件务器之间的邮件传送使用HTTP协议,而在邮件服务器之间邮件的传送仍然使用SMTP协议。
- 简单网络管理协议SNMP由三部分组成,即(1)SNMP本身,负责读取和改变各代理中的对象名及其状态数值;(2)管理信息结构SMI,定义命名对象和定义对象类型(包括范围和长度)的通用规则,以及把对象和对象的值进行编码的基本编码规则BER;(3)管理信息库MIB,在被管理的实体中创建了命名对象,并规定了其类型。
- 系统调用接口是应用进程的控制权和操作系统的控制权进行转换的一个接口,又称为应用编程接口API。API就是应用程序和操作系统之间的接口。
- 套接字是应用进程和运输层协议之间的接口,是应用进程为了获得网络通信服务而与操作系统进行交互时使用的一种机制。
- 目前P2P工作方式下的文件共享在互联网流量中已占据最大的份额,比万维网应用所占的比例大得多。
- BT是很流种P2P应用。BT采用“最稀有的优先”的技术,可以尽早把最稀有的文件块收集到。此外,凡有当前以最高数据率向某个对等方传送文件块的相邻对等方,该对等方就优先把所请求的文件块传送给这些相邻对等方。这样做的结果是,这些对等方相互之间都能够以令人满意的速率交换文件块。
- 当对等方的数量很大时,采用P2P方式下载大文件,要比传统的客户-服务器方式快得多。
- 在P2P应用中,广泛使用得索引和查找技术是分布式散列表DHT。