计算机网络每章总结

第一章、概述

一、本章重要概念

  • 计算机网络:把许多计算机连在一起,而互联网把许多网络连在一起,是网络的网络。
  • 以i开始的internet(互连网)是通用名词,泛指多个计算机相连的网络这些网络的通信协议可以是任意的。
  • 以I开始的Internet(互联网)是专用名词,当前全球最大的、开放的众多网络连接而成的的特定的计算机网络,并采用(TCP/IP) 协议族作为通信规则,且前身是美国的ARPANET。
  • 互联网现在采用存储转发的分组交换技术以及三层ISP结构。
  • 互联网按工作方式分为边缘部分和核心部分。主机在网络的边缘部分(进行信息处理)。路由器作为核心部分,其作用是按存储转发进行分组交换。
  • 计算机网络是计算机中的进程之间的通信。计算机网络采用的通信方式是客户-服务器方式和对等连接方式(P2P方式)
  • 客户和服务器都是指通信中所涉及的应用进程。客户是请求方,服务器是服务提供方。
  • 按作用范围分为广域网WAN、城域网MAN、局域网LAN、个人区域网PAN
  • 计算机网络最常用的性能指标是:速率、带宽、吞吐量、时延(发送,传输,处理,排队)、时延带宽积、往返时间RTT、信道(网络)利用率.
  • 网络协议即协议,是为进行网络中的数据交换而建立的规则。计算机网络的各层及其协议的集合,成为网络的体系结构
  • 五层体系结构:应用层、运输层(TCP,UDP)、网络层(IP)、数据链路层、物理层。

