计算机网络之应用层

进程通信

  1. 进行通信的实际上是进程。
  2. 网络应用程序由成对进程组成,通过网络相互发送报文。
  3. 套接字是同一台主机内应用层与运输层之间的接口。

在这里插入图片描述

运输服务

很多网络提供了不止一种运输层协议。当开发一个应用是,必须选择一种可用的运输层协议。

运输层协议提供的服务:

  1. 可靠数据传输
    当分组因“路由器缓存溢出”而丢失,提供确保数据交付服务。
    应用: 容忍丢失的应用、交谈式音频和视频。
  2. 吞吐量
    确保应用程序以某种速率交付比特。
    具有吞吐量要求的程序为带宽敏感应用(语音),否则为弹性应用(email、Web、文件传输)。
  3. 定时
    运输层协议提供定时保证。
    如:发送方注入套接字的比特到达接受方案套接字不迟于100ms。
  4. 安全性
    提供一种或多种安全服务。
    如:加密发送进程传输的数据,接受时解密数据完整性和端点鉴别。

因特网提供的运输服务

TCP 服务(面向连接服务与可靠数据传输服务)

面向连接服务:应用层数据报文流动之前,TCP 让客户和服务器互相交换运输层控制信息,即握手,让他们为分组的到来做好准备。
可靠数据传输服务
拥塞控制机制

SSL 是对TCP 加强,包括加密、数据完成性、端点鉴别

UDP 服务

无连接、无发送前握手过程,不可靠数据传输。接受的报文可能是乱序到达的。

应用层协议

包含的内容:

  1. 交换的报文类型(请求报文/响应报文)。
  2. 各种报文类型的语法。
  3. 字段的语义。
  4. 确定一个进程何时、如何发送报文,及时响应规则。

与网络应用的关系

  • HTTP之于Web应用
  • SMTP之于电子邮件应用

在这里插入图片描述

Web 和 HTTP (HyperText Transfer Protocol)

  • HTTP 使用TCP 作为运输协议
  • 服务器向客户发送被请求的文件,而不存储关于该客户的状态信息,所以说HTTP 是无状态协议

非持续连接

每个请求/响应经一个单独的TCP连接发送。

  1. HTTP客户进程在端口号80发送一个到服务器的TCP连接(第一次握手)。
  2. 服务器用一个小TCP报文段确认和响应(第二次握手)。
  3. HTTP客户经套接字向服务器发送一个HTTP请求报文(第三次握手)。
  4. HTTP服务器进程经套接字接收请求报文,检索对象,在响应报文中封装对象后,经API发送至客户。
  5. HTTP服务器进程通知TCP断开该TCP连接。
    在这里插入图片描述

浏览器对Web页面解释,解释方法与Web页面毫无关系。

持续连接(默认方式)

  • 一个完整页面(HTML文件+图片等)可以单个持续TCP连接进行传送。
  • 甚至多个Web页面可以在单个持续TCP连接上进行。
  • HTTP默认模式是使用带流水线的持续连接。

HTTP 报文格式

请求报文

在这里插入图片描述

响应报文

在这里插入图片描述

状态码短语

代码状态含义
200OK请求成功
301MovedPermanently请求对象已经被永久转移至新的URL,在响应报文Location: 首部行中
400Bad Request通用差错代码,请求不能被理解
404Not Found被请求文档不再服务器上
505HTTP Version Not Supported不支持报文的HTTP版本

cookie

HTTP服务器无状态 → \xrightarrow{} Web 站点无法识别用户
为了使内容与用户身份联系起来(淘宝),使用 cookie
4个组件

  1. HTTP响应报文中的一个cookie 首部行。
  2. HTTP请求报文中的一个cookie 首部行。
  3. 用户端系统中保留一个cookie 文件,由浏览器进行管理。
  4. 位于Web站点的一个后端数据库。

cookie 的生成过程

在这里插入图片描述

Web缓存(代理服务器)

流程

在这里插入图片描述

架构

在这里插入图片描述

条件GET 方法

  • 存放在缓存器中的对象副本可能是陈旧的,被修改了

代理服务器 → 请 求 \xrightarrow { 请求 } Web服务器
Web 服务器 → L a s t M o d i f i e d : T \xrightarrow { Last Modified:T } LastModifiedT 缓存器
缓存器存储最后修改日期
当用户浏览器请求缓存器是,缓存器发送If modified-since: T 到Web 服务器
若服务器没有修改,只发送状态行和首部行

HTTP / 1.1 304 Not Modified
Date: xxx
Serve: xxx
[没有实体体]

SMTP、POP3、IMAP

  • SMTP 是一个推协议,即发送服务器将邮件推向接受服务器。
  • HTTP 是一个拉协议。
  • POP3 是一个拉协议。
  • 在文件传送时,HTTP和SMTP都使用持续连接。

在这里插入图片描述

  • IMAP将邮件与文件夹关联。
  • 邮件可以在文件夹之间移动、查询、匹配邮件。
  • IMAP 服务器维护了 IMAP 会话的用户状态信息。
  • IMAP 允许用户代理获取报文某些报文某些部分的命令。

DNS 因特网的目录服务

  1. 一个由分成的DNS 服务器实现的分布式数据库。
  2. 主机能够查询分布式数据库的应用层协议。
  • DNS 服务器是运行 BIND 软件的 UNIX 机器
  • DNS 协议运行在UDP 之上,使用53 号端口

在这里插入图片描述

  • 根DNS 服务器:400多个分布世界,13个组织管理
  • 顶级域DNS 服务器:com、org、edu、gov、uk、fr、jp
  • 权威DNS 服务器: xxx.edu

本地DNS服务器(LDNS)

每个ISP 都有一台本地DNS 服务器
例: 8个DNS 报文

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值