以太网学习日志

    将最近学习的内容进行记录,如果能对你有所启发,那再好不过了,有问题欢迎交流。关键词解析如下, 

以太网

    以太网帧格式

    MAC地址

    交换机

    VLAN

    VLAN的帧结构       

    FDB

    二层转发

网络层

    IP地址

    子网

    VLSM和CIDR

    路由

    三层转发


以太网

以太网是一种协议格式,编号为802.3。就像Wi-Fi的协议标准为802.11一样,每种协议都有自己的编号。

计算机网络模型有两种,一种是OSI参考模型,这是最标准的。TCP/IP模型是实际使用时候最常见的模型。至底向上为一至五层,以太网即是作用于物理层和数据链路层的协议。

以太网帧格式

以太网帧格式,物理层这部分可以不用理会,主要关注链路层。链路层只要知道自身和目标的物理地址,即可进行通信。

MAC地址

MAC地址即物理地址,表示的是网卡的物理设备地址,可以人为修改。

其中MAC地址的第一字节的最低位为1,表示为组播地址;最低位为0,表示单播地址。单播表示一对一,组播表示一对一组,广播表示一对所有。

交换机

在网络中,两个设备很可能不是直接连接的,需要一些中转设备。作用在二层的中转设备就有网桥。网桥:两个端口,从一端接收数据,进行校验后,从另一端转发出去。

网桥一般只有两个端口,而交换机具有高密度端口,且速率更快。可以说交换机就是多功能网桥。

VLAN

二层交换机在转发报文的时候,是进行直接广播的。当设备较多时候,占有资源也较多。于是有了VLAN(虚拟局域网),即在软件层面对设备进行分组,只接收自己组的报文,不接收其他组的报文。


使用VLAN有两大好处:

1、安全。不属于同一个VLAN端口不能进行通信。可以将不同类别主机划分为不同VLAN端口,保证两者不接触。

2、便捷。当网络中拓扑结构发生变化时候,不需要去拔插端口来进行更换,通过修改VLAN就可以管理组。

VLAN的帧结构

VLAN的帧格式,即在以太网的帧格式中加入了4Bytes,TPID为VLAN的标识,固定为0x8100,VLAN的协议号为802.1Q。TCI中包含了VLAN的优先级和VLAN ID,即区分不同VLAN的端口号。

FDB

有不同的VLAN后,交换机在进行转发报文的时候需要一定的策略。MAC Filter Database,也称为MAC地址表,用于储存报文向哪个端口转发/过滤的决策。在报文转发的时候需要关注三个表项:MAC表、ARP表、路由表。

二层转发


以一个例子来描述二层转发的过程。PC1 ping PC2的流程:

1、PC1先通过目的地址和掩码进行“与”操作,得到PC2与自己在同一个子网内。“10.10.10.2”&“255.255.255.0”==“10.10.10.1”&“255.255.255.0”。

2、PC1要发送到PC2,需要知道PC2的MAC地址,于是PC1以广播的形式发送ARP包。ARP协议即通过IP获取MAC地址的协议。

3、交换机接收到PC1的ARP包,对它进行继续转发广播。同时交换机的MAC表进行更新,因为已经知道PC1和交换机哪个端口对应了,即PC1的MAC+VLAN 10->output:端口1。

4、PC2在广播中收到了ARP包,学习了PC1的MAC地址和IP地址,更新PC2的ARP表,即10.10.10.1<->PC1的MAC。同时PC2对ARP表进行回应,同时放入自己的MAC地址。

5、交换机转发,同时更新MAC表:PC2的MAC+VLAN10->output:端口2。

6、PC1收到PC2的ARP包,就知道PC2的MAC地址了,可以进行通信了。同时更新PC1的ARP表,即10.10.10.2<->PC2的MAC。


网络层

网络层即L3层,主要功能为:提供主机到主机的传输服务,包括寻址和路由。

IP地址

IP地址分类如下,记住A、B、C类即可。A与B类分界线为128;B与C类分界线为192;C与D类分界线为224;D与E类分界线为240。

子网掩码

在A、B、C类中网络号和主机号固定死了,有些时候需要的网络数可能介于两类地址之间,为了不造成IP地址的浪费,于是催生了子网掩码。

举例:IP地址 192.168.100.100

子网掩码:255.255.255.0

则网络地址为:192.168.100.0

处于同一个子网内的地址,网络地址都是一致的。

VLSM和CIDR

VLAM和CIDR都具有对子网掩码重新划分的能力。对一个A类地址10.10.10.1,子网掩码为255.255.240.0。即正常子网掩码为8位,但是现在为20位,这就是网络号向主机号借了12位。子网掩码比原来的长称为VLAM,相对的,子网掩码比原来的短称之为CIDR。

举例:一个企业分配IP地址为128.45.0.0,现需要10个子网,则子网掩码是多少?前10个子网是多少?

解:由于需要10个,最接近的即2^4=16,所以还需要4位子网掩码。而B类自带掩码是16位,所以最终子网掩码为255.255.240.0。

子网从255.255.0000 0000.0、255.255.0001 0000.0、255.255.0010 0000.0、255.255.0011 0000.0一直往后,即255.255.0.0、255.255.16.0、255.255.32.0、255.255.48.0……

路由

在二层转换中,通过交换机进行转发。如果要实现不同VLAN间的通信,则需要路由,路由位于L3层。路由的功能可以由路由器或者三层交换机来实现。路由表即表示这个IP地址发来的数据报应该往哪个方向发。


路由表由3部分组成:D(目标IP)、M(掩码)、N(下一跳位置),路由器B的路由表如下

子网掩码            要达到的网络    下一路由器

255.255.0.0        10.2.0.0            直接投递

255.255.0.0        10.3.0.0            直接投递

255.255.0.0        10.4.0.0            10.3.0.7

三层转发

二层转发只经过交换机、不需要跨VLAN;三层转发需要跨VLAN,必须经过网络层,即通过网关(路由器/三层交换机)来转发。

网关,表示是子网的关卡,子网外的时候要先经过网关才能进入子网,子网内的数据要先经过网关才能出去。


PC1与PC2处于两个不同的子网,PC1要与PC2进行通信需要进行的操作。

简略来写:

1、PC1与子网掩码“与”操作后发现PC2不在同一个子网,于是向PC1的默认网关1.1.1.1发ARP包。

2、PC1和交换机连通后,PC1发送ICMP包。

DMAC:三层交换机

SMAC:PC1

SIP:1.1.1.1

DIP:2.1.1.2

3、三层交换机找到2.1.1.2应该从2.1.1.1的端口出去,但是不知道PC2的MAC,于是三层交换机也要向PC2发一次ARP包。

4、PC2和交换机连通后,交换机转发ICMP包到PC2。

DMAC:PC2

SMAC:三层交换机

SIP:1.1.1.1

DIP:2.1.1.2

注意点:在路由转发ICMP包过程中,MAC地址会变,但是IP地址是不变的。发送ARP包时候MAC地址、IP地址都会变。

你可能感兴趣的:(以太网学习日志)