计算机网络相关习题整理

第一讲 传输媒介

【知识点回顾】

  • 两种导线可以减小电磁干扰:
    • 双绞线(分为非屏蔽双绞线屏蔽双绞线)(RJ-45用)
    • 同轴电缆(短距离使用)
  • 网络通信的基本单位:位(bit)
  • 内存存储的基本单位:字节(byte)
  • 信号是信息的载体,信道是信号的传输媒介,信道噪声是噪声和干扰的总称
  • 光纤的优缺点:
    • 优点:免受电气噪声干扰,信号损耗小高带宽保密性好,体积小,中继距离长
    • 缺点:费用高,需要专门人员与设备,易折断

【例题】

  1. 选择传输介质需要权衡哪些方面?试解释为何企业内部网络布线多用导线,而校区和校区之间多使用光纤。

传输介质的选择需要权衡成本(材料、安装、运营、维护)数据速率时延对信号的影响(衰减和失真)环境(对干扰和电气噪声的敏感性)安全(对窃听的敏感性光纤免受电气噪声干扰)

光纤信号损耗小,高带宽,保密性好;

铜导线则整体费用低,不需要专门人员与设备,不易折断,适合企业内部大量使用。

  1. 设计网络最基本的内容是选用合理的传输介质,按能量可以分为电气、光和无线电波等三大类,请列举常用的4种传输介质,分别指出属于哪一类。
  • 电气:双绞线、同轴电缆;
  • 光:光纤、红外传输、激光;
  • 无线电波:地面无线电、卫星等。

第二讲 局域异步通信

【知识点回顾】

  • 同步通信:先用同步字符同步,然后逐位收发,空数据要填充
  • 异步通信:开始结束都加标志,接收方时刻监听信道
  • 同步串行传输类型适合于视频传输异步串行传输适合于计算机键盘连接

  • 内存存储以低地址为端,网络通信以零时刻为端。
  • 串行异步通信标准RS-232
    • RS-232 DB9使用的是全双工传输
    • 电气特征:连线长度小于50ft,[3V, 15V]表示0,[-15V, -3V]表示1(空闲期为负电压,开始位0,结束位1)。
    • 帧格式按照位小端序,也就是按位写的话要倒过来
      • 7位为1个发送单元,再加上1个开始位至少1个结束位
  • 信号带宽
    • 传统定义:某个信号具有的频带宽度
    • 新定义:该信号的各种不同频率成分所占据的频率范围
    • 数字信道的带宽:在信道上能够传送的数字信号的速率
    • 波特率:单位为bps(二进制环境下)
  • 两大定理
    • 奈奎斯特定理:硬件带宽与理论最大数据发送速率间关系

D = 2Blog_2k (bps)

    • 香农定理:引入噪声的传输系统可以达到的最大数据速率

C = Blog_2(1+\frac{S}{N}), 信噪比为10lg(\frac{S}{N})

【例题】

  1. 以RS232标准为例说明物理层接口的主要特征。

