目录
TCP(Transmission Control Protocol)
一、端系统上的 Internet 服务
1、面向连接的服务
在两个端系统之间建立连接
目的:在端系统间传送数据。
握手:客户和服务器事先进入戒备状态,为接下来的分组交换做好准备。
- 如同 How are you?I‘m fine. 这样的人类电话通信
- 用于在两个彼此通信的端系统之间建立 “连接”
流程如下:
TCP(Transmission Control Protocol)
TCP 具有四大特性:
- 连接控制:属于 Internet 的面向连接的服务。
- 可靠数据传输:解决数据错误、丢失 (确认和重传)、时延等问题。
- 流量控制:解决速率不匹配问题,发送方不至于淹没接收方。
- 拥塞控制:当网络拥塞时发送方降低发送速率。
字节流传输是指采用没有边界的数据发送,其对立面为数据报传输。流量控制还能解决接收方缓冲能力有限,导致丢包的问题。
2、无连接的服务
目的:在端系统间传送数据。
UDP(User Datagram Protocol)
- 属于 Internet 的无连接服务
- 不可靠数据传输
- 无流量控制
- 无拥塞控制
优点:由于传输时不需等待,因此传输速度更快,从而其实时性更好。
TCP 和 UDP 的应用场景
使用 TCP 的网络应用 | 使用 UDP 的网络应用 |
---|---|
HTTP、FTP、Telnet、SMTP | 流媒体、视频会议、DNS、Internet 电话 |
流媒体:是指多媒体数据不断由流媒体提供商发送到客户端,而客户不需要将整个多媒体数据下载到本地,就可以开始播放的多媒体。
二、网络核心部分
网络核心:是指由相互连接的路由器构成的网络。
基本原理有:
- 电路交换:每次会话预留沿其路径所需的独占资源,如:电话网。
- 分组交换:数据以离散的数据块通过网络来发送。
报文交换的出现时间位于两者之间。
1、电路交换
① 要求呼叫建立
- 建立一个专门的端到端线路,意味着每个链路上预留一个线路
1M 为带宽,单位为 bps 。显然这种独占会导致资源浪费,因此引入分片和多路复用。
② 将网络资源(如:链路带宽)分片
- 频分(frequency division)
- 时分(time division)
③ 采用多路复用(Multiple Access)的方式
- 当分片被会话使用时,传输数据
- 当分片未被会话使用时,分片空载
由于分片是被指定给某一会话的,因此分片不能被其它会话使用
④ 电路级性能得到保证
频分(FDMA)和时分(TDMA)
- 频分采用并行方式,因此无延迟。
- 时分采用串行方式,因此需要等待;可通过减小单位时间来减少等待时间。
假设单位时间为 1s,将每个 1s 的 0-0.1s 分配给 “由 A 传输给 B”,即分配一个固定的时隙给 “由 A 传输给 B”。
电路交换举例
从主机 A 到主机 B 经一个电路交换网络需要多长时间发送一个 640Kb 的文件?假设所有链路都是 1.536 Mbps,每个链路使用 TDM 划分成 24 个时隙,创建一条端到端的链路需要 500msec 。
2、报文交换
报文:用户一次传输的数据总量。
报文交换举例
假设 A 的报文比 C 的报文早一位到达 R1,则 C 需要等待 10s 直到 A 的报文传输完毕才能传输。此外,若 A 的数据出错,则 B 只能丢掉全部数据,A 进行重传,C 需要再等待 10s 。
问题在于:没有限制每次发送的报文的大小。
3、分组交换
① 每个端到端的数据被划分成分组
- 所有分组共享网络资源
- 每个分组使用链路的全部带宽
- 按需使用网络资源
限制了每次发送的报文的大小
② 采用统计复用
- 在统计复用中,A 和 B 的分组没有固定的发送顺序
- 在时分复用中,每个主机获得各 TDM 循环帧的固定时隙
所以在统计复用中就是谁的分组先到,路由器就先传谁的
③ 采用分组队列;存在资源竞争
资源需求总量可以大于可获得资源的总量
分组队列:每台分组交换机都与多条链路相连。对于每条相连的链路,该分组交换机具有一个输出缓存/输出队列,它用于存储路由器准备发往那条链路的分组。
资源竞争:
- 排队时延:是指一个分组在输出缓存中等待其它分组被转发所花的时间
- 分组丢失:缓存空间是有限的,若缓存已满而新分组到达,则将出现分组丢失
被丢失的分组:到达的分组或已经排队的分组之一
④ 采用存储转发
存储转发:是指在交换机开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。换句话说,仅当交换机已经接收完该分组的所有比特后,它才能开始向输出链路传输该分组。
转发特点:
- 一个分组的所有比特只会在同一个链路上传输
- 存在同一个分组跨越两个路由器:R1 发,R2 收
- 不存在同一个分组跨越两段通信链路:R2 发,R2 收
⑤ 分组交换网络的分类
(1)数据报网络:TCP/IP
- 分组目的地址决定下一跳
- 会话期间路由可以改变
- 比方:驱车逐段问路
不记录状态信息,不建立连接
(2)虚电路网络:X.25、FR、ATM
- 每个分组有一个虚电路号(virtual circuit ID),决定了下一跳
- 连接建立时确定固定的路径,并且将保持于整个会话期间
- 路由器必须为每个连接维护状态信息
虚电路网络模拟了电路交换但是不会独占资源
4、比较分组交换与电路交换
假设 n 个用户共享 1Mbps 的通信链路,每个用户在活动期所需的传输率为 100Kbps,且只有 10% 的时间活动。
1)对于电路交换
如果有 10 位用户使用该通信链路:
虽然链路带宽能够满足,但是链路带宽的利用率很低。
2)对于分组交换
如果有 35 位用户使用该通信链路,则同时有 10 位以上活动用户的概率小于 0.0004(拿 10% 去算的)。因此,即使是一直有 10 位用户同时在使用该通信链路:
链路带宽也能够满足,且链路带宽的利用率很高。
结论:分组交换允许更多的用户使用网络!
Q:分组交换是最后的赢家吗?
优点:
- 适合大量的突发数据传输
- 资源共享
- 简单,不需要建立连接
缺点:
- 过度竞争导致分组延迟与丢失
- 需要可靠数据传输、拥塞控制协议
问题:如何提供电路级的性能?
- 对于音视频的网络应用需要带宽保障
- 仍然是 1 个没有解决的问题(教材 CH9)
5、总结:网络的分类
- 虚电路网络一定是面向连接的。
- 数据报网络既可以提供面向连接的服务,也可以提供无连接的服务。
Internet 属于数据报网络,它为应用层既提供了面向连接的传输服务 TCP,又提供了无连接的传输服务 UDP 。