搜档网
当前位置:搜档网 › 路由与动作选择

路由与动作选择

路由与动作选择
路由与动作选择

【https://www.sodocs.net/doc/346145184.html, Web API教程】4.2 路由与动作选择

注:本文是【https://www.sodocs.net/doc/346145184.html, Web API系列教程】的一部分,如果您是第一次看本系列教程,请先看前面的内容。

4.2 Routing and Action Selection 4.2 路由与动作选择

本文引自:

https://www.sodocs.net/doc/346145184.html,/web-api/overview/web-api-routing-and-actions/routi ng-and-action-selection

By Mike Wasson | July 27, 2012

作者:Mike Wasson | 日期:2012-7-27

This article describes how https://www.sodocs.net/doc/346145184.html, Web API routes an HTTP request to a particular action on a controller.

本文描述https://www.sodocs.net/doc/346145184.html, Web API如何把一个HTTP请求路由到控制器的一个特定的方法上。

For a high-level overview of routing, see Routing in https://www.sodocs.net/doc/346145184.html, Web API. 关于路由的总体概述,参阅“https://www.sodocs.net/doc/346145184.html, Web API中的路由”(本系列教程的前一小节—译者注)。

This article looks at the details of the routing process. If you create a Web API project and find that some requests don’t g et routed the way you expect, hopefully this article will help.

本文考察路由过程的细节。如果你创建了一个Web API项目,并发现有些请求并未按你期望的方式被路由,希望这篇文章对你会有所帮助。

Routing has three main phases:

路由有三个主要阶段:

1.Matching the URI to a route template.

将URI匹配到一个路由模板。

2.Selecting a controller.

选择一个控制器

3.Selecting an action.

选择一个动作。

You can replace some parts of the process with your own custom behaviors. In this article, I describe the default behavior. At the end, I note the places where you can customize the behavior.

你可以用自己的自定义行为来替换这一过程的某些部分。在本文中,我会描述默认行为。最后,我会注明可以在什么地方自定义行为。

Route Templates

路由模板

A route template looks similar to a URI path, but it can have placeholder values, indicated with curly braces:

路由模板看上去类似于一个URI路径,但它可以具有占位符,这是用花括号来指示的:

"api/{controller}/public/{category}/{id}"

When you create a route, you can provide default values for some or all of the placeholders:

当创建一条路由时,可以为某些或所有占位符提供默认值:

defaults: new { category = "all" }

You can also provide constraints, which restrict how a URI segment can match a placeholder:

也可以提供约束,它限制URI片段如何与占位符匹配:

constraints: new { id = @"\d+" } // Only matches if "id" is one or more digits.

// 用正则表达式限制片段的取值,上语句表明,id片段的值必须是一个或多个数字。

// 因此,URI中id片段必须是数字才能与这条路由匹配

The framework tries to match the segments in the URI path to the template. Literals in the template must match exactly. A placeholder matches any value, unless you specify constraints. The framework does not match other parts of the URI, such as the host name or the query parameters. The framework selects the first route in the route table that matches the URI. 框架会试图把URI路径的片段与该模板进行匹配。模板中的文字必须严格匹配。占位符可以匹配任意值,除非你指定了约束。框架不会匹配URI的其它部分,如主机名或查询字符串。框架会选择路由表中与URI匹配的第一条路由。

There are two special placeholders: "{controller}" and "{action}".

有两个特殊的占位符:“{controller}”和“{action}”。

?"{controller}" provides the name of the controller.

“{controller}”提供控制器名。

?"{action}" provides the name of the action. In Web API, the usual convention is to omit "{action}".

“{action}”提供动作名。在Web API中,通常的约定是忽略“{action}”

的。

Defaults

默认值

If you provide defaults, the route will match a URI that is missing those segments. For example:

如果提供默认值,该路由将能够匹配缺少这些片段的URI。例如:

routes.MapHttpRoute(

name: "DefaultApi",

routeTemplate: "api/{controller}/{category}",

defaults: new { category = "all" }

);

The URI "http://localhost/api/products" matches this route. The "{category}" segment is assigned the default value "all".

URI“http://localhost/api/products”与这条路由是匹配的。“{category}”片段被赋成了默认值“all”。

Route Dictionary

路由字典

If the framework finds a match for a URI, it creates a dictionary that contains the value for each placeholder. The keys are the placeholder names, not including the curly braces. The values are taken from the URI path or from the defaults. The dictionary is stored in the IHttpRouteData object.

如果框架为一个URI找到一个匹配,它会创建一个字典,其中包含了每个占位符的值。(字典的内容是一些“键-值”对—译者注)。其键是不带花括号的占位符名称。其值取自URI路径或默认值。该字典被存储在IHttpRouteData对象中。

During this route-matching phase, the special "{controller}" and "{action}" placeholders are treated just like the other placeholders. They are simply stored in the dictionary with the other values.

在路由匹配阶段,“{controller}”和“{action}”占位符的处理与其它占位符的处理是一样的。只是把它们简单地用值存储在字典中。

A default can have the special value RouteParameter.Optional. If a placeholder gets assigned this value, the value is not added to the route dictionary. For example:

在默认值中可以使用特殊的RouteParameter.Optional值。如果一个占位符被赋予了这个值,则该值不会被添加到路由字典。例如:

routes.MapHttpRoute(

name: "DefaultApi",

routeTemplate: "api/{controller}/{category}/{id}",

defaults: new { category = "all", id = RouteParameter.Optional } );

For the URI path "api/products", the route dictionary will contain: 对于URI路径“api/products”,路由字典将含有:

?controller: "products"

?category: "all"

由于这条URI路径中不包含id,因此,id的值将采用默认的RouteParameter.Optional,所以,路由字典中不会包含id片段的键值对—译者注

For "api/products/toys/123", however, the route dictionary will contain: 然而,对于“api/products/toys/123”,路由字典将含有:

?controller: "products"

?category: "toys"

?id: "123"

The defaults can also include a value that does not appear anywhere in the route template. If the route matches, that value is stored in the dictionary. For example:

默认值也可以包含未出现在路由模板中的值。若这条路由匹配,则该值会被存储在路由字典中。例如:

routes.MapHttpRoute(

name: "Root",

routeTemplate: "api/root/{id}",

defaults: new { controller = "customers", id =

RouteParameter.Optional }

);

If the URI path is "api/root/8", the dictionary will contain two values: 如果URI路径是“api/root/8”,字典将含有两个值:

?controller: "customers"

?id: "8"

Selecting a Controller

选择控制器

Controller selection is handled by the

IHttpControllerSelector.SelectController method. This method takes an HttpRequestMessage instance and returns an HttpControllerDescriptor. The default implementation is provided by the DefaultHttpControllerSelector class. This class uses a straightforward algorithm:

控制器选择是由IHttpControllerSelector.SelectController方法来处理的。这个方法以HttpRequestMessage实例为参数,并返回HttpControllerDescriptor。其默认实现是由DefaultHttpControllerSelector 类提供的。这个类使用了一种很直接的算法:

1.Look in the route dictionary for the key "controller".

查找路由字典的“controller”键。

2.Take the value for this key and append the string "Controller" to

get the controller type name.

取得这个键的值,并附加字符串“Controller”,以得到控制器的类型名。

3.Look for a Web API controller with this type name.

用这个类型名查找Web API控制器。

For example, if the route dictionary contains the key-value pair "controller" = "products", then the controller type is "ProductsController". If there is no matching type, or multiple matches, the framework returns an error to the client.

例如,如果路由字典的键-值对为“controller”=“products”,那么,控制器类型便为“ProductsController”。如果没有匹配类型,或有多个匹配,框架会给客户端返回一条错误。

For step 3, DefaultHttpControllerSelector uses the IHttpControllerTypeResolver interface to get the list of Web API controller types. The default implementation of IHttpControllerTypeResolver returns all public classes that (a) implement IHttpController, (b) are not abstract, and (c) have a name that ends in "Controller".