RS232传输的主要特征:

  • (1)机械特征:D型插头座,至少有三根针,发送,接收和地;
  • (2)电气特征:-3V~-15V 代表逻辑1;3V~15V 代表逻辑0;
  • (3)以字符为单位传输,每个字符7个bit表示,另加1个起始位,1个或1.5个停止位。
  1. 请以RS232-C传输8位字符“[”(其ASCII码为91)为例,画出电压随时间变化示意图。标明横轴和纵轴的刻度,并注明每个时刻传输的内容。

注意:空闲、起始位、终止位、位小端序

  1. 绝大多数的RS-232硬件允许所在的计算机设定数据传输速率及停止位的个数。若发送方使用两位停止位,而接收方使用一位停止位,数据传输是否正确?如果正确,使用额外的停止位的不利之处是什么?

正确。但是会减缓传输速度。

第三讲 远距离通信

【知识点回顾】

  • 载波:远距离通信系统发送连续震荡的信号
    • 通常是正弦波,可在频率、幅度或相位被调制来传输
    • 即便没有信号被发送,载波仍持续震荡
  • 调制:使载波的某些特性按信息的波形或信号而变化的处理方法。
    • 解调制:根据频带信号恢复出调制信号(载波信号丢弃)
    • 载波信号是模拟信号,调制信号是数字信号
    • 调制解调器(Modem):双工设备
  • 复用:指多个信源的信息流组合在一条共享介质上传播。
    • 解复用:将信息流组合分隔回分开的信息流
    • 复用的基本形式
      • 频分多路复用FDM:划分为不同频带的子信道,每个子信道可以并行
      • 波分多路复用WDM:FDM的光形式
      • 时分多路复用TDM:分为同步时分多路复用和统计时分多路复用
      • 码分多路复用CDM:划分为码片,码片序列必须互相正交

【例题】

  1. China Unicom and China Telecom received their 4G standard license FDD-LTE in Feb. 2015. The principle of __ division duplex is similar to FDD.

答案: 【wave】

  1. 频分多路复用必然需要调频,但不是只能配合调频,其他的也可以加进来。
  2. 什么是调制与解调?调制与解调有哪些基本方法?
  • 调制是用基带信号去控制载波信号的某个或几个参量的变化,将信息荷载在其上形成已调信号,从而适宜在信道中传输。
  • 解调是在接收端将已调信号恢复成原始基带信号的过程,它是调制的逆过程。 
  • 调制技术包括调幅、调频与调相。解调技术包括解调幅、解调频与解相位移动调制。
  1. 设某信道带宽为20MHz,最大信息传输速率为144Mbps,此时信道噪声比为多少分贝?若此时传输一个20MB的文件,通过编程手段在1秒钟传输完毕,则误码率至少为多少?若该信道的另一种模式工作于40MHz,提供 300Mbps的最大传输速率,则信道噪声是多少分贝?传输一个20MB的文件时误码率至少为多少?(提示:误码率为传输过程中错误的位占全部位的比例。传输发生错乱与传输完全错误并不一致,错乱指的是随机发生0和1,错误指的是0变成1、1变成0。)
  • 根据香农定理

    ,信噪比

    ,在第一种情况下,噪声为

  • 香农定理说明了有噪信道的容量上限,超过该容量上限时,经过任何编码手段都无法实现。因此,第一种情况下,每秒最高传输18MB的信息,剩下2MB的信息为乱码,即其中正确平均为1MB,错误为1MB,因此误码率为1/20=95%;
  • 在第二种情况下,噪声为

  • 第二种情况下,每秒最高传输37.5MB的信息,如果采取合理的编码,最好情况可以实现无错误,因此误码率为0。
  1. 用频率为4000Hz的正弦波进行调幅,每秒能够编码多少bit?为什么?
  • 4000bit。
  • 因为调频与调幅技术每发送一个信号位都需要至少一个载波周期。一般是一个载波周期发送1bit信息,所以每秒能够编码4000bit。
  1. 为什么同一个地区的各无线电台使用的载波频率是唯一的?
  • 无线电台一般使用调频广播,调频广播调整的是载波的频率。
  • 在同一地区内,各台或各套节目都有指定的载波频率,接收者根据不同的载波频率来接收不同的节目。
  • 倘若使用的载波频率一样甚至相近,就会产生相应的干扰,因此,在同一个地区的各无线电台使用的载波频率唯一,而且应相互之间保持距离。

第五讲 分组,帧和编址

【知识点回顾】

  • 分组:网络系统将数据分为小的分块(分组),独立发送。
    • 分组交换(统计时分复用)信道利用率高,电路交换独立信道实时性高
  • :用于具体网络类型的分组,在分组交换网络中,每个帧对应一个分组。
    • 头部:包含元数据,消息不透明
    • 载荷:包含发送的数据,包含只对发送者和接受者有意义的字节序列
  • 编址:分组解复用
    • 分层处理:
      • 网卡:检测帧是否存在,有效性检验,判断是否接受
      • CPU:判断是否传给上层处理
      • 目的是减少CPU的负荷
  • 以太网的帧格式

【例题】

  1. 请描述以太网网卡如何处理到达的分组,即如何判断是否应接受它。
  • 先判断分组校验码验证无误,
    • 如果网卡工作在混杂模式下,则接受该分组;
    • 如果网卡工作在普通模式,则判断帧目的地址,
      • 如果帧目的地址和本机地址相同,则接受该分组;
      • 如果帧目的地址是多播地址或广播地址,则接受该分组;
      • 否则丢弃该分组。
  1. 假设两台计算机轮流在一个10Mbps的共享信道上以时分多路复用的方式发送1,500字节的分组。如果在一台计算机停止发送到另一台计算机开始发送之间需要100μs,那么两台计算机都传输一个1GB的数据文件共需多少时间?在上题中,计算如果两台计算机串行传输需要多少时间。 (假设同一台计算机发送的两个分组之间至少有5微秒的延时。)

按1GB的数据可分为

个包;在10Mbps的共享信道上发送一个包用的时间为

;两个包之间的间隔时间为

。两台计算机传输数据的时间为

,总共需要的时间约为

答:每台计算机传输数据所用的时间为

,间隔时间

;总共需要的时间为

  1. 网卡在混杂模式下,接收所有经过它的数据流,而不过滤目的地址。

第六讲 以太网

【知识点回顾】

  • 拓扑
    • 网状拓扑(Mesh):点对点通信,安全稳定但成本高,常用于远距离通信
    • 星型拓扑(Star):中心节点与其他点对点,容易增加新节点,但中心坏整个瘫痪
    • 环形拓扑(Ring):邻接点到点,易监控易安装,难增新节点,一个异常影响其他
    • 总线型拓扑(Bus):所有点共享信道,不如星增加新节点易,介质故障全网瘫痪
  • 以太网
    • 使用总线型,形成星型,使用曼彻斯特编码,直方波
    • 下降沿表示0,上升沿表示1
    • 不传递信息帧时,以太网没有电信号,传统以太网10Mbps
    • 不可靠的尽力而为的交付
    • 工作机制:
      • 争用型的介质访问控制协议——带冲突检测的载波监听多路访问技术(CSMA/CD)
        • 载波侦听:先听后发
        • 冲突检测:边发边听,冲突停发,两边都失效,用\tau表示端对端往返时延
        • 二进制指数退避:随机延迟后重发,基本退避时间d,n次冲突随机延迟(0,2^{n-1}]d
    • 强化碰撞:发现碰撞立刻停止发送,再发送若干人为干扰信号
  • 其他网络
    • LocalTalk:总线型,应用CSMA/CD
    • IBM令牌环:环形,应用令牌传递网络
    • 光纤分布数据互连(FDDI):环形,双向令牌环
    • 异步传输模式(ATM):星型,利用交换技术,面向连接,无冲突,速度快性能好

【例题】

  1. 在一个采用CSMA/CD协议的网络中,传输介质是一根完整的电缆,传输速率为1Gbps,电缆中的信号传播速度是2000000km/s。若最小数据帧长度减少800bit,则最远的两个站点之间的距离至少需要减少80m
  2. 请说明传统以太网的介质访问控制机制。
  • 载波侦听。以太网要求每个站点监视电缆,检测是否已有一个传输正在处理中。它阻止了最明显的冲突问题。
  • 冲突检测。当两个站点同时载波侦听到电缆空闲,仍可能发生冲突。为了解决冲突,每个站点在发送过程中监视电缆,如果电缆信号与本站发送的信号不符即认定为冲突,并立即终止发送。
  • 二进制指数退避。当冲突发生后,以太网需要从冲突中恢复。标准所规定最大值的延迟值d,每个检测到冲突的站点选择一个小于2整数r,以rd作为随机延迟。如果再次冲突,则将上限扩大一倍,继续选择一个小于4的随机整数r。如果连续遇到第n次冲突,则在[0,2^n)之间选择随机数r,等待rd时间后发送。
  1. 局域网除了网状结构以外,有哪几种拓扑结构,各有什么特点?分别举出一种有代表性的网络。
  • 星形拓扑、环状拓扑、总线型。
  • 星型拓扑特点为:
    • a. 网络结构简单,便于管理(集中式);
    • b. 每台入网机均需物理线路与处理机互连,线路利用率低;
    • c. 处理机负载重(需处理所有的服务),因为任何两台入网机之间交换信息,都必须通过中心处理机;
    • d. 入网主机故障不影响整个网络的正常工作,中心处理机的故障将导致网络的瘫痪。
    • 代表性网络:异步传输模式(Asynchronous Transfer Mode,ATM)
  • 环状拓扑特点为:
    • a. 实时性较好(信息在网中传输的最大时间固定);
    • b. 每个结点只与相邻两个结点有物理链路;
    • c. 传输控制机制比较简单;
    • d. 某个结点的故障将导致物理瘫痪;
    • e. 单个环网的结点数有限。
    • 代表性网络:IBM令牌环,光纤分布数据互连(Fiber Distributed Data Interconnect,FDDI)
  • 总线拓扑特点为:
    • a. 多台机器共用一条传输信道,信道利用率较高;
    • b. 同一时刻只能由两台计算机通信;
    • c. 某个结点的故障不影响网络的工作;
    • d. 网络的延伸距离有限,结点数有限。
    • 代表性网络:LocalTalk。
  1. 以太网标准规定了最小与最大的帧尺寸。请说明规定最小尺寸的必要性。
  • 规定最小尺寸是为了确保发送站点可以在发送该帧的最后一个比特前检测到冲突。
  • 以太网是无连接的,不可靠的服务,采用尽力而为的传输机制。设主机A和B相距很远传输有时延。在主机A发送的帧传输到B的前一刻,B开始发送帧。当A的帧到达B时,B检测到冲突并发送冲突信号。
  • 如果消息尺寸太小,在B的冲突信号传输到A之前,A的帧已经发送完毕,则A检测不到冲突而误认为已发送成功。因此,以太网标准规定了最小帧尺寸的限制,确保在发生冲突时,一方将帧发送完毕前能来得及检测到冲突。
  1. 请比较采用以太网和采用ATM网络传输语音数据,哪种网络的QoS比较好,并简要说明理由。

ATM网络QoS比较好。因为其帧是短帧,所以延迟小,又因为面向连接,所以抖动小。

  1. 为什么10BASE-T以太网可以无缝地过渡到100BASE-T以太网?请至少列举3点理由。

传输介质、帧格式、工作原理(CSMA/CD)相同

  1. 请简述无线网络为何无法采用CSMA/CD机制进行通信。

无线LAN的发射机具有受限范围,距离超过该范围的接收方将无法接受信号,因此也无法检测载波,无法使用CSMA/CD进行通信。

第九讲 协议分层

【知识点回顾】

  • 协议:参与通信的各方在交换消息时,必须遵守指定的消息格式,以及消息所需的行动规则
    • 实施这些规则的软件称为协议软件
    • 协议系列/族:协议的设计应为完整的、相互配合的,而不是孤立的。应处理所有可能的硬件故障或其他异常情况。
  • 两种国际标准
    • 法律上国际标准:ISO/OSI模型
      • 共七层
        • 物理层:完成bit和载波的转换,处理与物理传输介质相关的接口
        • 链路层:分为介质访问控制层(MAC)和逻辑链路控制子层(LLC)
        • 网络层:负责点对点通信,流量控制,拥塞控制
        • 传输层:给上层提供通用的应用界面,屏蔽结构差异,实现端对端通信
        • 会话层:会话建立、撤销,提供进程间通信机制
        • 表示层:信息压缩,信息加密解密,与标准格式的转换
        • 应用层:应用程序
      • 优点:结构清晰,软件重用,规格统一,减少冲突
      • 缺点:高层很难对低层通信进行优化,层次过多过细,软件复杂,效率低
    • 事实上的标准:TCP/IP协议族
      • 共四层:网络接口层、网际层、传输层、应用层
      • 主机和路由器都需要TCP/IP协议软件
      • 具体的IP地址见第十讲

【例题】

  1. 结合下图,假设交换机上一个接口的硬件发生故障,网络管理员把计算机接到另一个未用的接口上,它会正常工作吗?为什么?

  • 发送数据方面:工作正常,因为路由具有源点独立性;
  • 接收数据方面:如果是静态路由的情形将工作不正常,因为静态路由不能变更路由路径;如果动态路由的情形工作正常,因为动态路由可以自动更新。
  1. (1) 以最少跳数作为最短路径,给出下面图形中所有交换设备的路由表。

(2) Computer B发一个包给Computer E,其中,Hub 6连接在Switch 3上的第2个端口,如何对Computer E、Computer F分别编址?交换机应不知道集线器Hub 6的存在,但Computer E和F确实需要编址,在转发时如何区分E和F?(提示:通过查阅资料和讨论,正确理解交换机和集线器的异同。)

(1) 路由表如下:

(2) Computer E编址为[3,1],Computer F编址为[3,2],(只要第一位是3,第二位不同即可)。

注意:1、参考编址只要局域网内唯一即可,和端口号无关。2、集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。交换机3应认为,计算机E和F同在一个出口。3、计算机E和F的冲突域并未被隔离。

  1. 网络协议为什么要分层?不同层次数据包结构遵循何种形式设计,以使得各层次可以发挥其作用,又能够不干扰其他层次的功能?网络体系结构为什么要保证各层的协议一致?
  • 为了简化网络设计的复杂性,通信协议采用分层的结构,各层协议之间既相互独立又相互高效的协调工作。
  • 不同层次数据包结构遵循如下形式设计:
    • 数据分组由“头部+数据”组成;且每一层“头部+数据”作为下一层的“数据”。
    • 在网络的各层中存在着许多协议,接收方和发送方同层的协议必须一致,否则一方将无法识别另一方发出的信息。
  • 网络协议使网络上各种设备能够相互交换信息。
  1. ISO/OSI参考模型包括哪些层次,各有什么作用?TCP/IP协议的层次结构和各层功能,与ISO/OSI参考模型有何异同?
  • ISO-OSI参考模型包括以下层次:
    • (1) 物理层:提供为建立、维护和拆除物理链路所需要的机械的、电气的、功能的和规程的特性;有关的物理链路上传输非结构的位流以及故障检测指示。
    • (2) 数据链路层:在网络层实体间提供数据发送和接收的功能和过程;提供数据链路的流控。
    • (3) 网络层:控制分组传送系统的操作、路由选择、拥护控制、网络互连等功能,它的作用是将具体的物理传送对高层透明。
    • (4) 传输层:提供建立、维护和拆除传送连接的功能;选择网络层提供最合适的服务;在系统之间提供可靠的透明的数据传送,提供端到端的错误恢复和流量控制。
    • (5) 会话层:提供两进程之间建立、维护和结束会话连接的功能;提供交互会话的管理功能,如三种数据流方向的控制,即一路交互、两路交替和两路同时会话模式 。
    • (6) 表示层:代表应用进程协商数据表示;完成数据转换、格式化和文本压缩。
    • (7) 应用层:提供OSI用户服务,例如事务处理程序、文件传送协议和网络管理等。
  • TCP/IP协议的层次如下:
    • (1) 网络接口层,它规定了怎样把数据组织成帧及计算机怎样在网络中传输帧。对应ISO/OSI参考模型第1层物理层和第2层数据链路层。
    • (2) 互联网层,规定了互联网中传输的包格式及从一台计算机通过一个或多个路由器到最终目标的包转发机制。对应ISO/OSI参考模型第3层网络层。
    • (3) 网络层:控制分组传送系统的操作、路由选择、拥护控制、网络互连等功能,它的作传输层,规定怎么样确保可靠性传输。对应ISO/OSI参考模型第4层传输层。
    • (4) 应用层,规定了应用程序如何使用互联网。对应ISO/OSI参考模型第5至7层会话层、表示层和应用层。

第十讲 IP编址和报文

【知识点回顾】

  • 路由:为单网络中、多网络间或跨多网络的流量选择路径的过程。
    • 广义在各种类型的网络,包括电路交换网络;狭义通常指IP路由。
    • 路由器是在计算机网络之间转发数据包的网络设备。
  • IP地址
    • IP地址是分配给连接到使用IP协议进行通信的每个设备的数字标签
    • 每个主机指派一个32位编址,全球唯一(ICANN公司分配裁决)
    • 点分十进制计数法:每8位作为无符号十进制值用点分配
      • 网络号8位,主机号24位,网络号指的是物理网络
    • 传统分类地址:ABCDE类(根据网络号)
      • A类 0~127
      • B类 128~191
      • C类 192~223
      • D类 224~239
      • E类 240~255
    • 特殊的IP地址
      • 地址全0:本机地址;地址全1:有限广播
      • 主机号全0:网络;主机号全1:直接广播
      • 回送地址:127.0.0.0/8
    • 地址掩码
      • 用N表示网络地址,D表示目标地址,M表示网络掩码,则求取网络地址可以根据:N = (D\&M)
    • 无类域间路由(CIDR)表示法
      • ddd.ddd.ddd.ddd/m,其中d是网络号,m为掩码中1的个数
    • 每个路由器有两个或多个IP地址,IP地址不标识计算机
  • IP数据报
    • 虚拟分组:得到通用的、虚拟的数据包,底层硬件不理解,路由器和主机里的软件理解
    • IP报文头格式(基本长度20B)

版本、报头长度、服务类型、报文总长度、标识、分片标志、片偏移、生存时间、协议类型、报头校验和、源IP地址、目标IP地址、选项内容、填充

    • 路由表的组成:目标网络号、子网掩码、下一跳(直接传送标志、子网IP地址)
      • 默认路由0.0.0.0/0
      • 通过子网掩码进行计算的路由表匹配
        • 获得IP报文的目标IP地址D
        • 用D顺序逐条匹配路由表的各个条目T[0],T[1],T[2]
        • 如果D \& T[i].m == T[i].d,D是目标端地址,m是子网掩码,d是子网网络号,n为下一跳地址
      • 数据报里仅有最终目标地址,中途经过不改头部信
  • IP封装、分片和重组
    • 最大传输单位元MTU,IP报文长大于MTU要分片
      • 每片尽可能大,头部每片都要有

【例题】

  1. 某单位获得一个210.34.0.*的C类地址段,该单位的4个部门各需要30、15、16、2台机器,请给出划分子网的方案,用CIDR表示法。
  • IP地址为256,假设划分的子网网络号为N,主机号为32-N,扣掉:网络地址1个(主机位全0)、广播地址1个(主机位全1)、路由器地址1个,剩余232-N-3个。故此:
  • (1)第一部门,30台机器,使用210.34.0.0/26(地址范围210.34.0.0至210.34.0.63)。
  • (2)第二部门,15台机器,使用210.34.0.64/27(地址范围210.34.0.64至210.34.0.95)。
  • (3)第三部门,16台机器,使用210.34.0.96/27(地址范围210.34.0.96至210.34.0.127)。
  • (4)第四部门,2台机器,使用210.34.0.128/27(地址范围210.34.0.128至210.34.0.159)。
  1. IPv4数据报包括哪些部分,简要描述其作用。
  • IP报文头格式的组成(基本长度:20B)
    • 版本:4-bit,取值:4或6。
    • 报头长度:4bits,单位为4Bytes。
    • 服务类型:8bits,未实际使用。
    • 报文总长度:16bits,单位为字节。
    • 标识:16bits,IP软件在存储器中的计数器在产生一个数据报后自增 1,并将值赋给标识字段。标识在分片时复制。
    • 分片标志:3bits,高到低位:无意义、不分片、还有分片。
    • 片偏移:13bits,分片在原始报文的位置,单位为8Bytes。
    • TTL(生存时间) :8bits,单位为秒,路由器减去在其环节所消耗时间,直至零丢弃。
    • 协议类型:8bits,可能的取值有:ICMP、IGMP、TCP、UDP、OSPF等,用于将数据交给第四层的哪个软件。
    • 报头校验和:16bits,检验报头的完整性,不含数据部分。
    • 源IP地址:32bits。
    • 目标IP地址:32bits。
    • 选项内容:(可变长度,1~40bits),用来支持排错、测量以及安全等措施。
    • 填充部分:(根据选项部分改变),为了使得报文头部是4Bytes的整数倍
  1. 请画出图14-1 (a)所有路由器设备的路由表,其IP配置如图14-1 (b)所示。格式参考图14-1 (c)。

  • R1:目的地,掩码,下一站10.0.0.0,255.0.0.0,直接传递0.0.0.0,0.0.0.0,10.0.0.4
  • R2:目的,地掩码,下一站40.0.0.0,255.0.0.0,20.0.0.20.0.0.0,0.0.0.0,直接传递
  • R3:目的,地掩码,下一站20.0.0.0,255.0.0.0,直接传递40.0.0.0,255.0.0.0,直接传递0.0.0.0,0.0.0.0,20.0.0.1
  • R4:目的地,掩码,下一站30.0.0.0,255.0.0.0,直接传递0.0.0.0,0.0.0.0,(未出现在图中)
  • R5:目的地,掩码,下一站40.0.0.0,255.0.0.0,直接传递0.0.0.0,0.0.0.0,(未出现在图中)
  1. 用C语言实现一个函数int is_in_net(unsigned char ip, unsigned char netip, unsigned char mask);对给定IP地址、网络地址与网络掩码,判断其是否匹配。
nt is_in_net(unsigned char ip, unsigned char netip, 
              unsigned char mask)
{
  return ((((unsigned int )ip)& ((unsigned int )mask))
     == ((unsigned int )netip));
}
  1. 如图14-2 (a)所示,从C1向C5发送一个IP报文(报文总长24KB),其中MTU如图14-2 (b)所示。请写出此IP报文经N1、N2、N3、N4、N5,在R6处每个分片的大小及其偏移量。(提示:IP报头长度为20B)

第十一讲 ICMP和ARP

【知识点回顾】

  • Internet控制报文协议(ICMP)
    • 目的:提高IP数据报交付成功的机会;协议在网络层。
    • 机制:主机或路由器报告差错情况提供有关异常情况的报告
    • ICMP报文的种类
      • 差错报告报文:3、4、11、12、5
      • 询问报文:8/0、13/14、17/18、10/9
    • ICMP报文格式

    • 不应发送ICMP差错报告报文的几种情况
      • 对于ICMP差错报告报文不再发送ICMP差错报告报文
      • 第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文
      • 具有多播地址的数据报不再发送ICMP差错报告报文
      • 具有特殊地址的数据报不发送ICMP差错报告报文
    • ping使用ICMP消息测试可达性
      • PING(Packet Internet Groper),因特网包探索器
      • 报文类型:ICMP回送请求和回送回复消息
      • ping是应用层直接使用网络层ICMP的例子,没有通过传输层的TCP或UDP
    • tracert使用ICMP追踪路由器
      • 每个路由器处理生存周期(TIME TO LIVE)计数器。
      • 计数器到0,丢弃数据报并发送超时错误;不断增加TTL值直到达到目标
  • 地址解析协议(ARP)
    • IP地址解析为MAC地址的叫做地址解析。
    • 不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址
    • 技术:
      • 查表:存储在内存表
      • 相近形式计算:配置使得硬件地址可通过简单的布尔和算数运算得到对应的协议地址
      • 消息交换:一台计算机发出某个地址联编的请求消息后,另一台计算机返回一个包含所需信息的应答消息。
    • 使用ARP的四种典型情况
      • 主机发送数据报到本网络的另一台主机。
        • ——找目的主机的硬件地址
      • 主机发送数据报到另一个网络上的一台主机。
        • ——找本网络路由器的硬件地址,由该路由器转发
      • 路由器转发数据报到本网络的一台主机。
        • ——找目的主机的硬件地址
      • 路由器转发数据报到另一个网络上的一台主机。
        • ——找本网络另一个路由器的硬件地址,由该路由器转发
    • ARP帧格式

    • ARP封装

    • ARP欺骗
      • 核心思想:向目标主机发送伪造的ARP应答,并使目标主机接收应答中伪造的IP地址与MAC地址之间的映射对,以此更新目标主机ARP缓存。 
    • ARP高速缓存(ARP Cache)

【例题】

  1. 请简要说明TraceRoute的原理。
  • TraceRoute利用ICMP及IP头部的TTL(Time To Live)域得到一连串数据包路径。
  • 首先,TraceRoute送出一个TTL是1的IP报文到目的地。路径上的第一个路由器收到该报文,将TTL减1。此时TTL变为0,该路由器便将此报文丢掉,并送回一个“ICMP time exceeded”消息,主机收到该消息后,便知道路由器存在于路径上。
  • 接着TraceRoute再送出另一个TTL是2的数据报,发现第2个路由器……TraceRoute每次将送出的报文的TTL加1来发现另一个路由器,重复到某个报文抵达目的地,返回“ICMP Echo Reply”。
  1. 请简要说明PING的原理。
  • Ping用ICMP回应请求和回应应答报文来实现。
  • 当调用Ping程序时,它发送一个包含ICMP回应请求的报文给目的地,然后等待一段很短的时间。
    • 如果没有收到应答,则重新传送请求。
    • 如果重传的请求仍没有收到应答(或收到ICMP目的不可达报文),Ping声称该远程机器为不可达。
  • 远端主机上的ICMP软件应答该回应请求报文。按照协议只要收到回应请求,ICMP软件必须发送回应应答。
  1. 考虑如何利用ICMP协议对一个网络上的时延性能进行监控?
  • ICMP时间戳请求和应答消息都包含初始、接收和传送时间戳。
  • 产生ICMP时间戳请求的主机可以使用这三个时间戳估算远程主机的本地时间。
  • 往返时间,它的值是收到回答时的时间值减去发送请求时的时间值。
  1. 什么是ARP缓存?ARP如何使用其缓存?
  • 局域网各主机和路由器的IP地址到硬件地址的映射表。
  • 当主机A欲向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。
    • 如有,就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址。
  • 为了减少网络上的通信量,主机A在发送其ARP请求分组时,就将其IP地址到硬件地址的映射写入ARP请求分组。当主机B收到A的ARP请求分组时,就将主机A的这一地址映射写入主机B自己的ARP高速缓存中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/952177.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

应急响应之入侵排查(下)

一.进程排查 1.Windows 任务管理器查看 在 Windows 系统中,可通过任务管理器查看进程信息。操作步骤为:在任务管理器界面,于 “查看” 选项中选择 “选择列”,随后添加 “映像路径名称” 和 “命令行”,以此查看更多进…

极狐GitLab 正式发布安全版本17.7.1、17.6.3、17.5.5

本分分享极狐GitLab 补丁版本 17.7.1, 17.6.3, 17.5.5 的详细内容。这几个版本包含重要的缺陷和安全修复代码,我们强烈建议所有私有化部署用户应该立即升级到上述的某一个版本。对于极狐GitLab SaaS,技术团队已经进行了升级,无需用户采取任何…

力扣经典二分题:4. 寻找两个正序数组的中位数

题目链接:4. 寻找两个正序数组的中位数 - 力扣(LeetCode) 一、题目分析 这道题目是让我们在 两个正序的数组中寻找中位数已知两个数组的大小分别是:int m nums1.size(),n nums2.size();中位数性质1:中位数左侧元素 …

安装yarn时显示npm使用淘宝镜像安装报错

问题描述: npm使用淘宝镜像安装报错 错误原因: 淘宝原镜像域名(registry.npm.taobao.org)的 HTTPS 证书正式到期,npm 淘宝镜像已经从 registry.npm.taobao.org 切换到了 registry.npmmirror.com。解决方案:…

【Python】Python之Selenium基础教程+实战demo:提升你的测试+测试数据构造的效率!

这里写目录标题 什么是Selenium?Selenium基础用法详解环境搭建编写第一个Selenium脚本解析脚本脚本执行结果常用的元素定位方法常用的WebDriver方法等待机制 Selenium高级技巧详解页面元素操作处理弹窗和警告框截图和日志记录多窗口和多标签页操作 一个实战的小demo…

Seata搭建

1.初识Seata Quick Start | Apache Seata 官网 2.准备nacos和 seata 启动nacos startup.cmd -m standalone账号nacos 密码nacos 搭建seata TC 这里下载的 1.4.2 seata-server-1.4.2 1.修改seata配置文件 registry.conf 这里我们使用nacos作为注册中心 和 配置中心 r…

selenium+pyqt5自动化工具总结

说明:本工具是,操作外部google浏览器、selenium是无法操作qt界面中嵌套的浏览器的, 工具在后面 1. 代码结构 pycharm打开的文件下,再写一个子文件,文件导入的时候把子文件名带上 这样就可以在 外层使用命令 pyinst…

.NET 终止或结束进程

如何使用 C# 终止进程。 使用简单的方法终止.NET中的现有进程Process.Kill()。有一个可选参数 true 或 false,用于结束与要结束的进程相关的所有子进程。 了解如何创建流程。 结束当前进程: System.Diagnostics.Process.GetCurrentProcess().Kill(tru…

怎么实现Redis的高可用?

大家好,我是锋哥。今天分享关于【怎么实现Redis的高可用?】面试题。希望对大家有帮助; 怎么实现Redis的高可用? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 为了实现 Redis 的高可用性,我们需要保证在发…

大数据技术实训:Hadoop完全分布式运行模式配置

准备: 1)准备3台客户机(关闭防火墙、静态ip、主机名称) 2)安装JDK 3)配置环境变量 4)安装Hadoop 5)配置环境变量 6)配置集群 7)单点启动 8)配置ss…