二、习题

  1. 试从多个方面比较电路交换、报文交换、分组交换的主要优缺点。

    1. ==电路交换==:

      优点:端对端通信质量因约定了通信资源获得可靠保障,对连续传送大量数据效率高

      缺点:计算机数据具有突发性,通用线路利用率低

    2. ==报文交换==:

      优点:无需预约传输带宽,动态逐段利用传输带宽对突发式数据通信效率高,通信迅速

      缺点:报文交换的时延较长,从几分钟到几小时不等

    3. ==分组交换==:

      优点:

      • 高效:在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用。
      • 灵活:为每一个分组独立地选择最合适的转发路由
      • 迅速:以分组作为传送单位,可以不先建立连接就能向其他主机发送分组
      • 可靠:保证可靠性的网络协议;分布式多路由的分组交换网,使网络有很好的生存性。

      缺点:

      • 分组在各结点存储转发时需要排队,这就会造成一定的时延。(内部消息队列的存在)
      • 分组必须携带的首部(里面有必不可少的控制信息)也造成了一定的开销。
  2. 互联网基础结构的发展大致分为哪几个阶段?请指出这几个阶段最主要的特点。

    • 第一阶段:从单个网络(ARPANET:1990关闭)向互联网发展的过程(1969-1983) 1983:Internet诞生(TCP/IP标准确立)
    • 第二阶段:建成了三级结构的互联网:主干网,地区网,校园网(企业网)
    • 第三阶段:逐渐形成了多层次ISP结构的网络(互联网服务提供者) 根据服务覆盖面积大小分为:主干ISP,地区ISP,本地ISP
  3. 计算机网络中主干网和本地接入网的主要区别是:

    主干网:设施共享;高度综合集成,可应付高密度的业务量需求;使用率高;技术演进迅速,以软件为主;成本逐段下降

    本地接入网:设施专用,分散独立;接入业务种类多,业务量密度低;线路施工难,设备运行环境恶劣;技术演进慢,以硬件为主;网径大小不一

  4. 试在下列条件下比较电路交换和分组交换。要传送的报文共x (bit)。 从源点到终点共经过k段链路,每段链路的传播时延为d (s),数据率为b (bit/s)。 在电路交换时电路的建立时间为s (s)。在分组交换时,分组长度为p (bit), 每个分组所必须添加的首部都很短,对分组的发送时延的影响在本题中可以不考虑。此外,各节点的排队等待时间也可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小? (提示:画一下草图观察k段链路共有几个节点。)

    txt
    1
    (k-1)*(p/b) K段链路,有k-1次存储转发,每次发送时延:p/b; (k-1)*(p/b)   P<<X
  5. 假定网络利用率达到了90%,估算现在的网络时延是它最小值的多少倍

    D=D0/(1-U) D=10D0

  6. 收发两端之间的传输距离为1000 km,信号在媒体上的传播速率为2 x 10^8^ m/s。试计算以下两种情况的发送时延和传播时延:

    (1)数据长度为10^7^ bit,数据发送速率为100 kbit/s.

    (2)数据长度为10^3^ bit,数据发送速率为1 Gbit/s。

    从以上计算结果可得出什么结论?

    (一)

    发送时延:10^7^ bit/ (100 kbit/s)= 100 s,

    传播时延:10 m/(2x 10^8^ m/s)=5 ms。

    发送时延远大于传播时延。

    (二)

    发送时延如上10^3^ bit/(1 Gbits)= 1μs,

    传播时延如上5ms。

    发送时延远小于传播时延。

    若数据长度大而发送速率低,则在总的时延中,发送时延往往大于传播时延。但若数据度短而发送速率高,则传播时延又可能是总时延中的主要成分。

  7. 假设信号在媒体上的传播速率为2.3x 10^8^ m/s。媒体长度分别为:

    (1) 10cm (网络接口卡)

    (2) 100m (局域网)

    (3) 100 km (城域网)

    (4) 5000km(广域网)

    现在连续传送数据,数据率分别为1 Mbit/s和10 Gbit/s。试计算每一种情况下在媒体中的比特数

    (1)示例如下:

    传播时延:0.1m/(2.3X10^8^)m/s=4.35x10^-10^s

    1Mbit/s:1Mbit/sx4.35x10^-10^=4.35X10^-4^bit

    则:

    数据长度 传播时延 数据率=1Mbit/s 数据率=10Gbit/s
    0.1m 4.35x10^-10^ 4.35x10^-4^ 4.35
    100m 4.35x10^-7^ 0.435 4.35x10^3^
    100km 4.35x10^-4^ 4.35x10^2^ 4.35x10^6^
    5000km 0.0217 2.17X10^4^ 2.17X10^8^
  8. 网络体系结构为什么采用分层次的结构?示举出生活例子。

    分层可以把庞大复杂的问题转化为较小的问题,较小的问题易于处理和研究,分工协作

    例如A发送快件给B,A亲自机票送去(不分层)

    而通过A->发送快件->快递公司->运输部门->业务员->接受快递->B(分层,层层处理)

  9. 协议与服务有何区别?有何关系?

    协议是“水平的”,即协议是控制对等实体之间通信的规则。

    在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。

    服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。

    上层使用服务原语获得下层所提供的服务。

    本层的服务用户只能看见服务而无法看见下面的协议。即下面的协议对上面的服务用户是透明的。 (只能看见支持具体服务的服务)

    要实现本层协议,还需要使用下层所提供的服务。

  10. 网络协议的三要素是什么?各有什么含义?==考==

  • ==语法==:数据与控制信息的结构或格式 。
  • ==语义==:需要发出何种控制信息,完成何种动作以及做出何种响应。
  • ==同步==:事件实现顺序的详细说明。
  1. 试述具有五层协议的网络体系结构的要点,包括各层的主要功能
  • ==物理层==:透明地传送比特流。(传递信息的物理媒体,如双绞线、同轴电缆、光缆等,是在物理层的下面,当做第0层)物理层还要确定连接电缆插头的定义及连接法。

  • ==数据链路层==:任务是在两个相邻结点间的线路上无差错地传送以帧为单位的数据。每一帧包括数据和必要的控制信息。

  • ==网络层==:选择合适的路由,使发送站的运输层所传下来的分组能够正确无误地按照地址找到目的站,并交付给目的站的运输层。

  • ==运输层==:运输层的任务是向上一层的进行通信的两个进程之间提供一个可靠的端到端服务,使它们看不见运输层以下的数据通信的细节。

  • ==应用层==:直接为用户的应用进程提供服务

  1. 试解释以下名词:协议栈、实体、对等层、协议数据单元、服务访问点、客户、服务器、客户-服务器方式。

    • 协议栈是指网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议。使用最广泛的是因特网协议栈。

    • 实体表示任何可发送或接收信息的硬件或软件进程。

    • 对等层:五层一层中相对的一层

    • 协议数据单元PDU是指对等层次之间传递的数据单位。协议数据单元物理层的PDU是数据位,数据链路层的PDU是数据帧,网络层的PDU是数据包,传输层的 PDU是数据段,其他更高层次的PDU是数据。

    • 服务访问点:上下层交互信息的接口)同一系统相邻两层的实体进行交互的地方,称为服务访问点 SAP

    • C/S (Client/Server,客户机/服务器)模式又称C/S结构,是软件系统体系结构的一种,是因特网上的计算机通信所采用的方式。C/S模式简单地讲就是基于企业内部网络的应用系统。与B/S(Browser/Server,浏览器/服务器)模式相比,C/S模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。

      1、客户和服务器都是通信中所涉及的两个应用进程。

      2、客户是服务请求方,服务器是服务的提供方。两者都要使用网络核心部分提供的服务。

      3、客户程序被调用后,主动地向远地服务器发送请求服务。而服务器需要一直不断的运行着,被动的等待客户的请求并处理。建立联系后,通信是双向的。

  2. 有一个点对点链路,长度为20000 km。数据的发送速率是1kbit/s,要发送的数据有100 bit。数据在此链路上的传播速率为2×10^8^m/s。假定我们可以看见在线路上传输的比特,试画出我们看到的线路上的比特(画两张图,一张是在100 bit 刚刚发送完时,另一张是再经过0.05s后)。

    100bit/1kbit/s=0.1s 0.1sx2x10^8^m/s=2x10^7^ 2x10^7^m/2x10^8^=0.1s 发送时延=传输时延

