【计算机网络】计算机网络

Posted by ShawnD on March 9, 2020

概述

题目:因特网的起源可追溯到它的前身ARPANET(阿帕网)

  • 商务部的X.25NET
  • 国防部的ARPANET
  • 军事与能源的MILNET
  • 科学与教育的NSFNET
  • 中国教育和科研计算机网CERNET

物理层

通信方式

题目: 在同一个信道上的同一时刻,能够进行双向数据传送的通信方式是

  • 单工
  • 半双工
  • 全双工
  • 以上三种都不是(√)

单向通信只需要一条信道,而双向交替通信或双向同时通信则都需要两条信道。

单工:单向传输, 能有一个方向的通信而没有反方向的交互。

半双工:双向交替通信, 即通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。

全双工: 双向同时通信, 即通信的双方可以同时发送和接收信息

香农公式和奈奎斯特定理

题目:香农定理描述了信道的最大传输速率与哪个(些)参数之间的关系

  • 信道带宽(√)
  • 信噪比(√)
  • 噪声功率(×)

香农公式指出: 信道的极限信息传输速率C是

\[C = W log_2 (1 + \frac{S}{N})\]

W为信道的带宽(以Hz为单位);S为信道内所传信号的平均功率;N为信道内部的高斯噪声功率。

奈氏准则

\[比特率 = 2 \times W \times log_2L\]

W为信道的带宽, L表示信号电平的个数

传输介质

有向介质(有线)

双绞线

  • 非屏蔽双绞线(UTP)
  • 屏蔽双绞线(STP)

3类和5类UTP:

  • 3类对应于话音级线缆,只要设计合理且传输距离不远,3类UTP的数据率可达16Mbps;
  • 如果传输距离不远且设计合理,5类UTP的数据率可达100Mbps

数据链路层

题目:数据链路层的主要功能是什么?

  • 链路管理
  • 封装成帧
  • 流量控制
  • 差错检验
  • 透明传输
  • 寻址

HDLC协议

题目:有一比特串011011111111111001011111101用HDLC协议传送,经过零比特填充后变成怎样的比特串?若接收端收到的HDLC的数据部分是0011101111100111110111110110,问删除发送端加入的零比特后变成怎样的比特串?

解:

从左向右数数到有5个1就弄去后面的1个0 00111011111001111111111110

数据链路控制(High-Level Data Link Conrol,HDLC)是一个用来在点到点和多点链路中支持半双工和全双工通信的实际协议。它能够实现本章所讨论的ARQ机制。

ARQ机制即自动重传请求。

HDLC定义三种类型的赖,它们是:I-帧、S-帧和U-帧

信息帧(information frames,I-帧)、监控帧(supervisory frames,S-帧)和无编号帧(unumbered frames,U-帧)。

网络层

题目:面向连接和无连接服务有何区别?

  • 面向连接服务:具有连接建立、数据传输和连接释放三个阶段,按顺序,适合大量数据。
  • 无连接服务:两个实体之间的通信不需要先建立连接, 动态分配资源,灵活快速,不保证顺序。

网际协议IP

协议IP是TCP/IP体系中两个最主要的协议之一, 也是最重要的互联网标准协议之一。严格来说, 这里所讲的IP其实是IP的第4个版本, 应记为IPv4。但在讲述IP协议的各种原理时, 往往不在IP后面加上版本号。

与IP协议配套使用的还有三个协议:

  • 址解析协议ARP(Address Resolution Protocol)
  • 网际控制报文协议ICMP(Intemet Control Message Protocol)
  • 网际组管理协议IGMP(Intemet Group Management Protocol)

虚拟互连网络

将网络互相连接起来要使用一些中间设备。根据中间设备所在的层次,可以有以下四种不同的中间设备:

  • 物理层使用的中间设备叫做转发器(repeater)。(集线器)
  • 数据链路层使用的中间设备叫做网桥或桥接器(bridge)。(交换机)
  • 网络层使用的中间设备叫做路由器(router)”。
  • 在网络层以上使用的中间设备叫做网关(gateway)。

分类的IP地址

题目:一个C类的IP网络,最多能容纳的主机数目为254

C类网络地址主机号共8位,因此最多能容纳的主机数目为$2^8 - 2$, 减2的原因是:全0的主机号字段表示该IP地址是”本主机”所连接到的单个网络地址(例如,一主机的IP地址为5.6.7.8,则该主机所在的网络地址就是5.0.0.0),而全1表示”所有的(ll)”,因此全1的主机号字段表示该网络上的所有主机。

第一,IP地址中的全0表示”这个(this)”。网络号字段为全0的IP地址是个保留地址,意思是”本网络;第二,网络号为127(即 011111)保留作为本地软件环回测试(loopback tes)本主机的进程之间的通信之用。若主机发送一个目的地址为环回地址(例如127.0.0.1)的IP数据报,则本主机中的协议软件就处理数据报中的数据,而不会把数据报发送到任何网络。目的地址为环回地址的IP数据报永远不会出现在任何网络上, 因为网络号为127的地址根本不是一个网络地址。

IP地址的编址方法共经过了三个历史阶段。

  • 分类的IP地址。
  • 子网的划分。
  • 构成超网。这是比较新的无分类编址方法。

