前言:现在从事的嵌入式产品设计,很多都是基于TCP/IP的,要求研发的设备能够接入广域网进行远程设置和访问,这就涉及到了路由的工作原理和路由器的使用。包括家庭中用到的ADSL、无线路由器以及在工业现场使用的企业及路由器、交换机,自己都曾接触和使用过,但一直都停留于表面的操作理解。现在由于产品研发的需要,希望能够进一步加深对路由器内部运行机制的理解,澄清一些模糊的认识,所以特写此文。
在阅读此文之前,我们先界定一下主机的概念:主机是连接到一个或多个网络的设备,它可以向任何一个网络发送和从其接收数据,但它从不把数据从一个网络传向另一个。说的直白一些,1台主机就是网络中用于连接的1台设备。
1、为什么要使用路由器?
现在我们从事嵌入式产品设计,要接触到很多网络的概念,例如以太网、wifi网、485网络、MBUS网络、CAN网络、Zigbee网络等等。我们在进行项目的深入研发过程中,就会注意到一个非常重要而且突出的问题,就是“单一网络中的主机的数目是有一定限制的,不能够无限增大”。 在单一网络中,过多的主机会导致如下问题:
在阅读此文之前,我们先界定一下主机的概念:主机是连接到一个或多个网络的设备,它可以向任何一个网络发送和从其接收数据,但它从不把数据从一个网络传向另一个。说的直白一些,1台主机就是网络中用于连接的1台设备。
1、为什么要使用路由器?
现在我们从事嵌入式产品设计,要接触到很多网络的概念,例如以太网、wifi网、485网络、MBUS网络、CAN网络、Zigbee网络等等。我们在进行项目的深入研发过程中,就会注意到一个非常重要而且突出的问题,就是“单一网络中的主机的数目是有一定限制的,不能够无限增大”。
a、带宽资源耗尽;
b、每台设备都会浪费很多时间处理无关的广播数据;
c、网络变的无法管理,任何错误都可能导致整个网络瘫痪;
d、每台主机都可以监听到其它设备的通信。 上述问题只有通过网络分段加以解决,但同时我们又必须提供一个很好的机制能够让不同网段之间的设备进行通信。这也就是“网络为什么要分段?”、“OSI 7层网络协议”和 “TCP/IP 4层网络协议”的由来。下图列出了“OSI 7层网络协议”、“TCP/IP 4层网络协议”,以及后三层所对应的硬件设备的对应关系。在这里还需要注意的是OSI只是提供了一个网络模型,我们在以太网具体应用时,使用最多的是TCP/IP协议(4层)。
b、每台设备都会浪费很多时间处理无关的广播数据;
c、网络变的无法管理,任何错误都可能导致整个网络瘫痪;
d、每台主机都可以监听到其它设备的通信。 上述问题只有通过网络分段加以解决,但同时我们又必须提供一个很好的机制能够让不同网段之间的设备进行通信。这也就是“网络为什么要分段?”、“OSI 7层网络协议”和 “TCP/IP 4层网络协议”的由来。下图列出了“OSI 7层网络协议”、“TCP/IP 4层网络协议”,以及后三层所对应的硬件设备的对应关系。在这里还需要注意的是OSI只是提供了一个网络模型,我们在以太网具体应用时,使用最多的是TCP/IP协议(4层)。
OSI 7层网络协议:
b、Data Link:数据链路层,数据链路层在不可靠的物理介质上提供可靠的传输。对应的连接设备:网桥、交换机。
c、Network:网络层,网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能。对应的连接设备:路由器。
d、Transport:传输层,传输层是第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。
e、Session:会话层,会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。
f、Presentation:表示层,表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。
g、Application:应用层,应用层为操作系统或网络应用程序提供访问网络服务的接口。
通过以上分析,我们就可以知道路由器实际上起到的作用是完成不同段之间网络的互联,它对应OSI和TCP/IP的网络层。
2、TCP/IP V4 协议网络的分段原理
TCP/IP协议给网络中的每一个主机都会分配一个IP地址,它包含两部分信息:网络地址和主机地址。存储这些信息有两种方法:一是使用两个分离的域,这样我们必须考虑两个域的最大长度;另外一种方法是将网络地址和主机地址包装在1个域里,有时主机地址部分很短,有时主机地址部分很长,这样可以有效利用地址空间,减少地址长度。 TCP/IP协议中的IP地址就是采取后一种方法,它将网络地址和主机地址包装在一个32位的域里( TCP/IP V4),这就是我们经常使用的IP地址,例如:192.168.1.1。
最初在进行IP地址设计时,根据IP地址第1个字节的不同,将IP地址分为了3类:
a、1-126,A类:网络地址1个字节,主机地址3个字节。
b、128-192,B类:网络地址2个字节,主机地址2个字节。
c、192-223,C类:网络地址3个字节,主机地址1个字节。
d、0,127,224-255:保留不用。
基于这种方式的应用,人们发现存在诸多问题,首先就是大家熟知是IP地址的耗尽问题,其次是这种分类方法,对于同一网络地址不能在网络内做任何路由,当主机数目较多时,本文1中所提到的问题就凸显出来,尤其对于大型A类网络,只使用网桥和交换机的方法是难以管理的,所以只有在逻辑上把它分成若干小的网络才能加以解决,这就出现了1个新的域“子网掩码”。子网掩码指出地址中哪些部分是网络地址,哪些是主机地址。在子网掩码中,二进制1表示网络地址位,二进制0表示主机地址位。传统的各类地址的子网掩码为:
a、A类:255.0.0.0。
b、B类:255.255.0.0。
c、C类:255.255.255.0。
如果想把一个B类网络的地址用作C类大小的地址,可以使用掩码255.255.255.0。上面只介绍的三种子网掩码:255.0.0.0、255.255.0.0和255.255.255.0,它们是字节对齐的子网掩码。但是也可以在字节中间对其进行划分。如很小的用于点到点连接的网络(掩码 255.255.255.252,30 位的网络地址,2位的主机地址:两个主机的子网,或中型网络(如掩码255.255.240.0,20位网络地址,12位主机地址:4094 个主机的子网)。
本文介绍了“为什么要使用路由器”和“TCP/IP V4 协议网络的分段原理”2个问题,“路由及路由器工作原理深入解析2:路由原理”将对路由的具体工作原理进行解析。
注1:本文在写作过程中查阅了大量网上资料,对引用的出处未能一一注明,特表歉意。
原创性文章,转载请注明出处 http://user.qzone.qq.com/2756567163。
a、1-126,A类:网络地址1个字节,主机地址3个字节。
b、128-192,B类:网络地址2个字节,主机地址2个字节。
c、192-223,C类:网络地址3个字节,主机地址1个字节。
d、0,127,224-255:保留不用。
基于这种方式的应用,人们发现存在诸多问题,首先就是大家熟知是IP地址的耗尽问题,其次是这种分类方法,对于同一网络地址不能在网络内做任何路由,当主机数目较多时,本文1中所提到的问题就凸显出来,尤其对于大型A类网络,只使用网桥和交换机的方法是难以管理的,所以只有在逻辑上把它分成若干小的网络才能加以解决,这就出现了1个新的域“子网掩码”。子网掩码指出地址中哪些部分是网络地址,哪些是主机地址。在子网掩码中,二进制1表示网络地址位,二进制0表示主机地址位。传统的各类地址的子网掩码为:
a、A类:255.0.0.0。
b、B类:255.255.0.0。
c、C类:255.255.255.0。
如果想把一个B类网络的地址用作C类大小的地址,可以使用掩码255.255.255.0。上面只介绍的三种子网掩码:255.0.0.0、255.255.0.0和255.255.255.0,它们是字节对齐的子网掩码。但是也可以在字节中间对其进行划分。如很小的用于点到点连接的网络(掩码 255.255.255.252,30 位的网络地址,2位的主机地址:两个主机的子网,或中型网络(如掩码255.255.240.0,20位网络地址,12位主机地址:4094 个主机的子网)。
本文介绍了“为什么要使用路由器”和“TCP/IP V4 协议网络的分段原理”2个问题,“路由及路由器工作原理深入解析2:路由原理”将对路由的具体工作原理进行解析。
注1:本文在写作过程中查阅了大量网上资料,对引用的出处未能一一注明,特表歉意。
原创性文章,转载请注明出处 http://user.qzone.qq.com/2756567163。
版权声明:本文为博主原创文章,未经博主允许不得转载。