一、序言
前面web浏览器的请求报文经过IP协议包装和经过网卡的发送,终于走出了计算机,来到了局域网上,这个局域网是我们平时非常常见的,包括家庭、学校以及公司。家里通过一个路由器就可以实现所有移动设备的接入网络,虽然这个使用的协议和我们今天讨论的不一样,但是有助于大家理解局域网的概念。
在我们实验室中,只有一个与学校校园网连接的网口,所以在我们实验室为了能够所有人的台式机都能够连接上网,采用了如下图所示的结构
这就是典型的局域网结构,首先由路由器接通实验室唯一的对外网络接口,然后将路由器与交换机相连,实验室里的所有主机通过双绞线网线与交换机相连,因为交换机价格便宜以及端口很多,而路由器的可用端口很少,所以通过这种结构来实现局域网的搭建。这一篇文章就是介绍一下在局域网中这些设备的作用。
二、集线器
集线器其实很好理解,它就是一个纯粹工作的物理层的设备,对于发过来的数据包,不做任何处理的转发出去。它就是把局域网中的设备相当于直接的连接到了一起,实现了星形拓扑结构。
看这和前面的交换机很像,但只是结构上相近,功能相差很多。集线器因为只是收到1就转发1。比如一个集线器拥有8个端口,一台计算机连接在1端口,向集线器发送了一个分组,那么集线器就会直接向除了1端口的其他端口转发。因此使用集线器的局域网就会出现冲突的情况,比如1端口和2端口的两台计算机同时向网络中发送分组,两个分组就会发生冲突,所以必须使用避免冲突的协议,这里不深入了解了。
三、交换机
交换机与集线器不同,它工作在数据链路层,可以根据MAC地址来确认转发的端口是哪一个,而不需要像集线器一样,只能无脑的向所有的端口转发。交换机具有缓存区,可以实现全双工通信,相当于两个通信的计算机之间直接相连了,而且中间的信道是两个计算机独享的吗,不会发生像集线器那种冲突。交换机还是一种即插即用的设备,如果你使用过交换机就会发现,直接将双绞线网线插上交换机即可,不需要做任何的设置,那是因为交换机具有自学习的功能。
如图所示存在一个局域网,有四台计算机,交换机刚刚开始工作,它的交换表是空的(交换表在内存中,掉电就丢失了)。如果此时A想与D通信,发送了一个分组,在MAC地址中已经添加了D的MAC地址,此时因为交换表是空的,所以交换机采用了将这个分组发到2,3,4的端口上,只有D的MAC地址匹配才会被接收,此时A的MAC地址与端口就被记录在交换表中。
如果此时D的响应消息发了过了,因为在交换表中有了A的MAC地址和端口,所以匹配,将D发来的信息发送到了1端口,然后将D的MAC地址和端口添加到交换表中。
这就是交换机的自学习的功能。为了实现动态变化,假设1端口的计算机离开了局域网,交换机会在交换表中将一段时间不使用的表项删除掉。
四、路由器
路由器是工作在网络层的设备,它具有三层结构,即网路层、数据链路层、以及物理层。与工作在数据链路层的交换机不同,路由器有更加复杂的功能。包括查询路由表,分包,地址转换等。
当分组从一个端口进入到路由器之中时,首先在数据链路层检测MAC是否为这个端口的MAC地址,如果符合,那么就将IP数据报上交到网络层,根据路由表,查找应该 从哪一个端口发送出去。路由表就是由IP地址组成的对应关系的表,根据这个表可以查到通过哪个端口发送出去,就能够到达IP数据报的目的IP地址。
关注下面的,回复计算机网络,可以获得免费获得电子版。让我们一起快乐的玩编程。