Linux网络子系统

邻居子系统

根据路由表,如果下一个跃点在同一网络中(也就是下一个跃点是邻居),邻居层就把目的L3地址解析为跃点的L2地址。这个关联就被放入缓存以便将来再次使用。这样的话,如果某个应用程序短期内发送多个封包给另一个应用程序,那么只在发送第一个封包的时候使用邻居协议。

点对点连接、广播、多播都不需要L2的头部信息?,因此也不需要L3到L2的映射。其他传输使用共享介质,因此需要一个L2头部信息。该信息可能来自邻居子系统的缓存,或是来自邻居系统向网络发出的请求。

在现在的IP网络中使用两个邻居协议,绝大多数系统使用IPv4中的ARP协议。另一个更通用的协议是邻居发现协议(Neighbor Discovery, ND),它也是为IPv6开发的。尽管ARP是一个L3协议,但其任务已被IPv6的设计者们移到了L4。ND协议在IPv6中作为Internet消息控制协议(ICMP)的一部分。

在一些大型网络的主机中,管理ARP请求是使用成为arpd的用户空间守护进程,而不是让内核自己负责。

路由

默认网关通常作为0.0.0.0/0路由,就是当没有其他到达目的地的确认路由时使用的路由。(有些拓扑结构中默认网关是不需要的。 比如“ARP代理服务器作为路由器”)。一个连接到Internet的主机默认路由器(通常由ISP指定)。另一方面,路由器可以配置为默认路由器,也可以不是默认路由器。主要依据该路由器在网络拓扑结构中的位置和其扮演的角色。

你可能感兴趣的:(Linux)