对于步骤3,DefaultHttpControllerSelector使用

IHttpControllerTypeResolver接口以获得Web API控制器类型的列表。IHttpControllerTypeResolver的默认实现会返回所有符合以下条件的public 类:(a)实现IHttpController的类(b)是非抽象类,且(c)名称以“Controller”结尾的类。

Action Selection

动作选择

After selecting the controller, the framework selects the action by calling the IHttpActionSelector.SelectAction method. This method takes an HttpControllerContext and returns an HttpActionDescriptor.

选择了控制器之后,框架会通过调用IHttpActionSelector.SelectAction方法来选择动作。这个方法以HttpControllerContext为参数,并返回HttpActionDescriptor。

The default implementation is provided by the ApiControllerActionSelector class. To select an action, it looks at the following:

默认实现是由ApiControllerActionSelector类提供的。为了选择一个动作,会查找以下方面:

?The HTTP method of the request.

请求的HTTP方法。

?The "{action}" placeholder in the route template, if present.

路由模板中的“{action}”占位符(如果有)。

?The parameters of the actions on the controller.

控制器中动作的参数。

Before looking at the selection algorithm, we need to understand some things about controller actions.

在查找选择算法之前,我们需要理解控制器动作的一些事情。

Which methods on the controller are considered "actions"?When selecting an action, the framework only looks at public instance methods on the controller. Also, it excludes "special name" methods (constructors, events, operator overloads, and so forth), and methods inherited from the ApiController class.

控制器中的哪些方法被看成为是“动作”?当选择一个动作时,框架只考察控制器的public实例方法。而且,它会排除“special name"特殊名称”的方法(构造器、事件、操作符重载等等),以及继承于ApiController类的方法。

这里按原文的含义似乎是要排除API控制器中的public方法,但译者认为,框架会把API控制器中的public方法看成是动作—译者注

HTTP Methods. The framework only chooses actions that match the HTTP method of the request, determined as follows:

HTTP方法。框架只会选择与请求的HTTP方法匹配的动作,确定如下:

1.You can specify the HTTP method with an attribute: AcceptVerbs,

HttpDelete, HttpGet, HttpHead, HttpOptions, HttpPatch, HttpPost, or HttpPut.

你可以用注解属性AcceptVerbs、HttpDelete、HttpGet、HttpHead、

HttpOptions、HttpPatch、HttpPost、或HttpPut来指定HTTP方法(这段文字说明,你可以在方法上用这些注解属性进行标注,以指定该方法用

于处理哪一种HTTP请求。通过这种标注,方法的命名可以不遵循下一条

的约定—译者注)。

2.Otherwise, if the name of the controller method starts with "Get",

"Post", "Put", "Delete", "Head", "Options", or "Patch", then by convention the action supports that HTTP method.

否则,如果控制器方法名称以“Get”、“Post”、“Put”、“Delete”、“Head”、“Options”、或“Patch”开头,那么,按照约定,该动作支持相应的HTTP方法。

3.If none of the above, the method supports POST.

如果以上都不是(即,既未用第一条的办法进行标注,又未用第二条的方法命名约定—译者注),则该方法支持POST。

Parameter Bindings. A parameter binding is how Web API creates a value for a parameter. Here is the default rule for parameter binding:

参数绑定。参数绑定是指Web API如何创建参数值。以下是参数绑定的默认规则:?Simple types are taken from the URI.

简单类型取自URI。

?Complex types are taken from the request body.

复合类型取自请求体。

Simple types include all of the .NET Framework primitive types, plus DateTime, Decimal, Guid, String, and TimeSpan. For each action, at most one parameter can read the request body.

简单类型包括所有“.NET 框架简单类型”,另外还有,DateTime、Decimal、Guid、String和TimeSpan。对于每一个动作,最多只有一个参数可以读取请求体。

It is possible to override the default binding rules. See WebAPI Parameter binding under the hood.

也可以重写这种默认的绑定规则。参见WebAPI Parameter binding under the hood(作者的一篇博客文章—译者注)。

With that background, here is the action selection algorithm.

在这种背景下,动作选择算法如下:

1.Create a list of all actions on the controller that match the HTTP

request method.

创建该控制器中与HTTP请求方法匹配的所有动作的列表(这一步属于

HTTP请求方法匹配,即,从已选定的控制器中挑出了与请求类型匹配的

动作方法,例如,对于GET请求,于是只挑出处理GET请求的那些方法—

译者注)。

2.If the route dictionary has an "action" entry, remove actions whose

name does not match this value.

如果路由字典有“action”条目,(从该列表)除去与该条目值不匹配的

动作(这一步属于方法名称匹配,即,在上一步基础上进一步挑出其中与

路由字典的action键值匹配的动作方法—译者注)。

3.Try to match action parameters to the URI, as follows:

试图将动作参数与该URI匹配,办法如下(这一步属于参数匹配—译者

注):

a.For each action, get a list of the parameters that are a simple

type, where the binding gets the parameter from the URI.

Exclude optional parameters.

针对每个动作,获得简单类型的参数列表,这是绑定得到URI参数

的地方。该列表不包括可选参数(提取方法的参数名称—译者注)。

b.From this list, try to find a match for each parameter name,

either in the route dictionary or in the URI query string.

Matches are case insensitive and do not depend on the

parameter order.

根据这个列表,在路由字典或是在URI查询字符串中,试着为每个

参数名找到一个匹配。匹配是大小写不敏感的,且与参数顺序无关

(为各个方法参数匹配一个值—译者注)。

c.Select an action where every parameter in the list has a match

in the URI.

选择一个动作,其列表中的每个参数都在这个URI中获得一个匹配

(选出满足条件的动作—译者注)。

d.If more than one action meets these criteria, pick the one

with the most parameter matches.

如果满足这些条件的动作不止一个,选用参数匹配最多的一个(进

一步筛选动作—译者注)。

4.Ignore actions with the [NonAction] attribute.

忽略用[NonAction]注解属性标注的动作。

Step #3 is probably the most confusing. The basic idea is that a parameter can get its value either from the URI, from the request body, or from a custom binding. For parameters that come from the URI, we want to ensure that the URI actually contains a value for that parameter, either in the path (via the route dictionary) or in the query string.

第3步可能会让人困扰。其基本思想是,可以从URI、或请求体、或一个自定义绑定来获取参数值(这里指出了方法参数的来源—译者注)。对于来自URI

的参数,我们希望确保URI在其路径(通过路由字典)或查询字符串中实际包含了一个用于此参数的值。

For example, consider the following action:

例如,考虑以下动作:

public void Get(int id)

The id parameter binds to the URI. Therefore, this action can only match a URI that contains a value for "id", either in the route dictionary or in the query string.

其id参数绑定到URI。因此,这个动作只能匹配在路由字典或查询字符串中包

含了“id”值的URI。

Optional parameters are an exception, because they are optional. For an optional parameter, it's OK if the binding can't get the value from the URI.

可选参数是一个例外,因为它们是可选的。对于可选参数,如果绑定不能通过URI获取它的值,是没关系的。

Complex types are an exception for a different reason. A complex type can only bind to the URI through a custom binding. But in that case, the framework cannot know in advance whether the parameter would bind to a particular URI. To find out, it would need to invoke the binding. The goal of the selection algorithm is to select an action from the static description, before invoking any bindings. Therefore, complex types are excluded from the matching algorithm.

复合类型是另一种原因的例外。复合类型只能通过自定义绑定来绑定到URI。但在这种情况下,框架不能预知该参数是否会绑定到一个特定的URI。为了找出来,框架需要调用绑定。选择算法的目的是在调用绑定之前根据静态描述来选择一个动作。因此,复合类型是属于匹配算法之外的。

After the action is selected, all parameter bindings are invoked.

动作选择之后,会调用所有参数绑定。

Summary:

小结:

