【计算机网络】【应用层概述】

应用层

发展历史

  • 1970s:基于文本的应用
    • 文本电子邮件
    • 远程访问计算机
    • 文件传输
    • 新闻
  • 1990s
    • Web冲浪
    • 电子商务
  • 20世纪末
    • 即时通讯
    • 对等文件共享P2P
  • 2000年以来:语音、视频游戏应用
    • IP电话(VoIP)
    • IP视频会议(Skype)
    • 视频分享Youtube
    • 电影点播(Netflix)
    • 在线游戏:魔兽世界
    • 社交网络:Facebook, Twitter

主要内容

  • 网络应用体系结构
    • 客户机/服务器
    • P2P
    • 混合结构
  • 网络应用的服务需求
    • 可靠性
    • 带宽
    • 时延
  • Internet传输层服务模型
    • TCP
    • UDP
  • 特定网络应用及协议
    • HTTP
    • SMTP,POP,IMAP
    • DNS
      • 在应用层实现网络核心功能
    • P2P应用
  • Socket编程
    • TCP
    • UDP

网络应用的体系结构

网络应用有那些特点

  • 与单机应用有那些本质性不同
    • 网络硬件环境
    • 多主机交互
  • 网络应用应采取什么样的体系结构
    • 客户机/服务器结构(Client - Server CS)
    • 点对点结构(Peer to Peer, P2P)
    • 混合结构(Hybrid)

客户机/服务器结构

  • 功能决策划分
    • 服务器:对外提供服务
    • 客户机:使用服务
  • 服务器
    • 7*24不间断服务
    • 永久性访问地址/域名
    • 数据中心
      • 利用大量服务器实现可扩展性,同时处理大量并发请求
  • 客户机
    • 与服务器通信,使用服务器提供的服务
    • 间歇性接入网络
    • 肯能使用动态IP地址
    • 不会与其他客户机直接通信
  • 例子
    • Web
    • FTP
    • *Telnet
    • Email

在这里插入图片描述

纯P2P结构

  • 没有永远在线的服务器
  • 任意端系统/节点之间可以直接通讯
  • 节点间歇性接入网络
  • 节点肯能改变IP地址
  • 最常见的:文件共享服务BT
  • 优点
    • 高度可伸缩(自扩展性)
    • 不需要庞大的服务器基础设施和服务器带宽
  • 问题
    • ISP友好:因为上传和下载速度不对等,增加了ISP的压力
    • 安全性:高度分布和开放,难于管理
    • 激励用户:资源向应用提供带宽、存储和计算资源
  • 例子
    • 文件共享(BitTorrent)
    • 对等协助下载器(迅雷)
    • 因特网电话(Skype)
    • IPTV(迅雷看看)

混合结构

  • Napster
    • 文件传输使用P2P结构:分散式
    • 文件搜索采用C/S结构:集中式
      • 每个节点向中央服务器登记内容
      • 每个节点向中央服务器提数据

网络应用进程通信

  • 网络应用的基础:进程间通信
  • 进程:主机上运行的程序
  • 同一主机的进程通信
    • 进程间通信机制
    • 操作系统提供
  • 不同主机进程通信
    • 消息(报文)交换
    • 客户机进程:发起通信的进程
    • 服务器进程:等待通信请求i的进程

套接字:Socket

  • 进程与计算机网络之间的接口

  • 应用层和运输层之间的接口

  • 进程间通信利用socket发送/接收消息

  • 传输基础设施向进程提供API(应用对传输层的控制)

    • 传输协议的选择
    • 参数的设置

在这里插入图片描述

进程寻址

  • 寻址主机
    • IP地址
  • 寻址进程
    • 端口号/Port Number
      • 为主机每个需要通信的进程分配一个端口号
      • HTTP Server:80
      • Mail Server:25
      • 更多:http://www.iana.org
  • 网络进程的标识符
    • IP地址 + 端口号

应用层协议

  • 网络应用需遵循应用层协议
  • 网络应用的重要组成部分
  • 公开协议
    • 由RFC(Request For Comments)定义
    • 允许互操作
    • HTTP,SMTP
  • 私有协议
    • 多数P2P文件共享应用
    • Skype

应用层协议的内容

  • 消息类型(type)
    • 请求
    • 响应
  • 消息的语法(syntax)/格式
    • 字段
    • 描述
  • 字段的语义(semantics)
    • 字段信息的含义
  • 规则(rules)
    • 何时发送/响应
    • 如何发送/响应

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

对传输服务的需求

数据丢失(data loss)/可靠性(reliability)/可靠数据传输

  • 能够容忍一定的数据丢失:网络电话
  • 要求100%可靠数据传输:文件传输

时间(timing)/延迟(delay)

  • 电话/游戏等应用要求低时延

带宽(bandwidth)

  • 要求最低带宽(带宽敏感应用):网络视频
  • 能够适应任意带宽(弹性应用):文件下载

安全性(security)

  • 加解密传输的所有数据
  • 数据完整性等
  • 如网上银行等

在这里插入图片描述

Internet提供的传输服务

TCP服务

  • 面向连接:C/S进程间需要建立连接
  • 可靠的传输
  • 流量控制:发送数据不会过快,超过接收方能力
  • 拥塞控制:限制发送方速度
  • 不提供
    • 时间/延迟保障
    • 最小带宽保证
  • SSL加强的TCP
    • 安全服务
      • 加密
      • 数据完整性
      • 端点鉴别等

UDP服务

  • 轻量级运输协议

    • 仅提供最小服务
    • 不提供不必要服务
  • 无连接

  • 不可靠的数据传输

  • 不提供

    • 可靠性
    • 流量控制
    • 拥塞控制
    • 延迟保障
    • 带宽保障
  • 提供了极大的自主控制

    • 可以通过定制提供带宽保证?

在这里插入图片描述

总结

  • 提供:
    • 可靠数据传输
    • 安全性保证(SSL)
  • 不提供
    • 带宽保证
    • 时延保证
    • 但能最大化满足用户需求

おすすめ

転載: blog.csdn.net/weixin_39578432/article/details/120385448