网络层学习常见问题及答案整理

问题0:ARP解析协议的定义和特点

ARP(地址解析协议)高速缓存表用于存储IP地址到MAC地址的映射关系。当一台主机需要将IP数据包发送到同一局域网中的另一台主机时,它需要知道目标主机的MAC地址,以便在以太网帧中使用。ARP高速缓存表就是用来存储这些映射关系的,以便快速查找和使用。

ARP高速缓存表的特点

缓存:通过在本地缓存IP地址到MAC地址的映射关系,主机可以减少发送ARP请求的次数,从而减少网络上的广播流量。

需要时已有目标IP地址则直接使用:当主机需要发送数据包时,如果ARP高速缓存表中已经有目标IP地址对应的MAC地址,它可以直接使用这个地址,而不需要等待ARP请求的回应,从而加快了数据包的发送速度。

旧数据超时自动删除:ARP高速缓存表中的条目通常有一个超时机制,过期的条目会被自动删除。这有助于保持表的更新,以适应网络配置的变化,从而维护网络的稳定性。

注:

问题1: 同一个网络中的不同主机可以直接通信,称为"直接交付",不同网络中的主机不可以直接发送信息,只能通过路由器中转发送,称为"间接交付"。那源主机如何判断目的主机和自己是否在同一个网络里呢

一个主机的IP地址和自己的子网掩码相与,会得到该主机所在的网络号。

假设主机C要给主机F发送数据,那主机F的ip地址肯定是已知的。就拿主机F的ip地址和主机C自己的子网掩码相与,看看和主机C所在的网络号是否相等,如果相等,那主机C和F就是在同一个网络里,否则就不在同一个网络。

问题2:那么假设主机C和主机F不在同一个网络里,主机C又是怎么知道该交由哪一个路由器转发信息呢?

我们可以将某个路由器的某接口的IP地址指定给该接口所直连网络中的每个主机,又称为"默认网关"。当本网络的主机需要和其他网络的主机通信时,会将IP数据报发送给默认网关,由默认网关帮主机把ip数据报转发出去。

问题3:当发生间接交付时,路由器收到IP数据报后又是如何完成转发的呢?

1、检查收到的IP数据报是否正确:例如生存时间是否结束;首部是否误码;

若不正确,则丢弃该IP数据报,并向发送该IP数据报的源主机发送差错报告。

2、基于IP数据报首部中的目的IP地址在路由表中进行查找。

若找到匹配的路由条目,则按该路由条目的指示进行转发,否则丢弃该IP数据报,并向发送该IP数据报的源主机发送相应的ICMP差错报告。

在我们给路由器的接口0配置IP地址和地址掩码后,路由器就可自行得出自己的接口0所直连网络的网络地址和地址掩码。

在我们给路由器的接口1配置IP地址和地址掩码后,路由器就可自行得出自己的接口1所直连网络的网络地址和地址掩码。

当获取到IP数据报后,路由器根据IP数据报中的目的IP地址在自己的路由表中查找匹配的路由条目。将目的IP地址与路由表各个行中的地址掩码进行逐比特与运算,若与该行的目的网络相同,则为匹配成功,路由器发现匹配的路由条目中的下一跳的指示为接口1直连。

则路由器只需通过ARP协议获取到与自己的接口1处于同一个网络中的目的主机MAC D的地址,就可将IP数据报封装成帧后发送给目的主机D。

问题4:路由器会对广播信号进行转发吗?

路由器不转发广播IP数据报,即路由器隔离广播域,如果因特网中数量巨大的路由器收到广播IP数据报后都进行转发,则会造成巨大的广播风暴,严重浪费因特网的资源。

问题5:同一个网络的不同机号如何相连?

使用交换机将同一网络的不同主机相连。

相关推荐
Dovis(誓平步青云)29 分钟前
《简易制作 Linux Shell:详细分析原理、设计与实践》
linux·运维·服务器
wheeldown1 小时前
【Linux】Linux 进程通信:System V 共享内存(最快方案)C++ 封装实战 + 通信案例,4 类经典 Bug 快速修复
linux·运维·服务器·开发语言
Ching·1 小时前
linux系统编程(十②)RK3568 socket之 TCP 客户端的实现
linux·tcp/ip·rk3568
AORO20252 小时前
防爆手机与普通手机有什么区别?防爆手机哪个牌子好?
运维·服务器·网络·5g·智能手机·信息与通信
爱倒腾的老唐2 小时前
29、构建可视化日志管理服务器
运维·服务器
小王C语言2 小时前
封装红黑树实现mymap和myset
linux·服务器·算法
对岸住着星星2 小时前
断电重启后自动重连WiFi并分配固定IP的Armbian脚本
服务器·网络·tcp/ip
爱上妖精的尾巴3 小时前
5-22 WPS JS宏reduce数组的归并迭代应用(实例:提取最大最小值的记录)
服务器·前端·javascript·笔记·wps·js宏
望获linux3 小时前
【实时Linux实战系列】FPGA 与实时 Linux 的协同设计
大数据·linux·服务器·网络·数据库·fpga开发·操作系统
武文斌773 小时前
复习总结最终版:计算机网络
linux·开发语言·学习·计算机网络