?The action must match the HTTP method of the request.

动作必须匹配请求的HTTP方法。

?The action name must match the "action" entry in the route dictionary, if present.

动作名必须匹配路由字典中的“action”条目,如果有。

?For every parameter of the action, if the parameter is taken from the URI, then the parameter name must be found either in the route

dictionary or in the URI query string. (Optional parameters and parameters with complex types are excluded.)

对于动作的各个参数,如果参数取自URI,那么该参数名必须在路由字典或URI查询字符串中能够被找到。(可选参数和复合类型的参数不包括在内。)

Try to match the most number of parameters. The best match might be a method with no parameters.

试图匹配最多数目的参数。最佳匹配可能是一个无参数方法(意即,框架按最多参数匹配来选择动作,而不是按最佳匹配来选择—译者注)。

Extended Example

扩展示例

Routes:

路由

routes.MapHttpRoute(

name: "ApiRoot",

routeTemplate: "api/root/{id}",

defaults: new { controller = "products", id =

RouteParameter.Optional }

);

routes.MapHttpRoute(

name: "DefaultApi",

routeTemplate: "api/{controller}/{id}",

defaults: new { id = RouteParameter.Optional }

);

Controller:

控制器:

public class ProductsController : ApiController

{

public IEnumerable GetAll() {}

public Product GetById(int id, double version = 1.0) {}

[HttpGet]

public void FindProductsByName(string name) {}

public void Post(Product value) {}

public void Put(int id, Product value) {}

}

HTTP request:

HTTP请求:

GET http://localhost:34701/api/products/1?version=1.5&details=1

Route Matching

路由匹配

The URI matches the route named "DefaultApi". The route dictionary contains the following entries:

该URI与名为“DefaultApi”路由匹配。路由字典包含以下条目:?controller: "products"

?id: "1"

The route dictionary does not contain the query string parameters, "version" and "details", but these will still be considered during action selection.

该路由字典并未包含查询字符串参数“version”和“details”,但这些将在动作选择期间考虑。

Controller Selection

控制器选择

From the "controller" entry in the route dictionary, the controller type is ProductsController.

根据路由字典中的“controller”条目,控制器类型是ProductsController。

Action Selection

选择动作

The HTTP request is a GET request. The controller actions that support GET are GetAll, GetById, and FindProductsByName. The route dictionary does not contain an entry for "action", so we don’t need to match the action name.

该HTTP请求是一个GET请求。支持GET的控制器动作是GetAll、GetById和FindProductsByName。路由字典不包含“action”条目,因此不需要匹配动作名。

Next, we try to match parameter names for the actions, looking only at the GET actions.

下一步,会试图匹配这些动作的参数名,只考查GET动作。

Action 动作Parameters to Match 要匹配的参数

GetAll None(无)

GetById"id"

FindProductsByName"name"

Notice that the version parameter of GetById is not considered, because it is an optional parameter.

注意,不会考虑GetById的version参数,因为它是一个可选参数。

The GetAll method matches trivially. The GetById method also matches, because the route dictionary contains "id". The FindProductsByName method does not match.

GetAll方法非常匹配(这是最佳匹配,但不是最终选择—译者注)。GetById 方法也匹配,因为路由字典包含了“id”。FindProductsByName方法不匹配。

The GetById method wins, because it matches one parameter, versus no parameters for GetAll. The method is invoked with the following parameter values:

GetById方法是赢家,因为它匹配了一个参数,而GetAll无参数。该方法将以以下参数值被调用:

?id = 1

?version = 1.5

Notice that even though version was not used in the selection algorithm, the value of the parameter comes from the URI query string.

注意,虽然version未被用于选择算法,但该参数值会取自URI查询字符串。Extension Points

扩展点

Web API provides extension points for some parts of the routing process. Web API为路由过程的某些部分提供了扩展点。

Interface

接口Description

描述

IHttpControllerSelector Selects the controller.

选择控制器。

IHttpControllerTypeResolver Gets the list of controller types. The DefaultHttpControllerSelector chooses the controller type from this list.

获取控制器类型列表。DefaultHttpControllerSelector从该列表选择控制器。

IAssembliesResolver Gets the list of project assemblies. The IHttpControllerTypeResolver interface uses this list to find the controller types.

获取项目程序集列表。IHttpControllerTypeResolver接口用该列表查找控制器类型。

IHttpControllerActivator Creates new controller instances. 创建控制器新实例。

IHttpActionSelector Selects the action. 选择动作。

IHttpActionInvoker Invokes the action. 调用动作。

To provide your own implementation for any of these interfaces, use the Services collection on the HttpConfiguration object:

要为以上任一接口提供自己的实现,可使用HttpConfiguration对象的Services 集合:

var config = GlobalConfiguration.Configuration;

config.Services.Replace(typeof(IHttpControllerSelector), new MyControllerSelector(config));

看完此文如果觉得有所收获,请给个推荐

深入了解路由器与交换机的功能和区别

深入了解路由器与交换机的功能和区别(1) 2009-06-08 12:30中国IT实验室安琪 关键字:交换机路由器 最近看到很多人在询问交换机、路由器是什么,功能如何,有何区别,笔者就这些问题简单的做些解答。 首先说交换机(又名交换式集线器)作用可以简单的理解为将一些机器连接 起来组成一个局域网。而路由器与交换机有明显区别,它的作用在于连接不同的网段并且找到网络中数据传输最合适的路径,可以说一般情况下个人用户需求不大。路由器是产生于交换机之后,就像交换机产生于集线器之后,所以路由器与交换机也有一定联系,并不是完全独立的两种设备。路由器主要克服了交换机不能路由转发数据包的不足。 目前个人比较多宽带接入方式就是ADSL,因此笔者就ADSL的接入来简单的说明一下。现在购买的ADSL猫大多具有路由功能(很多的时候厂家在出厂时将路由功能屏蔽了,因为电信安装时大多是不启用路由功能的,启用DHCP。打开ADSL的路由功能),如果个人上网或少数几台通过ADSL本身就可以了,如果电脑比较多你只需要再购买一个或多个集线器或者交换机。 考虑到如今集线器与交换机的价格相差十分小,不是特殊的原因,请购买一个交换机。不必去追求高价,因为如今产品同质化十分严重,我最便宜的交换机现在没有任何问题。给你一个参考报价,建议你购买一个8口的,以满足扩充需求,一般的价格100元左右。接上交换机,所有电脑再接到交换机上就行了。余下所要做的事情就只有把各个机器的网线插入交换机的接口,将猫的网线插入uplink接口。然后设置路由功能,DHCP等,就可以共享上网了。 看完以上的解说读者应该对交换机、路由器有了一些了解,目前的使用主要还是以交换机、路由器的组合使用为主,具体的组合方式可根据具体的网络情况和需求来确定。 交换机与路由器的区别

第7章路由选择试题

第7章路由选择试题 一、填空 (1)在 IP 互联网中,路由通常可以分为 ________ 路由和 ________ 路由。 (2)IP 路由表通常包括三项内容,他们是子网掩码、 ________ 和 ________ 。 (3)RIP 协议使用 ________ 算法, OSPF 协议使用 ________ 算法。 二、单项选择 (1)在互联网中,以下哪些设备需要具备路由选择功能 a )具有单网卡的主机 b )具有多网卡的宿主主机 b )路由器 c )以上设备都需要 (2)路由器中的路由表() a )需要包含到达所有主机的完整路径信息 b )需要包含到达所有主机的下一步路径信息 c )需要包含到达目的网络的完整路径信息 d )需要包含到达目的网络的下一步路径信息 (3)关于 OSPF 和 RIP ,下列哪种说法是正确的 a ) OSPF 和 RIP 都适合在规模庞大的、动态的互联网上使用 b ) OSPF 和 RIP 比较适合于在小型的、静态的互联网上使用 c ) OSPF 适合于在小型的、静态的互联网上使用,而 RIP 适合于在大型的、动态的互联网上使用 d ) OSPF 适合于在大型的、动态的互联网上使用,而 RIP 适合于在小型的、动态的互联网上使用 三、问答题 下图显示了一个互联网的互联结构图。如果该互联网被分配了一个 A 类 IP 地址,请你动手: (1)为互联网上的主机和路由器分配 IP 地址。 (2)写出路由器 R1 、 R2 、 R3 和 R4 的静态路由表。 (3)在你组装的局域网上模拟该互联网并验证你写的路由表是否正确。 (4)将运行静态路由的 R1 、 R2 、 R3 和 R4 改为运行 RIP 协议,试一试主机之间是否还能进行正常的通信。

