网络,从一部电脑、一张网卡开始……

一台电脑有了网卡,网线,就可以连上网络了。

最早:一台电脑连另一台电脑,就形成LAN

两台电脑用交叉线相连。

配置两台电脑的IP地址、子网掩码和默认网关。这三者需要配置成一个网络。

例如机器A:192.168.0.1/24 192.168.0.2/24

进一步:三台电脑怎么连,用集线器,hub

集线器没有大脑,完全在物理层工作,它将自己收到的每一个字节,都复制到其他端口上,也即是广播模式。

这时有疑问:

1、一个主机把包给发出来,发给谁,应该谁接?

2、大家都发送,会不会混乱?有没有谁先谁后的规则?

3、如果发送的过程出现错误,怎么办?

这三个问题,都是数据链路层mac层要解决的问题,一个一个来说。


1、发给谁,谁来接?

这里用到mac地址,一个二层包头包括源mac,目的mac。发出来后,mac地址与目的mac一致的主机就把包给留下来。


2、大家都发送,会不会混乱?

这里涉及到媒体访问控制(其实也是mac的全称:medium access control)

控制是什么?就是控制在媒体上发数据时,谁先发,谁后发的问题,这是mac层的主业。

规则就是:多路访问。一般有几种方式:

---1)分多个车道,你走你的,我走我的。这叫信道划分;--->问题是带宽得不到重复应用。可能有的车道忙死,有的车道闲死;

---2)单双号出行制。也叫轮流协议。

---3)不管三七二十一,有事就出门,发现特堵就先回家待会。这叫随机接入协议--->以太网就用这种协议。简单粗暴。

3、如果发送的过程出现错误,怎么办?

对于以太网,第二层的最后有CRC校验码,通过异或算法,来计算这个包是否在发送过程中出现错误。

进一步:弄一台交换机,宿舍几台电脑连上交换机,组成局域网

交换机是个二层设备,但是它很聪明,会学习mac地址。

一台mac1电脑将一个包发送给另一台mac2电脑,当这个包到达交换机的时候,一开始交换机也不知道Mac2的电脑在哪个口,所以没办法,只能将包转发给除了来的那个口之外的其他所有的口。

但是,交换机会干一件聪明的事情,就是把这些信息都存储起来,下一次就知道mac1和mac2都分别对应哪个端口了,就可以把包发给对应的端口。这叫交换机的转发表。

你可能感兴趣的:(网络,从一部电脑、一张网卡开始……)