您的位置:首页 > 理论基础 > 计算机网络

计算机网络基础--应用层

2013-11-30 09:52 267 查看
应用层协议分类
1.依赖于 TCP 协议的应用层协议
  Telnet HTTP SMTP POP3 FTP
2.依赖于无连接的 UDP 协议的应用层协议
  SNMP TFTP RPC
3.既依赖于 TCP 也依赖于 UDP 协议的应用层协议
  DNS
4. 非标准化协议

传输层向上提供可靠的和不可靠的逻辑通信信道

网络环境中一个进程的全网惟一的标识需要一个三元组来表示:协议,本地地址,本地端口号。



WWW 服务的核心技术是:
1.超文本标记语言 HTML;
2.超文本传输协议 HTTP。

在操作系统术语中,进行通信的实际上是进程而不是程序。
不同端系统上的进程通过跨越计算机网络交换报文而进行通信。

在给定的一对进程之间的通信会话中,发起通信的进程被表示为客户机,在会话开始时等待联系的进程是服务器。
进程通过一个称为套接字的软件接口在网络上发送和接收报文。

TCP 服务模型包括面向连接服务和可靠数据传输服务。
TCP 连接是全双工的。

UDP 服务是一种不提供不必要服务的轻量级传输层协议。
UDP 是无连接的,两个进程通信前没有握手的过程。
UDP 协议提供的是不可靠数据传输服务。

在因特网中,主机是用 IP 地址进行标识的。

HTTP 协议是基于请求/响应方式的(客户机/服务器) 。
基于 HTTP 协议的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。

HTTP 是超文本传输协议。
每个 URL 地址由两部分组成:存放对象的的服务器主机和对象的路径名。
HTTP 使用 TCP 作为它的支撑传输层协议。
HTTP 是一个无状态协议,不保存关于客户机的任何信息。

非持久连接和持久连接的区别:是否基于相同 TCP 承载。
默认下,HTTP 使用持久连接。

HTTP 请求报文:




第一行叫做请求行,其后继的行叫做首部行。
请求行有 3 个字段:方法字段、URL 字段和 HTTP 协议版本字段。
方法字段可以取值 GET、POST、HEAD、PUT、DELETE。
首部行 Host:www.some.school.edu 定义了目标所在的主机。
通过包含 Connection:close 首部行,浏览器告诉服务器不希望麻烦的使用持久连接。
User-agent:首部行用来定义用户代理。
使用 GET 方法时,实体为空,而使用 POST 方法时才使用。

HTTP 响应报文



响应报文分为 3 部分:一个初始状态行、6 个首部行,然后是实体主体
Date 首部行指示服务器产生并发送该响应报文的日期和时间。
Server:首部行表明该报文是由一个 apache web 服务器产生的。
Last-Modified:首部行指示了对象创建或者最后修改日期和时间。
Content-Length:首部行表明了被发送对象的字节数。
Content-Type:首部行指示了实体主体中的对象是 HTML 文本。

用户与服务器的交互:cookie
Cookie 的 4 个组成部分:
1. 在 HTTP 响应报文中有一个 Cookie 首部行
2. 在 HTTP 请求报文中有一个 Cookie 首部行
3. 在用户端系统中保留一个 cookie 文件,由用户浏览器管理
4. 在 web 站点有一个后端数据库

Web 缓存
目的:满足客户端请求而无需烦扰原始服务器。
Web 缓存器既是服务器又是客户机。

连接的建立是通过申请套接字(Socket)实现的。



http 响应状态码和短语
1.200 OK
  请求成功, 被请求的对象在报文中
2.301 Moved Permanently
  被请求的对象被移动过, 新的位置在报文中有说明 (Location:)
3.400 Bad Request
  服务器不懂请求报文
4.404 Not Found
  服务器上找不到请求的对象
5.505 HTTP Version Not Supported

条件 GET 方法
1. 请求报文使用 GET 方法
2. 请求报文中包含一个 If-modified-since:首部行,那么这个 Http 请求报文就是一个条件GET 请求报文。

文件传输协议 FTP
1.2 个连接、2 个端口号、2 个进程
  2 个连接:控制连接、数据连接
  2 个端口号:熟知端口号 20、21
  2 个进程:一个主进程,一个从属进程
2.一个 FTP 服务器进程可以同时为多个客户进程提供服务,基于 TCP。

两个不同的连接
FTP 使用两个并行的 TCP 连接来传输文件,一个是控制连接,一个是数据连接。
FTP 协议使用一个分离的控制连接,所以也称 FTP 的控制信息是带外传送的。
FTP 协议是在传输文件的 TCP 连接中发送请求和响应首部行的,故 HTTP 也可以说是带内发送控制信息的。

两个不同的端口号
1.当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口(21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。接着,服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号码建立数据传送连接。
2.由于 FTP 使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。
3.使用两个独立的连接的主要好处是:使协议更加简单和更容易实现。在传输文件时还可以利用控制连接(例如,客户发送请求终止传输)。

FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求,另一个是从属进程,负责处理单个请求。

电子邮件系统的 3 个主要组成部分:
1、 用户代理(UA)
2、 邮件服务器(MS,核心组成,Both C 与 S)
3、 简单邮件传输协议(SMTP)

SMTP 基于 TCP。
SMTP 客户机在 25 号端口建立一个到 SMTP 服务器的连接

SMTP 通信的三个过程
1. 连接建立:连接是在发送主机的 SMTP 客户和接收主机的 SMTP 服务器之间建立的。
  SMTP 不使用中间的邮件服务器。
2. 邮件传送
3. 连接释放:邮件发送完毕后,SMTP 应释放 TCP 连接。

HTTP 和 SMTP 都使用持久连接。
HTTP 是一个拉协议。
SMTP 是一个推协议。

MIME:多用途因特网邮件扩展。
支持多媒体的两个关键 MIME 的首部是 Content-Type 和 Content-Transfer-Encooding(编码方式)。

域名系统 DNS
1.一个由分层的 DNS 服务器实现的分布式数据库
2.一个允许主机查询分布式数据库的应用层协议。

DNS 协议运行在 UDP 之上,使用 53 号端口。
DNS 的特点
1. 分布式、层次数据库
  三种类型的 DNS 服务器:根服务器、顶级域服务器、权威服务器。
  本地 DNS 服务器。
  递归查询和迭代查询。
  (从请求主机到本地本地 DNS 服务器的查询是递归的,其余的查询时迭代的)。
2. DNS 缓存
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: