计算机网络——应用层(一)

应用层协议原理

网络应用体系结构

客户机/服务器结构(C/S)

在这里插入图片描述

服务器
  • 7*24小时提供服务
  • 永久性访问地址/域名
  • 利用大量服务器实现了可扩展性
客户机
  • 与服务器通信,使用服务器提供的服务
  • 间歇性接入网络
  • 可能使用动态 IP 地址
  • 不会与其他客户机直接通信
举例

在这里插入图片描述

点对点结构(P2P)

在这里插入图片描述

  • 没有永远在线的服务器
  • 任意端系统、节点之间可以直接通讯
  • 节点间歇性接入网络
  • 节点可能改变IP地址

优点:高度可伸缩
缺点:难于管理

混合结构(Hybrid)

应用举例:Napster

Napster是一款可以在网络中下载自己想要的MP3文件的软件。它同时能够让自己的机器也成为一台服务器,为其它用户提供下载。
在这里插入图片描述

  • 文件传输使用 P2P 结构
  • 文件的搜素采用 C/S 结构 —— 集中式
    • 每个节点向中央服务器登记自己的内容
    • 每个节点向中央服务器提交查询请求,查找感兴趣的内容

网络应用进程通信

进程间通信

进程:

  • 主机上运行的程序
  • 客户机进程:发起通信的进程
  • 服务器进程:等待通信请求的进程

同一主机上运行的进程之间如何通信?

  • 进程间通信机制
  • 操作系统提供

不同主机上运行的进程如何通信?

  • 消息交换
套接字:Socket

进程间通信利用 socket 发送、接收消息实现
在这里插入图片描述
类似于寄信:

  • 发送方将消息送到门外邮箱
  • 发送方依赖(门外的)传输基础设施将消息传到接收方所在主机,并送到接收方的门外。
  • 接收方从门外获取信息

传输基础设施向进程提供 API
API可以:

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

如何寻址进程?

  • 不同主机上的进程间通信,那么每个进程必须拥有标识符
  • 如何寻址主机? —— IP地址
    • 但不足以定位进程,同一主机上可能有多个进程需要通信
  • 端口号(Port Number)
    • 为主机上每个需要通信的进程分配一个端口号
    • 如 HTTP Server:80,Mail Server:25
  • 进程的标识符
    • IP 地址 + 端口号
      在这里插入图片描述

应用层协议

  • 网络应用需遵循应用层协议
  • 公开协议
    • 由 RFC 定义。Request For Comments(RFC),是一系列以编号排定的文件。文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件。
    • 允许互操作
    • 举例:HTTP,SMTP…
  • 私有协议
    • 多数 P2P 文件共享应用
应用层协议的内容

消息的类型

  • 请求消息
  • 响应消息

消息的语法格式
举例:HTTP 请求消息
在这里插入图片描述
字段的语义

  • 字段中信息的含义

规则

  • 进程何时发送 / 响应消息
  • 进程如何发送 / 响应消息

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

数据丢失 / 可靠性(可靠数据传输)
  • 某些网络应用能够容忍一定的数据丢失:网络电话
  • 某些网络应用要求可靠的数据传输:文件传输,telnet
时间 / 延迟
  • 有些应用只有在延迟足够低是才 “有效”
  • 网络电话 / 网络游戏
带宽
  • 某些应用只有在带宽达到最低要求时才“有效”:网络视频
  • 某些应用能够适应任何带宽——弹性应用:email
安全性
  • 加密由发送进程传输的所有数据,再数据交付给接收进程之前解密这些数据。
  • 其他安全性服务
典型网络应用对传输服务的要求

在这里插入图片描述

Internet 提供的传输服务

TCP 服务

  • 面向连接:客户机 / 服务器 进程间需要建立连接
  • 可靠数据传输
  • 流量控制:发送方不会发送速度过快,超过接收方的处理能力
  • 拥塞控制:当网络负载过重时能够限制发送方的发送速度
  • 不提供时间/延迟保障
  • 不提供最小带宽保障

UDP 服务

  • 无连接
  • 不可靠的数据传输
  • 不提供:
    • 可靠数据传输
    • 流量控制
    • 拥塞控制
    • 延迟保障
    • 带宽保障
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值