计算机网络面试题总结(网络层)
IO协议
-
问题一:如何理解IP的不可靠和无连接
- 不可靠:指的是不能保证数据包能成功地到达目的地。发生错误的时候,丢弃该数据包,发送ICMP消息给信源端。可靠性由上层提供。
- 无连接: :IP 不维护关于后续数据报的状态信息。 体现在,IP 数据可以不按顺序发送和接收。A 发送连续的数据报,到达 B 不一定是连续的, 来回路由选择可能不一样,路线也不一样,到达先后顺序也不一样。
-
问题二: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)
-
问题 三: 为什么 IP 首部中要有总长度字段?
因为一些数据链路(以太网)需要填充一些数据以达到最小长度。因为以太网帧的最小长度 是 46 个字节,但是 IP 长度可能更短,所以需要总长度来确定 IP 数据部分的内容。
-
问题四: IP 首部校验和怎么计算的,与 ICMP,IGMP,TCP,UDP 的首部校验和有什么区 别与共同点?
- 先把校验和字段置 0。
- 对首部中每个 16 位比特进行二进制反码求和。
- 结果存在检验和字段中。
- 收到一份 IP 数据包后,同样对首部中每个 16bit 二进制反码求和。
- 最后结果全为 1,表示正确,否则表示错误。
- 如果是错误的,IP 就丢弃该数据报,但是不生成差错报文,由上层去处理。
- 共同点:用到的算法都是一样的。 区别:IP 计算的时候没有将数据包括在内。 ICMP,IGMP,TCP,UDP 同时覆盖首部和数据检验码。
-
问题五: 主机和路由器本质区别是?
主机从不把数据报从一个接口转发到另一个接口,而路由器则要转发数据报。
-
问题六: :IP 路由选择的过程是怎么样的?
根据最长匹配原则,找到条目,发送到指定的路由器。如果不能找到,返回一个“主机不可 达”或“网络不可达”的错误。
-
问题七: :IP 路由选择的特性有什么?
- IP 路由选择是逐跳进行的。 IP 并不知道到达任何目的的完整路径,只提供下一跳地址。
- ) 为一个网络指定一个路由器,而不是为每个主机指定一个路由器。 这样可以缩小路由表规模。
-
问题八: :IP 搜索路由表的步骤
搜索匹配的主机地址 ----》搜索匹配的网络地址 ----》搜索默认选项 IP 层进行的选路实际上是一种选路机制,它搜索路由表并决定向哪个网络接口发送分组。
-
问题九:如果路由表中没有默认项,而又没有找到匹配项,这时如何处理?
- 结果取决于该 IP 数据报是由主机产生的还是被转发的。
- 如果数据报是由本机产生的,那么就给发送该数据报的应用程序返回一个差错,或者是“主 机不可达差错”或者是“网络不可达差错”。
- 如果是被转发的数据报,就给原始发送一份 ICMP 主机不可达的差错报文。
-
问题十: IP 地址的分类,如何划分的,及会计算各类地址支持的主机数
- A 类地址:首位为 0,1.0.0.1~~126.255.255.254;主机号 24 位
- B 类地址:首位为 10,128.0.0.1~~191.255.255.254;主机号 16 位
- C 类地址:首位为 110,192.0.0.1~~223.255.255.254;主机号 8 位
- D 类地址(多播地址,也叫做组播地址):首位为1110,224.0.0.1~~239.255.255.254 ~~
- E 类地址:此类地址是保留地址,首位为 11110,240.0.0.1~~254.255.255.254
ICMP协议
- 问题一:ICMP 的层次和作用。
ICMP 一般认为是在三层的。主要传递一些差错报文和其他需要注意的信息。
- 问题二:ICMP 报文的分类?
ICMP 分为两类,一类是 ICMP 查询报文,另一类是 ICMP 差错报文。
3. 问题三:ICMP 的主机不可达报文是在什么情况下发出的?
三层设备(路由器)给该主机寻路时,没有找到相应路径,向源 IP 发回 ICMP 主机不可达
-
问题四:什么情况不会导致产生 ICMP 差错报文?
1) ICMP 差错报文。
2) 目的地址是广播地址或者多播地址的 IP 数据报。
3) 链路层广播的数据报
4) 不是 IP 分片的第一片
5) 源地址不是单个主机的数据包。
-
问题五:ICMP 重定向差错报文是怎么来的,在何种场合出现?
- 主机发送 IP 数据报给 R1,因为主机的默认路由指向的下一跳是 R1。
- R1 收到数据报并且检查它的路由表,发现 R2 是发送该数据报的下一跳。当他将数 据报发送给 R2 的时候,发现发送的接口与接受的端口是一样的,因此同时发送一 个 ICMP 重定向报文给主机。
- R1 接受到 ICMP 重定向报文后,接下来的数据报就发送给 R2,而不再发送给 R1。
- 问题六:重定向报文有什么规则?
重定向报文只能有路由器生成。 重定向报文是为主机而不是为路由器使用的
-
问题七:Ping 命令的具体过程是怎么样的?