[HITCN]哈工大2020秋计算机网络复习笔记 (2)

2 应用层

2.1 基本原理

2.1.1 网络应用的体系结构

  • 客户机/服务器结构(Client-Server, C/S)

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

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

    Web应用

  • 点对点结构(Peer-to-peer, P2P)

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

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

    文件传输应用

  • 混合结构(Hybrid)

    文件传输使用P2P结构,文件的搜索采用C/S结构——集中式

    每个节点向中央服务器登记自己的内容,而在查找感兴趣的内容时向中央服务器提交查询请求

    Napster

2.1.2 网络应用进程通信

同一主机上运行的进程之间由操作系统提供进程间通信机制

不同主机上运行的进程间靠消息交换通信,进程间通信利用socket发送/接收消息实现

  • 进程寻址:通过标识符(IP地址+端口号)在不同主机上的进程间通信

    • 使用IP地址对主机寻址

    • 为主机上每个需要通信的进程分配一个端口号,使用端口号对主机上的进程寻址

      • HTTP Server: 80
      • Mail Server:25
  • 应用层协议:网络应用需遵循应用层协议

    • 公开协议:由RFC定义的,允许互操作的协议(HTTP、SMTP)
  • 私有协议:多数P2P文件共享应用

  • 应用层协议内容

    • 消息的类型(type):请求消息、响应消息
    • 消息的语法(syntax)/格式:消息中有哪些字段(field)、每个字段如何描述
    • 字段的语义(semantics):字段中信息的含义
    • 规则(rules):进程何时发送/响应消息、进程如何发送/响应消息

2.1.3 网络应用的服务需求

  • 数据丢失(data loss)/可靠性(reliability)
    • 某些网络应用能够容忍一定的数据丢失:网络电话
    • 某些网络应用要求100%可靠的数据传输:文件传输,telnet
  • 时间(timing)/延迟(delay)
    • 有些应用只有在延迟足够低时才“有效”,如:网络电话/网络游戏
  • 带宽(bandwidth)
    • 某些应用只有在带宽达到最低要求时才“有效”:网络视频
    • 某些应用能够适应任何带宽——弹性应用:email
TCP服务 UDP服务
连接 面向连接: 客户机/服务器进程间需要建立连接 无连接
传输 可靠的传输 不可靠的数据传输
流量控制 发送方不会发送速度过快,超过接收方的处理能力 不提供
拥塞控制 当网络负载过重时能够限制发送方的发送速度 不提供
时间/延迟保障 不提供 不提供
带宽保障 不提供最小带宽保障 不提供

2.2 web应用

2.2.1 HTTP连接

  • HTTP连接使用TCP传输服务:

    1. 服务器在80端口等待客户的请求

    2. 浏览器发起到服务器的TCP连接(创建套接字Socket)

    3. 服务器接受来自浏览器的TCP连接

    4. 浏览器(HTTP客户端)与Web服务器(HTTP服务器)交换HTTP消息

    5. 关闭TCP连接

  • HTTP协议是无状态的,服务器不维护任何有关客户端过去所发请求的信息。

    有协议的更复杂,需要维护每个用户的历史信息状态,而且当客户或者服务器失效会产生状态的不一致,解决这种不一致代价高

</
HTTP1.0 HTTP1.1
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值