计算机网络——网络应用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tryandfight/article/details/82384743

这段时间开学浪费了不少时间,现在继续更新!!!


网络应用的体系结构

  • 客户机/服务器结构(Client-Server,C/S),如浏览器
  • 点对点结构(Peer-to-peer,P2P),如文件共享
  • 混合结构(Hybrid)

客户机/服务器结构

服 务器

  • 7*24小时提供服务
  • 永久性访问地址/域名
  • 利用大量服务器实现可扩展性

客户机

  • 与服务器通信,使用服务器提供的服务
  • 间歇性接入网络
  • 可能使用动态IP地址
  • 不会与其他客户机直接通信

例子

  • Web

纯P2P结构

  • 没有永远在线的服务器

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

  • 节点间歇性接入网络

  • 节点可能改变IP地址

    扫描二维码关注公众号,回复: 3365368 查看本文章

优点:高度可伸缩

缺点:难于管理,实现复杂

混合结构

Q:能否混合使用?能否取优且去缺?

A:Napster。

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

提供者对中央服务器进行报告,利用者对中央服务器进行查询,然后两者之间使用P2P传输文件

思考

Q:每种体系结构找出5种以上的网络应用

A:

  • P2P

    • 提供文件和其它内容共享的P2P网络,例如NapsterGnutella、eDonkey、emule、BitTorrent等
    • 挖掘P2P对等计算能力和存储共享能力,例如SETI@home、Avaki、Popular Power等
    • 基于P2P方式的协同处理与服务共享平台,例如JXTA、Magi、Groove、.NET My Service等
    • 即时通讯交流,包括ICQ、Yahoo Messager等
    • 安全的P2P通讯与信息共享,例如Skype、Crowds、Onion Routing等.
  • C/S结构

    • 网络游戏
    • QQ
    • 淘宝

Q:三种体系结构的优缺点

A:C/S在安全性能上好,实现多层认证也不难,只有一层交互响应速度也快,不过维护成本比较高。

  P2P传输过程不需要经过中转或代理,传输速度快,但是安全性不能得到保障。

网络应用进程通信

所谓进程就是主机上运行的程序,同一主机上运行的进程之间的通信是使用操作系统提供的进程间通信机制,而不同主机上的进程通信是使用消息交换,会有客户机进程和服务器进程,P2P也是有客户机进程和服务器进程之分(P2P也需要消息交换)

Socket

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

类似于寄信

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

传输基础设施向进程提供API(操作系统提供的用于网络编程的API)

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

寻址进程

不同主机上的进程间通信,那么每个进程必须拥有标识符

通过IP地址寻址主机,再通过端口号寻址进程,进程的标识符就是IP地址+端口号

应用层协议

网络应用需遵循应用层协议

公开协议

  • RFC(Requets For Comments)定义
  • 允许互操作(遵循同一协议之间可以互相操作)

私有协议

  • 多数P2P文件共享应用

应用层协议的内容

  • 消息的类型
    • 请求消息
    • 响应消息
  • 消息的语法/格式

    • 字段
    • 字段的描述
  • 字段的语义
    • 字段中消息的含义
  • 规则
    • 进程何时和如何发送/响应消息

网络应用对传输服务的需求

数据丢失/可靠性

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

时间/延迟

  • 有些应用只有在延迟足够低时才“有效”
  • 网络电话/网络游戏

带宽

  • 某些应用只有在带宽达到最低要求时才“有效”:网络视频
  • 某些应用能够适应任何带宽——弹性应用:email

Internet提供的传输服务

TCP服务

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

UDP服务

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

Q:为什么需要UDP?

A:因为UDP把网络层的基本服务给穿透过来了,提供给了应用层很多发挥空间,给了掌控数据传输的能力

对电脑上一些网络应用的协议功能总结

网络应用 功能 协议
TIM(QQ) 聊天消息通信 UDP为主、TCP为辅
迅雷 下载 TCP
微信 聊天功能 参考微软的 ActiveSync 协议,分为长连接和短连接,TCP

猜你喜欢

转载自blog.csdn.net/tryandfight/article/details/82384743