计算机网络总结:第二章 应用层

第二章 应用层

2.1 应用层协议原理

2.1.1 网络应用程序体系结构

  • 主流体系结构:客户-服务器体系结构,对等(P2P)体系结构
    –客户-服务器体系结构:有一个总是打开的主机称为服务器,它服务于来自许多 其他称为客户的主机的请求。客户相互之间不直接通信
    –对等(P2P)体系结构:应用程序在间断连接的主机之间使用直接通信,这些主 机对被称为对等方。它有着自扩展性的特点

2.1.2 进程通信

  • 客户和服务器进程:网络应用程序由成对的进程组成,这些进程通过网络互相发送报 文。通常把进程之一称为客户,另一个称为服务器
  • 进程与计算机网络之间的接口:进程通过一个称为套接字(socket)的软件接口向网 络发送报文和从网络接收报文
  • 进程寻址:为了标识该接收进程,需要定义主机的地址(IP地址)和定义在目的主机 中的接收进程的标识符(端口号)

2.1.3 可供应用程序使用的运输服务

  • 可靠数据传输、吞吐量、定时、安全性

2.1.4 因特网提供的运输服务

  • TCP服务
    –面向连接服务:在握手阶段后,一个TCP连接在两个进程的套接字之间建立了。 当应用程序结束报文发送时,必须拆除该连接
    –可靠数据传输服务:无差错、按适当顺序交付所有发送的数据
  • UDP服务
    –不提供不必要服务的轻量级运输协议
    –无连接,无握手过程,提供不可靠数据传送服务

2.1.5 应用层协议

  • 定义了运行在不同端操作系统上的应用程序进程如何互相传递报文

2.2 Web和HTTP

2.2.1 HTTP概况

  • Web的应用层协议是超文本传输协议(HTTP)
  • Web界面组成元素:对象(一个文件,可以是HTML、JPEG等),用URL寻址
  • URL地址的组成:存放对象的服务器主机名+对象的路径名
    计算机网络总结:第二章 应用层_第1张图片
  • HTTP使用TCP作为它的支撑运输协议,因为HTTP服务器并不保存关于客户的任何信息,即它是一个无状态的协议

2.2.2 非持续连接和持续连接

  • 采取非持续连接的HTTP:每个请求/响应都是经过一个单独的TCP连接发送
    –往返时间(Round-Trip Time,RTT):指一个短分组从客户到服务器然后再返回客户所花费的时间
    –响应时间:2个RTT+服务器传输HTML文件的时间
    计算机网络总结:第二章 应用层_第2张图片
  • 采取连续连接的HTTP:所有请求及其响应经相同的TCP连接发送
  • HTTP的默认模式是使用带流水线的持续连接

2.2.3 报文格式

  • HTTP请求报文
    计算机网络总结:第二章 应用层_第3张图片计算机网络总结:第二章 应用层_第4张图片

  • 实体主体(Entity body):使用GET方法时实体主体为空,使用POST方法时,实体主体包含用户在表单中输入的需要提交的内容

  • 方法类型
    –HTTP/1.0:GET、POST、HEAD(类似于GET,但不返回请求对象)
    –HTTP/1.1:GET, POST, HEAD、PUT(将实体主体中的文件上载到URL字段中指定的路径)、DELETE(删除URL字段中指定的文件)

  • HTTP响应报文
    计算机网络总结:第二章 应用层_第5张图片

  • 常见的状态码
    –200 OK
    –301 Moved Permanently
    –400 Bad Request
    –404 Not Found
    –505 HTTP Version Not Supported

2.2.4 用户与服务器的交互:cookie

  • 四个组件
    –HTTP响应消息的cookie首部行
    –HTTP请求消息的cookie首部行
    –cookie文件保存在用户的主机上,由用户的浏览器管理
    –网站的后端数据库
    计算机网络总结:第二章 应用层_第6张图片

2.2.5 Web缓存(别名代理服务器)

  • 它有着自己的磁盘存储空间,并在存储空间中保存最近请求过的对象的副本
  • 它既是服务器,又是客户端
    计算机网络总结:第二章 应用层_第7张图片
  • 作用:
    –大大减少对客户请求的响应时间
    –大大减少一个机构的接入链路到因特网的通信量

2.2.6 条件GET方法

  • 作用:解决代理服务器内容过旧的问题
  • 例子
    计算机网络总结:第二章 应用层_第8张图片

2.3 文件传输协议:FTP

  • 与HTTP的区别
    –HTTP协议在传输文件的同一个TCP连接中发送请求和响应首部行,即带内(in-band)发送控制信息
    –FTP使用了两个并行的TCP连接来传输文件,一个用于控制连接(用于在两主机之间传输控制信息),一个用于数据连接(实际发送文件),即带外(out-of-band)传输控制信息

2.4 因特网的电子邮件

  • 主要组成部分:用户代理(user agent)、邮件服务器(mail server)、简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)
    计算机网络总结:第二章 应用层_第9张图片
  • 一些特性
    –它不使用中间邮件服务器发送邮件,如果接受方服务器没开机,待发送的报文会留在发送方服务器上,等待进行新的尝试
    –利用TCP将电子邮件从客户端传输到服务器,使用端口25、
  • 邮件访问协议
    –POP3
    –IMAP

2.5 DNS(域名系统):因特网的目录服务

2.5.1 DNS提供的服务

  • 主要任务:进行主机名到IP地址转换的目录服务
  • 定义:一个由分层的DNS服务器实现的分布式数据库;一个使得主机能够查询分布式数据库的应用层协议
  • 端口号:53
  • 重要服务
    –主机别名(host aliasing)
    –邮件服务器别名(mail server aliasing)
    –负载分配(load distribution)

2.5.2 DNS工作机理概述

  • 集中式DNS的缺点
    –单点故障
    –通信容量
    –远距离的集中式数据库
    –维护
  • 分布式、层次数据库
    计算机网络总结:第二章 应用层_第10张图片
  • DNS缓存
    –在一个请求链中。当某DNS服务器接收一个DNS回答时,它能将该回答中的信息缓存在本地存储器中

2.5.3 DNS记录和报文

–资源记录(Resource Record,RR)
计算机网络总结:第二章 应用层_第11张图片
–DNS报文
计算机网络总结:第二章 应用层_第12张图片
–在DNS数据库中插入数据

2.6 P2P应用

  • 对比:
    A)客户-服务器体系结构
    计算机网络总结:第二章 应用层_第13张图片
    B)P2P
    计算机网络总结:第二章 应用层_第14张图片
  • 例子
    A)BitTorrent

2.7 TCP套接字编程

  • 套接字:应用程序进程和端到端传输协议(UDP或TCP)之间的一扇门
  • TCP服务:从一个进程到另一个进程的可靠字节传输

2.7.1 TCP

  • 客户必须联系服务器:
    –服务器进程必须首先运行
    –服务器必须创建欢迎客户联系的套接字(门)
  • 客户联系服务器:
    –创建客户端本地TCP套接字
    –指定服务器进程的IP地址,端口号
    –当客户端创建套接字时:客户端TCP建立与服务器TCP的连接
    –当客户端联系时:服务器TCP为服务器进程创建新的套接字以与客户端通信
    A)允许服务器与多个客户端通信
    B)用于区分客户端的源端口号

2.7.2 UDP

  • UDP:客户端和服务器之间没有“连接”
    –没有握手
    –sender明确地将IP地址和目标端口附加到每个数据包
    –服务器必须从收到的数据包中提取IP地址,发送端口
  • UDP:发送的数据可能无序接收或丢失

你可能感兴趣的:(计算机网络,计算机网络,总结,第二章,应用层,期末复习)