——计算机网络自顶向下方法第7版
本文为原书内容概括,无拓展内容,*号标注为自己理解
目录
内容有关应用程序所需的网络服务、客户和服务器、进程和运输层接口
概述:
1、网络应用是计算机网络存在的理由
-
本章学习有关网络应用的原理和实现
-
内容有关应用程序所需的网络服务、客户和服务器、进程和运输层接口
-
应用层协议原理
- 概述:研发网络应用程序的核心在于写出能够运行在不同端系统和通过网络彼此通信的程序。两种模型:CS(客户(client)-服务器(server))模型和P2P(Peer-to-Peer 对等网络)模型
- 网络核心设备并不在应用层上起作用,
-
- 网络应用程序的体系结构
- 当进行软件编码之前,应当对于应用程序由一个宽泛的体系结构计划
- 应用程序的体系结构明显不同于网络的体系结构
- 应用程序体系结构由应用程序研发者设计,规定如何在各种端系统上组织该程序
- CS结构中,S服务多个C主机的请求
- 为了处理S跟不上C的请求的情况,配备大量主机的数据中心用于创建强大的虚拟服务器。
- P2P体系结构中,对数据中心的专用服务器又最小的依赖
- P2P结构体系中,应用层在间断连接的主机之间使用直接通信,通信对被称为对等方。
- P2P最优特点在于其自扩展性
-
-
进程通信
- 进行通信的实际上是进程而不是程序
- 一个进程可以被认为是运行在端系统的一个程序
- 多个进程在统一端系统上运行时使用的时进程间通信机制
- 进程间通信机制由操作系统决定(*以上几点都是操作系统知识)
- 不同端系统上进程跨越计算机网络交换报文
- 发送进程生成并向网络发送报文,接收进程接收这些报文并可能会送报文进行响应
- CS模式定义:在进程会话场景中,发起同信(在会话开始时发起与其他进程的联系)的进程被标识为客户(client),在会话开始时等待联系的进程时服务器(Server)
- P2P模式定义:下载文件的对等体被标识为客户,上载文件的对等方被标识为服务器
- 进程与计算机网络之间的接口:
- 进程通过一个称为套接字的软件接口向网络发送报文和从网络接收报文。
- 套接字时同一台主机内应用层和运输层之间的接口。
- 套接字也被称为应用层和网络层的应用程序编程接口(API)
- 应用层开发者对于运输层的控制仅限于一、选择运输层协议;二、也许能设定几个运输层参数,如最大缓存和最大报文端长度等(*?)
-
- 进程寻址:
- 一台主机上运行的进程为了向另外一台主机运行发送分组,接收进程需要一个地址。
- 标识接收进程需要定义:一、主机的地址;二、在目的主机中指定接收进程的标识符。
- 因特网中,主机由IP地址标识
- 目的端口号用于指定运行在接收主机上的接收进程
- 可供应用程序使用的运输服务
- 运输层协议负责从接收进程的套接字得到该报文
- 应用层对运输层协议提供的服务要求可分为:可靠数据传输、吞吐量、定时和安全性
- 可靠数据传输:
- 如果一个协议工作能够确保应用程序的一段发送的数据正确、完全地交付给该应用程序的另一端,就认为这个协议提供了可靠数据传输。
- 运输层协议能够潜在的向应用程序提供一个重要服务是进程到进程的可靠数据传输,此时发送进程默认只要将数据传递给套接字,就可以无差错到达接受进程。
- 如果运输层协议不提供可靠数据传输时,发送方的数据可能到达不了接收方,但这可以被容忍丢失的应用接受-音频视频。
- 吞吐量
- 在沿着一条网络路径上的两个进程之间的回话场景中,可用吞吐量就是发送进程能够向接收进程交付比特的速率
- 由于其他回话共享网络路径带宽,这些会话的到达和离开,该可用吞吐量随时间波动
- 以上导致:运输层协议能够以某种特定的速率提供确保的可用吞吐量,如使用这种服务的应用程序能够请求Rbit/s的确保吞吐量,则运输层协议能够确保可用吞吐量至少为Rbit/s。
- 具有吞吐量要求的应用程序称为带宽敏感应用。
- 弹性应用能够根据当时可用带宽或多或少利用可使用吞吐量
- 定时
- 运输层也能提供定时保证。
- 安全性
- 运输层协议能够为应用程序提供一种或者多种安全性服务。
- 因特网提供的运输服务
-
之前为计算机网络能够提供的通用运输服务,而TCP/UDP是因特网提供的运输服务类型
-
- TCP服务
- 面向连接的服务:在应用层数据报文开始流动之前,TCP服务让客户和服务器互相交换运输层控制信息(握手),然后建立一个TCP连接(全双工),应用程序结束报文发送后必须拆除该连接
- 可靠的数据传输服务:无差错、按适当顺序交互所有发送的数据。
- TCP协议具有拥塞控制,是一种整体最优。
- UDP服务
- 不提供不必要服务的轻量级运输协议,仅提供最小服务
- UDP是无连接的,故而没有握手过程。
- UDP提供的试一种不可靠的数据传输服务,即并不保证该报文将到达接收进程,且可能到达的报文乱序
- UDP没有拥塞控制,UDP可以以选定的任何速率向下层注入数据
- 因特网运输协议所不提供得服务
- 目前因特网运输层协议并没有提供对吞吐量和定时服务
- 但是目前因特网通常能够为时间敏感服务提供满意服务,但是不能提供任何定时和带宽保证。
-
-
-
应用层协议
- 应用层协议定义了运行在不同端系统上应用程序如何互相传递报文,特别是应用层协议定义了:
- 交换报文类型
- 各种类型报文得语法
- 字段的语义
- 确定一个进程何时以及如何发送报文,对报文进行响应的规则
- 应用层协议只是应用层的一部分
- 应用层协议定义了运行在不同端系统上应用程序如何互相传递报文,特别是应用层协议定义了:
-
Web和HTTP
- Web是按需操作。
-
HTTP概况
- Web的应用层协议是超文本传输协议(HyperText Transfer Protocol,HTTP)
- HTTP由一个客户程序和一个服务器程序实现,两者分属不同端系统
- 客户和服务器通过交换HTTP报文进行会话
- HTTP定义了这些报文的结构以及客户服务器交换报文的方式
- Web页面由对象组成
- 一个对象只是一
- Web的应用层协议是超文本传输协议(HyperText Transfer Protocol,HTTP)