按网络的覆盖范围进行分类:
按网络的使用者进行分类:
从功能上可以划分为以下两大部分:
电路交换:
电路交换必定是面向连接的,建立的电路为通信双方独占,其线路的传输效率往往很低,不适合计算机通信。
整个报文的比特流连续的从源点直达终点,好像一条物理的线路直接将源点和终点连接起来一样。
分组交换:
分组交换在传送数据之前不必先占用一条端到端的通信线路,分组在哪段链路上传送才占用这段链路的资源,分组在传输时就这样一段接着一段的断续占用通信资源,省去了建立连接和释放连接的开销,因此数据的传输效率更高。
单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点。分组交换机的输出接口和输入接口能够并行工作,当输出接口在发送一个分组时,其输入接口可以接受下一个分组。
速率-数据的传输速率,也称为数据率或比特率,比特是计算机中数据量的单位。
带宽-本来指某个信号具有的频带宽度,这种带宽的单位是赫兹。计算机网络中带宽用来表示网络某通道传达数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的最高数据率,单位是bit/s
吞吐量-吞吐量也称为吞吐率,表示在单位时间内通过某个网络(或信道,接口)的数据量,常用于对现实世界中网络的测量。
时延-时延是指数据(一个报文或分组甚至比特)从网络(或链路)的一端传送到另一端所需要的时间。也称为延迟或迟延。
发送时延 | 主机或路由器将整个分组的所有比特发送到通信线路上所需要的时间。从发送分组的第一个比特算起到该分组的最后一个比特。 | 发送时延=分组长度(比特)/发送速率(比特/秒) |
---|---|---|
传播时延 | 电磁波在信道中传播一定距离所花费的时间 | 传播时延=信道长度(米)/电磁波在信道上的传播速率(米/秒) |
处理时延 | 主机或者路由器在收到分组时需要花费一定的时间进行处理,例如分析数组的首部 | |
排队时延 | 分组在进行网络传输时要经过许多路由器,进入路由器后要现在输入队列中排队等待处理,在路由器确定了转发接口以后,还要再输出队列中等待转发,这样产生了排队时延。 |
总时延=发送时延+传播时延+处理时延+排队时延
? 丢包率=丢失的分组数量/总的分组数量
五层协议体系:
应用层 | 通过应用进程间的交互来完成特定的网络应用,直接为用户或应用进程提供特定的应用服务(HTTP,SMTP,FTP)。数据单元为报文 |
---|---|
运输层 | 向两台主机中进程之间的通信提供通用的数据传输服务。负责主机中两个进程之间的逻辑通信。端到端通信(TCP,面向连接,可靠传输,数据传输单位为数据段。UDP,无连接,不可靠传输,拆传输单位为数据报) |
网络层 | 为分组交换网上的不同主机提供通信服务。将分组从源主机按照合适的路由通过中间若干路由器的转发传送到目的主机 |
数据链路层 | 将分组从链路的一端传送到另一端。数据单元为真帧。在相邻结点之间,主机和路由器之间或路由器和路由器之间的链路上传送一帧为单位的数据 |
物理层 | 在传输媒体上传送比特流,具体包括与物理媒体的接口,比特的表示与同步,数据率 |
七层架构:
应用层 | |
---|---|
表示层 | |
会话层 | |
运输层 | |
网络层 | |
数据链路层 | |
物理层 |
实体:
当研究开放系统中下信息交换时,我们往往使用实体,这一较为抽象的名词表示任何可发送或接收信息的硬件或软件过程。
协议:
协议是控制两个对等实体(或多个实体)进行通信的规则的集合。
服务:
在协议的控制下,两个对等的实体间的通信使得本层能够向上一层提供服务。要使实现本层的协议,还需要使用下面一层所提供的服务。
习题:
习题1-9:互联网的两大组成部分(边缘部分和核心部分)的特点是什么?它们的工作方式各有什么特点?(掌握/简答)
解答:因特网的拓扑结构虽然非常复杂,并且在地理上覆盖了全球,但从其工作方式上看,可以划分为以下的两大块:
(1)边缘部分 由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
(2)核心部分 由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
习题1-14:收发两端之间的传输距离为1000KM,信号在传输媒体上的传播速率为2×10八次方m/s。试计算以下两种情况的发送时延和传播时延。(1k=10的三次方,1G=10的六次方,3,6,9,12)
(1)数据长度为10的七次方bit数据发送速率为100 kbit/s;
(2)数据长度为10的三次方bit,数据发送速率为1 Gbit/s。
从以上计算结果可得出什么结论?
解答:(1) 发送时延为100 s,传播时延为5 ms。发送时延远大于传播时延。
(2) 发送时延为1 us,传播时延为5 ms。发送时延远小于传播时延。
常用编码方式:
比特流 | |
---|---|
归零制 | 正脉冲代表1,负脉冲代表0 |
不归零制 | 正电平代表1,负电平代表0 |
曼彻斯特编码 | 位周期中心的上跳变代表0,位周期中心的下跳变代表1 |
差分曼彻斯特编码 | 每一位的中心处都有跳变。位开始边界有跳变代表0,位开始边界没有跳变代表1 |
信道频率与信噪比
码元传输速率的上限为:
理想低通信道(信号的所有低频分量,只要其频率不超过某个上限值,都能够不失真地通过此信道。而频率超过该上限值的所有高频分量都不能通过该信道)的最高码元传输速率=2W(波特)
W是指信道带宽,单位为赫兹。波特是码元传输速率的单位,1波特为每秒传输1个码元
信道的极限信息传输速率C为:
香农公式:C=Wlog2(1+S/N)(bit/s);
W为信道的带宽,以赫兹为单位;S为信道内所传信号的平均功率;N为信道内部的高斯噪声功率。
注:一个码元携带nbit的信息量,则Mbaud的码元传输速率所对应的信息传输速率为M×nbit/s。
信道的带宽或信道中的信噪比越大,信息的极限传输速率就越高
在传输时,收发双发必须对每一个比特在线路上持续的时间达成一致,接收端才能正确地接收数据。同步就是指收发双方在时间基准上保持一致的过程,异步/同步传输是指采用不同同步方式的传输方式
数字传输有各种不同的传输方式:并行传输/穿行传输;异步传输/同步传输;单工/半双工/全双工通信;
并行传输:是指一次发送n个比特而不是一个比特,发送端和接收端之间需要有n条传输线路
串行传输:是指数据是一个比特一个比特一次发送的,发送端和接收端之间只需要一条传输线路
异步传输:以字节为独立的传输单位,字节之间的时间间隔不是固定的
同步传输:数据块以稳定的比特流的形式传输,字节之间没有间隔,也没有起始位和结束位
单工通信:只能一个方向的通信而没有反方向的交互
半双工通信:通信的双方都可以发送信息,但不能双方同时发送,也不能同时接收
全双工通信:通信的双方可以同时发送和接收信息
分两大类:导引型传输媒体(固态传输线路)和非导引型传输媒体(无线电波)
导引型:
非导引型:
? 无线数据通信主要使用的频段,频率范围为300MHZ300GHZ,但目前使用最多的是2GHZ40GHZ的频率范围。微波波段频率很高,频率范围也很宽,因此通信信道的容量很大。
? 通常指频率低于300GHZ的电磁波
? 不能绕过或穿透障碍物,在自由空间中主要利用直线传播实现通信。不受电磁干扰,传输带宽高,无须向管理机构申请。
复用是通信技术中的一个重要概念。当网络中传输媒体的传输容量大于多条单一通信的总通信量时,可利用复用技术在一条物理线路上建立多条通信信道来充分利用传输媒体的带宽。
非对称数字用户线
由于用户在上网时主要是从互联网上下载各种文档,而向互联网发送的信息量一般都不太大,因此ADSL的下行带宽都远远大于上行带宽。非对称这个名词就是这样得出的。ADSL在用户线的两端各安装一个ADSL调制解调器,采用频分复用的方法。采用自适应调制技术使用户线能够达到尽可能高的数据率。不能保证固定的数据率。基于ADSL的接入网由以下三大部分组成:数字用户线接入复用器,用户线和用户家中的一些设施。
习题2-10:2-1 常用的传输媒体有哪几种?各有何特点?
解答:
双绞线,用两根绝缘铜线扭在一起的通信媒体,绞合在一起是为了减少相邻导线的电磁干扰。双绞线可分为屏蔽双绞线和非屏蔽双绞线。在数字传输时,若传输速率为每秒几个兆比特,则传输距离可达几公里。双绞线价格便宜,布线方便,主要用于电话用户线和局域网中。
同轴电缆,由内导体铜质芯线、绝缘层、网状编织的外导体屏蔽层以及保护塑料外层所组成。同轴电缆的这种结构和屏蔽性使得它有比双绞线高得多的带宽和更好的抗干扰特性。目前同轴电缆主要用在有线电视网的居民小区中。
光纤,是利用光导纤维传递光脉冲信号来进行通信,由于可见光的频率非常高(108MHz),因此一个光纤通信系统的传输带宽远远大于目前其他传输媒体的带宽。光纤可分为单模光纤和多模光纤。光纤不仅通信容量非常大,而且传输损耗小,抗干扰和保密性能好。光纤通常用在主干网络中和高速局域网中。
无线传输媒体,即利用自由空间传播电磁波。当通信距离很远,或跨越复杂地理环境时,铺设电缆既昂贵又费时,利用无线电波在自由空间传播,可以实现多种通信。无线传输所使用的频段很广。人们现在利用无线电、微波、红外线以及可见光这几个波段进行通信。无线传输媒体的最大缺点就是容易被干扰,保密性差。
习题2-16: 为什么在ADSL技术中,在不到1 MHz的带宽中可以传送的速率却可以高达每秒几个兆比特?
解答:采用先进的编码技术,每个码元携带多个比特,即每秒传送一个码元就相当于每秒传送多个比特。
当物理链路提供的是面向比特的传输服务时(物理链路传送连续的比特流),帧界定符可以使用某个特殊的比特组合,如ppp使用的01111110.由于帧的长度不再要求必须是整数个字节,因此可以采用开销更小的比特填充来实现透明传输。
零比特填充:
***在发送端,先扫描整个信息字段(通常用硬件实现,也可用软件实现)。只要发现有5个连续的1,则立即填入一个0。***经过这种零比特填充的数据,就可用保证信息字段中不会出现6个连续的1.接收端在接收到一个帧时,线找到帧界定符以确定一个帧的边界,再用硬件对其中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除,以还原数据比特流。
例:
信息字段中出现了和帧界定符完全一样的8种比特组合:01001111110001010,会被误认为是帧界定符
发送方再5个连续1之后填入0再发送出去:010011111010001010,发送方填入0
接收方把5个连续1之后的0删除:010011111010001010,接收方删除填入的0
比特在传输的过程种可能会阐产生差错:1可能会变成0,而0也可能变成1。这就叫比特差错。
数据链路层通常采用**循环冗余检验(CRC)**技术进行差错检测。
发送方和接收方首先必须先协商一个r+1比特生成式G。算法要求G的最高位和最低为的比特为1。考虑到d比特的数据D,发送方要选择一个合适的r比特冗余码R(即检错码),并将它附加到D上,使得得到的d+r比特模式用模2算术恰好能被G整除。接收方在进行差错检测时,用G去除接收到的d+r比特,如果余数非零则检测出差错,否则认为数据正确。
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ppp点对点协议(使用最广泛的点对点数据链路层协议)
主要特点:
ppp的组成:
三个组成部分
计算机是怎样连接到局域网上的:
计算机与外界局域网通过通信适配器相连。适配器本来是在主机箱内插入的一块网络接口板(或者是在笔记本电脑中插入的一块PCMCIA卡)。这种接口板又称为网络接口卡(Network Interface Card)或简称为网卡。适配器有自己的处理器和存储器(RAM和ROM),是一个半自治的设备。适配器和局域网之间的通信是通过电缆或双绞线的方式以串行传输方式进行的。因此,适配器的一个重要功能就是进行数据串行传输和并行传输的转换。由于网络上 的数据率和计算机总线上的数据率并不相同,因此在适配器中必须装有对数据进行缓存的存储芯片。要想使适配器正常工作,还必须把管理该适配器的设备驱动程序安装在计算机的操作系统中。这个驱动程序以后机会告诉适配器,应当从存储器的什么位置上把多长的数据块发送到局域网,或者应当在存储器的什么位置上把局域网传送过来数据块存储下来。适配器还要能够实现局域网数据链路层和物理层的协议。
适配器接收和发送各种帧时不使用计算机的CPU,这时CPU可以处理其他任务。适配器收到有差错的帧时,就把这个帧丢弃而不必通知计算机。当适配器收到正确的帧时,他就使用中断来通知该计算机并将帧交付给协议栈中的网络层。当计算机要发送IP数据报时,就由协议栈把IP数据报向下交给适配器,组装成帧后发送到局域网。计算机的硬件地址就在适配器的ROM中,而计算机的软件地址IP地址,则在计算机的存储器中。
以太网采用的媒体访问控制协议时载波监听多址接入/冲突检测(Carrier Sense Multiple Access Dection,CSMA/CD)协议。这里以10Mbit/s总线型以太网为例讨论以太网的媒体接入控制协议CSMA/CD的基本原理。
多址接入说明这是一种多址接入协议,许多站点以多址接入的方式连接在一根总线上。协议的实质是“载波监听”和”冲突检测“
载波监听就是发送前先监听,即每一个站点在发送数据之前先要检测以下总线上是否有其他站点在发送数据
冲突检测就是边发送边监听,即适配器边发送数据边检测信道上的信号电压的变化情况,以判断自己在发送数据时其他站点是否也在发送数据。
电磁波在1km电缆中的传播时延约为5us。在局域网的分析中,常把总线上的单程端到端时延记为r。
发送数据后最长要多长时间才能知道自己发送的数据和其他站点发送的数据有么有发生冲突?这个时间最多时两倍的总线端到端的时延2r,或总线的端到端往返时延。
在使用CSMA/CD协议时,一个站点不可能同时进行发送和接收,因此使用CSMA/CD协议的以太网不可能进行全双工通信,而只能进行双向交替通信(半双工通信)
最先发送数据帧的站点A,在发送数据帧后至多经过2r时间就可知道发送的数据帧是否遭遇了冲突。因此以太网的端到端往返时间2r又称为争用期,它是一个重要的参数,争用期又称为冲突窗口,一个站点在发送完数据后,只有经过争用期的考验,即经过争用期这段时间还没有检测到冲突,才能肯定这次发送不会发生冲突。
10Mbit/s**以太网把争用期定位512比特时间,即51.2us,**因此总线长度不能超过5120m,但考虑到其他一些因素,如信号衰减等,以太网规定总线长度不能超过2500m。
以太网规定最短有效帧长为64字节。以太网站点在发送数据时,如果帧的前64字节没有发生冲突,那么后续的帧就不会发生冲突。凡长度小于64字节的帧都是由于冲突而异常中止的无效帧。
虚拟局域网(Virtual LAN)技术。利用虚拟局域网技术,管理员可以在一个物理局域网上通过逻辑配置来建立多个逻辑上独立的虚拟网络。利用交换机就可以很方便的实现虚拟局域网。管理员可以将连接在交换机上的站点按需要划分为多个与物理位置无关的逻辑组,每个逻辑组就是一个VLAN。属于同一VLAN的站点之间可以直接通信,而不属于同一VLAN的站点之间不能直接通信,连接在同一交换机上的两个站点可以属于不同的VLAN,而属于同一VLAN的两个站点可能连接在不同的交换机上。
以太网的演进:
100BASE-T以太网
吉比特以太网
10吉比特及更高速率以太网
集线器:可靠性非常高的设备。
集线器使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统以太网那样运行。**使用集线器的以太网在逻辑上仍是一个总线网,各站点共享逻辑上的总线,使用的还是CSMA/CD协议
一个集线器有许多接口,每个接口通过RJ-45插头用两队双绞线与一个站点上的适配器相连。因此集线器很像一个多接口的转发器
集线器工作在物理层,它的每个接口仅仅简单地转发比特,收到1就转发1,收到0就转发0,不进行冲突检测
交换机:
交换式集线器常称为以太网交换机,二层交换机或局域网交换机,表明这种交换机工作在数据链路层
通常指用硬件实现转发功能的分组交换设备,其转发速度比用软件实现更快。交换机实质上就是一个多接口的网桥
用户带宽:
习题3-5: 要发送的数据为1101011011。采用CRC的生成多项式是 P(X)=X四次方+X+1 。试求应添加在数据后面的余数,并回答问题。
(1)数据在传输过程中最后一个1变成了0,问接收端能否发现?
(2)若数据在传输过程中最后两个1都变成了0,问接收端能否发现?
(3)采用CRC检验后,数据链路层的传输是否就变成了可靠的传输?
解答:根据CRC生成多项式,除数P=10011。用11010110110000,模2除P,余数即CRC检验序列为1110。
添加检验序列后为11010110111110,数据(注意是数据,不包括检验序列)在传输过程中最后一个1变成了0,则接收方收到的数据为11010110101110。除P得到的余数不为零(0011),发现差错。
若数据在传输过程中最后两个1都变成了0,则接收方收到的数据为11010110001110。除P得到的余数也不为零(0101),发现差错。
采用CRC检验仅能发现数据在传输过程中出现差错但并不能纠正差错,因此并不能实现可靠传输。
习题3-6:要发送的数据为101110。采用CRC的生成多项式是 P(X)=X三次方+1。试求应添加在数据后面的余数。
解答:根据CRC的生成多项式,除数为1001,被除数为101110000,余数为011。
习题3-26:为什么有最小帧长的限制?画图举例说明。
解答:CSMA/CD协议一个要点是当发送站正在发送时,若检测到冲突则立即中止发送,然后推后一段时间再发送。如果发送的帧太短,还没有来得及检测到冲突就已经发送完了,那么就无法进行冲突检测了,如图所示。因此,所发送的帧的最短长度应当要保证在发送完毕之前,必须能够检测到可能最晚来到的冲突信号。
习题3-27:假定总线长度为1 km,数据率为1 Gbit/s。设信号在总线上的传播速率为200000 km/s。求能够使用CSMA/CD协议的最短帧长。
解答:端到端往返时延为(2 km) / (200000 km/s) = 10 ms,因此只有发送时延大于该往返时延才能保证检测出所有可能的碰撞。即,最短帧长为(1 Gbit/s)′ (10 ms) = 10000 bit,即1250字节。
习题3-36:简述局域网交换机与集线器的区别?
解答:(1)交换机工作在链路层,根据帧(链路层分组)的目的MAC地址进行转发;而集线器工作在物理层,仅是将端口接收到的比特转发到其他所有端口而不是对帧进行处理。(2) 集线器在转发一个帧中比特时,不对传输媒体进行检测,因此其连接起来的主机属于同一冲突域;但交换机在转发一个帧之前必须执行CSMA/CD算法(当连接集线器时),有隔离冲突域的功能。
习题3-39:以太网交换机有何特点?用它怎样组成虚拟局域网?
解答:以太网交换机实质上就是一个多接口网桥,和工作在物理层的转发器和集线器有很大的差别。此外,以太网交换机的每个接口通常都直接与一个单个主机或另一个交换机相连,并且一般都工作在全双工方式。当主机需要通信时,交换机能同时连通许多对的接口,使每一对相互通信的主机都能像独占通信媒体那样,无碰撞地传输数据。以太网交换机和透明网桥一样,也是一种即插即用设备,其内部的帧转发表也是通过自学习算法自动地逐渐建立起来的,能够隔离碰撞但转发所有的广播帧。以太网交换机由于使用了专用的交换结构芯片,其交换速率就较高。虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组。利用以太网交换机可以很方便地实现虚拟局域网VLAN,连接到同一交换机的不同主机可以被划分到不同的VLAN中(最常用的技术是根据交换机的端口来划分VLAN),这些VLAN在逻辑上看起来就像一些独立的LAN,互相不能直接通信。当VLAN跨越多个交换机时,需要在以太网的帧格式中插入一个4字节的标识符,称为VLAN标记(tag),指明发送该帧的主机属于哪一个VLAN。
习题3-40:网桥的工作原理和特点是什么?网桥与转发器以及以太网交换机有何异同?
解答:网桥工作在数据链路层,根据MAC帧的目的地址向目的主机所连接的端口进行转发,采用存储转发方式,转发时在接口执行CSMA/CD协议。网桥能隔离碰撞域,但转发所有的广播帧。
网桥与转发器最大的区别就是工作的层次不同。网桥工作在数据链路层,根据MAC帧的目的MAC地址进行转发;而转发器工作在物理层,用于连接电缆扩大网络覆盖范围,转发器仅仅将一个端口输入的信号放大整形转发到另一个端口,并不识别帧,也不执行CSMA/CD协议。
以太网交换机实质上就是一个多接口网桥,通常直接与主机或另一个交换机相连,并且一般都工作在全双工方式。而网桥通常用于将两个独立的局域网网段连接成一个局域网。
在网络层提供面向连接的服务的计算机网络被成为虚电路网络,而在网络层提供无连接服务的计算机网络被称为数据报网络。
对比的方面 | 虚电路网络 | 数据报网络 |
---|---|---|
思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 |
连接的建立 | 必须有 | 不需要 |
终点地址 | 仅在建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有终点的完整地址 |
分组的转发 | 属于同一条虚电路的分组均按照同一路由进行转发 | 每个分组独立选择路由进行转发 |
当结点出现故障时 | 所有通过出故障点的结点的虚电路均不能正常工作 | 出故障的结点可能会丢失分组,一些路由可能发生变化 |
分组的顺序 | 总是按照发送顺序转发 | 到达终点是不一定按顺序发送 |
服务质量保证 | 可以将通信资源提前分配给每一个虚电路,因此容易实现 | 较难实现 |
将网络互相连接起来要使用一些中间设备。根据中间设备所在的层次,可以将中间设备分为以下四种。
IP地址及编址方式:
A类地址:1.0.0.0~127.255.255.255 网络号8位/主机号24位
B类地址:128.0.0.0~191.255.255.255 网络号16位/主机号16位
C类地址:192.0.0.0~223.255.255.255 网络号24位/主机号8位
主机位全0表示该网络的网络地址(IP地址/网络号),主机位全1表示该网络的广播地址。
网络号最前面有1~3位的类别位,其数值分别为0(A类),10(B类),110(C类)
D类地址:前四位是1110用于多播(一对多通信)
E类地址:前四位是1111保留为以后使用
一般不指派给接口使用的特殊IP地址:
网络前缀 | 主机号 | 源地址使用 | 目的地址使用 | 代表的意思 |
---|---|---|---|---|
全0 | 全0 | 可以 | 不可 | 0.0.0.0表示在本网络上的本主机 |
全0 | Host-id | 可以 | 不可 | 在本网络上的某个主机Host-id。例如0.0.0.123/24表示本网络种主机号位123的主机 |
全1 | 全1 | 不可 | 可以 | 目的地址位255.255.255.255的IP数据报只在本网络上进行广播(受限广播,各路由器均不转发) |
Net-id | 全1 | 不可 | 可以 | 对Net-id上的所有主机进行广播(定向广播)。例如,192.168.1.255/24是192.168.1.0/24网络上的广播地址 |
Net-id | 全0 | 不可 | 不可 | 网络地址,用于标识网络前缀为Net-id的网络。例如,某网络的IP地址为192.168.1.0/24 |
127 | 非全0全1 | 可以 | 可以 | 用于本地环回测试。例如,127.0.0.1为最常见的环回地址 |
从层次的角度来看,物理地址是数据链路层或物理层使用的地址,而IP地址是网络层及以上各层使用的地址,是一种逻辑地址(称IP地址是逻辑地址是因为IP地址是用软件实现的)
总之,IP地址放在IP数据报的首部,而物理地址则放在MAC帧的首部。在网络层和网络层以上使用的是IP地址,而数据链路层使用的是物理地址。
ICMP:互联网控制报文协议。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP报文作为IP数据报部分,加上数据报的首部,组成IP数据报发送出去。但通常我们把ICMP作为IP层的协议,而不是高层协议,是因为它配合IP一起完成网络层功能。
RIP:路由信息协议,是内部网关协议种最先得到广泛使用的协议之一。RIP是一种基于距离向量的路由选择协议,最大优点是简单。
***必考!!!:***RIP协议的要点
OSPF:开放最短路径优先,它是为客服RIP的缺点被开发的。OSPF基本原理很简单,但其具体实现却非常复杂。OSPF最主要的特征就是使用链路状态路由选择算法,而不是像RIP那样的距离向量路由选择算法。
***必考!!!:***OSPF的要点
BGP:新的外部网关协议,边界网关协议。与RIP和OSPF不同,BGP采用的是路径向量路由选择算法。**相邻结点间互相通告自己到所有目的地的路径信息,该路径信息包括经过的结点列表,各结点根据获得的路径信息选择一条到目的地经过结点数最少且不存在环路的路径。
网络地址转换,能使大量使用内部专用地址的专用网用户共享少量外部全球地址来访问互联网上的主机和资源。
IPv6特点:
IPv4和IPv6是互联网协议中不同版本的标识。它们之间的主要区别在于以下几点:
总的来说,IPv6相较于IPv4具有更大的地址空间、更好的自动配置、更强的安全性等优势,因此正在逐渐取代IPv4成为互联网的新标准。
习题4-19: 回答以下有关ARP的问题:
(1) 有人认为:“在因特网中,当计算机A要与计算机B通信时,若A不知道计算机B的物理地址,要先通过ARP将B的IP地址解析为物理地址,然后再利用该物理地址向B发送报文。”这种说法正确吗?
(2) 试解释为什么ARP高速缓存每存入一个项目就要设置10 ~ 20分钟的超时计时器。这个时间设置得太大或太小会出现什么问题?
(3) 至少举出两种不需要发送ARP请求分组的情况(即不需要请求将某个目的IP地址解析为相应的硬件地址)。
解答:(1) 不对:当A和B不在一个局域网中时,A发送给B的IP报文需要中间路由器转发,A需要通过ARP解析中间路由器的物理地址,而不是B的物理地址。
(2) 当网络中某个IP地址和硬件地址的映射关系发生变化时,ARP高速缓存中的相应项目就要改变(例如,更换网卡等)。实践证明缓存超时时间设置为10 ~ 20分钟较为合理,太短会导致ARP请求过于频繁,而太长会导致更换网卡的主机不能及时与其它主机通信。
(3) 当ARP高速缓存已有该IP地址项目,或广播分组
习题4-33:某组织分配到一个地址块,其中的第一个地址是14.24.74.0/24。这个组织需要划分为11个子网。具体要求是:具有64个地址的子网2个;具有32个地址的子网2个;具有16个地址的子网3个;具有4个地址的子网4个(这里的地址都包含全1和全0的主机号)。试设计这些子网。分配结束后还剩下多少个地址?
解答:具有64个地址的子网是:14.24.74.0/26,14.24.74.64/26。
具有32个地址的子网是:14.24.74.128/27,14.24.74.160/27。
具有16个地址的子网是:14.24.74.192/28,14.24.74.208/28,14.24.74.224/28。
具有4个地址的子网是:14.24.74.240/30,14.24.74.244/30,14.24.74.248/30,14.24.74.252/30。
全部256个地址已经分配完毕,没有剩下的地址。
必考!!!:
习题4-39:试简述RIP, OSPF和BGP路由选择协议的主要特点。
解答:
RIP协议采用距离向量算法,其特点是:
(1) 仅和相邻路由器交换信息。
(2) 路由器交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
(3) 按固定的时间间隔交换路由信息,例如,每隔30秒。然后路由器根据收到的路由信息更新路由表。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。
OSPF协议采用链路状态算法,其特点是:
(1) 向本自治系统中所有路由器发送信息(洪泛法)。
(2) 发送的信息就是与本路由器相邻的所有路由器的链路状态。所谓“链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric)。
(3) 只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此信息。为可靠,也周期性洪泛。
(4) 对于规模很大的网络,OSPF可以把一个自治系统再划分为若干个更小范围的区域(area),实现层次路由。
BGP协议采用路径向量算法,其特点是:
(1) BGP在自治系统之间交换交换“可达性”信息,而不是用“代价”作为度量来寻找最佳路由。
(2) AS之间的路由选择必须考虑有关策略。这些策略包括政治、安全或经济方面的考虑。
(3) 边界网关协议BGP力求寻找一条无环路、满足策略要求、经过自治系统最少、能够到达目的网络的路由。
习题4-42: 比较交换机和路由器各自的特点和优缺点。
解答:路由器是利用网络层地址转发分组的存储转发分组交换机。尽管交换机也是一个存储转发分组交换机,它和路由器根本不同,因为它用MAC地址转发分组。交换机是第二层的分组交换机,而路由器是一个第三层的分组交换机。
交换机的优点:交换机是即插即用的。交换机还能够具有相对高的分组过滤和转发率(交换机只需处理通过第二层传送上来的分组,而路由器必须处理通过第三层传送上来的帧)。
交换机的缺点:由于MAC地址是平坦的,一个大型交换机网络要求交换机维护大的转发表,也将要求在主机中维护大的ARP表,将产生和处理大量的ARP流量。交换机对于广播风暴不提供任何保护措施,如果一台主机失去控制并传输了无穷的以太网广播帧流,交换机将转发所有这些帧,导致整个以太网的崩溃。交换机网络的拓扑结构限制为一棵生成树。
路由器的优点:分组就不会被限制在一棵生成树上,并且可以使用源和目的之间的最佳路径。因为网络寻址经常是层次的(不像MAC寻址那样是平面的),即使当网络中存在冗余路径,分组通常也不会在路由器中循环。(当路由器表配置有问题时,分组可能会循环;但IP用一个特殊的报文首部字段来限制循环。)路由器为第二层的广播风暴提供了隔离保护。
路由器的缺点:路由器不是即插即用的(它们以及连接到它们的主机都需要配置IP地址)。路由器对每个分组处理时间通常比交换机更长。因为它们必须处理到第三层的字段。
习题4-47:考虑图4-41中的基本NAT方法,假设NAT路由器只拥有1个全球IP地址,若有多台专网主机想同时访问因特网上资源会出现什么问题?当采用NAPT情况有会怎样?
解答:会发生冲突,不能都成功通信。因为,同一时刻只能有一台专网主机访问因特网上的主机。NAT路由器无法区分返回的IP数据报是发送给谁的。
当采用NAPT时,NAPT路由器将运输层的端口号和IP地址一起进行转换,并利用端口号来区分不同的报文。由于端口号字段有16比特,因此一个外部IP地址可支持60000多对内部进程(可位于不同主机)与外部进程的通信。
UDP:用户数据协议,在传送数据之前不需要先建立连接。接收方运输层在接收到UDP报文后,不需要作出任何确认。虽然UDP不提供可靠交付,但在某些情况下UDP却是一种最有效的工作方式
**TCP:**传输控制协议,提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP不提供广播或多播服务。
UDP:
① 无连接的协议,提供无连接服务
② 支持单播,多播,广播
③ 不提供可靠传输的服务
④ 简单,适用于很多应用,如:多媒体应用
TCP:
① 面向连接的协议,提供面向来连接的服务
② 支持点对点单播,不支持多播,广播
③ 提供可靠传输服务
④ 复杂,用于大多数应用,如:万维网,电子邮件,文件传送
应用 | 应用层协议 | 运输层协议 |
---|---|---|
名字转换 | DNS | UDP |
文件传送 | TFTP | UDP |
路由协议选择 | RIP | UDP |
IP地址配置 | DHCP | UDP |
网络管理 | SNMP | UDP |
远程文件服务器 | NFS | UDP |
IP电话 | 专用协议 | UDP/TCP |
流式多媒体通信 | 专用协议 | UDP/TCP |
多播 | IGMP | UDP |
电子邮件 | SMTP | TCP |
远程终端接入 | TELNET | TCP |
万维网 | HTTP | TCP |
文件传送 | FTP | TCP |
应用层所有的应用进程都可以通过运输层再传送到IP层,这就是复用
运输层从IP层收到数据后必须交付指定的应用进程,这就是分用
TCP/IP网络利用软件端口来实现复用和分用
端口是应用层与运输层之间接口的抽象
**源端口和目的端口:**各占2字节。与UDP用户数据报一样,该字段定义了在主机中发送和接收该报文段的应用程序的端口号,用于运输层的复用和分用,由16个二进制组成
序号:占4字节。序号从0开始,到2的31次方减一为止,共2的32次方(4294967296)个序号。TCP是面向数据流的。TCP传送的报文段可看成连续的数据流。在一个TCP连接中传送的数据流中的每一个字节都按顺序编号。整个数据的起始序号在连接建立时设置。首部中的序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。例如,一报文的序号字段值是301,而携带的数据共用100字节。这就表明:本报文段的数据的第一个字节的序号是301,最后一个字节的序号是400。显然,下一个报文段的数据字节序号应当从401开始,因而下一个报文段的序号字段值应为401.
确认号:占4字节,是期望收到的对方下一个报文段的第一个数据字节的序号。TCP提供的是双向通信,一端在发送数据的同时对接收到的对端数据进行确认。例如,B正确收到了A发送过来的一个报文段,其序号字段为501,而数据长度是200字节,这表明B正确收到了A发送的序号在501~700的数据。因此,B期望收到A的下一个数据字节号是701,于是B在发送给A的报文段中把确认号置为701,表示对第701个字节之前(不包括第701个字节)的所有字节的确认。TCP采用的是累积确认。
**数据偏移:**占4位,它指出TCP报文段的数据部分起始处距离TCP报文段的起始处有多远。这实际上就是TCP报文首部的长度。由于首部长度不固定(因首部中还有长度不确定的选项字段),因此数据偏移字段是必要的。但应注意,”数据偏移“的单位不是字节而是32位字(以4字节长的字为计算单位)。由于4位二进制数能够表示的最大十进制数是15,因此数据偏移的最大值是60字节,这也是TCP首部的最大长度。
**ACK:**只有当ACK=1时确认好字段才有效;当ACK=0时,确认号字段无效。
**SYN:**用来建立一个连接。SYN=1而ACK=0,表明这是一个连接请求报文段。对方若同意建立连接,则应在响应的报文段中使SYN=1和ACK=1。因此SYN位置位表示这是一个连接请求报文或连接接受报文。
**检验和:**占2字节。检验和字段检验的范围包括首部和数据部分。和UDP用户数据报一样,在计算校验和时,要在TCP报文段的前面加上12字节的伪首部。伪首部的格式与UDP用户数据报的伪首部一样。但应将伪首部第四字段中的17改位6,将第五字段中的UDP长度改为TCP长度。接收方收到此报文后,仍要加上这个伪首部来计算校验和。
? TCP是面向字节的。TCP把应用层交下来的长报文(可能要划分位许多较短的报文段)看成一个个字节组成的数据流,并使每一个字节对应一个序号。在连接建立时,双方TCP要各自确定初始序号。TCP每次发送的报文段的首部中的序号字段数值表示该报文段中首部后面的第一个数据字节的序号。
? TCP使用的是累计确认:即确认是对所有按序收到的数据的确认。但请注意,接收方返回的确认号是已按序收到的数据的最高序号加1,也就是说,确认号表示接收方期望下次收到的数据中的第一个数据字节的序号。例如,已经收到了1700号,8011000号和12011500号,而701800以及1001~1200号的数据还没有收到,那么这时发送的确认号应为701.
? 由于TCP连接提供全双工通信,因此通信中的每一方都不必专门发送确认报文段,而可以在发送数据时捎带传送确认信息。TCP采用了一种延迟确认机制,即接收方在正确接收到数据时可能要正确等待一小段时间(一般不超过0.5s)再发送确认信息。若这段时间内有数据要发送给对方,则可以捎带确认。
? 以字节为单位的滑动窗口。为了提高报文的传输效率,TCP采用滑动窗口协议。TCP发送窗口大小的单位是字节,而不是分组数。TCP发送方已发送而未被确认的字节数不能超过发送窗口的大小。假设发送窗口的大小为400字节,落在发送窗口内的是允许发送的字节,落在发送窗口外左侧的是已发送并被确认的字节,落在发送窗口外右侧的是还不能发送的字节。收到确认信息后,发送窗口向右滑动,直到发送窗口的左沿正好包含确认好的字节。
TCP是面向连接的协议。连接的建立和释放是每一次面向连接的通信中必不可少的过程。因此TCP连接有三个阶段,即连接建立、数据传送、连接释放。建立连接的目的就是为接下来要进行的通信做好充分准备,其中最重要的就是分配相应的资源。在通信结束之后显然要释放所占用的资源,即释放连接。注意,TCP的连接时运输层连接,只在于通信的两个端系统中,而网络核心的路由器完全不知道它的存在。
? 三次握手
? 四次挥手
?
习题5-5:简述TCP和UDP的主要区别。
解答:TCP提供的是面向连接、可靠字的字节流服务,并且有流量控制和拥塞控制功能。UDP提供的是无连接、不可靠的数据报服务,无流量控制和拥塞控制。
习题5-8:解释为什么突然释放运输连接就可能会丢失用户数据,而使用TCP的连接释放方法就可保证不丢失数据。
解答:假定A和B之间建立了TCP连接。如果A发送完数据在还没有接收到对方确认时就突然释放连接,则不能保证这些没有被确认的数据在传输中不会丢失。
如果A在收到B对所有发送数据的确认后释放连接,A发送的数据不会丢失,可能B还在数据发送,这些数据A都无法正确收到。
TCP的连接释放在两个方向都要发送连接释放请求和确认,保证数据不丢失。
运输层向它上面的应用层提供端到端通信服务,应用层协议的报文需要利用运输层协议提供的通信服务来传输。
应用 | 应用层协议 | 运输层协议 |
---|---|---|
电子邮件 | SMTP | TCP |
远程终端访问 | TELNET | TCP |
万维网 | HTTP | TCP |
文件传输 | FTP | TCP |
IP电话 | 专用协议 | 通常用UDP |
流式多媒体通信 | 专用协议 | UDP或TCP |
**习题6-4(必考!!!!):**域名系统的主要功能是什么?域名系统中的根服务器和权威服务器有何区别?权威服务器与管辖区有何关系?
解答:DNS为其他各种网络应用提供一种核心服务,即名字服务,用来把计算机的名字转换为对应的IP地址。
名字空间相关信息(其中最重要的就是域名和IP地址的映射关系)必须保存在计算机中,供所有其他应用查询。显然不能将所有信息都存储在一台计算机中。DNS的方法是将域名信息分布到叫做域名服务器的许多计算机上。DNS将整个名字空间划分为许多区(zone),每个区的域名信息由一个权威域名服务器负责管理。
根域名服务器是最高层次的域名服务器。根域名服务器并不直接管辖某个区的域名信息,但每个根域名服务器都知道所有的顶级域名服务器的域名及其IP地址。
习题6-27:文件传送协议FTP的主要工作过程是怎样的?主进程和从属进程各起什么作用?
解答:FTP基于客户/服务器体系结构。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。
主进程的工作步骤如下:
(1)打开熟知端口(端口号为21),使客户进程能够连接上。
(2)等待客户进程发出连接请求。
(3)启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。
(4)回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。
ISP:互联网服务提供商(Internet Service Provider),这些公司向个人和企业提供接入互联网的服务,通常通过电缆、数字用户线(DSL)、光纤或无线连接。
**WAN:**代表广域网(Wide Area Network),是指覆盖大范围地理区域的网络。这种网络可以跨越城市、国家甚至洲际,用于连接分散的地点和组织。
**LAN:**代表局域网(Local Area Network),是指覆盖相对较小地理区域的网络。通常局域网位于单个建筑物或者校园内,用于连接计算机、打印机和其他网络设备,以便彼此之间共享资源和信息。
OSI:“开放系统互联模型”(Open Systems Interconnection)的缩写,它是由国际标准化组织(ISO)开发的用于不同计算机系统之间通信的标准框架。该模型将网络通信过程分为七个层次,每个层次负责特定的功能,包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
**PCM:**代表脉冲编码调制(Pulse Code Modulation),是一种用于模拟信号数字化的方法。在PCM中,模拟信号按照固定时间间隔被采样,并将每个采样值转换为对应的数字编码,以便在数字通信系统中传输或存储。
**CDMA:**代表码分多址(Code Division Multiple Access),是一种用于移动通信系统的技术。在CDMA中,不同用户的数据通过加密编码后同时传输在相同的频率范围内。
**PPP:**代表点对点协议(Point-to-Point Protocol),是用于在计算机网络中通过串行连接传输数据的标准协议。
**FCS:**代表Frame Check Sequence(帧校验序列),是在数据通信中用于错误检测的一种技术。
**GBN:**代表“Go-Back-N”,是一种数据链路层协议中的一种ARQ(自动重传请求)协议。
**CSMA/CD:**代表载波监听多点接入/碰撞检测(Carrier Sense Multiple Access with Collision Detection),是一种用于以太网局域网的访问控制协议。
**ICMP:**代表Internet Control Message Protocol(Internet控制消息协议),是用于在IP网络上进行错误报告和诊断的协议。
**IGMP:**代表Internet Group Management Protocol(Internet组管理协议),是用于在IP网络上进行多播组成员管理的协议。
**NAT:**代表网络地址转换(Network Address Translation),是一种用于将私有IP地址映射为公共IP地址的技术。
**ARP:**代表地址解析协议(Address Resolution Protocol),是一种用于在IPv4网络中将IP地址映射为MAC地址的通信协议。
**RIP:**代表路由信息协议(Routing Information Protocol),是一种用于在计算机网络中进行动态路由选择的协议。RIP使用距离向量算法来决定数据包传输的最佳路径,其依据是从源到目的地所需的代价或跳数。
**OSPF:**代表开放最短路径优先(Open Shortest Path First),是一种用于在计算机网络中进行动态路由选择的协议。OSPF使用链路状态算法来确定数据包传输的最佳路径,该算法考虑了网络拓扑结构和链路成本。
**BGP:**代表边界网关协议(Border Gateway Protocol),是用于在互联网中进行路由决策和交换路由信息的主要协议。
**AS:**代表自治系统(Autonomous System),是指在互联网中具有独立路由策略的一组IP网络。
**IGP:**代表内部网关协议(Interior Gateway Protocol),是指一组用于在单个自治系统内进行路由选择的协议。
**EGP:**代表外部网关协议(Exterior Gateway Protocol),是一种用于在不同自治系统之间进行路由选择和交换路由信息的协议。
TTL: “Time To Live” 的缩写,通常用于计算机网络中。在网络通信中,TTL 指定数据包在网络中能够存活的时间,以防止数据包永远无法到达目的地或者在网络中无限循环。当数据包经过一个路由器时,TTL 值会减少,直到最终变为 0,此时数据包将会被丢弃。
**MTU:**MTU 是 “Maximum Transmission Unit” 的缩写,指的是网络通信中数据链路层上能够传输的最大数据包大小。
TCP: “Transmission Control Protocol”(传输控制协议)的缩写,是一种在计算机网络中常用的通信协议。TCP 提供了可靠的、面向连接的数据传输服务,它确保了数据包的顺序到达、不丢失、不重复以及在适当的时间内到达。
**UDP:**是 “User Datagram Protocol”(用户数据报协议)的缩写,也是一种在计算机网络中使用的通信协议。与 TCP 不同,UDP 是一种无连接的、不可靠的传输协议,它不保证数据包的顺序到达、不丢失或不重复。
**RTT:**是 “Round-Trip Time” 的缩写,指的是数据从发送端到接收端再返回发送端所花费的总时间。在计算机网络中,RTT 通常用来表示数据包从发送到接收再返回发送端所需的时间,它是评估网络延迟和性能的重要指标之一。
DNS: “Domain Name System” 的缩写,它是互联网基础设施中的一项关键技术。DNS 作为一个分布式的命名系统,用于将易于记忆的域名(如example.com)转换为计算机能够理解的 IP 地址(如192.0.2.1)。
URL: “Uniform Resource Locator” 的缩写,用来标识互联网上的资源的位置和访问方式。一个 URL 包含了资源的协议类型(如 HTTP、FTP)、服务器地址、路径以及可能的查询参数,它们通常被用于在 Web 浏览器中访问网页或者从网络上获取其他类型的资源。
HTTP: “Hypertext Transfer Protocol” 的缩写,是一种用于传输超文本(如 HTML)数据的应用层协议。它是 Web 上最常用的协议之一,用于在客户端和服务器之间传输网页、图片、视频、音频以及其他类型的数据。
HTML: “Hypertext Markup Language” 的缩写,是一种用于创建和呈现网页的标记语言。HTML 使用各种标签来描述网页上的文本、图像、链接以及其他元素的结构和外观。
SMTP: “Simple Mail Transfer Protocol” 的缩写,是用于在计算机网络上传输电子邮件的标准协议。SMTP 通常用于发送邮件,并通过指定的邮件服务器路由邮件到接收者的邮箱。
**POP3:**POP3 是 “Post Office Protocol version 3” 的缩写,是一种用于从远程邮件服务器上获取电子邮件的标准协议。通过 POP3,用户可以将存储在邮件服务器上的邮件下载到本地计算机或移动设备上进行查看和管理。
**FTP:**FTP 是 “File Transfer Protocol” 的缩写,是一种用于在计算机网络上进行文件传输的标准协议。通过 FTP,用户可以在客户端和服务器之间传输文件,包括上传(发送)和下载(接收)文件。
DHCP: “Dynamic Host Configuration Protocol” 的缩写,是一种网络协议,用于自动分配 IP 地址和其他网络配置给网络中的设备。
www:“World Wide Web” 的缩写,指的是全球信息网络。通常在互联网中,“www” 作为域名的一部分出现,用于表示一个网站的地址。
STP: “Spanning Tree Protocol”,这是一种计算机网络中用于防止环路并确保数据链路层网络拓扑结构稳定的协议。