【Uniapp-Vue3】Prop校验与prop默认值用法及循环遍历数组对象

一、prop校验 如果我们在想要限制prop的类型,就可以在接收prop的时候对接收类型进行限制: defineProps({ 属性名:{ type:类型 } }) 需要注意类型的首字母大写 但是设置了传入参数类型限制并不能严格限制,只会在后台进行提示: 二、…

开启Excel导航仪,跨表跳转不迷路-Excel易用宝

都2025年了,汽车都有导航了,你的表格还没有导航仪吗?那也太OUT了。 面对着一个工作簿中有N多个工作表,工作表中又有超级表,数据透视表,图表等元素,如何快速的切换跳转到需要查看的数据呢&#…

【Unity3D日常开发】Unity3D中适用WEBGL打开Window文件对话框打开/上传文件

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群:398291828小红书小破站 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 Unity3D发布的WEBGL程序是不支持直接的I/O操…

《安富莱嵌入式周报》第348期:开源低功耗测试仪,开源创意万用表,续航100-300小时,开源PCB电机,自制shell和网络协议栈,开源水培自动化系统

周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版: https://www.bilibili.com/video/BV1Tzr9Y3EQ7/ 《安富莱嵌入式周报》第348期:开源低功…

音频合成的常见问题

使用了1年多的音频合成,有些常见的问题分享给大家 。 一、音质问题 噪声 背景噪声:在音频合成过程中,可能会引入背景噪声。这可能是由于原始音频素材本身质量不佳,比如录制环境嘈杂,包含电脑风扇声、外界交通声等。当…

用AI技术提升Flutter开发效率:ScriptEcho的力量

引言 在当今快速发展的技术时代,Flutter作为一种跨平台开发框架,正在越来越多的开发者中崭露头角。它不仅能够为开发者提供一套代码同时部署到iOS和Android平台的解决方案,还能帮助企业节省人力成本和开发时间。然而,对于新手开发…

SmartAIChain荣获重要认可

2024年12月21日,洛杉矶尔湾市——在今年尔湾举办的交流会上,黄荣先生的SmartAIChain项目获得了重要认可。此次活动汇聚了来自各地的杰出人才以及社区代表,共同庆祝这一创新性艺术的时刻。 在活动中,核桃市议员伍立伦(Allen Wu)的代表黄冬平女士发言,并为黄荣先生颁发了荣誉证书…

EFT信号测试和电源测试经验笔记

1. 什么是EFT 标准:perlEC 61000-4-4 eft设备将群脉冲干扰加到信号或者电源上,常见的频率是 5K 100K 两个频率 电压 电源3k,信号2k -----电网设备 电源4K -------------------空调设备 大概就是下图这样的周期性脉冲 1.1 电源eft 通过信…

web前端学习总结(一)

web前端使用三项技术:html、css、javascript. 一、html:超文本标记语言&#xff0c;用于展示网页的框架。 <html> <head><title> </title></head><body><div> </div> <!--用于布局&#xff0c;占1行 --><span&g…

【web靶场】之upload-labs专项训练(基于BUUCTF平台)

前言 该靶场&#xff0c;是通过平台BUUCTF在线评测中的靶场进行的&#xff0c;基于linux搭建的 当然若是想要该靶场&#xff0c;可以采用github上的醒目&#xff0c;点击后面文字即可访问c0ny1/upload-labs: 一个想帮你总结所有类型的上传漏洞的靶场 或者本人分享在网盘中&a…