哈工大计网复习之应用层

哈工大计网复习之应用层_第1张图片

1.计算机网络应用的体系结构

  • Client/server
    • 服务器:
      • 7*24h提供服务,
      • 永久性访问地址
      • 大量服务器实现可扩展性
    • 客户机:
      • 与服务器通信,使用服务器的服务
      • 间歇性接入网络
      • 可能使用动态IP
      • 不会与其他客户机直接通信
  • 纯P2P
    • 没有永远在线服务器
    • 任意端系统间可以直接通讯
    • 节点间歇性接入网络
    • 节点可能改变IP
    • 优:高度可伸缩 缺:难于管理
  • 混合结构
    • 文件传输P2P
    • 文件搜索C/S——集中式
  • 例子:
    • C/S:搜索、FTP、facebook、telnet、email
    • P2P:下载(迅雷)、skype、bittorrent文件共享

2.网络应用进程通信

  • 不同主机进程通信:消息交换
  • 客户机进程:发起通信进程/服务器进程:等待通信请求进程
  • 哈工大计网复习之应用层_第2张图片
  • 套接字:进程间通信利用socket发送/接收消息实现
  • 进程寻址:每个进程必须有标识符
    • 寻址主机:IP地址
    • 端口号:为主机上每个需要通信的进程分配一个端口号
      • HTTP Server:80 Mail Server:25 FTP控制21 数据20 DNS53
    • 进程的标识符:IP地址+端口号
  • 应用层协议:
    • 公开协议:RFC定义 HTTP/SMTP…允许互操作
    • 私有协议:多数P2P文件共享应用
    • 内容:
      • 消息类型:请求/响应消息
      • 语法格式:消息字段及其描述
      • 语义:字段信息含义
      • 规则(时序):何时发送/响应消息

3.网络应用需求与传输层服务

  • 数据丢失/可靠性
    • 如电话可容忍丢失,文件传输必须100%可靠
  • 时延
    • 网络电话/游戏在时延足够低时有效
  • 带宽
    • 网络视频应用在带宽达到最低要求时有效
    • email能适应任何带宽
  • 哈工大计网复习之应用层_第3张图片
  • Internet提供的传输服务:
    • TCP有状态协议
      • 面向连接
      • 可靠传输
      • 流量控制:发送方不会速度过快超过接收方处理能力
      • 拥塞控制:网络负载过重限制发送方发送速度
      • 不提供时延/最小带宽保障
    • UDP
      • 无连接
      • 不可靠数据传输
      • 不提供:可靠性保障、流量控制、拥塞控制、延迟保障、带宽保障
    • 哈工大计网复习之应用层_第4张图片
    • 无状态协议:HTTP\UDP\DNS
    • 有状态协议:TCP\Telnet\FTP