第二章、物理层

一、本章重要概念

  • 物理层的主要任务是确定与传输媒体的接口有关的特性:
  • 一个数据通信系统划分为三大部分,源系统,传输系统,目的系统。源系统包括源点(源站,信源)和发送器,目的系统包括接收器和终点(目的站、信宿)
  • 通信的目的是传送消息(话音文字语言图像…..)数据是运送消息的实体,信号是数据的电气或电磁的表现
  • 根据信号参数取值方式不同分为模拟信号和数字信号。代表数字信号不同离散数值的基本波形被称为码元
  • 根据信息交互的方式分为
    • 单向通信(单工通信)——只能有一个方向的通信而没有反方向的交互。[bb机]

    • 双向交替通信(半双工通信)——通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。[保安的喊话机]

    • 双向同时通信(全双工通信)——通信的双方可以同时发送和接收信息。 [电话等等]

  • 基带信号(即基本频带信号)—— 来自信源的信号。
    • 基带调制:仅对基带信号的波形进行变换,使它能够与信道特性相适应。变换后的信号仍然是基带信号。把这种过程称为编码
    • 带通调制:使用载波进行调制,把基带信号的频率范围搬移到较高的频段,并转换为模拟信号,这样就能够更好地在模拟信道中传输(即仅在一段频率范围内能够通过信道)。[调幅,调频,调相]
  • 传输媒体分为两大类,导引型传输媒体(双绞线、同轴电缆、光纤)和非导引型传输媒体
  • 复用:频分(FDM)时分(TDM)统计时分(STDM),码分复用(CDMA)和波分复用(WDM)
  • 最初在数字传输系统使用的传输标准是脉冲编码调制(PCM)。现在使用同步光纤网SONET(美国标准)或同步数字系列SDH(国际标准)

