00 05计算机网络之网络应用的基本原理

1 网络应用体系结构

  1. 网络应用有哪些特点?
    (1)与单机应用有哪些本质性的不同?
    (2)网络应用应采取什么样的体系结构?
  2. 网络应用的体系结构
    (1)客户机/服务器结构(Client-Server,C/S)
    (2)点对点结构(Peer-to-peer,P2P)
    (3)混合结构(Hybrid)
  3. 客户机/服务器结构
    (1)服务器
    |——7*24小时不间断提供服务
    |——永久性访问地址/域名
    |——利用大量服务器实现可拓展性
    (2)客户机
    |——与服务器通信,使用服务器提供的服务
    |——间歇性接入网络
    |——可能使用动态的IP地址
    |——不会与其他客户机直接通信
    (3)例子:Web
  4. 纯P2P结构
    (1)没有永远在线的服务器
    (2)任意端系统/节点之间可以直接通讯
    (3)节点间歇性接入网络
    (4)节点可能改变IP地址
    (5)优点:高度可伸缩
    (6)缺点:难于管理
  5. 混合结构
    (1)能否将两种结构混合在一起使用?
    (2)混合能够利用两者的优点同时规避两者的缺点吗?
    (3)Napster
    |——文件传输使用P2P结构
    |——文件的搜索采用C/S结构——集中式
    |————每个节点向中央服务器登记自己的内容
    |————每个节点向中央服务器提交查询请求,查找感兴趣的内容
  6. 思考题
    (1)为每种体系结构找出5种以上的网络应用。
    (2)从多个方面/角度对比三种体系结构的优缺点。

2 网络应用进程通信

  1. 网络应用的基础:进程间通信
    (1)进程:主机上运行的程序。
    (2)同一主机上运行的进程之间如何通信?
    |——进程间通信机制
    |——操作系统提供
    (3)不同主机上运行的进程间如何通信?
    |——消息交换
    (4)客户机进程:发起通信的进程
    (5)服务器进程:等待通信请求的进程
    (6)采用P2P架构的应用是否存在客户机进程/服务器进程之分?存在,当一台主机作为接收方时,它就运行着客户机进程,而作为发送方的主机就运行着服务器进程。
  2. 套接字:Socket

    (1)进程间通信利用socket发送/接收消息实现
    (2)类似于寄信
    |——发送方将消息送到门外邮箱
    |——发送方依赖(门外的)传输基础设施将消息传到接收方所在主机,并送到接收方的门外
    |——接收方从门外获取消息
    (3)传输基础设施向进程提供API
    |——传输协议的选择
    |——参数的设置
  3. 如何寻址进程?
    (1)不同主机上的进程间通信,那么每个进程必须拥有标识符
    (2)如何寻址主机?——IP地址
    |——Q:主机有了IP地址后,是否足以定位进程?
    |——A:否。同一主机上可能同时有多个进程需要通信。
    (3)端口号/Port number
    |——为主机上每个需要通信的进程分配一个端口号
    |——HTTP Server:80
    |——Mail Server:25
    (4)进程的标识符
    |——IP+端口号
  4. 应用层协议
    (1)网络应用需要遵循应用层协议
    (2)公开协议
    |——由RFC(Request For Comments)定义
    |——允许互操作
    |——HTTP,SMTP,……
    (3)私有协议
    |——多数P2P文件共享应用
  5. 应用层协议的内容

    (1)消息的类型(type)
    |——请求消息
    |——响应消息
    (2)消息的语法(synatx)/格式
    |——消息中有哪些字段(field)?
    |——每个字段如何描述
    (3)字段的语义(semantics)
    |——字段中信息的含义
    (4)规则(rules)
    |——进程何时发送/响应消息
    |——进程如何发送/响应消息

3 网络应用需求

  1. 网络应用对传输服务的需求
    (1)数据丢失(data loss)/可靠性(reliability)
    |——某些网络应用能够容忍一定的数据丢失:网络电话
    |——某些网络应用要求100%可靠的数据传输:文件传输,telnet
    (2)时间(timing)/延迟(delay)
    |——有些应用只有在延迟足够低时才“有效”
    |——网络电话/网络游戏
    (3)带宽(bandwidth)
    |——某些应用只有在带宽达到最低要求时才“有效”:网络视频
    |——某些应用能够适应任何带宽——弹性应用:email
  2. 典型网络应用对传输服务的需求
  3. Internet提供的传输服务
    (1)TCP服务
    |——面向连接:客户机/服务器进程间需要建立连接
    |——可靠的传输
    |——流量控制:发送方不会发送速度过快,超过接收方的处理能力
    |——拥塞控制:当网络负载过重时能够限制发送方的发送速度
    |——不提供时间/延迟保障
    |——不提供最小带宽保障
    (2)UDP服务
    |——无连接
    |——不可靠数据传输
    |——不提供:可靠性保障、流量控制、拥塞控制、延迟保障、带宽保障
  4. 典型网络应用所使用的传输层服务
  5. 课后练习
    (1)盘点你计算机上的所有网络应用,制作一个清单,包括网络应用的名字、功能、协议等。
    (2)基于上述清单,制作表格,分析这些网络应用对传输服务的需求。
    (3)分析这些网络应用所使用的传输服务是TCP还是UDP。
发布了77 篇原创文章 · 获赞 11 · 访问量 2641

猜你喜欢

转载自blog.csdn.net/weixin_43762330/article/details/104646837
00