路由和交换复习试题[带答案解析]

一、选择题 1.交换机和路由器相比,主要的区别有( AB ) A.交换机工作在OSI参考模型的第二层 B.路由器工作在OSI参考模型的第三层 C.交换机的一个端口划分一个广播域的边界 D.路由器的一个端口划分一个冲突域的边界 2.以下不会在路由表里出现的是: ( D ) A.下一跳地址 B.网络地址 C.度量值 D.MAC地址 3.路由器是一种用于网络互连的计算机设备,但作为路由器,并不具备的是( B ) A.支持多种路由协议 B.多层交换功能 C.支持多种可路由协议 D.具有存储、转发、寻址功能 4.路由器在转发数据包到非直连网段的过程中,依靠数据包中的哪一个选项来寻找下一跳地址( B ) A.帧头 B.IP报文头部 C.SSAP字段 D.DSAP字段 5.IP地址190.233.27.13是( B )类地址 A.A B. B C. C D. D 6.IP地址224.0.0.5代表的是什么地址? ( C ) A.主机地址 B.网络地址 C.组播地址 D.广播地址 7.在TCP/IP协议栈中,下面哪一组选项能够唯一地确定一个TCP连接:( D ) A.源IP地址和源端口号 B.源IP地址和目的端口号 C.目的地址和源端口号 D.源地址、目的地址、源端口号和目的端口号 8.如果要满足全线速二层(全双工)转发,则某种带有24个固定10/100M端口的交换机的背板带宽最小应为多少?( D ) A.24Gbps B.12Gbps C. 2.4Gbps D. 4.8Gbps

9.下面的描述正确的是:( BCD ) A.集线器工作在OSI参考模型的第一、二两层 B.集线器能够起到放大信号,增大网络传输距离的作用 C.集线器上连接的所有设备同属于一个冲突域 D.集线器支持CSMA/CD技术 10.在访问控制列表中地址和屏蔽码为168.18.0.0 0.0.0.255所表示的IP地址范围是( B ) A.168.18.67.1~168.18.70.255 B.168.18.0.1~168.18.0.255 C.168.18.63.1~168.18.64.255 D.168.18.64.255~168.18.67.255 11.请问能够在路由器的下列哪个模式使用debug命令( B ) A.用户模式 B.特权模式 C.全局配置模式 D.接口配置模式 12.下面的说法正确的是( ABD ) A.DNS是用来解析IP地址和域名地址(互联网地址)的 B.默认网关是互连内网和外网的通道 C.每个Windows用户都可以创建域,并使用域中的一个帐号 D.每个Windows用户都可以创建工作组,创建了一个工作组,计算机重启后就会自 动加入到该工作组 13.数据分段(segment)是OSI七层模型中的哪一层的数据名称( D ) A.物理层 B.数据链路层 C.网络层 D.传输层 14.集线器目前一般应用最多的是在( A ) A.一个办公室内部实现互连的时候 B.一个楼层各个办公室的互连 C.一个多媒体教室中主机的互连 D.一个建筑物内部两个地点间距离超过了200米的时候 15.下列属于距离矢量路由协议容易引起的问题是: ( C ) A.水平分割 B.路径中毒 C.计数到无穷 D.抑制时间 16.如果对C类地址段193.11.22.0/24进行可变长子网划分,则下列地址能够成为其子网地址的有:___BC____ A.193.11.22.174 B.193.11.22.192 C.193.11.22.172 D.193.11.22.122

路由选择协议和配置的详细步骤

路由选择协议和配置的详细步骤 静态路由的配置: router(config)ip route +非直连网段+子网掩码+下一跳地址 router(config)#exit 动态路由按照是否在一个自治系统内使用又可以分为内部网关协议(igp)和外部网关协议(bgp)常见的内部网关协议有rip、ospf等,外部网关协议有bgp、bgp-4,这里主要说下内部网关路由选择协议:rip(routing information protocol)是一种距离矢量选择路由协议,由于它的简单、可靠、便于配置,所以使用比较广泛,但是由于它最多支持的跳数为15,16为不可达所以只适合小型的网络,而且它每隔30s一次的路由信息广播也是造成网络广播风暴的重要原因之一。 rip的配置: router(config)#router rip router(config-router)#network network-number network_number为路由器的直连网段 由于rip的局限性,一种新的路由选择协议应运而生:igrp,igrp(interoor gateway routing protocol)igrp由于突破了15跳的限制,成为了当时大型cisco网络的首选协议 rip与igrp 的工作机制,均是从所有配置接口上定期发出路由更新。但是,

rip是以跳数为度量单位;igrp以多种因素来建立路由最佳路径;带宽(bandwidth),延迟(delay),可靠性(reliability),负载(load)等因素但是它的缺点就是不支持vlsm和不连续的子网。 igrp的配置: router(config)#router igrp 100(100为自治系统号) router(config-router)#network network-number router(config-router)#exit 注意: 1)编号的有效范围为1-65535,编号用确定一组区域编号相同的路由器和接口; 2)不同的编号的路由器不参与路由更新。 eigrp(enhanced interoor gateway routing protocol)eigrp 是最典型的平衡混合路由选择协议,它融合了距离矢量和链路状态两种路由选择协议的优点,使用散射更新算法,可实现很高的路由性能。eigrp特点是采用不定期更新,即只在路由器改变计量标准或拓扑出现变化时发送部分更新路由。支持可变长子网掩码vslm,具有相同的自治系统号的eigrp和igrp之间,可无缝交换路由信息。eigrp的配置和igrp的大致相同: router(config)#router eigrp(100为自治系统号) router(config-router)#network network-number router(config-router)#exit ospf: ospf是一种链路状态路由选择协议所谓链路状态是指路由器接口的状态,如up,down,ip及网络类型等链路状态信息通过链

路由器的设备选型

【附录 2 】路由器的性能参数与设备选型 路由器是网络与网络的通信接口,也是内部网络与外部网络联系的桥梁。在网络组建的过程中,路由器的选购是极为重要的。在所有网络设备中,路由器的价格也比较昂贵,是网络设备的重要组成部分。 ? 2.1 路由器的分类与性能参数 不同类型、不同性能的路由器价格也不相同,所以用户在选购时一定要注意路由器的功能和各种性能参数,否则买到的路由器可能不能满足网络的需要,或者花大价钱买到的路由器具有一些没有必要的功能和高性能和。购买设备通常够用就好,并适当留有余量。本节介绍路由器的组成和常用的性能参数。 2.1.1 路由器的组成 路由器的主要组成简介如下。 1. 处理器 与计算机一样,路由器也包含了一个中央处理器,也就是通常所说的 CPU 。不同系列和型号的路由器,其中的 CPU 也不尽相同。 Cisco 路由器一般采用 Motorola 68030 和 Orion/R4600 等处理器。 无论在中低端路由器还是在高端路由器中, CPU 都是路由器的心脏。通常在中低端路由器当中, CPU 负责交换路由信息、路由表查找以及转发数据包。在路由器中, CPU 的能力直接影响路由器的吞吐量(路由表查找时间)和路由计算能力(影响网络路由收敛时间)。在高端路由器中,通常转发数据包和查找路由表由 ASIC 芯片完成, CPU 只实现路由协议、计算路由以及分发路由表。由于技术的发展,路由器中许多工作都可以由硬件实现(专用芯片)。 CPU 性能并不完全反映路由器性能。路由器性能由路由器吞吐量、时延和路由计算能力等指标体现。 2. 内存 路由器中可能有多种内存,例如 Flash (闪存) DRAM (动态内存)等。内存用作存储配置、路由器操作系统、路由协议软件等内容。在中低端路由器中,路由表也可能存储在内存中。通常来说在不考虑价格的情况下路由器的内存越大越好。但是与 CPU 能力类似,内存同样不直接反映路由器性能与能力。因为高效的算法与优秀的软件可能大大节约内存。路由器采用了以下几种不同类型的内存,每种内存以不同方式协助路由器工作。 只读内存 (ROM) 闪存 (FLASH) 随机存取内存 (RAM)