二、习题

  1. 数据在信道中的传输速率受哪些的限制?信噪比能否任意提高?香农公式在数据通信中的意义是什么?“比特/秒” 和“码元/秒”有何区别?

    (1) 受哪些限制

    • 在带宽为W(Hz)的低通信道中,若不考虑噪声影响,码元有着最高传输速率,超过上限,就会出现严重的码间串扰问题,识别困难。

    • 在实际生活中噪声也会对信息传输产生影响,信噪比约束了传输速率
      $$
      C = W log2(1+S/N) (bit/s)
      $$

    (2) 信噪比能否任意提高

    • 信噪比不能任意提高,有一定限制(如器材,成本等限制)

    (3) 香农公式在数据通信中的意义是什么

    • 香农公式指出无论何种先进的编码技术,在实际信道上,都不可能突破公式的极限值。
    • 同时也能通过提升一定的信噪比或带宽能提高传输速率

    (4) “比特/秒” 和“码元/秒”有何区别

    • 码元/s是码元传输速率,比特/s是bit传输速率。两者在二进制时是相等的

    • 例子如下

      假定基带信号为101011000110111010……

      直接传送每一个码元携带的信息量是1bit,现将每3个bit编成码元即,101,011,000,110……3个bit有8种排列,18个码元的信号,用6个码元表示 。也就是说传输速率能提升到原来的8倍,但有时例如8bit传输信息,识别难度加大,不能简单的认为,为了提高速率,可以让一个码元表示任意多个bit

  2. 假定某信道受奈氏准则限制的最高码元速率为20000码元/秒。如果采用振幅调制,把码元的振幅划分为16个不同等级来传送,那么可以获得多高的数据率(bit/s) ?

    码元用16个等级来传输,那么2^4^=16,则4位2进制,4bit可表示一个码元,因此为80000bit/s

  3. 假定要用3 kHz带宽的电话信道传送64 kbit/s 的数据(无差错传输),试问这个信道应具有多高的信噪比(分别用比值和分贝来表示) ?这个结果说明什么问题?

    c=3*log2(1+S/N)=64 S/N=2.64x10^6^ (S/N)db=10log10(2.64x10^6^)=64.2db

  4. 用香农公式计算一下,假定信道带宽为3100 Hz, 最大信息传输速率为35 kbit/s,那么若想使最大信息传输速率增加60%,问信噪比S/N应增大到多少倍?如果在刚才计算出的基础上将信噪比S/N再增大到10倍,问最大信息传输速率能否再增加20%?

    • c=3.1*log2(1+S/N)=35 35+21=3.1xlog2(1+S/N) s/n是原来的100倍

    • C=3.1*log2(1+10S/N) 增加约为18.5%

  5. 常用的传输媒体有哪几种?各有何特点?

    • 双绞线:最常用的传输媒体。模拟传输和数字传输都可以使用双绞线,其通信距离一般为几到十几公里。越密,抗干扰越强,减少自身能量消失(减少I)方法:增加绞合度,增加屏蔽层

    • 同轴电缆:同轴电缆具有很好的抗干扰特性,被广泛用于传输较高速率的数据。同轴电缆的带宽取决于电缆的质量。高质量达1GHZ同轴做到将I减到0

    • 光纤:

      多模光纤:可以存在多条不同角度入射的光线在一条光纤中传输。这种光纤就称为多模光纤。

      单模光纤:若光纤的直径减小到只有一个光的波长,则光纤就像一根波导那样,它可使光线一直向前传播,而不会产生多次反射。这样的光纤称为单模光纤。

      传输速率远超上两种

    • “非导引型传输媒体”。

      短波通信(即高频通信,不高)主要是靠电离层的反射,但短波信道的通信质量较差,传输速率低。

      微波在空间主要是直线传播。(手机)

      传统微波通信有两种方式:

      • 地面微波接力通信
      • 卫星通信
  6. 为什么要使用信道复用技术?常用的信道复用技术有哪些?

    它允许用户使用一个共享信道进行通信,降低成本,提高利用率。

    复用:频分(FDM)时分(TDM)统计时分(STDM),码分复用(CDMA)和波分复用(WDM)

  7. 试写出下列英文缩写的全称,并进行简单的解释。FDM,FDMA, TDM, TDMA, STDM, WDM,DWDM,CDMA, SONET ,SDH, STM-1,OC-48。

    • FDM:频分复用

      将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
      频分复用的所有用户在同样的时间占用不同的带宽资源。

      屏幕截图 2022-10-11 192437

    • FDMA:频分多址是把总带宽被分隔成多个正交的频道,每个用户占用一个频道。例如,把分配给无线蜂窝电话通讯的频段分为30个信道,每一个信道都能够传输语音通话、数字服务和数字数据

    • TDM:时分复用是将时间划分为一段段等长的时分复用帧(TDM 帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。

      每一个用户所占用的时隙是周期性地出现(其周期就是 TDM 帧的长度)。

      TDM 信号也称为等时信号。

      时分复用的所有用户是在不同的时间占用同样的频带宽度。

      屏幕截图 2022-10-11 193106

    • TDMA:时分多址每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙

    • STDM:统计时分复用:解决了时分复用效率不高的弊端

      屏幕截图 2022-10-11 193250

    • WDM:波分复用

      屏幕截图 2022-10-11 193310

      例如:每一路的数据率为40Gbit/s.复用64路,获得2.56Tbit/s的数据率(64x2.64=40G)

    • DWDM:密集型光波复用是能组合一组光波长用一根光纤进行传送。这是一项用来在现有的光纤骨干网上提高带宽的激光技术

    • CDMA:码分复用(军队多用)

      常用的名词是码分多址 CDMA

      各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。

      这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。 s/n,s>n扩频通信

    • SONET:同步光纤网SONET(美国标准)

    • SDH:同步数字系列SDH(国际标准)

    • STM-1:STM-1 为速率155.520Mbps 的同步传输模块,并称为第1级同步传递模块,是SDH信号的最基本模块。

    • OC-48:传输速度为2488.32Mbit/s,负荷为2405.376 Mbit/s,运行时间482.944Mbit/s。它是SONET光缆基本速率OC-1的48倍。它等同于STS-48和STM-16。

第三章、数据链路层

一、本章重要概念

  • 链路是从一个节点到相邻节点的一段物理线路,数据链路则是在链路的基础上增加了一些必要的硬件(如网络适配器)和软件(如协议的实现)。
  • 数据链路层使用的信道主要有点对点信道和广播信道两种。
  • 数据链路层传送的协议数据单元是帧。数据链路层的三个基本问题是:封装成帧、透明传输和差错检测。
  • 循环冗余检验CRC是一种检错方法,而帧检验序列FCS是添加在数据后面的冗余码。
  • 点对点协议PPP是数据链路层使用最多的一种协议,它的特点是:简单;只检测差错,而不是纠正差错;不使用序号,也不进行流量控制;可同时支持多种网络层协议。
  • 局域网的优点是:具有广播功能,从一个站点可很方便地访问全网;便于系统的扩展和逐渐演变;提高了系统的可靠性、可用性和生存性。
  • 共享通信媒体资源的方法有二:一是静态划分信道(各种复用技术),二是动态媒体接入控制,又称为多点接入(随机接入或受控接入)。
  • IEEE802 委员会曾把局域网的数据链路层拆成两个子层,即逻辑链路控制(LLC)子层(与传输媒体无关)和媒体接入控制(MAC)子层(与传输媒体有关)。但现在LLC子层已成为历史。
  • 计算机与外界局域网的通信要通过网络适配器,它又称为网络接口卡或网卡。
  • 以太网采用无连接的工作方式,对发送的数据帧不进行编号,也不要求对方发回确认。目的站收到有差错帧就把它丢弃,其他什么也不做。
  • 以太网采用的协议是具有冲突检测的载波监听多点接入CSMA/CD。协议的要点是:发送前先监听,边发送边监听,一旦发现总线上出现了碰撞,就立即停止发送。然后按照退避算法等待一段随机时间后再次发送。因此,每一个站在自己发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。以太网上各站点都平等地争用以太网信道。
  • 以太网的硬件地址,即MAC地址实际上就是适配器地址或适配器标识符,与主机所在的地点无关。源地址和目的地址都是48位长。

二、习题

  1. 数据链路层的三个基本问题(封装成帧、透明传输和差错检测)为什么都必须加以解决?

    ==封装成帧==就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限,识别帧的开始与结束,还能增加必要的控制信息。

    ==透明传输==:去除因为封装成帧带来额外的错误,保障正确传送,防止帧传送的数据内部出现SOT,EOT等字符带来传送出错的结果,对传送的数据进行限制

    ==差错检测==:正确接收数据,如果发现差错,就可以申请重新传这些数据。实际的通信链路不是理想的,比特在传输过程中可能会产生差错,1可能变成0,0可能变成1.这就称为比特差错。使用差错检测法来检测数据在传输过程中是否产生比特差错,一般的帧尾部分,都会包含FCS序列,就是让接收方的数据链路层检查帧在传输过程中是否产生误码。

  2. 如果在数据链路层不进行封装成帧,会发生什么问题?

    路由器进行分组存储转发,不封装成帧,无法识别控制信息和传输信息的区别,导致二进制翻译回原数据出错混乱

  3. PPP协议的主要特点是什么?为什么 PPP不使用帧的编号?PPP适用于什么情况?

    1. 特点:

      • 点对点协议,及支持异步链路,也支持同步链路,且只支持全双工链路
      • PPP是面向字节的
      • PPP两端可以运行不同的网络层协议,但仍可以使用同一个PPP进行通信
      • 简单 —— 这是首要的要求。(不提供可靠传输,提供无差错传输)
      • 封装成帧 —— 必须规定特殊的字符作为帧定界符。
      • 透明性 —— 必须保证数据传输的透明性。
      • 多种网络层协议 —— 能够在同一条物理链路上同时支持多种网络层协议。
      • 多种类型链路 —— 能够在多种类型的链路上运行。
      • 差错检测 —— 能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。
      • 检测连接状态 —— 能够及时自动检测出链路是否处于正常工作状态。
      • 最大传送单元 —— 必须对每一种类型的点对点链路设置最大传送单元 MTU 的标准默认值,促进各种实现之间的互操作性。
      • 网络层地址协商 —— 必须提供一种机制使通信的两个网络层实体能够通过协商知道或能够配置彼此的网络层地址。
      • 数据压缩协商 —— 必须提供一种方法来协商使用数据压缩算法
    2. 为什么?

      • 在数据链路层出现差错的概率不大时,使用比较简单的 PPP 协议较为合理。
      • 在因特网环境下,PPP 的信息字段放入的数据是 IP 数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。
      • 成本高,帧序号,重传确认机制
      • 帧检验序列 FCS 字段可保证无差错接受。
    3. 什么情况

      PPP适用线路质量不太差的情况

  4. 为什么PPP协议不能使数据链路层实现可靠传输?

    PPP是简单的协议,不进行纠错,不保证可靠传输 ,因此没有序号和帧编号和确认机制

  5. 要发送的数据为1101011011。采用CRC的生成多项式是P(X)=x^4^+x+1。试求应添加在数据后面的余数。

    • P(x)=x^4^+x+1,除数为:10011 被除数:1101011011 模2运算后余数R:1110

      微信图片_20221028160247
    • 若要发送的数据在传输过程中最后一个1变成了0,即变成了1101011010,问接收端能否发现?

      能,R=0011!=0

      微信图片_20221028160247
    • 若要发送的数据在传输过程中最后两个1都变成了 0,即变成了1101011000,问接收端能否发现?

      能,R=0101!=0

    • 采用CRC检验后,数据链路层的传输是否就变成了可靠的传输?

      仅采用了CRC检验,没有重传机制,不保证可靠连接

  6. 要发送的数据为101110。采用CRC的生成多项式是P(X)=x^3^+1。试求应添加在数据后面的余数。

    微信图片_20221029112432
  7. 一个PPP 帧的数据部分(用十六进制写出)是 7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。试问真正的数据是什么(用十六进制写出)?

    当PPP使用异步传输时,它把转义符定义为0x7D (即01111101), 并使用字节填充,RFC1662规定了如下所述的填充方法:

    1. 把信息字段中出现的每-一个0x7E字节转变成为2字节序列(0x7D, 0x5E)。
    2. 若信息字段中出现一个0x7D的字节(即出现了和转义字符一样的比特组合),则把0x7D转变成为2字节序列(0x7D, 0x5D)。
    3. 若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变。例如,出现0x03 (在控制字符中是“传输结束”ETX)就要把它转变为2字节序列(0x7D, 0x23)。
    4. 屏幕截图 2022-10-29 113602
  8. PPP协议使用同步传输技术传送比特串 0110111111111100。试问经过零比特填充后变成怎样的比特串?若接收端收到的 PPP 帧的数据部分是 0001110111110111110110,试问删除发送端加入的零比特后会变成怎样的比特串?

    在发送端,只要发现有 5 个连续 1,则立即填入一个 0。
    接收端对帧中的比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除

    011011111==0==11111==0==00

    011011111==-==11111==-==00

  9. 以太网使用的CSMA/CD协议是以争用的方式接入到共享信道的,这与传统的时分复用TDM相比有何优缺点

    CSMA/CD是一种动态的媒体随机接入共享信道方式,更灵活,用户共享信道,可以提高信道利用率,TDM是静态划分信道,用户无数据传输时,会浪费空间,时隙。

    但有时CSMA/CD协议可能会发生碰撞降低信道利用率,而TDM不会,但TDM不适用于突发式数据传输

    网络负荷轻,CSMA/CD协议很灵活,网络负荷重,TDM效率就高

  10. 假定1km长的CSMA/CD网络数据率为1Gbit/s.设信道在网络上的传播速率为200000km/s.求能够用此协议的最短帧长。

    1/200000=5x10^-6^=5μs 来回: 2X5=10 10x1Gbit=10000bit

  11. 假定在使用CSMA/CD协议的10Mbit/s以太网某个站在发送数据时检测到碰撞,执行退避算法选择了随机数r=100。试问这个站需要等多长时间过后才能再次发送数据?如果是100Mbit/s的以太网呢?

    r=100 100x51.2μs=5.12x10^-3^s=5.12ms

    512μs

第四章、网络层

一、本章重要概念

  • TCP/IP体系中的网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络层不提供服务质量的承诺,不保证分组交付的时限,所传送的分组可能出错、丢失、重复和失序。进程之间通信的可靠性由运输层负责。
  • IP 网是虚拟的,因为从网络层上看,IP 网就是一个统一的、抽象的网络(实际上是异构的)。IP 层抽象的互联网屏蔽了下层网络很复杂的细节,使我们能够使用统一的、抽象的IP地址处理主机之间的通信问题。
  • 目前已广泛使用无分类域间路由选择CIDR 记法把 IP地址后面加上斜线“/”,斜线后是前缀的位数。前缀(或网络前缀)指明网络,后缀指明主机。前缀相同的连续的IP地址构成“CIDR地址块”。
  • CIDR 的32位地址掩码(或子网掩码)由一串 1和一串0组成,其中1的个数是前缀的长度。只要把IP 地址和地址掩码按位进行 AND 运算,即可得出网络地址。IP地址是一种分等级的地址结构。IP地址管理机构在分配IP地址时只分配网络前缀(网络号),而主机号则由得到该网络前缀的单位自行分配。路由器仅根据目的主机所连接的网络前缀(网络号)来转发分组
  • MAC 地址(即硬件地址或物理地址)是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址(用软件实现的),在数据链路层看不见数据报的IP地址。

二、习题

  1. 作为中间设备,转发器、网桥、路由器和网关有何区别?

    将网络互相连接起来要使用一些中间设备。

    中间设备又称为中间系统或中继系统。

    有以下五种不同的中间设备:

    • 物理层中继系统:转发器 (repeater)。
    • 数据链路层中继系统:网桥 或 桥接器 (bridge)。
    • 网络层中继系统:路由器 (router)。
    • 网桥和路由器的混合物:桥路器 (brouter)。
    • 网络层以上的中继系统:网关 (gateway)。

    ps:当中继系统是转发器或网桥时,一般并不称之为网络互连,因为这仅仅是把一个网络扩大了,而这仍然是一个网络。
    互联网都是指用路由器进行互连的网络。

  2. 试说明IP地址与 MAC 地址的区别。为什么要使用这两种不同的地址?

    MAC地址:

    1. 固化在网卡上的 ROM 中。
    2. 硬件地址、物理地址。
    3. 数据链路层使用。
    4. 放在 MAC 帧的首部。

    IP地址:

    1. 虚拟地址、软件地址、逻辑地址。
    2. 网络层和以上各层使用。
    3. 放在 IP 数据报的首部。

    IP 地址与硬件地址的作用范围:

    屏幕截图 2022-11-22 140323

    IP地址在IP数据报的首部,而硬件地址则放在MAC 帧的首部。在网络层以上使用的是IP地址,而链路层及以下使用的是硬件地址。
    首部应用层数据网络层及以上使在IP层抽象的互连网上,我们看到的只是IP数据报,路由器根据目的站的IP地址进行选路。在具体的物理网络的链路层,我们看到的只是MAC 帧,IP数据报被封装在MAC帧里面。MAC 帧在不同的网络上传送时,其MAC 帧的首部是不同的。这种变化,在上面的IP层上是看不到的。每个路由器都有IP地址和硬件地址。使用IP 地址与硬件地址,尽管连接在一起的网络的硬件地址体系各不相同,但IP层抽象的互连网却屏蔽了下层这些很复杂的细节,并使我们能够使用统一的、抽象的IP地址进行信。

  3. 什么是最大传送单元MTU?它和IP数据报首部中的哪个字段有关系?

    最大传送单元MTU是数据链路层帧格式中规定的数据字段最大长度。当一个IP数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过该帧格式规定的MTU值。

    MTU与IP数据报首部中的总长度字段有关,当后者大于前者时,需对IP数据报进行分片。

  4. 在互联网中将IP数据报分片传送的数据报在最后的目的主机进行组装。还可以有另一种做法,即数据报分片通过一个网络就进行一次组装。试比较这两种方法的优劣。

    • 前一种方法对于所传数据报来将仅需要进行一次分段一次组装,用于分段和组装的开销相对较小。
      但主机若在最终组装时发现分组丢失,则整个数据报要重新传输,时间开销很大。
    • 后一种方法分段和组装的次数要由各个网络所允许的最大数据报长度来决定,分段和组装的开销相对较大。但若通过一个网络后组装时发现分段丢失,可以及时地重传数据报,时间开销较前者小,同时可靠性提高。
  5. ==一个3200 位长的 TCP 报文传到 IP层,加上160位的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来,但第二个局域网所能传送的最长数据帧中的数据部分只有1200位,因此数据报在路由器必须进行分片。试间第二个局域网向其上层要传送多少比特的数据(这里的“数据”当然指的是局域网看见的数据)?==

    image-20221214142534170

  6. 主机A发送IP数据报给主机B,途中经过了5个路由器。试问在IP数据报的发送过程中总共使用了几次ARP?

    6次

  7. 某单位分配到一个地址块129.250/16。该单位有4000台机器,平均分布在16个不同的地点。试给每一个地点分配一个地址块,并算出每个地址块中IP地址的最小值和最大值。

    4000台计算机,平均分布在16个不同的地点。每个地点有250台计算机。因此,主机号host-id有8位就够了。而16个不同地点需要有16个子网。考虑到不使用全1和全0的子网号,因此子网号 subnet-id至少需要5位(可以有30个子网)。这样,本题的解答并不是唯一的,子网号可以从5位到8位。

  8. 一个数据报长度为4000字节(固定首部长度)。现在经过一个网络传送,但此网络能够传送的最大数据长度为1500字节。试问应当划分为几个短些的数据报片?各数据报片的数据字段长度、片偏移字段和 MF 标志应为何数值?

    image-20221214144231471

    image-20221214144237867

  9. image-20221214144341917

    image-20221214144519816

    image-20221214144631033

第五章、运输层

1.使用 TCP 对实时话音数据的传输会有什么问题?使用UDP在传送数据文件时会有什么问题?

使用TCP对实时语音数据的传输有问题。在使用UDP进行数据文件传送时,UDP虽不保证可靠交付,但UDP比TCP的开销要小很多。因此只要应用程序接受这样的服务质量就可以使用UDP。如果语音数据不是实时播放(边接受边播放),就可以使用TCP,因此TCP是可靠传输。接收端用TCP将语音数据接收完毕后,可以在以后的任何时间进行播放。但假定是实时传播,则必须使用UDP。

2.在停止等待协议中如果不使用编号是否可行?为什么?

不行,编号为了区分发送与接收的分组,若不编号,重复帧等无法识别,不能正确传输

3.主机 A向主机 B连续发送了两个 TCP 报文段,其序号分别是70 和 100。试问:

(1)第一个报文段携带了多少字节的数据?

70-99,30字节

(2)主机B收到第一个报文段后发回的确认中的确认号应当是多少?

100

(3)如果B收到第二个报文段后发回的确认中的确认号是180,试问A发送的第二个报文段中的数据有多少字节?

80

(4)如果 A发送的第一个报文段丢失了,但第二个报文段到达了B。B在第二个报文段到达后向A发送确认。试问这个确认号应为多少?

70

4.主机A向主机B发送 TCP报文段,首部中的源端口是m而目的端口是n。当B向A发送回信时,其TCP报文段的首部中的源端口和目的端口分别是什么?

n,m

5.在使用 TCP传送数据时,如果有一个确认报文段丢失了,也不一定会引起与该确认报文段对应的数据的重传。试说明理由。

这是因为发送方可能还未重传时,就收到了对更高序号的确认。例如主机A连续发送两个报文段:(SEQ-92,DATA 共8B)和 (SEQ=100,DATA 共20B),均正确到达主机B。B连续发送两个确认:(ACK=100)和(ACK=120),但前一个确认帧在传送时丢失了。例如A在第一个报文段(SEQ=92,DATA 共 8B)超时之前收到了对第二个报文段的确认(ACK=120)此时A知道,119 号和在119号之前的所有字节(包括第一个报文段中的所有字节)均己被B正确接收,因此A不会再重传第一个报文段。

6.什么是 Karn 算法?在TCP的重传机制中,若不采用Karn算法,而是在收到确认时都认为是对重传报文段的确认,那么由此得出的往返时间样本和重传时间都会偏小。试问:重传时间最后会减小到什么程度?

image-20221221102901466

7.假定TCP在开始建立连接时,发送方设定超时重传时间RTO=6秒。

(1)当发送方收到对方的连接确认报文段时,测量出RTT样本值为1.5秒。试计算现在的RTO值。

(2)当发送方发送数据报文段并收到确认时,测量出RTT样本值为2.5秒。试计算现在的RTO值。

image-20221221103125534

8.已知第一次测得TCP的往返时间 RTT 是30 ms。接着收到了三个确认报文段,用它们测量出的往返时间样本RTT分别是:26 ms, 32 ms 和24 ms。设a=0.1。试计算每一次新的加权平均往返时间值RTTs。讨论所得出的结果。

image-20221221103340422

9.在 TCP 的拥塞控制中,什么是慢开始、拥塞避免、快重传和快恢复算法?这里每一种算法各起什么作用?“乘法减小”和“加法增大”各用在什么情况下?

慢开始:在主机刚刚开始发送报文段时可先将拥塞窗口cwnd设置为一个最大报文段 MSS的数值。在每收到一个对新的报文段的确认后,将拥塞窗口增加至多一个MSS的数值。用这样的方法逐步增大发送端的拥塞窗口cwnd,可以使分组注入到网络的速率更加合理。

拥塞避免:当拥塞窗口值大于慢开始门限时,停止使用慢开始算法而改用拥塞避免算法。拥塞避免算法使发送端的拥塞窗口每经过一个往返时延RTT就增加一个MSS的大小。

快重传算法规定,发送端只要一连收到三个重复的 ACK即可断定有分组丢失了,就应立即重传丢失的报文段而不必继续等待为该报文段设置的重传计时器的超时。

快恢复算法:

  1. 当发送端收到连续三个重复的 ACK 时,就重新设置慢开始门限 ssthresh。

  2. 与慢开始不同之处是拥塞窗口l cwnd 不是设置为 1,而是设置为 ssthresh +3MSS。

  3. 若收到的重复的 ACK为n个(n> 3),则将cwnd 设置为 ssthresh +nMSS。

  4. 若发送窗口值还容许发送报文段,就按拥塞避免算法继续发送报文段。

  5. 若收到了确认新的报文段的 ACK,就将cwnd缩小到 ssthresh。

“乘法减小“是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络拥塞),就把慢开始门限值 ssthresh 设置为当前的拥塞窗口值乘以 0.5。当网络频繁出现拥塞时,ssthresh 值就下降得很快,以大大减少注入到网络中的分组数。

“加法增大”是指执行拥塞避免算法后,当收到对所有报文段的确认就将拥塞窗口 cwnd增加一个 MSS 大小,使拥塞窗口缓慢增大,以防止网络过早出现拥塞。

10.设 TCP的ssthresh 的初始值为8(单位为报文段)。当拥塞窗口上升到12时网络发生了超时,TCP 使用慢开始和拥塞避免。试分别求出RTT=1 到RTT=15的各拥塞窗口大小。你能说明拥塞窗口每一次变化的原因吗?

拥塞窗口大小分别为:1、2、4、8、9、10、11、12、1、2、4、6、7、8、9。

当cwmd%ssthresh=8时,执行乘法增大算法,超过阈值时执行加法增大算法,发生拥塞时窗口值为12,故阈值减半变为6,开始乘法增大算法,当窗口值达到6时执行拥塞避免算法,窗口值增大(7,8,9)。)

11.image-20221221104409812

image-20221221104417578