一、网段划分的思想
在构建一个包含1000台电脑的网络时,单纯依赖交换机和集线器的网络架构存在一些显著的不足。在这种情况下,我们不得不连接大量的交换机和集线器,以满足所有电脑的连接需求。然而,这样的串联结构引发了一个严重的问题——广播洪范。广播洪范是指当网络中的一台设备发送广播消息时,该消息将被传递到网络中的所有设备,无论它们是否是消息的目标。随着网络规模的扩大,广播洪范将变得更为严重,导致网络效率下降和传输延迟增加。
互联网的目的是使所有设备都能相互发送消息,在多个设备的网络中,我们可以将这些设备分为不同的网段,再用一个设备将这些网段链接起来,缩小广播域,减少广播洪范。 路由器就完美的解决了整这个问题。
我在网络1一台设备发送消息给网络2的一台设备,由于路由器的能够隔离广播域(即使路由器不隔离交换机广播,只通过mac地址也很难去定位到另外的一个网段mac地址,因为其需要不断的广播,找到对应的设备)消息包并不能传输到网络2中,因此路由器引入IP地址概念。路由器相对于交换机更智能,其有更庞大的存储结构和寻路算法,通过IP地址路由器能够游刃有余帮助消息包找到对应的地址,路由器是网络层的设备,网络层是点到点网络层次的最高层次。
二、IP地址
1、IP地址概述
P地址是Internet中主机的标识,严格的来说,是连接设备的网络接口的标识,,目Internet中的主机要与别的机器通信必须具有一个IP地址前最常用的IP地址是IPV4,表示形式:常用点分形式,如202.38.64.10,最后都会转换为一个32位的无符号整数,由前缀码、络号和主机号组成。网络号标识一个网段(如上图中的网络1,网络2),主机号用于标识一个该网络中的具体设备(比如网络1中的某个设备)。根据不同位数前缀码、网络号和主机号可以将IP地址分为五类地址。
2、特殊的IP地址
①主机号全为"0"的地址为网络:通俗理解,一般用来表示某个网络
②主机号全为"1"的网络地址用于广播:同时向同一子网所有主机发送报文,当报文中标识IP收件方的IP地址主机号全为1时,表示该报文用来广播。③私有地址,私有地址可以自己组网时用,但不能在Internet网上用
包括:
10.0.0.0-10.255.255.255
172.16.0.0-172.131.255.255
192.168.0.0-192.168.255.255④环回地址,127.0.0.0网段
3、IP地址举例
假设网络1和网络2都是B类地址,网络号分别为155.155.0.0,和155.156.0.0
4、IP地址与MAC地址
既然Internet中的主机要与别的机器通信必须具有一个IP地址,那么一个IP地址就能定位一个主机,这时候有人或许认为MAC地址就没有用了,其实并不是。MAC地址确保了在同一局域网中,每个设备都有一个独特的身份标识,而不会与其他设备冲突,在局域网内,不同设备之间的通信不一定需要经过路由器。虽然IP地址涉及的路由算法会让信息在广域网中传输更高效,但是在局域网中,数据在寻路时,我们仅用MAC地址就能达到寻路的效果,这时候不用IP地址反而会更高效。而且收到消息时通过两个地址确认还会保证传输的准确性,因此为了保证网络传输的高效性和准确性,我们需要将IP地址和MAC结合使用。
其实一般我们发送消息时是通过IP地址去寻址,前文提到,成MAC帧时,我们需要加入对方的MAC地址,在只知道收件方的IP地址不知道收件方对方MAC地址的情况下,数据链路层成帧的时候是怎么将收件方的地址填充进数据头的呢?这涉及到一个网络协议ARP协议,ARP协议通过IP地址得到MAC地址。
好的,让我们逐一讨论这三种情况:
① 本机通过ARP缓存得到MAC地址:
第一步:发送方检查ARP缓存表中是否有目标IP地址的对应项。
第二步:如果存在,发送方直接使用缓存中的MAC地址。
第三步:数据链路层成帧时,目标MAC地址将从缓存中取出,用于构建数据帧。
②本机没有通过ARP缓存得到MAC地址,但IP地址与自己属于一个网段:
第一步:发送方执行ARP请求,广播查询目标设备的MAC地址。
第二步:目标设备检测到ARP请求,响应并提供自己的MAC地址。
第三步:发送方收到ARP响应,将目标设备的MAC地址存储到ARP缓存中。
第四步:数据链路层成帧时,使用新获得的MAC地址构建数据帧。
③本机没有通过ARP缓存得到MAC地址,且IP地址与自己不属于同一个网段:
第一步:发送方执行子网掩码检查,确定目标设备是否在同一子网内。
第二步:如果目标设备不在同一子网,发送方将使用默认网关的MAC地址作为目标MAC地址,将数据发送给默认网关。
第三步:默认网关收到数据后,负责将数据从本子网路由到目标子网。
第四步:在目标子网内,目标设备的MAC地址由目标子网内的ARP请求和响应过程得到。
具体示例将在后面加上
三、数据报
前文提到过,数据加头加尾组成帧,在有路由器的网络中,交换机收到其他网段的消息都是要经过路由器处理的,路由器会将设备端口收到的数据变为数据包,交换机再给数据包加头加尾组装成帧。
我们将数据变为数据包的时候,数据报头一般表示在网络层传输所需要的信息,结构如下
IP数据报详细格式的详细内容可以看这篇文章IP数据报格式_ip报文格式-优快云博客
四、路由器
1、路由器的存储结构,路由表
通常情况下,每个路由器都有一个路由表。路由表是路由器用来决定如何转发数据包的关键组成部分。路由表中包含了与相邻网络之间的路由信息,告诉路由器数据包应该通过哪个接口发送,以达到目标网络。路由表的内容一般包括:
①目标网络地址: 指示数据包的目标网络的IP地址或地址范围。
②子网掩码:子网掩码一般用于将网络进一步划分为若干子网,以避免主机过多而拥堵或过少而IP浪费。子网掩码的作用划分网络将是IP地址的前任意位作为网络地址,而非A类的8位,B类的16位,C类的24位,比如255.255.128.128/15(n,0<n<32),表示前15(n)位作为网络地址,子网掩码前n位为1,后n位为0,下图的子网掩码为1111 1111 1110 0000 0000 0000 0000,转换为10进制的IPV4。
③下一跳(网关)(Next Hop)信息: 指示数据包应该被发送到哪个邻近路由器或下一个网络设备。
④出接口(Outgoing Interface): 指示数据包应该通过路由器的哪个物理或逻辑接口发送。
路由表的更新与MAC表通过广播来更新不同,路由表是通过静态路由和动态路由来实现的。静态路由是手动配置的路由信息,管理员在路由器上直接设置路由表的条目。这些手动配置的静态路由不会自动更新,除非管理员手动修改它们。 动态路由使用特定的路由协议,使路由器能够自动学习和适应网络拓扑的变化。这里设立路由算法,常用的协议有RIP,BSPF和BGP协议。
与交换机的MAC表协助帧找到目的主机相似,路由器可以协助数据包找到对应的网段或者目的主机。
2、家用路由器的简介
路由器应该是大家最熟悉的网络结构,在这里我说家用路由器其实就是本文所提及的交换机和路由器的结合体,你信吗?
大家看一下自家的路由器,大概都是这个样子:
我的路由器有一个WAN接口,和四个LAN接口。其中Wan接口就相当于路由器向外连接广域网的接口,Lan接口就相当于交换机连接内部局域网的接口,因此家用路由器的LAN接口可以直接连接多个设备(计算机、打印机等)。
3、路由器的总结
路由器是计算机网络中的网络设备,工作在网络层(第三层),用于不同网段的连接,将网络形成一个庞大的广域网:
以下是路由器的一些主要功能和特点:
- 数据包转发: 路由器能够根据目标地址信息,将数据包从源网络转发到目标网络。这涉及到查找路由表,确定最佳的路径。
- 路由选择: 路由器使用路由选择算法来确定数据包的最佳路径,以确保数据能够有效地从源到达目标。
- 网络划分和网络连接: 路由器能够实现不同网络之间的划分,并通过自身将不同网络连接起来
- 子网划分: 路由器可以将一个大网络划分成若干个子网,提高网络管理的灵活性和效率。
- 动态路由协议: 路由器可以使用动态路由协议,如OSPF(开放最短路径优先)、BGP(边界网关协议)等,来自动学习和适应网络拓扑的变化
全文: