计算机网络学习-2
应用层
应用层对应用程序的通信提供服务。
应用层协议定义:
应用进程交换的报文类型,请求还是响应?
各种报文类型的语法,如报文中的各个字段及其详细描述字段的语义,即包含在字段中的信息的含义。
进程何时、如何发送报文,以及对报文进行响应的规则。
应用层的功能:
文件传输、访问和管理
电子邮件
虚拟终端
查询服务和远程作业登录
应用层重要协议
FTP,SMTP、POP3, HTTP, DNS
网络应用模型
- 客户/服务器模型(C/S)
- P2P模型(Peer-to-peer)也叫对等模型
DNS系统
域名
域名从左到右级别逐渐升高,最右边的叫做顶级域名
根
根指的是顶级域名右边的一点,所以完整的域名写法应该是www.xxx.com.,从根后面才是顶级域名
顶级域名
反向域名即通过IP地址来反向解析出域名
二级域名
域名树
域名可以有很多级,比如学校的域名就有三级、四级等等
域名服务器
本地域名服务器:当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器。
根域名服务器:知道所有的域名,就是知道顶级域名对应那个顶级域名服务器,在本地域名服务器找不到域名时就会先去请求根域名服务器
顶级域名服务器:管理该顶级域名服务器注册的所有二级域名
权限域名服务器:负责一个区的域名服务器
总之就是向DNS请求来指明下一步要查询哪一个DNS服务器,这是一个示例图:
域名解析过程
可以参考这篇文章:域名分级与域名解析过程(DNS)-CSDN博客
域名解析分为两种查询:
递归查询
迭代查询
这两种查询的区别就是客户角色不同,递归是每一种服务器都要做查询用户,而迭代就一直是本地域名服务器做查询用户
高速缓存
这是为了提高DNS查询效率的方法,比如最近查询过的域名会存放在本地域名服务器
文件传送协议
- 文件传送协议FTP(FileTransfer Protocol):提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。
- 简单文件传送协议TFTP(Trivial File Transfer Protocol)
FTP服务端和用户端
FTP是基于客户/服务器(C/S)的协议。
用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。
依照 FTP协议提供服务,进行文件传送的计算机就是FTP服务器。
连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端
FTP工作原理
登陆
知道ftp服务器地址后有两种登陆方式,一种是用户名&密码登陆方式,另一种是匿名登陆
互连网中有很大一部分FTP 服务器被称为“匿名”(Anonymous)FTP服务器。这类服务器的目的是向公众提供文件拷贝服务,不要求用户事先在该服务器进行登记注册,也不用取得FTP服务器的授权。Anonymous(匿名文件传输)能够使用户与远程主机建立连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。用户使用特殊的用户名“anonymous”登陆FTP服务,就可访问远程主机上公开的文件。这样可以减少服务器的压力。
FTP使用TCP实现可靠传输
FTP的服务器进程分为两种:
- 一个主进程:负责接收请求
- n个从属进程:去处理用户请求
这是ftp传输的过程及其使用的端口号:
ftp传输的文件有两种模式:
- 文本模式:ASCII模式,以文本序列传输数据
- 二进制模式:Binary模式,以二进制序列传输数据
电子邮件
信息格式
信封:例如xxx@163.com
内容
首部
主体
就是邮件内容了。
组成结构
邮件发送采用C/S模式,邮件服务器既可以做服务器也可以做发送方客户端,下面是一个示意图:
邮件是存放在邮件服务器的缓存当中
SMTP协议
SMTP规定了14条命令(几个字母)和21种应信息(三位数字代码+简单文字说明)。
用于TCP连接的端口号一般是25端口
SMTP通信的三个阶段
连接建立=》邮件传送=》连接释放
SMTP的缺点
SMTP不能传送可执行文件或者其他二进制对象。
SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字。
SMTP服务器会拒绝超过一定长度的邮件。
MIME
也叫通用因特网邮件扩充MIME,用来弥补SMTP协议的不足,MIME是电子邮件可以传输各种各样的数据
现在也不光为邮件服务使用,也已经为浏览器使用,传输数据的时候就会声明传输的数据是什么MIME类型,http的请求头会有一栏content-type就是标识数据的MIME类型
邮局协议POP3
该协议也采用TCP连接,端口号一般为110,也是C/S模式,作用在最后用户读取邮件内容的时候
其工作方式有两种:
- 下载并保留(在服务器)
- 下载并删除
网际报文存取协议IMAP
IMAP协议比POP协议复杂。当用户Pc上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。
IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分
(先看正文,有WiFi的时候再下载附件)。
该协议也是和POP3一样作用在最后一个环节
基于万维网的电子邮件
现在很少专门去下载发送邮件的软件,我们直接在网上输入邮箱写上内容就可以发送邮件了,是基于http协议去连接别的厂商的邮件服务器,比如通过http协议用户代理连接到网易邮件服务器
万维网和HTTP协议
URL和URI
URI叫做统一资源标识符,URL(统一资源定位符)是其中的一种。
HTTP 请求的内容通称为”资源”。”资源“这一概念非常宽泛,它可以是一份文档,一张图片,或所有其他你能够想到的格式。每个资源都由一个 URI 来进行标识。
一般情况下,资源的名称和位置由同一个 URL(统一资源定位符,它是 URI 的一种)来标识。也有某些特殊情况,资源的名称和位置由不同的 URI 进行标识:例如,待请求的资源希望客户端从另外一个位置访问它。我们可以使用一个特定的首部字段,Alt-Svc
,来指示这种情况。
URL 由多个必须或可选的组件构成。下面给出了一个复杂的 URL:
|
URL的结构如下:
|
URN 是另一种形式的 URI,它通过特定命名空间中的唯一名称来标识资源。
|
HTTP请求过程
HTTP请求具体过程示例图:
HTTP连接方式
http协议本身是一个无状态协议,如果需要识别用户的话可以利用Cookie
连接方式:
持久连接(Keep-alive)
只需要进行一次TCP连接,后续再发送新数据不需要重新建立连接
非流水线
这就是非流水线式的连接,要在收到响应后才能继续下一次请求
流水线
就是可以同时发送多个请求报文不需要逐次等待
非持久连接(Close)
即每次发送一次新的数据都需要重新建立连接,比较耗时
HTTP请求报文结构
这里放一张图就行了,这是get请求的报文结构