2.1 应用层协议原理

2.1.1 网络应用程序体系结构

1.客户—服务器体系结构

服务器

  • 持续提供服务
  • 永久性访问地址/域名
  • 利用大量服务器可实现可扩展性

客户

  • 与服务器通信,使用服务器提供的服务

  • 间歇性接入网络

  • 可能使用动态IP地址

  • 不会与其他客户机直接通信
    计算机网络自顶向下——应用层(学习笔记)
    例子:Web
    计算机网络自顶向下——应用层(学习笔记)
    2.P2P体系结构

  • 没有永远在线的服务器

  • 任意端系统/节点之间可以直接通讯

  • 节点间歇性接入网络

  • 节点可能改变IP地址

  • 优点:高度可伸缩

  • 缺点:难于管理
    计算机网络自顶向下——应用层(学习笔记)

2.1.2 进程通信

  • 进行通信的是进程,而不是程序
  • 不同主机通过消息交换报文交换)进行通信
  • 相同主机通过:进程间通信机制操作系统提供 进行通信

1.客户服务器进程

  • 发起通信的进程是客户,等待通信的进程是服务器

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

  • 进程与计算机网络之间的接口是套接字:socket
  • 进程间通信利用socket发送/接受消息来实现
  • 套接字是同一台主机内应用层与运输层之间的接口,又称为应用程序与网络之间的应用程序编程接口
    计算机网络自顶向下——应用层(学习笔记)
  • 应用层开发者对于运输层的控制:
    ①选择运输层协议
    ②设定运输层参数(最大缓冲,最大报文段长度)

3.进程寻址

  • 进程的标识符:IP地址+端口号

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

  • 传输层协议能够为调用它的应用程序提供的服务:
    ① 可靠数据传输
    ②吞吐量
    ③定时
    ④安全性

可靠性(reliability)/数据丢失(date less)

  • 一些网络应用可以忍受数据丢失:网络电话
  • 一些网络不能忍受数据丢失:文件传输

时间(timing)/延迟(delay)

  • 一些应用在延迟足够低时才有效
  • 网络电话,网络游戏

带宽(bandwidth)

  • 一些应用在带宽达到最低要求时才有效:网络电话
  • 一些应用可以适应低的带宽:email等弹性应用

计算机网络自顶向下——应用层(学习笔记)

2.1.4 因特网提供的传输服务

两个传输层协议:TCPUDP

TCP服务:

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

UDP服务:

  • 无连接
  • 不可靠的数据传输
  • 不提供
    • 可靠性保障
    • 流量控制
    • 拥塞控制
    • 延迟保障
    • 带宽保障

相关文章: