计算机网络面试题总结(网络层)

计算机网络面试题总结(网络层)

IO协议

  1. 问题一:如何理解IP的不可靠和无连接

    • 不可靠:指的是不能保证数据包能成功地到达目的地。发生错误的时候,丢弃该数据包,发送ICMP消息给信源端。可靠性由上层提供。
    • 无连接: :IP 不维护关于后续数据报的状态信息。 体现在,IP 数据可以不按顺序发送和接收。A 发送连续的数据报,到达 B 不一定是连续的, 来回路由选择可能不一样,路线也不一样,到达先后顺序也不一样。
  2. 问题二:IP报文的格式和各个字段的含义。

    • 版本号: IPV4 就是 4,IPV6 就是 6 (4)
    • 首部长度:4 个字节为单位。最小为 5,最大为 15。所以最小长度 20 个字节,最大为 60 个字节。(4)
    • 服务类型: Qos 用,目前不怎么使用。(8)
    • 总长度:字节为单位。 最多可以传送 65535 字节的 IP 数据包。(16)
    • 标识字段(8)
    • 标志 (3)
    • 段偏移(5)与分片有关。
    • 生存时间 TTL:经过一个路由器减一。 字段为 0 时,数据报被丢弃,并且发送 ICMP 报文 通知源主机。目的是防止数据报在选路时无休止地在网络中流动。(8)
    • 协议:区分上层协议 (8)
    • 首部校验和:仅对首部进行校验。(16)【对比: ICMP,IGMP,TCP,UDP:对首部和数 据进行校验】
    • 源地址:(32)
    • 目的地址:(32)
  3. 问题 三: 为什么 IP 首部中要有总长度字段?

    因为一些数据链路(以太网)需要填充一些数据以达到最小长度。因为以太网帧的最小长度 是 46 个字节,但是 IP 长度可能更短,所以需要总长度来确定 IP 数据部分的内容。

  4. 问题四: IP 首部校验和怎么计算的,与 ICMP,IGMP,TCP,UDP 的首部校验和有什么区 别与共同点?

    1. 先把校验和字段置 0。
    2. 对首部中每个 16 位比特进行二进制反码求和。
    3. 结果存在检验和字段中。
    4. 收到一份 IP 数据包后,同样对首部中每个 16bit 二进制反码求和。
    5. 最后结果全为 1,表示正确,否则表示错误。
    6. 如果是错误的,IP 就丢弃该数据报,但是不生成差错报文,由上层去处理。
    7. 共同点:用到的算法都是一样的。 区别:IP 计算的时候没有将数据包括在内。 ICMP,IGMP,TCP,UDP 同时覆盖首部和数据检验码。
  5. 问题五: 主机和路由器本质区别是?

    主机从不把数据报从一个接口转发到另一个接口,而路由器则要转发数据报。

  6. 问题六: :IP 路由选择的过程是怎么样的?

    根据最长匹配原则,找到条目,发送到指定的路由器。如果不能找到,返回一个“主机不可 达”或“网络不可达”的错误。

  7. 问题七: :IP 路由选择的特性有什么?

    1. IP 路由选择是逐跳进行的。 IP 并不知道到达任何目的的完整路径,只提供下一跳地址。
    2. ) 为一个网络指定一个路由器,而不是为每个主机指定一个路由器。 这样可以缩小路由表规模。
  8. 问题八: :IP 搜索路由表的步骤

    搜索匹配的主机地址 ----》搜索匹配的网络地址 ----》搜索默认选项 IP 层进行的选路实际上是一种选路机制,它搜索路由表并决定向哪个网络接口发送分组。

  9. 问题九:如果路由表中没有默认项,而又没有找到匹配项,这时如何处理?

    • 结果取决于该 IP 数据报是由主机产生的还是被转发的。
    • 如果数据报是由本机产生的,那么就给发送该数据报的应用程序返回一个差错,或者是“主 机不可达差错”或者是“网络不可达差错”。
    • 如果是被转发的数据报,就给原始发送一份 ICMP 主机不可达的差错报文。
  10. 问题十: IP 地址的分类,如何划分的,及会计算各类地址支持的主机数

    1. A 类地址:首位为 0,1.0.0.1~~126.255.255.254;主机号 24 位
    2. B 类地址:首位为 10,128.0.0.1~~191.255.255.254;主机号 16 位
    3. C 类地址:首位为 110,192.0.0.1~~223.255.255.254;主机号 8 位
    4. D 类地址(多播地址,也叫做组播地址):首位为1110,224.0.0.1~~239.255.255.254 ~~
    5. E 类地址:此类地址是保留地址,首位为 11110,240.0.0.1~~254.255.255.254

ICMP协议

  1. 问题一:ICMP 的层次和作用。

​ ICMP 一般认为是在三层的。主要传递一些差错报文和其他需要注意的信息。

  1. 问题二:ICMP 报文的分类?

​ ICMP 分为两类,一类是 ICMP 查询报文,另一类是 ICMP 差错报文。
3. 问题三:ICMP 的主机不可达报文是在什么情况下发出的?

​ 三层设备(路由器)给该主机寻路时,没有找到相应路径,向源 IP 发回 ICMP 主机不可达

  1. 问题四:什么情况不会导致产生 ICMP 差错报文?

    1) ICMP 差错报文。

    2) 目的地址是广播地址或者多播地址的 IP 数据报。

    3) 链路层广播的数据报

    4) 不是 IP 分片的第一片

    5) 源地址不是单个主机的数据包。

  2. 问题五:ICMP 重定向差错报文是怎么来的,在何种场合出现?

  • 主机发送 IP 数据报给 R1,因为主机的默认路由指向的下一跳是 R1。
  • R1 收到数据报并且检查它的路由表,发现 R2 是发送该数据报的下一跳。当他将数 据报发送给 R2 的时候,发现发送的接口与接受的端口是一样的,因此同时发送一 个 ICMP 重定向报文给主机。
  • R1 接受到 ICMP 重定向报文后,接下来的数据报就发送给 R2,而不再发送给 R1。
  1. 问题六:重定向报文有什么规则?

重定向报文只能有路由器生成。 重定向报文是为主机而不是为路由器使用的

  1. 问题七:Ping 命令的具体过程是怎么样的?

    参考文章:《对于 Ping 的过程,你真的了解吗?》

原文地址:https://www.cnblogs.com/WeberBon/p/12863218.html