系列文章目录
什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)------速率、带宽、延迟
计算机网络性能(2)------时延带宽积、丢包率、吞吐量/率
计算机网络体系结构概念
OSI参考模型基本概念
OSI参考模型中非端-端层(物理层、数据链路层、网络层)功能介绍
OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍
TCP/IP参考模型基本概念,包括五层参考模型
网络应用的体系结构
网络应用进程通信
网络应用对传输服务的需求
我们已经知道,网络应用之间通过进程间通信,遵循应用层协议实现。那不同应用对消息传输的要求是不一样的,传输层到底为应用层提供了怎样的服务?
网络应用对传输服务的需求主要有这几个方面:
-
对**数据丢失(data loss)/可靠性(reliability)**的要求。
- 某些网络应用能够容忍一定的数据丢失,比如说网络电话、网络视频,可以容忍丢失几个帧。
- 某些网络应用要求100%可靠的数据传输:文件传输网上银行等等。
-
关于**时间(timing)/延迟(delay)**的要求。
- 有些应用只有在延迟足够低时才"有效"。如果打游戏的时候时间延迟特别大,那我们的体验感就很差
-
关于**带宽(bandwidth)**的要求。
- 某些应用只有在带宽达到最低要求时才"有效",比如网络视频,如果带宽特别低的话是看不了的,因为是卡的,不连续
- 某些应用能够适应任何带宽,比如文件下载,网速较快就下载的比较快,网速较慢我们也可以等一等,只要求文件正确的下载下来。
当然不局限于这三方面,比如有的应用有安全性的要求等等。
下面是典型网络应用对传输服务的需求:
Internet网络提供的传输服务
Internet是主流的网络,但并不是唯一的网络。
Internet提供两类传输服务:TCP和UDP。
-
TCP服务
- 面向连接: 客户机/服务器进程间 需要建立连接。TCP服务是面向连接的服务,连接一旦建立起来就是全双工的。
- 可靠的传输。
- 流量控制: 发送方不会发送速度过 快,超过接收方的处理能力。
- 拥塞控制: 当网络负载过重时能够 限制发送方的发送速度。
- 不提供时间/延迟保障。
- 不提供最小带宽保障。
-
UDP服务
-
无连接
-
不提供可靠的数据传输
-
不提供:可靠性保障、流量控制、拥塞控制等等。
-
UDP提供的服务是最基本的
-
但是留给应用层极大的发挥空间
-
下面是一些典型网络应用使用的应用层协议和传输层协议: