链路层寻址和ARP
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;
主机和路由器具有链路层地址,同时也具有网络层地址。事实上,是主机和路由器的适配器(即网络接口)具有链路层地址。
链路层地址有各种不同的称呼:LAN地址(local area network) 、物理地址(physical address)或MAC地址(Media Access Control Address)。对于大多数局域网,MAC 地址长度为6字节,共有2的48次方个可能的地址。
MAC地址的分配:IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师协会)机构负责分配前三个字节,后三个字节由设备厂商分配;MAC地址是平面结构,节点移动到任何网络,都使用相同的MAC地址;IP地址是层次结构,节点在不同网络使用不同的IP地址。
MAC地址识别:在广播信道中,发送网卡将目的地址封装到帧中并发送,网络中所有其他网卡都会收到这个帧;接收网卡检查收到帧的目的地址与自己MAC地址是否匹配,若匹配则取出数据并上交给网络层,否则丢弃该帧。
以太网
前同步码:前7字节是10101010,最后一字节是10101011;使接收方和发送方的时钟同步,因为网卡速率是自适应的;最后一个字节,告知后续是帧。(前同步码不属于帧)
目的地址:接收方的MAC地址。接收方只接受目的地址与自己MAC地址相同的帧或目的地址为广播地址的帧,并将数据内容上交给网络层,其他情况丢弃该帧。
源地址:发送方网卡的MAC地址。
类型字段:以太网帧可为不同网络层协议(IP,ARP等)传送数据,使用该字段区分。
数据字段:存放网络层分组,若分组小于46字节,必须填充至46字节,超过1500必须分片。
循环冗余检测字段:检测帧的比特差错。
现代交换机是全双工的,这使得一台交换机和一个节点能够同时向对方发送帧而没有干扰。也就是说,在基于交换机的以太局域网中,没有碰撞,因此可以没必要再使用MAC协议
链路层交换机
交换机的任务是接收入链路层帧并将它们转发到出链路,并且交换机对于子网中的主机和路由器是透明的。
- 过滤:决定一个帧应该转发到某个接口还是应当将其丢弃。
- 转发:决定一个帧应该被导向哪个接口,并把该帧移动到那些接口
交换机的过滤和转发都借助于交换机表(switch table)完成。
交换机表一共有3个元数据:
- 一个MAC地址
- 通向该MAC地址的交换机接口
- 表项放置在表中的时间
交换机的优点
- 消除碰撞,没有因碰撞而浪费的带宽
- 异质的链路,局域网中的不同链路能够以不同的速率(如100Mbps和1Gbps)并且能够在不同的媒体(如铜线和光纤)上运行
- 管理,易于进行网络管理
- 自学习的,是即插即用设备
交换机和路由器的差别
- 交换机处理第二层的帧,而路由器必须处理高至三层的数据报。
- 交换机对广播风暴不提供任何的保护措施,而路由器对第二层的广播风暴提供了防火墙的保护。
- 交换机是即插即用的,而路由器和连接到它们的主机都需要人为地配置IP地址。
交换机和路由器的选择
由几百台主机组成的小网络通常有几个局域网网段,对应这些小网段,交互机就足够了。