4.Web应用

  • World wide web万维网:网页间互连
    • 网页包含多个对象:
      • 对象:HTML/JPEG、视频文件、动态脚本等
      • 基本HTML文件:包含对其他对象的引用链接
    • 对象寻址:URL统一资源定位器 hostname+pathname
  • HTTP协议无状态(服务器不维护用户信息
    • Web遵循HTTP协议
    • C/S结构 客户:请求、接收、展示Web 服务器:响应客户的请求,发送对象
    • 版本:1.0、1.1
    • 使用TCP传输
      • 服务器在80端口等待客户请求
      • 浏览器发起到服务器的TCP连接
      • 浏览器与Web服务器交换HTTP消息
      • 关闭TCP连接

5.HTTP连接

  • 非持久性连接:
    • 每个TCP连接最多允许传输一个对象 HTTP1.0
    • 哈工大计网复习之应用层_第5张图片

  • 哈工大计网复习之应用层_第6张图片
  • 总共:22RTT+文件传输时间
  • 响应时间分析与建模
    • RTT:客户端发送一个小数据包到服务器并返回所经历时间
    • 响应时间
      • 发起、建立TCP连接:1RTT
      • 发HTTP请求到HTTP响应前几字节到达:1RTT
      • 响应消息中文件/对象传输时间
      • Total = 2RTT+文件传输时间
  • 持久性HTTP
    • 非持久HTTP问题:
      • 每个对象2RTT=TCP连接建立的1RTT+HTTP请求的一个RTT
      • 操作系统为每个TCP连接开销资源
      • 浏览器会并行TCP,服务器端会被flood
    • 持久性连接:
      • 发送响应后,服务器保持tcp连接打开
      • 后续HTTP消息可通过此连接发送
    • 无流水持久性连接:
      • 客户端收到前一个响应后发请求
      • 每个对象1RTT
    • 有流水持久性链接:
      • HTTP1.1默认
      • 客户端遇到引用对象就尽快发请求
      • 理想情况收到所有对象只需约1RTT

6.HTTP消息格式

  • HTTP请求消息:ASC2直接可读
  • 通用格式
  • 哈工大计网复习之应用层_第7张图片
  • 上传输入方法:
    • POST:填写表格,在请求消息的消息体entity  body里上传输入
    • URL方法:GET,通过request行的URL字段上传
  • 方法类型
    • HTTP1.0:GET/POST/HEAD(请server不要将所请求对象放入响应消息)
    • HTTP1.1:GET/POST/HEAD/

PUT(将消息体中文件上传到URL字段指定路径)

/DELETE(删除URL字段指定文件)

7.cookie技术

  • 某些网站为辨别用户身份、进行session跟踪而存储在用户本地终端上的数据
  • cookie组件:
    • HTTP响应消息cookie头部行
    • HTTP请求消息cookie头部行
    • 保存在客户端主机上的cookie文件,浏览器管理
    • web服务器端后台数据库
    • 哈工大计网复习之应用层_第8张图片
    • 用户访问服务器,服务器给用户一个唯一标识码,用户下回拿着这个码去访问服务器,就能从服务器获得他的信息&记录
    • cookie用于:身份认证、购物车、推荐、web email

8.web缓存、代理服务器技术

  • 功能:不访问服务器前提下满足客户端HTTP请求
  • 目的:
    • 缩短客户请求响应时间
    • 减少机构组织流量
    • 大范围内实现有效内容分发
  • web缓存/代理服务器
    • 设定浏览器通过缓存进行web访问
    • 浏览器向缓存/代理服务器发HTTP请求
      • 请求对象在缓存中,返回缓存对象
      • 否则缓存服务器向原服务器发HTTP请求获取对象并返回给客户端,保存该对象
    • 缓存既充当客户端,也当服务器(ISP架设)
  • web缓存示例
    • 哈工大计网复习之应用层_第9张图片
    • 链路利用率100%,拥塞程度过高,流量强度->1时延无限大
    • 哈工大计网复习之应用层_第10张图片
    • 提升带宽。加钱
    • 哈工大计网复习之应用层_第11张图片
    • 接入链路利用率60%,流量强度<1,延迟可忽略,几微秒
  • 条件get:if modified since?
    • 检验缓存中是否是最新的,如果服务器在缓存的最新

日期后更改过,返回新的对象200 ok

  • 如果代理服务器缓存是最新的,则返回304 not modified

9.email应用

  • email应用构成
    • 邮件客户端
    • 邮件服务器
    • SMTP协议
  • 邮件客户端
    • 读写email消息
    • 与服务器交互,收发email消息
    • Outlook foxmail thunderbird
    • web客户端
  • 邮件服务器
    • 邮箱:存储发给用户的email
    • 消息队列:存储等待发送的email
    • SMTP协议:
      • 邮件服务期间传递消息所用协议/客户端向邮件服务器push时也用SMTP
      • 客户端:发消息的服务器
      • 服务器:接收消息服务器
  • SMTP协议
    • 使用TCP进行Email可靠传输
    • 端口25
    • 传输三个阶段:握手、消息传输、关闭
    • 命令/响应交互模式
      • 命令:ascii文本
      • 响应:状态代码和语句
    • email消息7ascii码(这是一种编码格式,不是只有七位)
    • 哈工大计网复习之应用层_第12张图片
      • 客户端到服务器:HTTP(万维网浏览器邮件必须用HTTP)/SMTP
      • 服务器到服务器:SMTP
      • 从服务器获取邮件:HTTP/POP3/IMAP
    • 过程:
      • 连接建立:SMTP客户每隔一定时间对发送缓存进行扫描,有邮件则用端口25向接收方的SMTP服务器发HELO命令,并附上自己的主机名(邮件服务器间直接建立连接,无路由,与距离无关)
      • 邮件传送:MAIL命令,MAIL FROM 收件人,若SMTP准备好接收,则回复250OK
      • 接着发送方SMTP发一个或多个收件人RCPT命令,RCPT TO:收件人地址。每发一个RCPT,都有响应信息从SMTP返回,返回250 OK/550 无此用户
        • RCPT目的:确认接收方地址有效
      • 获得OK回答后,发送方使用DATA命令开始传输数据,.表示结束
      • 连接释放:邮件发完,客户端SMTP发送QUIT,SMTP返回221,表示同意释放连接
      • 哈工大计网复习之应用层_第13张图片

10.email消息格式与pop3协议

  • SMTP:email消息传输/交换协议
  • 头部行header:to from subject
  • 消息体:消息本身 ascii字符
  • 多媒体扩展MIME 邮件头部增加额外行
  • 哈工大计网复习之应用层_第14张图片
  • 从服务器获取邮件——邮件访问协议
    • POP:认证授权和下载 下载并删除/下载并保留
    • IMAP:
      • 更多功能
      • 更加复杂
      • 操纵服务器上存储信息
    • HTTP:163、QQ mail
  • POP协议
    • 认证过程
      • 客户端命令:user/pass声明用户名和密码
      • 服务器响应:+OK/-ERR
    • 事务阶段
      • List:列出消息数量
      • Retr:用编号获取消息
      • Dele:删除消息
      • Quit
    • 下载并删除:更换客户端则无法重读
    • 下载并保持:不同客户端可保留消息copy
  • IMAP协议
    • 消息统一保存于服务器
    • 允许用户利用文件夹组织消息
    • 支持跨会话用户状态,在不同文件夹间可以移动邮件、在远程文件夹可以查询邮件

11.DNS概述:端口53

  • IP地址和域名间的映射——域名解析系统DNS
    • 多层命名服务器的分布式数据库
    • 应用层协议:完成名字解析
  • DNS服务
    • 域名向IP地址的翻译
    • 主机别名
    • 邮件服务器别名
    • 负载均衡:web服务器
  • 集中式DNS问题:单点失效、流量、距离、可维护
  • 哈工大计网复习之应用层_第15张图片
  • 根域名服务器:本地域名服务器无法解析域名时,访问根域名服务器,找到顶级域名服务器的地址
  • 顶级域名服务器TLD:负责com、org、net、edu等顶级域名和国家顶级域名的解析,如cn、uk、fr等
  • 权威域名服务器:提供组织内部的解析服务,组织内部维护
  • 迭代查询:本地域名服务器依次查询根、顶级、权威域名服务器
  • 哈工大计网复习之应用层_第16张图片
  • 递归查询:依次查一圈,将域名解析任务交给所查询服务器
  • 哈工大计网复习之应用层_第17张图片

12.DNS记录和消息格式

  • 资源记录RR
    • 格式:name,value,type,ttl逻辑:value是name的解析结果)
    • Type=A name:主机域名 value:IP地址
    • Type=NS name:域(edu.cn) value:该域权威域名解析服务器主机域名
    • Type=CNAME name:某一真实域名的别名 value:真实域名
    • Type:MX value是name相对应的邮件服务器
  • 注册新域名时 需要插入NS/A两条记录

