集线器、交换机、路由器
集线器
集线器工作在物理层。
数据到达集线器会被集线器广播到与集线器相连的所有设备上。
所有连接到集线器上的设备都是共享集线器的带宽。
整形放大的功能。
交换机
交换机工作在链路层(核心层),三层交换机(核心层在链路层,只是具备VLAN虚拟局域网的划分)。
交换机上的设备是单播通信。
交换机上所有设备独享带宽。
路由器
路由器是不同网段通信的桥梁。
1、如果目的IP和发送主机的IP不在同一个局域网,发送主机的网络层思考应该将数据发送给网关。
2、假如每台主机已经配置网关信息,数据传递到链路(封装mac地址),去arp表中查找网关的mac地址(如果没有,需要arp广播得到网关mac),src_mac为主机mac、dest_mac为网关的mac,发送出去数据就到达网关。
3、路由器收到数据:查看报文中的目的IP地址和当前路由器的哪个接口的IP是同一个网段。
1. 找到同一网段的接口,那么数据就会从该接口发送至目的主机(src_mac为接口的mac,dst_mas为主机的mac)就会从该接口发送至目的主机
2. 没有找到同一个网段接口,从路由器的“路由表”中查看“下一跳”,并确定当前路由器的那个接口和下一跳相连。将数据(src_mac为接口的mac,dst_mac为下一跳的mac)发送到下一跳,下一跳收到数据,重复上一个路由器的所有动作。
数据从一个局域网到另一个局域网(没有跨外网,在内网)
数据从应用层到传输层,封装源端口、目的端口,数据到达网络层封装原IP、目的IP,并查看目的IP是不是当前局域网,不是当前局域网,数据交给网关,数据传递到链路层,链路层在arp表中查找网关的mac,如果有,修改原mac为主机mac, 目的mac为网关mac,数据发送到网关,如果arp表中没有记录网关的mac地址,将调用arp协议广播得到网关的mac地址,并更新arp表,并修改原mac为主机mac,目的mac为网关的mac,数据从主机的网卡发送到网关,网关的路由器收到数据后,先进行分析数据包中的目的网段是否和路由器的某一个接口的网段是同一个网段,如果是,数据就从该接口发送到目的主机,原mac为接口的mac,目的mac为主机的mac,如果报文中的目的IP,与路由器中的所有接口都不在同一网段,这时候路由器会查看路由表,查看下一跳,并确定路由器的哪一个接口和下一跳相连,修改原mac为接口的mac,目的mac为下一跳的mac,数据发送到下一跳,下一跳重复上一跳的所有动作传递到目的主机。