p2p也就是对等模型
我们知道,随着人们建立一个网站的成本降低以及技能的提高,越来越多的网站出现,并且也会有千万计的人们去访问这些网站。而网民在访问网站的过程中,其实就是主机和另一台主机进行一个远程之间的通信,以及资源交换的过程。
我们的主机怎么找到对方的主机?其实就是通过IP地址这个全球唯一的标识符就可以找到对应的网站,并和这个网站进行一个信息的交换。
但是我们仔细想一下,如果我们要访问b站,我们知道b站的服务器的ip地址吗?这显然是不现实的。所以我们本节会学习一个东西来替代ip地址,也就是域名
域名你可以想象成,每个网站它都有一个自己的名字,我们可以通过记住这些名字来找到对应的网站。
而域名到IP地址的转换,就是由我们要学的DNS系统来解决的。
现在我们有一台主机,你需要访问王道论坛的网站。你知道论坛的域名www.cskaoyan.com,前面的http是使用万维网的一种协议。
那我们在搜索引擎中输入这样的域名后,在正式访问王道论坛前。我们需要把域名解析成IP地址。主要靠的就是DNS服务器,它可以帮我们实现域名到ip地址的转换。
也就是我们输入域名之后,会传给DNS服务器,DNS服务器处理之后会返回给我们王道论坛的IP地址。
我们主机知道对应网站IP地址之后,就可以通信了。这个通信过程就是我们之前网络层、传输层、链路层、物理层要解决的问题。
当一个主机要访问一个网站的时候,就要先发送一个DNS查询请求,首先发送给的就是本地域名服务器。如果本地域名服务器的缓存中不清楚主机所发送的DNS请求中IP地址和域名的一个解析,他就需要向根域名服务器发送一个请求。
根域名服务器是最高层次的域名服务器,也是最重要的域名服务器,它知道所有顶级域名服务器的域名和IP地址
ps:一个域名可能是好几台主机共用
再往下,每个顶级域名服务器又知道它下面的权限域名服务器的IP地址是多少
递归查询:
这是一种靠别人的方式,比如说我在访问一个网站的时候,首先要进行DNS查询请求,首先就是查询本地域名服务器,如果本地域名服务器查不到就去寻求根域名服务器帮助。
但如果根域名服务器还是无法解析域名,那根域名服务器就要请求顶级域名的帮助。
如果顶级域名还不能解析完整域名,就要继续往下请求权限域名服务器的帮助。就是这样一个接一个寻求另一个人帮助的过程。
就像是递归一样,然后返回就是原先的访问顺序逆过来。
迭代查询:
该种方式和递归查询的区别在于它是靠自己的方式,这里的自己是指本地域名服务器。
迭代查询的方式就是,如果本地域名服务器中并没有这个域名它所对应的IP地址,它首先要查询根域名服务器,如果根域名服务器没有。
那本地域名服务器再去查询顶级域名服务器。
这里区别递归查询,递归查询如果根域名服务器没有,是根域名服务器去请求顶级域名服务器。但是迭代查询永远是本地域名服务器去做请求。
那本地域名服务器是怎么知道找哪个顶级域名服务器呢?这个是根域名服务器告诉他的。
在文件传输的时候,如果使用FTP协议,就可以屏蔽不同操作系统之间的差异性。
大家对于FTP应该并不陌生,因为我们平时上课的时候,老师可能会给我们一个FTP地址,让我们从这个FTP上面来下载作业。然后你做完之后才上传上去。就类似于一个拷贝的过程,即从FTP服务器上把文件拷贝到你电脑里,另一种是把你电脑里的文件拷贝到服务器上。
FTP服务器的进程主要由两大部分来组成,第一个部分就是唯一的主进程,这个主进程可以负责接收新的请求。
主进程的工作步骤如下:首先打开服务器的熟知端口,也就是这个FTP服务器它实现文件传输的熟知端口,端口号是21,在这个端口打开之后,就可以使客户进程成功的连接上。接下来,它只需要等待客户进程发送一个连接的请求,然后再进行数据的连接和传送。然后它就可以启动n个从属进程
从属进程:每一个从属进程都可以处理单个客户请求,比如你要去理发店理发。进门前有一个门童问你是剪发还是染发,然后进去之后门童会给你安排一个剪头的或者染头的Tony老师,让这个老师为你服务。
门童就相当于主进程,每个tony老师就相当于一个从属进程。
用户代理:就是用户和电子邮件系统的一个接口,在通常情况下,它就是运行在你电脑上的一个程序。所以用户代理又可以称之为电子邮件的客户端软件。用户代理可以为客户提供一个比较友好的接口,目前就是给你一个窗口的界面,通过这个界面你就可以写邮件、发邮件、接收邮件。
现在可以用的用户代理有很多,比如Foxmail、outlook等。
用户代理主要有四个功能:
1.撰写:即给用户提供一个编辑信件的环境。
2.显示:即用户写完的信可以显示在屏幕上,也可以看收来和发出去的信件内容。
3.处理:包括发送邮件、接收邮件。比如收到一个邮件,我可以选择删除。
4.通信:通信是指,我在写完邮件之后,需要利用邮件的一些发送协议。
邮件服务器:
邮件服务器作为服务器需要长时间的工作,并且它会有大容量的邮件信箱来容纳大量的信件。
邮件服务器主要有两个功能:
1.发送和接收邮件:用户代理的发送和接收是把邮件从客户端,也就是从我们自己电脑上发给邮件服务器,而邮件服务器的发送邮件则是把邮件发送到接收方的邮件服务器。接收则是接收方的邮件服务器接收发送方的邮件服务器传来的邮件。
2.向发件人报告发送结果:也就是告诉发件人你的邮件是交付了还是丢失了。
邮件服务器采用的是客户/服务器模式,每一个邮件服务器它可以同时充当服务器或者客户。
协议:
协议主要分两类:
SMTP:邮件发送出去的时候
POP3、IMAP:接收的时候