标题：路由
概念
1、路由是指路由器从一个接口上收到数据包，根据数据包的目的地址进行定向并转发到另一个接口的过程。路由通常与桥接来对比，在粗心的人看来，它们似乎完成的是同样的事。它们的主要区别在于桥接发生在OSI参考模型的第二层（数据链路层），而路由发生在第三层（网络层）。这一区别使二者在传递信息的过程中使用不同的信息，从而以不同的方式来完成其任务。
路由的话题早已在计算机界出现，但直到八十年代中期才获得商业成功。究其主要原因是七十年代的网络普遍很简单，发展到后来大型的网络才较为普遍。 
2、工程术语。指道路情况，包括道路宽度、深度、方向等信息。
原理算法
路由工作包含两个基本的动作：1、确定最佳路径 
2、通过网络传输信息
在路由的过程中，后者也称为（数据）交换。交换相对来说比较简单，而选择路径很复杂。1、路径选择metric是路由算法用以确定到达目的地的最佳路径的计量标准，如路径长度。为了帮助选路，路由算法初始化并维护包含路径信息的路由表，路径信息根据使用的路由算法不同而不同。
路由算法根据许多信息来填充路由表。目的/下一跳地址对告知路由器到达该目的最佳方式是把分组发送给代表“下一跳”的路由器，当路由器收到一个分组，它就检查其目标地址，尝试将此地址与其“下一跳”相联系。下表为一个目的/下一跳路由表的例子。  路由路由表还可以包括其它信息。路由表比较metric以确定最佳路径，这些metric根据所用的路由算法而不同。路由器彼此通信，通过交换路由信息维护其路由表，路由更新信息通常包含全部或部分路由表，通过分析来自其它路由器的路由更新信息，该路由器可以建立网络拓扑图。路由器间发送的另一个信息是链接状态广播信息，它通知其它路由器发送者的链接状态，链接信息用于建立完整的拓扑图，使路由器可以确定最佳路径。2、交换算法交换算法相对而言较简单，对大多数路由协议而言是相同的，多数情况下，某主机决定向另一个主机发送数据，通过某些方法获得路由器的地址后，源主机发送指向该路由器的物理（MAC）地址的数据包，其协议地址是指向目的主机的。
路由器查看了数据包的目的协议地址后，确定是否知道如何转发该包，如果路由器不知道如何转发，通常就将之丢弃。如果路由器知道如何转发，就把目的物理地址变成下一跳的物理地址并向之发送。下一跳可能就是最终的目的主机，如果不是，通常为另一个路由器，它将执行同样的步骤。当分组在网络中流动时，它的物理地址在改变，但其协议地址始终不变。
ISO定义了用于描述此过程的分层的术语。在该术语中，没有转发分组能力的网络设备称为端系统（ES--end system），有此能力的称为中介系统（IS--intermediate system）。IS又进一步分成可在路由域内通信的域内IS（intradomain IS）和既可在路由域内又可在域间通信的域间IS（interdomain IS）。路由域通常被认为是统一管理下的一部分网络，遵守特定的一组管理规则，也称为自治系统（autonomous system）。在某些协议中，域内路由协议仍可用于在区间内和区间之间交换数据。
设计目标
路由算法可以根据多个特性来加以区分。首先，算法设计者的特定目标影响了该路由协议的操作；其次，存在着多种路由算法，每种算法对网络和路由器资源的影响都不同；最后，路由算法使用多种metric，影响到最佳路径的计算。下面分析下这些路由算法的特性。
路由算法通常具有下列设计目标的一个或多个：1、优化指路由算法选择最佳路径的能力，根据metric的值和权值来计算。例如有一种路由算法可能使用跳数和延迟，但可能延迟的权值要大些。当然，路由协议必须严格定义计算metric的算法。2、高效简单它也可以设计得尽量简单。换句话说，路由协议必须高效地提供其功能，尽量减少软件和应用的开销。当实现路由算法的软件必须运行在物理资源有限的计算机上时高效尤其重要。3、稳定路由算法必须稳定，即在出现不正常或不可预见事件的情况下必须仍能正常处理，例如硬件故障、高负载和不正确的实现。因为路由器位于网络的连接点，当它们失效时会产生重大的问题。最好的路由算法通常是那些经过了时间考验，证实在各种网络条件下都很稳定的算法。4、快速聚合聚合是所有路由器对最佳路径达成一致的过程。当某网络事件使路径断掉或不可用时，路由器通过网络分发路由更新信息，促使最佳路径的重新计算，最终使所有路由器达成一致。聚合很慢的路由算法可能会产生路由环或网路中断。
在下图中的路由环中，某分组在时间t1到达路由器1，路由器1已经更新并知道到达目的的最佳路径是以路由器2为下一跳，于是就把该分组转发给路由器2。但是路由器2还没有更新，它认为最佳的下一跳是路由器1，于是把该分组发回给路由器1，结果分组在两个路由器间来回传递直到路由器2收到路由更新信息或分组超过了生存期。
  路由5、灵活即它们应该迅速、准确地适应各种网络环境。例如，假定某网段断掉了，当知道问题后，很多路由算法对通常使用该网段的路径将迅速选择次佳的路径。路由算法可以设计得可适应网络带宽、路由器队列大小和网络延迟。
