目录
3.1 引言
城域网(Metropolitan Area Network,MAN):ISP有线电视,DSL。
3.2 以太网
MTU值计算不包含以太网头。
两种以太网标准:
Ethernet II:
DIX(DEC Inter Xerox)开发的,大多以太网数据包是该标准。
使用场景:用于较为简单网络环境,如家庭网络、小型网络。
IEEE 802.3:
IEEE在Ethernet II基础上修改为IEEE 802.3。
使用场景:用于更严格的网络环境,如企业网络、数据中心等高可靠性和灵活性场景。
早期10Mb/s以太网,即共享以太网,需检测碰撞CSMA/CD,介质是电缆。
20世纪90年代初,10Mb/s共享电缆被双绞线10BASE-T代替,共享线路被专用星型拓扑代替,即以太网交换机。
有了交换机就不需要CSMA/CD了,而是全双工工作。
链路层分为:
逻辑链路控制LLC层:
作用:错误检测和流量控制等功能。
不同链路层都通用。
介质访问控制MAC层:
作用:地址分配、帧封装和解封装。
不同链路层各自实现。
IEEE802.3以太网是异步的,帧格式如下:
前导:7字节,同步,确定一个帧到达时间。
帧开始符SFD:1字节,恢复时钟
长度/类型:
值大于1536,表示类型(即网络层协议,常见)
值不大于1500,表示长度。
Q标签帧:包含802.1p/q,属于信封帧,但信封帧不一定是Q标签帧。
FCS采用CRC算法。
最小以太网帧64B, 其中负荷最小48B。
最大以太网帧1518B, 其中负荷最大1500B=MTU。
千兆交换机可用非标准的巨型帧,高达9000B,但和传统以太网设备不兼容。
802.1Q = VLAN
vconfig命令: 添加或删除虚拟接口,设置802.1p优先级。
vconfig add eth1 2:会生成eth1.2接口。
802.1AX:以前的802.3ad 链路聚合 : 802.1AX定义LACP链路聚合控制协议,交换机,主机均可支持
多个网口绑定聚合,可提高性能和可靠性。
Linux实现:
modprobe bonding
ifconfig bond0 10.0.0.111 netmask 255.255.255.128
ifenslave bond0 eth0 wlan0
ifconfig bond0显示有MASTER标志,而eth0和wlan0有SLAVE标志,bond0默认使用第一个从设备MAC。
加载bonding驱动参数指定了聚合接口发送数据的模式(模式有:循环交付,备份,源目MAC异或选择接口,全复制,负载均衡等)。
LACP:通过LACPDU确定链路成员。
当网络设备间支持LACP协议时,Bonding驱动可以通过LACP协议进行链路聚合。
3.3 全双工 省点 自动协商 流量控制
ethtool工具可查看双工。
802.3u:自动协商,在物理层通过信号发送,不影响数据收发。
ethtool -s eth0 wol umgb
wol:局域网唤醒功能,可省电。
umgb含义:
指明 可触发唤醒的动作:物理层活动p, 单播帧u,组播帧m,广播帧b,ARP a,魔术分组帧g
Linux命令wol 00:08:74:93:c8:3c:
向MAC为00:08:74:93:c8:3c的设备发送WOL魔术包。唤醒设备。
PAUSE帧:
一种链路层流量控制,802.3x定义,以太网type=0x8808,目的MAC总是01:80:C2:00:00:01,表明发送方暂停多久再次发送。PAUSE帧是唯一一种使用MAC控制帧的帧类型,有副作用,目前使用少。
3.4 网桥和交换机
IEEE802.1d 生成树协议
Windows可以像Linux一样桥接多个网口。
Linux实现桥接方法:
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl showmacs br0 查看网桥的MAC地址表,信息包括: port no MAC aging timer,该表老化时间默认5分钟
生成树协议(Spanning Tree Protocol,STP):通过禁止或阻塞一些交换机端口,创建一个无环路的网络拓扑。
STP端口状态:阻塞,侦听,