概述
目录
一、集线器
1.1 集线器的定义
1.2 集线器的特点
二、 交换机(Switch)
2.1 交换机的定义
2.2 交换机工作流程(桥接)
2.3 案例
2.4 练习题
三、路由器(Router)
3.1 子网
3.2 路由
3.3 案例
Q1:源主机如何判断目的主机与自己是否在同一网络中呢?
Q2: 主机如何判断将IP数据报转发给哪个路由器呢?
Q3: 路由器收到IP数据报后如何转发?
Q4: 若网络中某个主机发送广播报文,路由器会如何处理呢?
3.2 练习题
四、总结
一、集线器
1.1 集线器的定义
集线器是一种将多条双绞线或光纤集合连接在同一段物理介质下的设备,通常工作在物理层。
场景1: 假设我们有两台主机A和B,我们此时通过一根网线就可以将两台主机连接起来,此时,两台主机A和B可以直接通过网线进行交互,如下图所示。
场景2:假设我们有四台主机A、B、C和D,我们此时仍通过一个集线器将主机PC连接起来,如下图所示。
此时若主机A向主机B发送一个数据包,则网络中除了主机A外所有主机都会收到这个数据包,只有主机B会接收这个数据包,主机C和主机D都会将该数据包丢弃。
1.2 集线器的特点
上述的场景中,我们可以发现集线器(Hub)有以下特点:
1)Hub采用广播方式,局域网中一台设备发送消息,则其他设备都可以收到该信息,安全性较差,这对网线资源和网卡资源都造成了极大浪费;
2)Hub采用半双工方式,任何一个设备发送数据时,其他设备必须等待;
3)Hub上所有设备共享一条宽带,若宽带是100M,共五台设备,则每台设备只有20M,网络性能收到极大限制;
针对上述存在的问题,我们引入了交换机(Switch),交换机是对集线器的升级。
二、 交换机(Switch)
2.1 交换机的定义
交换机是一种用于光(电)信号转发的网络设备,通常工作在数据链路层,其本质功能就是根据数据包中目的MAC地址找到其对应的物理端口,将数据包发送至正确的位置。
一台交换机有很多个端口,每个端口都会有自己的编号,每个设备通过网线连接到交换机的端口时,这个端口就是一个确定的物理地址,所以在交换机中会有一张MAC地址与端口的映射表,称为MAC地址表,交换机实时维护这张映射关系表,想要与某个MAC地址通信时,只需要查看这张映射关系表,找到对应的端口,然后从对应的端口发送出去就可以了。如下图所示。
2.2 交换机工作流程(桥接)
一个数据包中会包含两个MAC地址,分别是源MAC和目标MAC,发送方的MAC地址称为源MAC,接收方的MAC地址称为目标MAC。假设交换机的的映射表已经学习完毕,交换机收到一个数据包后,交换机大致工作流程如下:
1)首先查看数据包中的源MAC和目标MAC,将源MAC与交换机的接收端口进行绑定,并写入MAC地址映射表;
2)交换机根据目标MAC地址查找,判断从哪个端口将数据发送出去。此时会出现两种情况。
情况一:查询到了关联端口,此时直接将数据包发送至相应端口,
情况二:没有查询到相应端口,此时将数据包采用广播方式发送至其他所有端口(即泛洪),若目标MAC在本网络中,则一定能收到该数据包。
2.3 案例
如下图所示,假设网络中每个主机都知道其他主机的MAC地址(不再运行ARP协议)
情景1:主机A 与主机B通信
step1: 交换机1首先进行登记工作,将主机A的MAC地址与接口号写入MAC映射表(交换机自学习);
step2: 交换机1在MAC映射表中查找主机B的MAC地址,没找到,则采用广播方式转发(泛洪);
step3:
1)主机B的网卡收到帧后,发现这是发给自己的帧,则接收该帧。
2)主机C收到后发现目标MAC与自己不符合,则丢弃该帧
3)该帧由交换机1的4口进入交换机2;
step4: 交换机2也进行登记工作,将该帧的源MAC地址写入自己的MAC映射表中;
step5: 交换机2继续对该帧进行转发,在MAC映射表中查找目标MAC地址,若没找到,则进行广播转发。主机D、主机E、主机F都会收到,但最后都会丢弃;
step6: 主机B给主机A发送数据帧,交换机1对主机B的MAC地址和端口进行登记;
step7: 交换机对主机B的帧进行转发,先查找MAC映射表,发现能找到,则直接从对应端口转发出去。
step8:主机A收到该帧后,根据目标MAC地址发现是发给自己的帧,于是接收该帧。
在情景1的基础上:主机E和主机A进行通信
step1: 交换机2首先在MAC映射表中查找主机A的MAC地址,发现主机A的MAC地址后,从对应端口发出(Switch2的2号端口);
step2: 该帧从交换机1的4口进入交换机1,交换机1首先进行登记工作;
step3: 交换机1对该帧进行转发,在自己的MAC映射表中查看主机A的MAC地址,查询到后再从对应端口发出;
step4: 主机A收到该MAC地址后,验证目标MAC地址和自身MAC地址,发现匹配,则接收该帧。
2.4 练习题
主机的MAC地址由主机名称表示,主机间的通信依次如下:
1. B -> C 2. D -> A 3. G -> D. 4. E -> H 5. C -> B 6. F -> G
请写出交换机1,2,3最终的帧交换表内容。
解:
2.5 交换机的特点
相较于集线器,我们可以发现交换机有如下优势:
1)交换机工作时,通常只有发出请求的端口的目的端口相互相应,而不会影响其他端口;
2)当交换机的两个端口工作时,并不影响其他端口的工作,不但可以工作在半双工模式,也可以工作在全双工模式;
3)交换机的每个端口都有一条独占的带宽;
4)交换机可以隔离冲突域,但不隔离广播域;
当然,在一个完整的网络中,仅依靠交换机是远远不够的。通过集线器或交换机,我们可以将很多台设备组合成一个非常大的局域网,但当网路规模较大时,信息在传输过程中出现碰撞,堵塞的情况必然会越来越严重,既不利于局域网的安全性,也不利于局域网的管理。
为解决上述问题,我们便将一个较大的网络划分为一个个小的子网。但TCP/IP协议规定,不同子网之间无法直接通信,如果要通信,则需要通过网关来转发。路由器有两种接口,分为WAN口和LAN口,WAN口用于接入运营商网络,LAN口用于连接家用网络设备,因此路由器就是一个非常普遍的网关设备(一般情况下,如果路由器忽略WAN口,只用LAN口,则和交换机基本没有区别)。
三、路由器(Router)
路由器是网络中进行网间连接的关键设备,处于网络层,其主要工作就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的站点。路由器可以将不同网络、网段或VLAN之间的网络设备连接在一起,从而构成一个更大的局域网或广域网。
3.1 子网
我们将IP地址与子网掩码按位做“与”运算,若结果相同,则IP地址属于同一子网。例如:若子网掩码为255.255.255.0,则IP地址为192.168.1.10的设备与另一台IP地址为192.168.1.x的设备属于同一个子网。因此子网掩码大小与子网内IP地址数量息息相关,我们可以得到如下结论:
1)想要扩大子网中IP地址的数量,则调小子网掩码即可
2)想要减少子网中IP地址的数量,则调大子网掩码即可
3.2 路由
所谓路由就是指通过相互连接的网络把信息从源地点移动到目标地点的活动。TCP/IP协议规定,不同子网之间无法直接通信,如果要通信,则需要通过网关来转发。网关配置了两个网卡,分别配置了属于子网1和子网2的IP地址,可以在两个网络之间转发数据包,如下图所示。
若子网1中的计算机A发送数据包时,则大致流程如下所示:
step1: 计算机A首先根据目标IP地址判断接收方是否跟自己属于同一子网,若是同一个子网,则直接从网卡发出;若不是同一个子网,则把数据包目标MAC地址改为网关MAC地址,并将数据包发送给网关;
step2: 网关收到数据包后,通过路由表查询到目标主机属于子网2,网关修改目标MAC地址为计算机B的MAC地址,修改源MAC地址为自己的MAC地址,然后从子网2的网卡发出。
对于上述根据目标IP判断如何发送数据包的行为称为路由。
3.3 案例
Q1:源主机如何判断目的主机与自己是否在同一网络中呢?
假设主机C要给主机F发送IP数据报,
step1:首先主机C将自己的IP地址(192.168.0.3)与子网掩码(255.255.255.128)相与,得到了主机C的网络地址(192.168.0.0);
step2:主机C将主机F的IP地址(192.168.0.131)与自己的子网掩码(255.255.255.128)相与,得到主机F的网络地址(192.168.0.1);
step3:主机C的网络地址和主机F的网络地址不相等,所以两台主机不在同一子网中,两台主机间的通信属于间接交付,故主机C需要将IP数据报传给路由器,由路由器转发给主机F。
Q2: 主机如何判断将IP数据报转发给哪个路由器呢?
为了让本网络中的主机能够和其他网络中的主机进行通信,就必须指定一个本网络中的路由器,由该路由器负责转发数据报,所指定的路由器也被称为默认网关。本例中,我们将路由器的接口的IP地址指定给该接口所直连网络中的各个主机作为默认网关。 此时,本网络中的主机要和其他网络中的主机进行通信时,会将IP数据报传输给默认网关,由默认网关帮主机转发数据报。
Q3: 路由器收到IP数据报后如何转发?
step1: 路由器首先检查IP数据报首部是否出错,若出错则丢弃并通知源主机,若没有出错,则进行转发操作;
step2: 路由器根据IP数据报的目的地址在路由表中查找匹配条目,若找到匹配条目,则转发给条目中指示的下一跳,若找不到则丢弃该IP数据报并通告源主机,案例中的路由表大致如下所示:
step3: 路由器根据数据报中的目的IP地址,在自己的路由表中逐条检查路由条目,将目的地址与路由条目中的地址掩码相与得到目的网络地址,若计算得到的网络地址和路由条目中的网络地址不相同,则说明不匹配,再检查下一条路由条目,若查询到匹配的,则按照其下一跳指示转发数据报。
Q4: 若网络中某个主机发送广播报文,路由器会如何处理呢?
路由器收到任何的广播报文,都不会对其转发,即路由器可以隔离广播域。因为如果一个网络中有很多路由器,每个路由器收到广播IP数据报后都进行转发,则会造成巨大的广播风暴。
3.2 练习题
某网络拓扑如下图所示,其中路由器内网接口、DHCP服务器、WWW服务器与主机1均采用静态IP地址配置,相关地址信息见图中标注;主机2-主机N通过DHCP服务器动态获取IP地址等配置信息。若主机1的子网掩码和默认网关分别配置为255.255.255.0和111.123.15.2,则该主机是否能访问WWW服务器?是否能访问Internet?
解答:
主机1的IP地址前缀和WWW服务器的前缀都为24bit且网络前缀相同,且两个处于同一子网中 ,因此主机1可以访问WWW服务器;
由于主机1的默认网关为DHCP服务器(111.123.15.2),由于DHCP服务器不具有路由器的功能,所以无法将主机1的IP数据报转发给Internet。但如果将主机1的默认网关配置为路由器接口的IP地址(111.123.15.1),则主机1便可以访问Internet。
四、总结
Hub | Bridge | Router | |
工作层次 | 物理层 | 数据链路层 | 网络层 |
使用场景 | 小型局域网内 | 连接不同局域网 | 连接不同网域 |
转发依据 | 泛洪 | 基于目的MAC地址 | 基于目的IP地址 |
最后
以上就是饱满香水为你收集整理的[网络基本概念] Bridge / Router一、集线器二、 交换机(Switch)三、路由器(Router)四、总结的全部内容,希望文章能够帮你解决[网络基本概念] Bridge / Router一、集线器二、 交换机(Switch)三、路由器(Router)四、总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复