“分类的IP地址”就是将IP地址划分为若干个固定类,每一类地址都由两个固定长度的字段组成,其中第一个字段是网络号(net-id),它标志主机(或路由器)所连接到的网络。一个网络号在整个互联网范围内必须是唯一的。第二个字段是主机号(host-id),它标志该主机机(或路由器)。一台主机号在它前面的网络号所指明的网络范围内必须是唯一的。由此可见, 一个IP地址在整个互联网范围内是唯一的。

这里A类、B类和C类地址都是单播地址(一对一通信),是最常用的。

  • A类、B类和C类地址的网络号字段(在图中这个字段是灰色的)分别为1个、2个和3个字节长,而在网络号字段的最前面有1~3 位的类别位,其数值分别规定为0,10和110。
  • A类、B类和C类地址的主机号字段分别为3个、2个和1个字节长。
  • D类地址(前4位是1110)用于多播(一对多通信)。
  • E类地址(前4位是111)保留为以后用

ARP协议

已经知道了一个机器(主机或路由器)的IP地址, 需要找出其相应的硬件地址。

地址解析协议ARP就是用来解决这样的问题的。

网际控制报文协议ICMP

ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP是互联网的标准协议。但ICMP不是高层协议(看起来好像是高层协议,因为ICMP报文是装在IP数据报中,作为其中的数据部分),而是IP层的协议

网际组管理协议IGMP

和网际控制报文协议ICMP相似,IGMP使用IP数据报传递其报文(即IGMP报文加上IP首部构成IP数据报),但它也向IP提供服务。因此,我们不把IGMP看成是一个单独的协议,而是属于整个网际协议IP的一个组成部分。

概念上讲,IGMP的工作可分为两个阶段。

第一阶段: 当某台主机加入新的多播组时,该主机应向多播组的多播地址发送一个IGMP报文,声明自己要成为该组的成员。本地的多播路由器收到IGMP报文后,还要利用多播路由选择协议把这种组成员关系转发给互联网上的其他多播路由器。

第二阶段: 组成员关系是动态的。本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。只要有一台主机对某个组响应,那么多播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一台主机响应,多播路由器就认为本网络上的主机已经都离开了这个组, 因此也就不再把这个组的成员关系转发给其他的多播路由器。

## 划分子网和构成超网

题目:解决IP(IPv4)地址短缺的方法有哪些?

  • 划分子网
  • 构成超网
  • NAT地址转换

划分子网

划分子网的基本思想:

(1)一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网(ubnet)。划分子网纯属一个单位内部的事情。本单位以外的网络看不见这个网络是由多少个子网组成, 因为这个单位对外仍然表现为一个网络

(2)划分子网的方法是从网络的主机号借用若干位作为子网号(subnet-id),当然主机号也就相应减少了同样的位数。于是两级IP地址在本单位内部就变为三级IP地址:网络号、子网号和主机号。也可以用以下记法来表示:

\[IP地址 ::=\{<网络号>, <子网号>, <主机号>\}\]

(3)凡是从其他网络发送给本单位某台主机的IP数据报,仍然是根据IP数据报的目的网络号找到连接在本单位网络上的路由器。但此路由器在收到 IP数据报后,再按目的网络号和子网号找到目的子网,把IP数据报交付目的主机。

子网数是根据子网号(subnet-id)计算出来的。若 subnetid 有n位, 则共有$2^n$种可能的排列。除去全0和全1这两种情况,就得出表中的子网数。

子网掩码

A类地址的默认子网掩码是255.0.0.0,或0OxFF00000。

B类地址的默认子网掩码是255.255.0.0,或0xFFF0000。

C类地址的默认子网掩码是255.255.255.0,或0xFFFFFO0

使用子网时分组的转发

子网划分后,路由表必须包含以下三项内容:目的网络地址、子网掩码和下一跳地址。

划分子网的情况下,路由器转发分组的算法如下:

(1)从收到的数据报的首部提取目的IP地址D。

(2)判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D逐位相”与”(AND操作),看结果是否和相应的网络地址匹配。若匹配,则把分组进行直接交付(当然还需要把D转换成物理地址,把数据报封装成帧发送出去),转发任务结束。否则就是间接交付,执行(3)。

(3)路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)

(4)对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和D逐位相”与”(AND操作),其结果为N。若N与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器;否则,执行(5)。

(5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器:否 则,执行(6)。

(6)报告转发分组出错

总结:目标地址D

  • 对路由器直接相连的网络比较(各网络子网掩码与D相与)看能不能直接交付
  • 查路由表,看有没有目的地址和D匹配,交付下一跳
  • 查路由表,将D与各子网掩码相与,得到地址是否和对应的目的地址匹配
  • 查是否由默认路由
  • 报告转发分组出错

上一步失败后才会进行下一步。

无分类编址CIDR(构造超网)

传输层

传输层的两个主要协议

UDP

  • UDP是无连接的,即发送数据之前不需要建立连接(当然,发送数据结束时也没有连接可释放),因此减少了开销和发送数据之前的时延。
  • 用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表(这里面有许多参数)。
  • UDP是面向报文的。
  • UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。
  • UDP支持一对一、一对多、多对一和多对多的交互通信。
  • UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短

TCP

  • TCP是面向连接的运输层协议。
  • 每一条TCP连接只能有两个端点(endpoint),每一条 TCP连接只能是点对点的(一对一)。
  • TCP提供可靠交付的服务。
  • TCP提供全双工通信。
  • 面向字节流。

端口