计算机网络
第1章-概述
1、典型交换技术
电路交换
当电话机的数量增多时,使用电话交换机将这些电话连接起来。
三个阶段
- 建立连接:建立一条专用的物理通路(占用通信资源)。
- 通话:主叫和被叫双方互相通电话(一直占用通信资源)。
- 释放连接:释放刚才使用的专用的物理通路(归还通信资源)。
电路交换特点
通话的两个用户始终占用端到端的通信资源
不使用电路交换的原因
计算机数据具有突发性,这导致在传送数据时,通信线路的利用率很低,真正用来传送数据的时间往往不到 10%,甚至不到 1%,已被用户占用的通信线路资源在绝大部分时间里都是空闲的。
==分组交换==
分组交换特点
采用存储转发技术。
数据段前面添加首部就构成了分组 (packet)
发送端依次把各分组发送到接收端。
互联网采用分组交换技术。分组是在互联网中传送的数据单元。接收端收到分组后剥去首部,还原成原来的报文
路由器处理分组的过程
- 暂存收到的分组。
- 检查分组首部。
- 查找转发表。
- 按照首部中的目的地址,找到合适的接口转发出去。
分组交换的优点
优点 | 所采用的手段 |
---|---|
高效 | 在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用。 |
灵活 | 为每一个分组独立地选择最合适的转发路由。 |
迅速 | 以分组作为传送单位,可以不先建立连接就能向其他主机发送分组。 |
可靠 | 保证可靠性的网络协议;分布式多路由的分组交换网,使网络有很好的生存性。 |
分组交换的缺点
- 排队延迟:分组在各路由器存储转发时需要排队。
- 不保证带宽:动态分配。
- 增加开销:各分组必须携带控制信息;路由器要暂存分组,维护转发表等。
==电路交换、报文交换和分组交换的主要区别==
- 若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
- 报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。
- 由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。
2、几种不同类别的计算机网络
按照网络的作用范围进行分类
类别 | 作用范围或距离 |
---|---|
广域网 WAN (Wide Area Network) | 通常为几十到几千公里。有时也称为**远程网(long haul network)**。是互联网的核心部分。 |
城域网 MAN (Metropolitan Area Network) | 作用范围一般是一个城市,作用距离约为5~50公里。 |
局域网 LAN (Local Area Network) | 局限在较小的范围(如1公里左右)。通常采用高速通信线路。 |
个人区域网 PAN (Personal Area Network) | 范围很小,大约在10米左右。有时也称为无线个人区域网 **WPAN (Wireless PAN)**。 |
==3、计算机网络的性能指标==
1. 速率
- 最重要的一个性能指标。
- 指的是数据的传送速率,也称为数据率 (data rate) 或比特率 (bit rate)。
- 单位:bit/s,或 kbit/s、Mbit/s、 Gbit/s 等。
例如 4 × 10^10^ bit/s 的数据率就记为 40 Gbit/s。 - 速率往往是指额定速率或标称速率,非实际运行速率。
- 通信领域
k(kilo)=10^3^=千,M(Mega)=10^6^=兆,G(Giga)=10^9^=吉,T(Tera)10^12^=太,P(Peta)=10^15^=拍,E(Exa)=10^18^=艾,Z(Zeta)=10^21^=泽,Y(Yotta)=10^24^=尧 - 计算机领域
千 = K = 2^10^ = 1024,兆 = M = 2^20^ = 1024 K,吉 = G = 2^30^ = 1024 M
2. 带宽
==3.时延==
(1)发送时延(传输时延)
是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
(2)传播时延
- 是电磁波在信道中传播一定的距离需要花费的时间。
- 电磁波传播速率:
- 自由空间的传播速率是光速 = 3.0 ⅹ 10^5^ km/s
- 在铜线电缆中的传播速率约 = 2.3 ⅹ 10^5^km/s
- 在光纤中的传播速率约 = 2.0 ⅹ 10^5^ km/s
注意:发送时延与传播时延有本质上的不同。
发送时延发生在机器内部的发送器中,与传输信道的长度(或信号传送的距离)没有任何关系。
传播时延则发生在机器外部的传输信道媒体上,而与信号的发送速率无关。信号传送的距离越远,传播时延就越大。
(3)处理时延
主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找路由)所花费的时间。
(4)排队时延
- 分组在路由器输入输出队列中排队等待处理和转发所经历的时延。
- 排队时延的长短往往取决于网络中当时的通信量。当网络的通信量很大时会发生队列溢出,使分组丢失,这相当于排队时延为无穷大。
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
==例题==
4.时延带宽积
5.往返时间 RTT (Round-Trip Time)
==例题==
6.利用率
根据排队论,当某信道的利用率增大时,时延会迅速增加。
4、具有五层协议的体系结构
网络协议三要素:语法、语义、时序
1、物理层
- 任务:实现比特(0 或 1)的传输。
- 确定连接电缆的插头应当有多少根引脚,以及各引脚应如何连接。
- 注意:传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面。
2、数据链路层
- 常简称为链路层。
- 任务:实现两个相邻节点之间的可靠通信。
- 在两个相邻节点间的链路上传送帧(frame)。
- 如发现有差错,就简单地丢弃出错帧。
- 如果需要改正出现的差错,就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层协议复杂。
3、网络层
- 为分组交换网上的不同主机提供通信服务。
- 两个具体任务:
- 路由选择:通过一定的算法,在互联网中的每一个路由器上,生成一个用来转发分组的转发表。
- 转发:每一个路由器在接收到一个分组时,要依据转发表中指明的路径把分组转发到下一个路由器。
- 互联网使用的网络层协议是无连接的网际协议 IP (Internet Protocol) 和许多种路由选择协议,因此互联网的网络层也叫做网际层或 IP 层。
- IP 协议分组也叫做 IP 数据报,或简称为数据报。
4、运输层
- 任务:负责向两台主机中进程之间的通信提供通用的数据传输服务。
- 具有复用和分用的功能。
- 主要使用两种协议:
- 传输控制协议 TCP
- 提供面向连接的、可靠的数据传输服务。
- 数据传输的单位是报文段 (segment)。
- 用户数据报协议 UDP 。
- 提供无连接的尽最大努力 (best-effort) 的数据传输服务(不保证数据传输的可靠性)。
- 数据传输的单位是用户数据报。
- 传输控制协议 TCP
5、应用层
- 任务:通过应用进程间的交互来完成特定网络应用。
- 协议:定义的是应用进程间通信和交互的规则。
- 把应用层交互的数据单元称为报文(message)。
- 例如:DNS,HTTP,SMTP
数据在各层之间的传递过程
2、TCP滑动窗口
3、拥塞避免和快速重传
当TCP连接已建立后,把拥塞窗口cwnd置为1。在本例中,慢开始门限的初始值设置为l6个报文段,即ssthresh=16。在执行慢开始算法阶段,每经过一个往返时间RTT,拥塞窗口cwnd就加倍。当拥塞窗口cwnd增长到慢开始门限值ssthresh时(图中的点①,此时拥塞窗口cwd=16),就改为执行拥塞避免算法,拥塞窗口按线性规律增长。但请注意,“拥塞避免”并非完全避免拥塞,而是让拥塞窗口增长得缓慢些,使网络不容易出现拥塞。
当拥塞窗口cwd=24时,网络出现了超时(图中的点②),这就是网络发生拥塞的标志。于是调整门限值ssthresh=cwnd/2=12,同时设置拥塞窗口cwnd=1,执行慢开始算法。按照慢开始算法,发送方每收到一个对新报文段的确认ACK,就把拥塞窗口值加1。
当拥塞窗口cwnd=ssthresh=12时(图中的点③,这是ssthresh第1次调整后的数值),改为执行拥塞避免算法,拥塞窗口按线性规律增大。当拥塞窗口cwd=16时(图中的点④),出现了一个新的情况,就是发送方一连收到3个对同一个报文段的重复确认(图中记为3-ACK)。关于这个问题要解释如下。有时,个别报文段会在网络中意外丢失,但实际上网络并未发生拥塞。如果发送方迟迟收不到确认,就会产生超时,并误认为网络发生了拥塞。这就导致发送方错误地启动慢开始,把拥塞窗口cwd又设置为1,因而不必要地降低了传输效率。
采用快重传算法可以让发送方尽早知道发生了个别报文段的丢失。快重传算法首先要求接收方不要等待自己发送数据时才进行捎带确认,而是要立即发送确认,即使收到了失序的报文段也要立即发出对已收到的报文段的重复确认。如图5-26所示,接收方收到了M1和M2后都分别及时发出了确认。现假定接收方没有收到M3但却收到了M4。本来接收方可以什么都不做。但按照快重传算法,接收方必须立即发送对M2的重复确认,以便让发送方及早知道接收方没有收到报文段M3。发送方接着发送M5和M6。接收方收到后也仍要再次分别发出对M2的重复确认。这样,发送方共收到了接收方的4个对M2的确认,其中后3个都是重复确认。快重传算法规定,发送方只要一连收到3个重复确认,就可知道现在并未出现网络拥塞,而只是接收方少收到一个报文段M3,因而立即进行重传M3(即“快重传”)。使用快重传可以使整个网络的吞吐量提高约20%。
因此,在图5-25中的点④,发送方知道现在只是丢失了个别的报文段。于是不启动慢开始,而是执行快恢复算法。这时,发送方第2次调整门限值,使ssthresh=cwnd/2=8,同时设置拥塞窗口cwnd=ssthresh=8(见图5-25中的点⑤),并开始执行拥塞避免算法。
4、TCP连接的建立
5、TCP连接的释放
6、更新路由表
7、ICMP
ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用
8、IGMP
主机IP软件需要进行组播扩展,才能使主机能够在本地网络上收发组播分组。但仅靠这一点是不够的,因为跨越多个网络的组播转发必须依赖于路由器。路由器为建立组播转发路由必需了解每个组员在Internet中的分布,这要求主机必须能将其所在的组播组通知给本地路由器,这也是建立组播转发路由的基础。主机与本地路由器之间使用Internet组管理协议(IGMP,Internet Group Management Protocol)来进行组播组成员信息的交互。IGMP是TCP/IP中重要标准之一,所有IP组播系统(包括主机和路由器)都需要支持IGMP协议。
9、PPP
点到点协议(Point to Point Protocol,PPP)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。PPP具有以下功能:
(1)PPP具有动态分配IP地址的能力,允许在连接时刻协商IP地址;
(2)PPP支持多种网络协议,比如TCP/IP、NetBEUI、NWLINK等;
(3)PPP具有错误检测能力,但不具备纠错能力,所以ppp是不可靠传输协议;
(4)无重传的机制,网络开销小,速度快。
(5)PPP具有身份验证功能。
(6)PPP可以用于多种类型的物理介质上,包括串口线、电话线、移动电话和光纤(例如SDH),PPP也用于Internet接入。
10、位填充
当发送的数据链层在数据中遇到5个连续的1时,自动在其后插入一个0到输出比特流中,这叫位填充技术。当接收方看到5个连续的1后面跟着一个0时。自动将此0删除 。