路由器的主要功能

路由器的主要功能: 所谓“路由”,是指把数据从一个地方传送到另一个地方的行为和动作,而路由器,正是执行这种行为动作的机器,它的英文名称为Router,是一种连接多个网络或网段的网络设备,它能将不同网络或网段之间的数据信息进行“翻译”,以使它们能够相互“读懂”对方的数据,从而构成一个更大的网络。 简单的讲,路由器主要有以下几种功能: 第一,网络互连,路由器支持各种局域网和广域网接口,主要用于互连局域网和广域网,实现不同网络互相通信; 第二,数据处理,提供包括分组过滤、分组转发、优先级、复用、加密、压缩和防火墙等功能; 第三,网络管理,路由器提供包括配置管理、性能管理、容错管理和流量控制等功能。 为了完成“路由”的工作,在路由器中保存着各种传输路径的相关数据--路由表(Routing Table),供路由选择时使用。路由表中保存着子网的标志信息、网上路由器的个数和下一个路由器的名字等内容。路由表可以是由系统管理员固定设置好的,也可以由系统动态修改,可以由路由器自动调整,也可以由主机控制。在路由器中涉及到两个有关地址的名字概念,那就是:静态路由表和动态路由表。由系统管理员事先设置好固定的路由表称之为静态(static)路由表,一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络结构的改变而改变。动态(Dynamic)路由表是路由器根据网络系统的运行情况而自动调整的路由表。路由器根据路由选择协议(Routing Protocol)提供的功能,自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径。 Osi模型个层功能 OSI七层模型介绍 OSI是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。下面我简单的介绍一下这7层及其功能。 OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 其中高层,既7、6、5、4层定义了应用程序的功能,下面3层,既3、2、1层主要面向通过网络的端到端的数据流。下面我给大家介绍一下这7层的功能: (1)应用层:与其他计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。示例:telnet,HTTP,FTP,WWW,NFS,SMTP等。 (2)表示层:这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二进制或ASII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASII格式,发送方将把文本从发送方的字符集转换成标准的ASII后发送数据。在接收方将标准的ASII转换成接收方计算机的字符集。示例:加密,ASII等。 (3)会话层:他定义了如何开始、控制和结束一个会话,包括对多个双向小时的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC,SQL等。 (4)传输层:这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX。 (5)网络层:这层对端到端的包传输进行定义,他定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。

如何选择多WAN口路由器

如何选择多WAN口路由器 正确选择一款多WAN路由器,应该着重关注以下几个关键问题: 一、明确多WAN路由种类,知道买什么性质的产品: 多WAN路由根据应用可分为几个大类,市场上常见的主要有3类:一是“一吧多网”型,二是“带宽汇聚”型,三是“IP均衡”型。 “一吧多网”型多WAN路由器主要用于不同运营商的宽带接入,如一条网通、一条电信或一条教育网。它是根据目的IP进行WAN口选择的多WAN应用类型,它主要是解决国内网通、电信等接入商线路互访瓶颈的问题。一般注明“网吧专用”的多WAN都属于这类产品,在教育网和一些特定场合也有应用。 “带宽汇聚” 型多WAN路由器主要用于希望网络接入带宽增加的目的。多一条宽带,多一倍带宽,快一倍速度,这就是“带宽汇聚”的功能。它是以每台PC的会话数为单位,把它们自动分配到更空闲一些的线路上, “IP均衡”型多WAN路由器的作用就相当于2个单WAN路由,除了使用同一个网关、同一套管理策略外,在多WAN连接效果上基本没有太大的使用效益。这种路由器被称为“假多WAN”。目前这种路由已经很少单独存在,但这项功能还存在某些路由的配置中,只要用户不当心选择了“IP均衡”这项功能,就相当于买了“IP均衡”型路由器。下面还要专门阐述这个问题。 除了第三种“假多WAN”外,前两种路由都有其特定的用途,使用效果也迥然不同,是不能通用的。但也有例外,有一种欣向路由器采用第四代多WAN技术,通过自动识别宽带类型,就能将二者有机的结合在一起。这更适合既需要“一吧多网”也需要“带宽汇聚”的场合,比如2条电信、一条教育网的接入环境。 总之,用户要了解多WAN路由是不同的,选购时首先必须要根据自身使用环境和目的,保证买对了产品。 二、选择合适的带机量指标,一般为2倍,需要管理功能还要更大: 所有路由器选购都会涉及到具体的带机量,以保证路由器能承载特定规模的网络处理负荷。一般来讲,厂家宣传的带机量都是理论带机量,实际使用中都会打折扣。为了保证使用,一般情况下我们需要购买带机量为实际电脑数量2倍左右的路由器。否则,常出现因处理能力不够造成的网络问题。 现在路由器管理功能越来越多,某些协议和行为管理大幅消耗路由器处理资源。例如使用路由器的封BT、封msn,封QQ等功能会使路由器的硬件资源损耗1-1.5倍,这也就告诉我们如果开启路由器的行为管理功能,那么选购路由器时的理论带机量要为实际电脑数量的3-4倍,否则使用路由器的行为管理功能会以网速大幅降低为代价,没有速度的管理“得不偿失”。 三、一定要问清硬件配置,拒绝信息不透明: 企业路由器的选购一定要注意查看路由器的硬件配置,特别是路由器的CPU,就像PC一样,没有高性能的CPU不可能有高速的处理能力。目前,专业路由器大都采用Intel IXP系列网络

路由策略与策略路由详解

在网络设备维护上,现在很多维护的资料上都讲到“路由策略”与“策略路由”这两个名词,但是有很多搞维护的技术人员对这两个名词理解的还不是很透彻,无法准确把握这两者之间的联系与区别。本文简单分析一下这两者之间的概念,并介绍一些事例,希望大家能从事例中得到更深的理解。 一、路由策略 路由策略,是路由发布和接收的策略。其实,选择路由协议本身也是一种路由策略,因为相同的网络结构,不同的路由协议因为实现的机制不同、开销计算规则不同、优先级定义不同等可能会产生不同的路由表,这些是最基本的。通常我们所说的路由策略指的是,在正常的路由协议之上,我们根据某种规则、通过改变某些参数或者设置某种控制方式来改变路由产生、发布、选择的结果,注意,改变的是结果(即路由表),规则并没有改变,而是应用这些规则。 下面给出一些事例来说明。 改变参数的例子:例如,A路由器和B路由器之间是双链路(分别为AB1和AB2)且带宽相同,运行是OSPF路由协议,但是两条链路的稳定性不一样,公司想设置AB1为主用电路,当主用电路(AB1)出现故障的时候才采用备用电路(AB2),如果采取默认设置,则两条电路为负载均衡,这时就可以采取分别设置AB1和AB2电路的COST(开销)值,将AB1电路的COST值改小或将AB2电路的COST值设大,OSPF会产生两条开销不一样的路由,COST(开销)越小路由代价越低,所以优先级越高,路由器会优先采用AB1的电路。还可以不改COST值,而将两条电路的带宽(BandWidth)设置为不一致,将AB1的带宽设置的比AB2的大,根据OSPF路由产生和发现规则,AB1的开销(COST)会比AB2低,路由器同样会优先采用AB1的电路。 改变控制方式的例子,基本就是使用路由过滤策略,通过路由策略对符合一点规则的路由进行一些操作,例如最普通操作的是拒绝(deny)和允许(Permit),其次是在允许的基础上调整这些路由的一些参数,例如COST值等等,通常使用的策略有ACL(Acess Control List访问控制列表)、ip-prefix、AS-PATH、route-policy等等。大部分的路由策略都和BGP协议配合使用中,属于路由接收和通告原则。 例如,上图中AS1不向AS2发布19.1.1.1/32这个网段,可以设置ACL列表,在RTB上设置(以华为的路由器为例): [RTB]acl number 1 match-order auto [RTB-acl-basic-1]rule deny source 19.1.1.1 0 [RTB-acl-basic-1]rule permit source any [RTB]bgp 1 [RTB-bgp]peer 2.2.2.2 as-number 2 [RTB-bgp] import-route ospf [RTB-bgp] peer 2.2.2.2 filter-policy 1 export 如果B向C发布了这条路由,但是C不想接收这条路由,则C可以设置: [RTC]acl number 1 match-order auto