算法类型
各路由算法的区别点包括：1、静态与动态静态路由算法很难算得上是算法，只不过是开始路由前由网管建立的表映射。这些映射自身并不改变，除非网管去改动。使用静态路由的算法较容易设计，在网络通信可预测及简单的网络中工作得很好。
由于静态路由系统不能对网络改变做出反映，通常被认为不适用于的大型、易变的网络。九十年代主要的路由算法都是动态路由算法，通过分析收到的路由更新信息来适应网络环境的改变。如果信息表示网络发生了变化，路由软件就重新计算路由并发出新的路由更新信息。这些信息渗入网络，促使路由器重新计算并对路由表做相应的改变。
动态路由算法可以在适当的地方以静态路由作为补充。例如，最后可选路由（router of last resort），作为所有不可路由分组的去路，保证了所有的数据至少有方法处理。2、单路径与多路径一些复杂的路由协议支持到同一目的的多条路径。与单路径算法不同，这些多路径算法允许数据在多条线路上复用。多路径算法的优点很明显：它们可以提供更好的吞吐量和可靠性。3、平坦与分层一些路由协议在平坦的空间里运作，其它的则有路由的层次。在平坦的路由系统中，每个路由器与其它所有路由器是对等的；在分层次的路由系统中，一些路由器构成了路由主干，数据从非主干路由器流向主干路由器，然后在主干上传输直到它们到达目标所在区域，在这里，它们从最后的主干路由器通过一个或多个非主干路由器到达终点。
路由系统通常设计有逻辑节点组，称为域、自治系统或区间。在分层的系统中，一些路由器可以与其它域中的路由器通信，其它的则只能与域内的路由器通信。在很大的网络中，可能还存在其它级别，最高级的路由器构成了路由主干。
分层路由的主要优点是它模拟了多数公司的结构，从而能很好地支持其通信。多数的网络通信发生在小组中（域）。因为域内路由器只需要知道本域内的其它路由器，它们的路由算法可以简化，根据所使用的路由算法，路由更新的通信量可以相应地减少。4、主机智能与路由器智能一些路由算法假定源结点来决定整个路径，这通常称为源路由。在源路由系统中，路由器只作为存贮转发设备，无意识地把分组发向下一跳。其它路由算法假定主机对路径一无所知，在这些算法中，路由器基于自己的计算决定通过网络的路径。前一种系统中，主机具有决定路由的智能，后者则为路由器具有此能力。
主机智能和路由器智能的折衷实际是最佳路由与额外开销的平衡。主机智能系统通常能选择更佳的路径，因为它们在发送数据前探索了所有可能的路径，然后基于特定系统对“优化”的定义来选择最佳路径。然而确定所有路径的行为通常需要很多的探索通信量和很长的时间。5、域内与域间一些路由算法只在域内工作，其它的则既在域内也在域间工作。这两种算法的本质是不同的。其遵循的理由是优化的域内路由算法没有必要也成为优化的域间路由算法。6链接状态与距离向量链接状态算法（也叫做短路径优先算法）把路由信息散布到网络的每个节点，不过每个路由器只发送路由表中描述其自己链接状态的部分。距离向量算法（也叫做Bellman-Ford算法）中每个路由器发送路由表的全部或部分，但只发给其邻居。也就是说，链接状态算法到处发送较少的更新信息，而距离向量算法只向相邻的路由器发送较多的更新信息。
由于链接状态算法聚合得较快，它们相对于距离算法产生路由环的倾向较小。在另一方面，链接状态算法需要更多的CPU和内存资源，因此链接状态算法的实现和支持较昂贵。虽然有差异，这两种算法类型在多数环境中都可以工作得很好。
度量标准
路由表中含有由交换软件用以选择最佳路径的信息。但是路由表是怎样建立的呢？它们包含信息的本质是什么？路由算法怎样根据这些信息决定哪条路径更好呢？
路由算法使用了许多不同的度量标准以确定最佳路径。复杂的路由算法可以基于多个度量标准选择路由，并把它们结合成一个复合的度量标准。常用的度量标准如下：路径长度路径长度是最常用的路由度量标准。一些路由协议允许网管给每个网络链接人工赋以代价值，这种情况下，路由长度是所经过各个链接的代价总和。其它路由协议定义了跳数，即分组在从源到目的的路途中必须经过的网络产品，如路由器的个数。可靠性在路由算法中指网络链接的可依赖性（通常以位误率描述），有些网络链接可能比其它的失效更多，网路失效后，一些网络链接可能比其它的更易或更快修复。任何可靠性因素都可以在给可靠率赋值时计算在内，通常是由网管给网络链接赋以度量标准值。路由延迟指分组从源通过网络到达目的所花时间。很多因素影响到延迟，包括中间的网络链接的带宽、经过的每个路由器的端口队列、所有中间网络链接的拥塞程度以及物理距离。因为延迟是多个重要变量的混合体，它是个比较常用且有效的度量标准。带宽带宽指链接可用的流通容量。在其它所有条件都相等时，10Mbps的以太网链接比64kbps的专线更可取。虽然带宽是链接可获得的最大吞吐量，但是通过具有较大带宽的链接做路由不一定比经过较慢链接路由更好。例如，如果一条快速链路很忙，分组到达目的所花时间可能要更长。负载负载指网络资源，如路由器的繁忙程度。负载可以用很多方面计算，包括CPU使用情况和每秒处理分组数。持续地监视这些参数本身也是很耗费资源的。
通信代价是另一种重要的度量标准，尤其是有一些公司可能关系运作费用甚于性能。即使线路延迟可能较长，他们也宁愿通过自己的线路发送数据而不采用昂贵的公用线路。
类型
路由分为静态路由(static routing)和动态路由(dynamic routing)和直连路由三种来源。
特点
静态路由的特点
静态路由是由管理员在路由器进行手工配置的固定的路由 
静态路由允许对路由的行为进行精确的控制减少了网络流量单向以及配置简单静态路由通常情况下优先级最高，因为其管理距离最短 。静态路由是在路由器中设置的固定的路由表。除非网络管理员干预，否则静态路由不会发生变化。由于静态路由不能对网络的改变作出反映，一般用于网络规模不大、拓扑结构固定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中，静态路由优先级最高。当动态路由与静态路由发生冲突时，以静态路由为准。 
动态路由的特点
动态路由是网络中的路由器之间根据实时网络拓扑变化，相互通信传递路由信息，利用收到的路由信息通过路由选择协议计算，更新路由表的过程 。
动态路由减少了管理任务
配置
静态路由的配置进去全局配置模式，定义目标网络号，目标网络的子网掩码和下一跳地址或接口
Router(config)#ip route {nexthop-address|exit-interface} [distance]
Router（config）#ip route network [mask] {address | interface} [distance] [permantet] 
目标网络掩码 到达目标网络的下一个路由器地址或本地接口
默认路由是静态路由的一种，是指当路由表中与包的目标地址之间没有匹配的表项时路由器能够作出的选择 
Router（config）#ip route 0.0.0.0 0.0.0.0 下一个路由器的接口地址
Router（config）#ip classless 
其中 0.0.0.0 0.0.0.0 代表将发往任何网络的包都转发到下一个路由器接口地址
Ip classless 指路由器接收到不能转发的包的时候会将其匹配给默认路由
并且返回目标地址不可达的 ICMP的消息动态路由的配置与分类常见动态路由分为距离矢量路由协议（DistanceVector Routing Protocol）和链路状态路由协议（Link-State Routing Protocol)。
动态路由是网络中的路由器之间相互通信，传递路由信息，利用收到的路由信息更新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变化，路由选择软件就会重新计算路由，并发出新的路由更新信息。这些信息通过各个网络，引起各路由器重新启动其路由算法，并更新各自的路由表以动态地反映网络拓扑变化。动态路由适用于网络规模大、网络拓扑复杂的网络。当然，各种动态路由协议会不同程度地占用网络带宽和CPU资源。
距离矢量路由协议包括RIP,EIGRP,IGRP
链路状态路由协议包括OSPF,ISIS
RIP
RIP是Internet中常用的路由协议，路由器根据距离选择路由，路由器收集所有可到达目的地的不同路径，并且保存有关到达每个目的地的最少站点数的路径信息，除到达目的地的最佳路径外，任何其它信息均予以丢弃。同时路由器也把所收集的路由信息用RIP协议通知相邻的其它路由器。这样，正确的路由信息逐渐扩散到了全网。
RIP 有两个不同的版本，RIPv1和RIPv2. RIPv1。
RIPv1和RIPv2. RIPv1 的主要区别：
1．RIPv1是有类路由协议，RIPv2是无类路由协议
2．RIPv1不能支持VLSM，RIPv2可以支持VLSM
3．RIPv1没有认证的功能，RIPv2可以支持认证，并且有明文和MD5两种认证
4．RIPv1没有手工汇总的功能，RIPv2可以在关闭自动汇总的前提下，进行手工汇总
5．RIPv1是广播更新，RIPv2是组播更新，
6．RIPv1对路由没有标记的功能，RIPv2可以对路由打标记（tag），用于过滤和做策略
7．RIPv1发送的updata最多可以携带25条路由条目，RIPv2在有认证的情况下最多只能携带24条路由
8．RIPv1发送的updata包里面没有next-hop属性，RIPv2有next-hop属性，可以用与路由更新的重定
RIPv1的配置；
Router(config)#routerrip
Router(config-router)#network xxxx.xxxx.xxxx.xxxx
RIPv2的配置
Router(config)#router rip
Router(config-router)#version2
Router(config-router)#no auto-summary
Router(config-router)#network xxxx.xxxx.xxxx.xxxx
RIP使用非常广泛，它简单、可靠，便于配置。但是RIP只适用于小型的同构网络，因为它允许的最大站点数为15，任何超过15个站点的目的地均被标记为不可达。而且RIP每隔30s一次的路由信息广播也是造成网络的广播风暴的重要原因之一。
EIGRP
EIGRP是思科私有的，他是高级距离矢量路由协议，使用DUAL算法。EIGRP是建立邻居关系最快的路由协议
EIGRP的5个Metric值：带宽（Bandwidth），负载(Load)，延迟(Delay)，可靠性(Reliability)，MTU
配置：
Router(config)#router eigrp XX
Router(config-router)#noauto-summary
Router(config-router)#networkXXXX.XXXX.XXXX.XXXX
OSPF
OSPF是一种基于链路状态的路由协议，需要每个路由器向其同一管理域的所有其它路由器发送链路状态广播信息。在OSPF的链路状态广播中包括所有接口信息、所有的量度和其它一些变量。利用0SPF的路由器首先必须收集有关的链路状态信息，并根据一定的算法计算出到每个节点的最短路径。而基于距离向量的路由协议仅向其邻接路由器发送有关路由更新信息。
配置：
Router(config)#router ospf XX
Router(config-router)#router-idX.X.X.X
Router(config-router)#networkXXXX.XXXX.XXXX.XXXX area X
OSPF将一个自治域再划分为区，相应地即有两种类型的路由选择方式：当源和目的地在同一区时，采用区内路由选择；当源和目的地在不同区时，则采用区间路由选择。这就大大减少了网络开销，并增加了网络的稳定性。当一个区内的路由器出了故障时并不影响自治域内其它区路由器的正常工作，这也给网络的管理、维护带来方便。
静态路由和动态路由有各自的特点和适用范围，因此在网络中动态路由通常作为静态路由的补充。当一个分组在路由器中进行寻径时，路由器首先查找静态路由，如果查到则根据相应的静态路由转发分组；否则再查找动态路由
工作原理
路由器(3张)路由器利用网络寻址功能使路由器能够在网络中确定一条最佳的路径。IP 地址的网络部分确定分组的目标网络，并通过 IP 地址的主机部分和设备的 MAC 地址确定到目标节点的连接。
路由器的某一个接口接收到一个数据包时，会查看包中的目标网络地址以判断该包的目的地址在当前的路由表中是否存在（即路由器是否知道到达目标网络的路径）。如果发现包的目标地址与本路由器的某个接口所连接的网络地址相同，那么马上数据转发到相应接口；如果发现包的目标地址不是自己的直连网段，路由器会查看自己的路由表，查找包的目的网络所对应的接口，并从相应的接口转发出去；如果路由表中记录的网络地址与包的目标地址不匹配，则根据路由器配置转发到默认接口，在没有配置默认接口的情况下会给用户返回目标地址不可达的 ICMP 信息。
包含功能
路由器包含了路由选择和交换的功能 
路由选择功能：为传送分组，路由器会使用地址的网络部分进行路由选择以确定一条最佳路径 
路由交换功能：使路由器有能力接收分组并进行转发
工作过程
路由发现：学习路由的过程，动态路由通常由路由器自己完成，静态路由需要手工配置 
路由转发：路由学习之后会照学习更新的路由表进行数据转发 
路由维护：路由器通过定期与网络中其他路由器进行通信来了解网络拓扑变化以便更新路由表
路由器记录了接口所直连的网络 ID，称为直连路由，路由器可以自动学习直连路由而不需要配置 
路由器所识别的逻辑地址的协议必须被路由器所支持
特征
1、路由器工作在网络层路由器是第三层网络设备，这样说大家可能都不理解，就先说一下集线器和交换机吧。集线器工作在第一层（即物理层），它没有智能处理能力，对它来说，数据只是电流而已，当一个端口的电流传到集线器中时，它只是简单地将电流传送到其他端口，至于其他端口连接的计算机接收不接收这些数据，它就不管了。交换机工作在第二层（即数据链路层），它要比集线器智能一些，对它来说，网络上的数据就是MAC地址的集合，它能分辨出帧中的源MAC地址和目的MAC地址，因此可以在任意两个端口间建立联系，但是交换机并不懂得IP地址，它只知道MAC地址。路由器工作在第三层（即网络层），它比交换机还要“聪明”一些，它能理解数据中的IP地址，如果它接收到一个数据包，就检查其中的IP地址，如果目标地址是本地网络的就不理会，如果是其他网络的，就将数据包转发出本地网络。2、用于连接不同类型网络我们常见的集线器和交换机一般都是用于连接以太网的，但是如果将两种不同的网络类型连接起来，比如以太网与ATM网，集线器和交换机就派不上用场了。
路由器能够连接不同类型的局域网和广域网，如以太网、ATM网、FDDI网、令牌环网等。不同类型的网络，其传送的数据单元——帧（Frame）的格式和大小是不同的。就像公路运输是以汽车为单位装载货物，而铁路运输是以车皮为单位装载货物一样，从汽车运输改为铁路运输，必须把货物从汽车上放到火车车皮上，网络中的数据也是如此。数据从一种类型的网络传输至另一种类型的网络，必须进行帧格式转换。路由器就有这种能力，而交换机和集线器就没有。
实际上，我们所说的“互联网”，就是指各种路由器将各种不同的网络类型互相连接起来。集线器和交换机根本不能胜任这个任务，所以必须由路由器来担当这个角色。3、具有路径选择能力互联网中，从一个节点到另一个节点，可能有许多路径。路由器可以选择通畅的最短路径，这就大大提高通信速度，减轻网络系统通信负荷，节约网络系统资源，这也是集线器和交换机所根本不具备的性能。
种类
1、接入路由器接入路由器是指将局域网用户接入到广域网中的路由器设备。我们局域网用户接触最多的就是接入路由器了。只要有互联网的地方，就会有路由器。如果你通过局域网共享线路上网，就一定会使用路由器。
有的读者会心生疑问：我是通过代理服务器上网的，不用路由器不也能接入互联网吗？其实代理服务器也是一种路由器，一台计算机加上网卡，再加上ISDN（或Modem或ADSL），再安装上代理服务器软件，事实上就已经构成了路由器，只不过代理服务器是用软件实现路由功能，而路由器是用硬件实现路由功能，就像VCD软解压软件和VCD机的关系一样，结构不同，但是功能却是相同的。2、企业级路由器企业级的路由器是用于连接大型企业内成千上万的计算机，普通的局域网用户就接触不到了。与接入路由器相比，企业级路由器支持的网络协议多、速度快，要处理各种局域网类型，支持多种协议，包括IP、IPX和Vine，还要支持防火墙、包过滤以及大量的管理和安全策略以及VLAN（虚拟局域网）。3、骨干级路由器只有工作在电信等少数部门的技术人员，才能接触到骨干级路由器。互联网由几十个骨干网构成，每个骨干网服务几千个小网络，骨干级路由器实现企业级网络的互联。对它的要求是速度和可靠性，而价格则处于次要地位。硬件可靠性可以采用电话交换网中使用的技术，如热备份、双电源、双数据通路等来获得。这些技术对所有骨干路由器来说是必须的。
骨干网上的路由器终端系统通常是不能直接访问的，它们连接长距离骨干网上的ISP和企业网络。互联网的快速发展给骨干网、企业网和接入网都带来了不小的挑战。
持所需识别的逻辑地址的协议
对比
软路由是指利用台式机或服务器配合软件形成路由解决方案，主要靠软件的设置，达成路由器的功能；而硬路由则是以特用的硬设备，包括处理器、电源供应、嵌入式软件，提供设定的路由器功能。
一般情况下，软路由通常就是计算机了，硬件路由根据不同的标准可以做不同的分类，比如从性能上可以分为高、中、低端，从结 构上分为固定配置和模块化等等。
软路由的好处有很多，如使用便宜的台式机，配合免费的Linux软件，软路由弹性较大，而且台式机处理器性能强大，所以处理效能不错，也较容易扩充。但对应地也要求技术人员许掌握更多的例如设置方法、参数设计等专业知识，同时设定也比较复杂，而且需技术人员具备一定应变技术能力。同时台式机的硬件配置如果选择不好或不合理，而且担任路由器的功能如果长期工作，故障的机率将很高。用一台台式机搭建，成本并不低，但是如果要使用服务器，成本则更高，技术人员学习的过程亦较为烦琐。
硬路由的做法为配置专用机，像PC机一样，硬路由器包括电源、内部总线、主存、闪存、处理器和操作系统等，专为路由功能而设计，成本较低。路由器中的软件都是深嵌入到硬件中，包括对各种器件驱动的优化，不同体系cpu的不同优化策略等等，这个软件不是应用软件，而是系统软件，和硬件不能分开的。
由于架构设计考虑了长时间运作，所以稳定性有更高保证，再加上重要的功能大部份都已在内置系统设计中完成，所以人工管理设定的功夫非常少，可节省技术或网络管理人员的时间。但相对的，如果某一款硬件规格不强大，扩充性不宽，因此将有可能无法满足需求，尤其是需要加进持别功能时，如果厂商没有提供，那么技术或网络管理人员也无法解决。
以上的分析，都是比较偏向主观上，但也基本上合理地概括了整体的特征，下面就更全面、力求准确地分析一下软硬路由的各项对比，以供读者朋友参考。1、概念方面软路由通常使用普通计算机充当，使用通用的操作系统，如linux或windows，因此路由设置事实上是windows或 linux的设置，或者是对计算机的配置。PC 可以是很旧的 486 或是再高级的 PC / 服务器。软件与硬件是独立分开的；而硬件路由器，大多是基于嵌入式系统架构，以自行开发或是现成的嵌入式操作系统如Vxworks,Montavista,uClinux 等等为操作系统，再配合系统厂商自行开发的路由软件，软件与硬件是互相配合的。硬件路由器采用专门的操作系统，因此采用超级终端（计算机）通过 console实现对路由器的管理。对硬件路由器的管理通常采用专用命令行、图形界面或网管软件实现。2、硬件架构专用性方面软件路由器的硬件架构是通用的，适用各种不同的应用软件安装使用，不是只为路由器而设计；而硬件路由器的硬件架构是专为路由器而设计的，有些 CPU 更是为网络应用而开发。3、硬件组装方面软件路由器使用者可能必须自行组装硬件，一般的 PC 可能没有网络卡 （例如很旧的 486） 或是只有一张网络卡，使用者必须自行安装额外的网络卡，以满足路由的功能。硬件可能会有兼容性的问题，使用者必须自行解决；而硬件路由器使用者无须自行组装硬件，硬件的搭配设计已由系统厂商完成，并经过严格的测试，不会有不兼容的情况。4、软件安装方面软件路由器使用者必须自行安装软件，有些软件是免费的，有些是要付权利金；而硬件路由器使用者则无须自行安装软件，软件是内含在产品的闪存里的。5、软件维护方面软件路由器提供免费的软件通常是非商业化的开放程序代码，一般是由一些散落各地的专家因为兴趣来参与开发与修改。功能的完整性与除错无法保证；硬件路由器的软件功能则是由推出产品的系统厂商自行开发，一致性高。功能的增加以及除错是由来系统厂商维护，使用者只需做软件升级，升级软件的取得有确实的管道，售后服务有保障。6、软件、硬件、操作系统的搭配性方面软件路由器软件必须迁就现成的硬件 （如 PC ） 以及现成的操作系统 （如 Windows 以及 Linux） ，硬件与操作系统都不是为专为网络 /路由功能而设计的。稳体性无法一概而论，使用者必须付出相对的成本、时间、精力、与金钱；而硬件路由器的软件与硬件，采用嵌入式操作系统并互相搭配，所以整体设计精简而有效率，不但稳定，而且架设容易，产品成本加上使用者付出的成本也相对较低。7、使用接口方面软件路由器中，不同的软件有不同的方式，有些是窗口画面，有些是命令行 （command line） 的指令。不一定容易理解。有些需要很专业的知识；而硬件路由器多以 Web GUI 的方式来做设定，强调 user friendly，依据特定的功能做出简单而且容易理解的设定方式。8、等级区别方面软件路由器没有区别，效能依据试用者选择的 PC 以及软件而定。所以不一定能适用各种不同的网络/路由应用。越高级的应用环境需要越专业的知识才能应付自如；硬件路由器则会为不同等级的网络/路由应用，开发不同等级的路由器，达到较好的性价比。9、工作环境方面软件路由器只能工作于以太网络，实现局域网之间的互联。硬件路由器拥有丰富的接口类型，因此适用于各种类型的网络，既可应用于局域网的互联，也可用于广域网和Internet互联。另外，两者的效率也不同，软路由可应用于小型的\通讯效率不高的网络，硬件路由可应用于大中小型、通讯效率较高的网络。
应用
总的来说，不同的产品适合不同的客户群。从很多产品发展的角度来看，软件的方式适用于较有技术能力的网管，而一般的网管希望将精力发挥在其它更有价值的地方，则多采用硬路由。由于计算机的限制，软路由只能使用以太网卡，因此基本上局限于以太网络之间的连接，以太网络之间只有在划分多个网段时，才会使用软路由的连接。
如果网络大到要划分子网，那么软路由的效率显然是无法满足网络间的高速通讯的。而在价格方面，软路由就是一台计算机的价格，而硬件路由的价格则根据性能的不同而有较大的差别。说实话，如果仅仅是实现NAT转换，那么计算机的效率要比硬件路由器要高。
结合多方面的考虑，购买者就必须充分了解自身的网络环境和投资计划，来考虑如何选择路由器。笔者就举例分析一下网吧的工作环境需求。网吧对路由器的需求就有着以下几个共同点：数据处理能力要够强，上网高速畅通，大数据流量下不掉线、不停顿；具有高度的稳定性和可靠性，能长时间不间断稳定工作；要有很强的兼容性，要能适应不同运营商的不同接入服务；易安装、易配置、易管理、易使用，用户界面友好易懂；在保证性能的前提下，要有一个合理的价格，具有优异的性能价格比。
因此对一个有一定规模的网吧来说，他们更倾向于使用硬路由，使用硬件路由器则带来更大的优势，如成型设备，一次调试不用维护，没有零部件维护的麻烦；专业厂家技术支持，专业软件免费升级；可以实现线路备份、负载均衡、策略路由等很多符合网吧的应用；多数产品采用网络专用CPU解决网络路由的复杂问题；专业的技术跟踪可以解决不断出现的网络应用中出现的新问题，全部免费解决等等。