Electronic Joint Business

Solution for E-Business

Linux 内核网络之邻接子系统

当两台或者多台设备通过物理链路连接在一起时候,就构成了网络。多个网络之间还可为了信息交换和服务的目的连接在一起,构成网间网。通信网络中的两台主机要进行通信时,发送方一般都需要知道接收方是哪一个站,以确保每一帧都能正确地送到目的站。接受方也应当知道发送方是哪一个站,以便对消息做出应答。为了确认通信主体,参与通信各方一般都用“地址”来进行标识,地址的本质是一种标识符,用来表示系统中的某一个对象。而同一个系统中不允许有 2 个地址相同的通信主体存在,这就是地址的唯一性。所有的网络都要求某种形式的寻址机制,以识别设备。寻址还可以确定网络本身,或者网络的一个网段(例如子网)。 在计算机通信中,每一层协议的编址方式都不同。1。网络、子网和设备可以由 OSI 参考模型的二、三层协议来确定。硬件寻址在数据链路层(第 2 层)来确定设备。例如以太网是以烧录在网络设备中的唯一识别码作为硬件地址,当网络设备从共享的线路侦听到数据帧时,它负责检出数据帧中的目的地址,并与自己的物理地址进行比较,如二者相符,则接收;否则丢弃。而诸如 IP、IPX 协议则工作在 OSI 协议层的网络层(第 3 层)以确定网络和子网。 网络地址是为了方便寻址人为划分的地址格式,也被称为逻辑地址,也被称为3层地址。 以太网址是一种不包含位置信息的简单标识,它只是对网络设备简单加以区分。这种无位置信息的地址对局域网来说就已经足够。但对于广域网这种复杂无规则,采用点到点连线构成的总体结构,有着庞大的主机数目,使用这种无位置的标识符作为地址就面临着巨大的挑战,无论是采用局域网的广播方式,还是逐一试探,无疑都是开销巨大、笨拙不堪的做法。所以广域网必须采用有结构的地址标识符,不但标识主机,还要指出主机的位置。 之所以存在两种寻址方式,这正是 OSI 参考模型的设计初衷之一:每一层的变化都不会影响到其他层。网络层协议也不用关心物理地址的差异,无论其下一层的物理地址是什么类型,都可以被统一到一致的 IP 地址形式上。而当存在一个附加层的地址寻址时,设备更易于移动。例如以太网交换机可以无需了解具体的网络层协议,无论网络采用 IP 协议还是 IPX 协议,都无需更换一台交换机。 为了标识数据链路层的众多设备,IEEE 为 802 协议族定义了如下的寻址方式:网络设备制造商在生产网络设备时,会为每个硬件分配一个全球唯一码,称为 MAC 地址,并被固化到硬件内部,因此也叫物理地址或硬件地址。当网络设备收到数据帧时,它负责检出数据帧中的目的地址,并与自己的物理地址进行比较,如二者相符,则接收;否则丢弃。 所谓邻居就是位于同一子网内的主机,这些主机之间通过集线器直连或者通过二层交换机连接。在这种共享介质的网络架构中,任一主机发出的任何帧都会被连接到该介质上的其他主机收到。因此 无论什么网络环境物理地址都是要使用的。因为物理地址对应于网卡的接口,只有找到它才算真正到达了目的地。而IP地址是为了方便寻址人为划分的地址格式,因此IP地址也被称为逻辑地址,又因为这种结构化地址是在OSI的第3层定义的,也被称为3层地址。相应地,物理地址是在第2层定义的,被称为2层地址。IP地址是一种通用格式,无论其下一层的物理地址是什么类型,都可以被统一到一致的IP地址形式上,因此IP地址屏蔽了下层物理地址的差异。 然而现实中的网络架构十分复杂,网络层可能存在 IP、IPX、DDP(APPLETALK) 等等多种 L2 协议,而数据链路层也有 802.3、ATM、 PPP、HLDC等等协议; 比如说以太网,它的寻址系统被称为 MAC 地址。MAC 地址是预先烧录在以太网卡中的全球唯一编码。通过 MAC 地址,无论上层的网络层协议如何变化(比如非 TCP/IP 的其他协议),链路层都可以为其提供透明可靠的服务。 Linux 邻接子系统有两个职责:查找同一子网内的其他节点;实现 L2 地址(网络层)翻译成 L3 (数据链路层)地址 1. […]

, , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.