路由器选型重要参数

路由器选型重要参数 全双工线速转发能力 路由器最基本且最重要的功能是数据包转发。在同样端口速率下转发小包是对路由器包转发能力最大的考验。全双工线速转发能力是指以最小包长(以太网64字节、POS口40字节)和最小包间隔(20字节)在路由器端口上双向传输同时不引起丢包。该指标是路由器性能重要指标。125,000,000/(64+20)=1,488,095 设备吞吐量 指设备整机包转发能力,是设备性能的重要指标。路由器的工作在于根据IP包头或者MPLS标记选路,所以性能指标是转发包数量每秒。设备吞吐量通常小于路由器所有端口吞吐量之和。 端口吞吐量 端口吞吐量是指端口包转发能力,通常使用pps:包每秒来衡量,它是路由器在某端口上的包转发能力。通常采用两个相同速率接口测试。但是测试接口可能与接口位置及关系相关。例如同一插卡上端口间测试的吞吐量可能与不同插卡上端口间吞吐量值不同。 路由表能力 路由器通常依靠所建立及维护的路由表来决定如何转发。路由表能力是指路由表内所容纳路由表项数量的极限。由于Internet上执行BGP协议的路由器通常拥有数十万条路由表项,所以该项目也是路由器能力的重要体现。 背板能力 背板能力是路由器的内部实现。背板能力能够体现在路由器吞吐量上:背板能力通常大于依据吞吐量和测试包场所计算的值。但是背板能力只能在设计中体现,一般无法测试。QoS分类方式 指路由器可以区分QoS所依据的信息。最简单的QoS分类可以基于端口。同样路由器也可以依据链路层优先级(802.1Q中规定)、上层内容(TOS字段、源地址、目的地址、源端口、目的端口等信息)来区分包优先级。 分组语音支持方式 在企业中,路由器分组语音承载能力非常重要。在远程办公室与总部间,支持分组语音的路由器可以使电话通信和数据通信一体化,有效地节省长途话费。当前技术环境下,分组语音可以分为3种:使用IP承载分组语音、使用A TM承载语音以及使用帧中继承载语音。使用ATM承载语音时可以分AAL1和AAL2两种。AAL1即电路仿真,技术非常成熟但是相对成本较高,AAL2技术较先进,但是当前ATM接口通常不支持。帧中继承载语音也比较成熟,相对成本较低。IP承载语音当前较流行。在上述技术中成本最低,但是当前IP网络QoS保证困难,通话质量较难保证。 语音压缩能力 语音压缩是IP电话节约成本的关键之一。通常可以使用G.723和G.729。G.723在ITU -T建议G.723.1(1996),语音编码器在5.3和6.3Kbps多媒体通信传输双率语音编码器中规定。相对压缩比较高,压缩时延较大。G.729在ITU-T 建议G.729 (1996),8Kbps共扼结构代数码激励线形预测(CS-ACELP)语音编码中规定。压缩比较低,通话质量较好。 信令支持 路由器E1端口上可能支持多种信令:ISUP、TUP、中国1号信令以及DSS1。支持ISUP、TUP或者DSS1信令的路由器可以有效地减少接续时间。在电信级的IP电话网络设备中通常要求支持7号信令。但是作为中低端路由器,通常只支持DSS1和中国1号信令。

路由选择

01路由和数据包转发简介 1.1路由器的内部构造 1.1.1路由器是计算机 1、路由器中含有许多其它计算机中常见的硬件和软件组件,包括: ●CPU ●RAM ●ROM ●操作系统 2、路由器是网络的核心 ●路由器将数据传到正确的目的地,可以连接不同的介质。 ●路由器可连接多个网络,这意味着它具有多个接口,每个接口属于不同的IP 网络。 3、路由器确定最佳路径 路由器主要负责将数据包传送到本地和远程目的网络,其方法是: ●确定发送数据包的最佳路径(路径选择,Path Selection) ●将数据包转发到目的地(包交换, Packet Switching) 路由器使用路由表来确定转发数据包的最佳路径。 1.1.2路由器CPU和存储器 1、路由器组件及其功能 PC 一样,路由器也包含: 1)中央处理器(CPU):CPU 执行操作系统指令,如系统初始化、路由功能和交换功能。 2)随机访问存储器(RAM/SDRAM/DRAM):操作系统、Running-config、IP Routing Table、 ARP表、数据包缓冲区。 3)只读存储器(ROM):bootstrap 指令、基本诊断软件、精简版IOS 4)闪存(Flash):在大多数Cisco 路由器型号中,IOS 是永久性存储在闪存中的,在启 动过程中才复制到RAM,然后再由CPU 执行。 5)NVRAM(非易失性RAM):NVRAM 被Cisco IOS 用作存储启动配置文件 (startup-config) 的永久性存储器。 1.1.3IOS(Internetwork Operating System,互联网操作系统) 1.1.4路由器的启动过程 1、启动过程分为四个主要阶段: 1)执行POST 2)加载bootstrap 程序 3)查找并加载Cisco IOS 软件 4)查找并加载启动配置文件,或进入设置模式 2、检验路由器启动过程 show version 命令有助于检验和排查某些路由器基本硬件组件和软件组件故障。 1.1.5路由器的接口 1、管理端口:控制台端口(Console)和AUX(辅助)端口 2、LAN:以太网接口(Ethernet Interface)和快速以太网接口(FastEthernet Interface)、吉 比特以太网接口(Gigbit Ethernet Interface)、10 Gigbit Ethernet Interface。 3、WAN:如串行接口、ISDN 接口和帧中继接口。 1.1.6路由器和网络层

路由器的选择方法

首先给大家看一张图,这里详细的画出了路由器的各种您不知道的小秘密,随后我将详细的为大家解答其中技术性的问题。 (路由器参数图) 看花眼了吧,这一个个的文字、字母和数字组合到底是什么意思呢?还有这一圈圈的光圈又代表什么呢?不着急,且听我慢慢道来。 很多人在买路由器的时候会存在一些误区,首先是对路由器型号的不了解,其中还会闹出一些小笑话。这里小草就简单的介绍一下,大家常见的路由器上面都标注着150M和300 M等型号,具体是什么意思呢? 路由器的M是Mbps的简称,比特率是用来描述数据传输速度快慢的一个单位,比特率越大,数据流速越快。理论上150Mbps的网速,每秒钟的传输速度就是18.75MB/S。300Mbp s的网速,每秒钟的传输速度就是37.5MB/S。

