1、文件传输、访问和管理。(FTP协议)
2、电子邮件。(HTTP协议、SMTP协议、IMAP协议)
3、虚拟终端。(HTTP协议)
查询服务和远程作业登录。(DNS协议)
服务器:提供计算服务的设备。
特点:
1⃣️、永久提供服务
2⃣️、永久性访问地址/域名
客户机:请求计算服务的设备。
特点:
1⃣️、与服务器通信,使用服务器提供的服务。
2⃣️、间歇性的接入网络。
3⃣️、可能使用动态的IP地址。
4⃣️、不与其他客户直接通信。
贴一张图帮助更直观的理解:
应用:Web,文件传输FTP,远程登录,电子邮件。
特点:
1⃣️、不存在永远在线的服务器。
2⃣️、每个主机既是客户机又是服务器,既可以请求服务,又可以提供服务。
3⃣️、任意端系统/结点之间都可以直接通讯。
4⃣️、节点间歇性的接入网络。
5⃣️、结点可能改变IP地址。
6⃣️、可拓展性好。
7⃣️、网络健壮性强。
当你想访问一个网站的时候,你需要知道那个网站的IP地址是多少。但我们知道IP地址记忆起来有点困难,因此就有了一种解决办法——域名,我们虽然记不住百度的IP地址,但我们能记住百度的域名是www.baidu.com。DNS系统的作用就是将域名转换成IP地址,从而完成对某一个网站的访问。
因此每当客户端想要访问一个网站的时候,客户端将这个网站的域名传给DNS服务器,DNS服务器解析出IP地址,然后将IP地址传递给客户端,客户端就可以对其进行一个访问。
DNS系统的作用就是将域名解析为IP地址。
我们用这张图片来举例子
域名的构成:
域名由根(com后面的一个.)+顶级域名+二级域名+三级域名(有的还有四级域名,例如北大的域名是www.pku.edu.com)构成。
自右向左域名等级逐渐降低。
那不同级别的域名分别表示什么呢?
用北大的域名(www.pku.edu.cn)来举个例子
由上面的图可以知道
顶级域名cn,表示中国的域名。
二级域名edu,表示教育行业的域名。
三级域名pku,有二级域名就会有一个三级域名,北大所申请的三级域名就是pku。
四级域名www,表示北大的首页。
如果所有的域名都在一个服务器里面解析,那肯定会很慢。因此域名服务器分为以下几种:
1⃣️、根域名服务器
2⃣️、顶级域名服务器
3⃣️、权限域名服务器
先来看一张图片
从图片中我们可以总结出:
按照域名的等级,上一等级的域名服务器可以解析出下一服务器域名的IP地址,并知道接下来该发往什么服务器。
比如根域名服务器,就能够解析出顶级域名对应的IP,并且知道接下来要发往有着对应域名的顶级域名服务器。下面的同理可推。
特殊的——本地域名服务器:
当主机发出DNS查询请求时,这个查询请求报文就先发送给本地域名服务器。
本地域名服务器中有高速缓存。如果本地域名服务器曾经访问过那个域名的话,就会把那个域名记录下来,下次用的时候可以直接从本地缓存中获取,没有的话就转发到其他的域名服务器中完成IP的获取。
分为递归查询和迭代查询两种,下面我们通过看一张图来了解一下。
左边是递归查询,右边是递归查询和迭代查询相结合。
我们来总结一下什么是递归查询,什么是迭代查询。
递归查询:查询不到就一直向下传递,直到查询完毕,然后再按照原来的路径传递回客户端中。
迭代查询:查询不到就传递回本地域名服务器中,并告知本地域名服务器接下来该去哪个域名解析服务器,然后由本地域名服务器亲自去查询。
文件传送协议FTP、简单文件传送协议TFTP
作用:
不同类型主机系统(软、硬件体系等都可以不同)之间的文件传输能力。
FTP的功能就是进行拷贝,拷贝又分为上传和下载两种主要功能。
FTP是基于客户/服务器(C/S)的协议
登录:
1⃣️、ftp地址➕用户名和密码
2⃣️、匿名登录(无需在服务器下面进行登记注册,也不用取得FTP服务器的授权)
Anonymous(匿名文件传输)能够使用户与远程主机间建立联系,并以匿名的身份拷贝文件。
FTP使用TCP实现可靠传输。
FTP服务器进程可以分为1个主进程、n个从属进程。
主进程负责安排请求,当有一个请求时,主进程都会为该请求安排一个从属进程。
FTP服务器的熟知端口是21
先来看一张图:
由图我们可以得知,TCP控制连接端口21是负责用来传请求的,TCP数据连接端口是用来传文件的。然而传文件是否使用TCP 20端口建立数据连接还与传输模式有关。
主动传输(使用TCP 20端口)
主动传输在控制连接建立时,客户端会将自己的数据传送进程的端口号发送给服务器端,服务器端根据客户端所提供的端口号,主动的与客户端建立数据连接。
被动传输(端口>1024)
被动传输在控制连接建立后,客户端会请求询问服务器要给它一个什么样的端口号,服务器将端口号传给客户端,客户端根据端口号完成数据连接的建立。
区别在于主动传输的数据连接是服务器发出TCP请求建立的,被动传输的数据连接是客户端发出TCP请求建立的。
先来通过一张图片了解一下电子邮件的信息格式
先来看张图片了解一下
1⃣️、撰写
2⃣️、显示
3⃣️、处理
4⃣️、通信
使用的协议
用来发送邮件的协议。
规定了两个互相通信的SMTP进程之间应该如何交换信息。
STMP规定了14条命令(几个字母)和21种应答信息(三位数字代码➕简单文字说明)
TCP连接 端口号25 C/S
发送方邮件服务器先于接收方服务器建立好TCP连接, 然后接收方服务器返回一个“220 Service ready”,表示已经准备就绪,然后发送方服务器发送一个HELLO命令,如果SMTP服务器有能力接受文件就回答“250 OK”,否则的话就会返回“421 Service not available”
途中邮件发送的第三步所出现的RCPT是收件人名字的缩写。所以可以有多个,相当于群发邮件。
所以这就需要我们下面所说到的MIME 。
TCP连接 端口号110 C/S
POP3的工作方式有两种
下载并保留(在服务器)
下载并删除(当用户从服务器中取出邮件时,删除邮件)
无论怎么样,邮件中的内容都会被下载下来,会占内存,而且邮件取出会被删除,也很不方便,所以就有了下面的IMAP协议。
IMAP使用的位置就是从接受段服务器到用户端读取的那个位置。
可以看到邮箱的首部,从而决定要不要对文章进行一个下载,还可以只读区邮件中的某一个部分。
最后我们来说一下基于万维网的电子邮件,也是我们现在比较常用的一种电子邮件,很方便。
我们可以发现,这张图与上面的区别就是
1⃣️、可选择的服务器不同。可以为某公司的服务器
2⃣️、使用的协议不同。 在发送方到服务器之间和接收方到服务器之间使用HTTP协议
万维网的定义见上图
万维网中的三个重点:
1⃣️、URL统一资源定位符 唯一标识(不区分大小写)
URL的一般形式:
<协议>://<主机>:<端口>/<路径>
协议:http协议、ftp协议
主机:也就是域名或者IP地址
端口和路径可以没有。
举个例子http://www.baidu.com(超链接)
2⃣️、超文本传输协议HTTP
端口号80
通过HTTP协议来完成文件的获取可以分为八步(简称天龙八步)
具体操作看上图右边即可。
HTTP协议的特点
HTTP协议是无状态的,也就是说你关闭一个网站后,再次打开它,它和第一次所显示的内容一样。但实际中,比如淘宝,就希望能够识别用户,为用户提供一些服务。这就用到了Cookie小饼干。
COokie是储存在用户主机中的文本文件,能够记录一段时间内某用户的访问记录(用识别码来识别,比如“123456”),并据此提供个性化服务。
HTTP协议的连接方式分为非持久连接和持久连接两种方式,具体见下图:
非持久连接在完成文档请求后,就会断开TCP连接,持久连接就不会断开TCP连接。
持久连接中的流水线持久连接,就是可以连续发送请求,非流水线就是一次只能发送一个请求,直到收到该请求为止,才能继续发送下一个请求。
超文本传输协议HTTP的报文结构,具体见下图
方法:就是对请求的文档要进行什么操作。
至此,计算机网络圆满结束啦,哈哈哈哈,完结撒花,不过之后还是要多多复习,在生活中多多思考和计网有关的相关知识,温故而知新,加油!