13.P2P应用

  • 没有服务器
  • 任意端系统间直接通信
  • 节点阶段性接入internet
  • 可能更换IP
  • 从一个服务器向N个节点发一个文件需要多长时间
  • 哈工大计网复习之应用层_第18张图片

  • 哈工大计网复习之应用层_第19张图片
  • 服务器串行发送N个副本所需时间和客户机各自下载时间的最大值
  • 服务器发送一个副本时间、单个用户下载所需的最长时间、最快的上传速率(得上传N个
  • 文件分发:BitTorrent
    • 文件划分为256kb的chunk
    • 节点加入torrent,逐渐积累chunk,向tracker注册获得节点清单,与某些节点建立连接
    • 下载同时,需向其他节点上传chunk
    • 节点可能加入/离开
    • 一旦获得完整文件,可能离开/留下
    • 获取chunk:
      • 任意给定时刻,不同节点持有文件不同chunk
      • 节点定期查询每个邻居持有chunk列表
      • 节点发请求请求缺失chunk(稀缺优先)
    • 发送chunk:tit-for-tat
      • alice向4个邻居发chunk——四个邻居是向其发送chunk速率最快的4个
        • 10s重新评估top4
      • 30s随机选一其他节点,向其发送chunk
        • 新选择节点可能加入top4

14.P2P应用——索引技术

  • 哈工大计网复习之应用层_第20张图片
  • 洪泛式查询:通过已有TCP连接,节点转发查询,命中则反向返回查询节点
  • 层次覆盖网络:超级节点间洪范查询,节点和超级节点间维持TCP连接
  • 超级节点和节点间使用集中式查询TCP
  • 哈工大计网复习之应用层_第21张图片

  • 哈工大计网复习之应用层_第22张图片

FTP协议

  • 控制21端口+数据20端口
  • 传输完数据后拆除数据连接

你可能感兴趣的:(网络,服务器,p2p)