很多朋友把这个M误解成了米的单位,有一次一个顾客来到我店里,说要买个300米的路由器,我当时就傻了,我问他是不是买300兆的,他说他也不懂,还有回一个客户来找我,说你的路由器不是300米的么?怎么隔了2个房间就没信号了,连20米都不到?这里我要着重说下路由器的这个M到底是什么意思,用行业术语讲或许大家听不明白,那我就讲通俗点其实这个M就是指的路由器对数据的吞吐量,数值越大吞吐量则越大,下回千万别把M 再当成米来误读啦,不然要闹出笑话的。 再说下路由器的型号划分,很多人或许知道的路由器有无线和有线两种,无线是可以发射WIFI信号的同时大部分产品还可以链接有线的网线,而有线路由器则是只能通过网线来链接,这只是对路由器的基本划分。其实路由器还可分为家用路由器和企业级路由器两种,因为功能不同和适应环境的缘故所以大家对于企业级路由器可能知道的不多,具体怎样区分呢? 这里可能就有点麻烦了,一般家用路由器带动的设备相对较少,一般不会超过5-10台,且使用的时间多数非全天候的,链接的带宽和数据吞吐量也不大,但从型号和发射频率来区分是不科学的,这主要看厂家怎么定位啦,这不很多小企业和办公区域就有拿家用路由器来充当企业级路由来使用的,如果设备链接较少还可以,如果连接数过多,难免不会出现些小问题,例如网速慢、频繁掉线、设备死机等问题。企业级路由器和家用路由还有一个大的区别在于软件功能上,为了迎合办公和不同需求,企业路由本身会设计很多的软件管理功能,例如端口扫描、网络限速、网址筛选、数据监控、数据防毒等等功能。 (家用300M三天线TP-LINK路由器)

路由器什么牌子好 如何选择路由器

伴随网络全面提速,无线路由器成为了生活中的必备设备,很多小伙伴在路由器选择时犯了难,那么路由器什么牌子好呢,今天笔者教大家挑选合适的无线路由器,话不多说,正文走起。 1.腾达路由器 腾达的最大特点就是便宜,虽然性能上相比其他几家品牌有一些差距,但价格就摆在这,用户在购买时要注意天线对信号并没有实际增强作用。腾达的部分产品天线多,但是实际信号没有什么增强。 2.TPLINK路由器 普联在国内名气比较大,价格也相对透明。在各个价位上都有不错的产品。在购买路由器时要注意路由器端口是否为千兆,如果入户网速被端口限制了那可真是太悲催了。

3.荣耀路由器 凭借华为在通讯行业的庞大实力和技术积累,荣耀也推出了几款口碑不错的路由器,荣耀pro和去年底推出的荣耀猎人都是非常不错的产品。提到荣耀就得提一下荣耀路由器的CPU,决定路由器性能的最直观硬件就是CPU和芯片,目前市面上的芯片还是以高通、联发科居多,近年来华为海思自研的凌霄CPU表现也非常出色,尤其在猎人路由器上有着良好表现,市面上多款高端路由器都采用了这个硬件配置。不过猎人在价格上更为亲民,也容易被一般用户接受。对于游戏玩家来说,猎人路由更是一款不可多得的好物,在5GHz频段有一颗芯片独立工作,游戏用户可以接入该频段从而在物理层面隔绝其他设备的信号干扰,而路由器内置的迅游加速器使得PC和主机玩家也能畅快体验游戏的快感。

4.网件 一般用户可能听到的比较少,这款产品价格比较贵,三线的都要500元左右,不过一分价钱一分货,在性能表现上很不错。 路由器什么牌子好呢?,实际上作为普通家用级别,荣耀、TP和小米的多数产品都基本满足了用户需要,如果是大户型,一款千元路由器的效果绝对比不上两款300元路由器串联。

路由器和防火墙的选型

路由器和防火墙 任务描述: 了解路由器和防火墙的主要在定义、工作、功能及分类。 背景知识: 1、什么是路由器?路由器的主要工作? 路由器是互联网的主要节点设备,他可以连接不通传输速率并运行在不同环境下的局域网和广域网。 路由器的主要工作:路由器工作在OSI模型的网络层,主要功能就是为经过路由器的每个数据选择最佳的路径。不想前面所讲的网桥和交换机,路由器是依靠与协议的。典型的路由器都带有自己的处理器、内存、电源和为各种不同类型的为网络连接器而准备的输入输出插座。其最重要的功能就是实现路由选择。 2、防火墙的功能和分类? 防火墙是网络安全的屏障:一个防火墙(作为阻塞点、控制点)能极大地提高一个内部网络的安全性,并通过过滤不安全的服务而降低危机。由于只有经过精心选择的使用协议才能通过防火墙,所以网络环境变得更安全。如防火墙可以禁止诸如众所周知的不安全的NFS协议进出受保卫网络,这样外部的攻击者就不可能运用这些脆弱的协议来攻击内部网络。防火墙同时可以保卫网络免受基于路由的攻击,如IP选项中的源路由攻击和ICMP重定向中的重定向路径。防火墙应该可以拒绝所有以上类型攻击的报文并通知防火墙管理员。防火墙可以强化网络安全策略:通过以防火墙为中心的安全方案配置,能将所有安全软件(如口令、加密、身份认证、审计等)配置在防火墙上。与将网络安全疑问分散到各个主机上相比,防火墙的集中安全管理更经济。例如在网络访问时,一次一密口令系统和其它的身份认证系统完全可以不必分散在各个主机上,而集中在防火墙一身上。 防火墙的种类防火墙技能可根据防备的形式和侧重点的不同而分为很多种类型,但总体来讲可分为二大类:分组过滤、使用代理。分组过滤(Packet filtering):作用在网络层和传输层,它根据分组包头源地址,目的地址和端口号、协议类型等标志确定能不能允

路由器 特点功能优缺点

路由器 名称:路由器(有线·无线) 功能: (1)在网络间载获发送到远地网段的报文,起转发的作用。 (2)选择最合理的路由,引导通信。为了实现这一功能,路由器要按照某种路由通信协议,查找路由表。路由表中列出整个互联网络中包含的各个节点,以及节点间的路径情况和与它们相联系的传输费用。如果到特定的节点有一条以上路径,则基于预先确定的准则选择最优(最经济)的路径。由于各种网络段和其相互连接情况可能发生变化,因此路由情况的信息需要及时更新,这是由所使用的路由信息协议规定的定时更新或者按变化情况更新来完成。网络中的每个路由器按照这一规则动态地更新它所保持的路由表,以便保持有效的路由信息。 (3)路由器在转发报文的过程中,为了便于在网络间传送报文按照预定的规则把大的数据包分解成适当大小的数据包,到达目的地后再把分解的数据包包装成原有形式。 (4)多协议的路由器可以连接使用不同通信协议的网络段,作为不同通信协议网络段通信连接的平台。

(5)路由器的主要任务是把通信引导到目的地网络,然后到达特定的节点站地址。后一个功能是通过网络地址分解完成的。例如,把网络地址部分的分配指定成网络、子网和区域的一组节点,其余的用来指明子网中的特别站。分层寻址允许路由器对有很多个节站的网络存储导址信息。 特点: (1)可靠性与线路安全可靠性要求是针对故障恢复和负载能力而提出来的。对于路由器来说,可靠性主要体现在接口故障和网络流量增大两种情况下,为此,备份是路由器不可或缺的手段之一。当主接口出现故障时,备份接口自动投入工作,保证网络的正常运行。当网络流量增大时,备份接口又可承当负载分担的任务。 (2)身份认证路由器中的身份认证主要包括访问路由器时的身份认证、对端路由器的身份认证和路由信息的身份认证。 (3)访问控制对于路由器的访问控制,需要进行口令的分级保护。有基于IP地址的访问控制和基于用户的访问控制。(4)信息隐藏与对端通信时,不一定需要用真实身份进行通信。通过地址转换,可以做到隐藏网内地址,只以公共地址的方式访问外部网络。除了由内部网络首先发起的连接,网外用户不能通过地址转换直接访问网内资源。 (5)数据加密

第四章 路由器基础练习题

《网络互联技术》练习题 第四章:路由器基础 一、填空题 1、路由器的两大主要功能是:_______和数据交换。 2、路径选择发生在OSI体系的________。 3、能够将数据包从一个子网上的主机转发到另一个子网上的上机的网络层协议称为___________。 4、路由协议的最终目的是生成__________。 5、路由器的存储器包括:BootRom、Ram/Dram、Nvram和________。 6、路由器的启动配置文件存储在_____________。 7、路由表形成的三种途径是:________、静态路由和动态路由。 8、ip classless命令的作用是_________________。 二、单项选择题 1、校园网架设中,作为本校园与外界的连接器应采用( )。 A、中继器 B、网桥 C、网关 D、路由器 2、下列哪个设备是网络与网络连接的桥梁,是因特网中最重要的设备( )。 A、中继器 B、集线器 C、路由器 D、服务器 3、对不同规模的网络,路由器所起的作用的侧重点不同。在主干网上,路由器的主要作用是( )。 A、路由选择 B、差错处理 C、分隔子网 D、网络连接 4、在网络层提供协议转换,在不同网络之间存贮转发分组的网络设备是( )。 A、网桥 B、网关 C、集线器 D、路由器 5、在园区网内部,路由器的主要作用是( )。 A、路由选择 B、差错处理 C、分隔子网 D、网络连接 6、路由器技术的核心内容是( )。 A、路由算法和协议 B、提高路由器性能方法 C、网络地址复用方法 D、网络安全技术 7、路由器性能的主要决定因素是( )。 A、路由算法的效率 B、路由协议的效率 C、路由地址复用的程度 D、网络安全技术的提高 8、关于路由器,下列说法中错误的是()。 A、路由器可以隔离子网,抑制广播风暴 B、路由器可以实现网络地址转换 C、路由器可以提供可靠性不同的多条路由选择 D、路由器只能实现点对点的传输 9、路由器最主要的功能是路径选择和进行() A、封装和解封装数据包 B、丢弃数据包

无线路由器选择哪个信道

无线路由器选择哪个信道 如果你对家中无线路由器的设置过程有所了解,那么你一定曾经见到过“信道”这个词。其实大多数无线路由器的信道都被设置成“自动”,因此许多普通用户在设置时根本不会特别在意这个问题。虽然无线网络的信道可以多达几十个,但是通过适当的设置可以让我们所使用的信道比其他人的更快。 1、不同的无线网络的信号干扰会使无线网络的性能受影响。 虽然信道数量很多,但是这并不意味着你可以随便设置。网络质量除了客户机无线网卡或无线路由器的质量问题,有一个不容忽视的要素,就是不同的无线网络的信号干扰,使无线网络的性能受影响。这个问题的罪魁祸首就是无线网络和另外两个无线网络使用了相同的信道,或者使用了能够相互干扰的某些信道。因此下面就让我们一起来了解一下更多关于802.11信道、以及在2.4GHz到5GHz Wi-Fi信号之间的区别。 2、信道1、6和11 3、首先让我们来讨论一下2.4GHz的信道。 因为从2014年开始,所有无线路由器都仍然在使用2.4GHz的频段。虽然802.11ac在去年首次亮相,开始搭理推动5GHz频段的使用,但是相信许多用户不会立即更换路由器,再加上厂商们还有许多库存,因此2.4GHz频段仍然还会在市面上大量的存在一段时间。 4、所有Wi-Fi信号,包括80.211n(a,b,g,n)之间使用的都是2400到2500MHz的频率。而这100MHz的差距要平分给14个不同的信道,因此每个信道之间的差距只有微小的20MHz。而正如我们所设置的那样,14个信道每个20MHz的差别,总和已经超过了100MHz,因此在2.4GHz的频段中至少会有两个(通常是四个)信道处于重合状态。我们可以想象,如果信道重叠的话并不是一件好事,糟糕的是它会直接影响我们无线网络的吞吐量。 5、幸运的是,信道1、6和11彼此之间间隔的距离足够远,因此他们三个也成为了不会互相重叠和干扰的三个最常用的信道。 因此我们可以在无线路由的设置中将信道设置在1、6和11中的某一个。而对于我们普通的家庭用户来说,我们建议将信道设成1或11,这样可以最大限度的避免和别家的路由器发生信号重叠。因为大多数人并不会修改这个设置而保持默认的6信道。 6、当然802.11b/g网络标准中只提供了三个不互相重叠的信道,这些可使用的非重叠的信道数量有点偏少,但对于一般的家庭或SOHO一族无线网络来说,已经足够了。 如果你的办公区域需要多于三个以上的无线网络,建议你使用支持802.11a标准的无线设备,它提供更多的非重叠信道。 7、在建筑和无线网络密集地区应该如何选择 1)所以,如果在一个理想状态中,你和你的邻居们使用的都是信道1、6和11。不过需要记住的是,墙壁是阻隔无线信号最有效的方法,因此如果你和你的邻居之间隔的是完整的一堵墙,那么即使都使用的是信道1,彼此之间也不会产生干扰。但是如果你们之间只是间隔的薄墙或窗户,那么你们必须要使用不同的信道。 2)目前,已经有特定的工具来帮助我们找到最适合自己的信道,比如这款名叫Vistumbler

路由器的选择原则

路由器的选择原则 路由器作为组建局域网时经常使用的网络产品,与类似网卡、集线器之类的网络产品相比,就并不为众人所知了,目前市场上,路由器的品牌型号众多,面对这些眼花缭乱的产品,相信那些对路由器不太熟悉的用户肯定会感到无从下手,为此本文试图借助对路由器的类型、功能、尺寸品牌的分析,为企业或学校购买网络路由器提供一些帮助。 类型要对口实用 随着因特网应用的普及,网络带宽的迅速增加,路由器在网络中的地位也越来越高。一般说来,异种网络互联与多个子网互联都应采用路由器来完成。路由器能将不同网络或网段之间的数据信息进行“翻译”,以使它们能够相互“读”懂对方的数据,从而构成一个更大的网络。 按照连接方式的不同,路由器又可以分为直连路由和非直连路由,由路由器各网络接口所直连的网络之间使用直连路由进行通信。如果要实现两个局域网的点到点连接,可以选用直连路由,该路由器配置操作简单,特别适合那些没有专门网管人员的单位,因为该类型的路由在配置完路由器网络接口的IP地址后自动生成的,而不再需要其他复杂的配置。如果单位组建的局域网是和其他许多局域网进行互联,此时就必须选择使用非直连路由。非直连路由是指人工配置的静态路由或通过运行动态路由协议而获得的动态路由。其中静态路由比动态路由具有更高的可操作性和安全性。 根据性能和价格,路由器还可分为低端、中端和高端三类。高端路由器又称核心路由器。低、中端路由器每秒的信息吞吐量一般在几千万至几十亿比特之间,而高端路由器每秒信息吞吐量均在100亿比特以上。由于高端路由器设备复杂,技术难度极大,目前国际上只有极少数国家能研制开发。 对于低端路由器来说,它是许多局域网用户首先需要考虑的品种,这类路由器也是我们局域网用户接触最多的一种产品了。如果局域网中包含的主机很多,需要处理和传输的信息量很大的话,就应该考虑选择中端路由器了。与低端路由器相比,中端路由器支持的网络协议多、速度快,要处理各种局域网类型,支持多种协议,包括IP、IPX和Vine,还要支持防火墙、包过滤以及大量的管理和安全策略以及VLAN(虚拟局域网)。高端路由器并不是每个用户都能接触到的,它只出现在某个行业或者系统的主干网上。互联网目前由几十个主干网构成,每个主干网服务几千个小网络,高端路由器实现企业级网络的互联。由于高端路由器工作的特殊性,因此对它的选择要求是速度和可靠性第一,而价格则处于次要地位。

相关主题