首页 > 学技术 > 技术网文 > 网络技术 > 正文

[精华] 网关工作在第几层


来源 chinaunix.net 酷勤网整理

问个简单的问题,网关工作在第几层?



 mazu 回复于:2004-09-20 19:19:37

三层以上


 ghxworm 回复于:2004-09-20 19:23:26

网关在定义的时候一般包括了OSI七层全部吧


 mazu 回复于:2004-09-20 19:37:04

有的书上说,凡是3层以上的网络设备都可称之为网关
但是网关不是单纯工作在某一层的,而是需要工作在某几层的


 sunsroad 回复于:2004-09-22 16:19:01

网关是一个非常广泛的概念,我们很难给出一个确切的定义。

从第一层到第七层都可以有网关设备出现。

我们通常所说的网关主要是指第三层的设备,即路由器。

关于网关是工作在某几层的观点是不正确的,过于教条主义,而缺少对事物本质的了解。譬如说应用网关,一个应用网关的具体设备确实会包括ISO模型中的所有7层(我们不关注具体的协议实现)但是实现网关功能的具体进程并不会涉及到下面的层次,那是一个网络设备要得以运作必须的实现。而与网关的实现相关的处理只在特定的层次上操作。因此我们完全是可以确定网关的应用层次的。

有些网关具体的实现可能即包含了多个层次,但这只能说是这个具体的实现是同时包含了多种的网关的实现的,是复合型的而已。

即是说,路由器就是工作在的三层的网关设备。而代理服务器(特定与一定的服务,譬如web服务。)就是应用层的网关。


 fengwy 回复于:2004-09-23 09:27:26

引用:原帖由 "mazu" 发表:
有的书上说,凡是3层以上的网络设备都可称之为网关
但是网关不是单纯工作在某一层的,而是需要工作在某几层的


这本书有点误认子弟


 fengwy 回复于:2004-09-23 09:33:37

引用:原帖由 "sunsroad" 发表:
网关是一个非常广泛的概念,我们很难给出一个确切的定义。

从第一层到第七层都可以有网关设备出现。

我们通常所说的网关主要是指第三层的设备。

关于网关是工作在某几层的观点是不正确的,过于教条注意,而..........


sunsroad解释的很好!
“网关工作在OSI的任意一层或同时工作在几层,一般工作在高层,如应用层”这句话我以前不太理解,现在sunsroad的解释是最好的注解。


 fengwy 回复于:2004-09-23 09:37:12

再问一下,第一层的网关是什么?


 chenzq1604 回复于:2004-09-23 10:37:27

第一层应该只有中继器和HUB吧


 sunsroad 回复于:2004-09-23 15:52:07

引用:原帖由 "chenzq1604"]第一层应该只有中继器和HUB吧
 发表:



首先我享我们必须先树立一个观念:网关只是一个概念,他不能确切的代表任何含义,更不能代表任何的设备。对应OSI不同层次的网关的具体体现甚至都不一样。是对某些有着类似的工作机理的处理机制的概括。他不像我们提到路由器或者交换机(ethernet switch)时候,我们就确切的知道他是什么设备,实现那种功能。而对于网关这个名词,我们所说的每种具体的功能都是他的一个子类。

我首先透过几个例子解释一下几种常见的网关:
1、应用网关。譬如我们需要在建设银行跟中国银行之间进行联网,实现通存通兑。但是由于很多的原因,大家之间的数据格式千差万别,谁没有办法对方的数据。因此我们就在两大系统之间加一个设备,实现将双方的数据进行转换的功能。这就是应用网关的一个例子。

2、协议网关。我公司现在用的是跑ethernet协议的ethernet网络。我想要访问互联网的话,通过考察感觉使用DDN是最好的选择。现在就有一个问题,我在Ethernet上面跑的ethernet协议,是没有办法在DDN网络上传输的。如何解决这个问题呢?我就在这两种网络之间增加一个设备:router。这样就可以将局域网协议转换为广域网协议。从这个意义上讲,虽然路由器是工作在的三层的设备,但是就作为网关来讲,他是二层的协议网关。(从具体的实现来说,这个例子不太贴切,因为路由器并没有直接实现不同协议间的翻译,而是通过更高层的协议进行重新的封装)

我们可以从上面的例子可以看出,所谓的网关的实现是在确定的层次上的,不能因为其他的层次的存在就说网关是工作在多个层次上的。我们应该从进程的角度来了解或者解释网关,这就容易看出他的位置。

再强调一次:网关不代表设备,而是很多种功能的一个通称,是一种概念。

不管是中继器还是hub(仅仅中继器的一个延伸而已)都只是属于ethernet的概念。在一种协议的一个实例上,永远都不会有网关的需求出现。要理解网关必须在异构的环境中。

另外,其实对于的一层的网关的例子,我也没有具体的体会,因为我也没有见过。因为第一层主要是定义电气特性,因此这种需求可能会少一些,而且也会比较没有多大的意义。有几样东西可以供你参考一下:

好象有RS232到RS485的转换器,最近又有RS232到USB的转换器,这些东西应该可以做为第一层的网关来看待(具体的并不是非常的了解)个人意见,仅供参考。


 mazu 回复于:2004-09-23 17:00:33

呱唧呱唧,
受益匪浅


 dujianhui 回复于:2004-09-23 20:04:52

不能只是说好哦。大家都要贡献下哈。。。


 fengwy 回复于:2004-09-24 10:36:20

引用:原帖由 "mazu" 发表:
呱唧呱唧,
受益匪浅


呱唧呱唧??这是干吗??


 fengwy 回复于:2004-09-24 10:37:07

建议给sunsroad加精


 biejia 回复于:2004-09-24 11:53:15

听君一席话,胜读一本书吖


 xiechq 回复于:2004-09-24 20:53:12

说得很对。


 danielhf 回复于:2004-09-25 11:51:21

第一层网关可以被认为是 网桥


 红头发 回复于:2004-09-25 12:36:56

gateway:OSI的7层


 skylove 回复于:2004-09-26 09:11:03

在三层上对网关的定义是:边界路由器,就是说最早是认定2种不同性质(软件协议/硬件设备)间的网段之间的路由器是网关。当然internet普及后,对这个概念有点放松,例如同样是ethernet方式的2个不同网之间的路由器,有时候我们也称为网关。

如果按照这个观点类推,1层网关该是2种不同硬件网络设备间的连接设备;而7层网关则是不同应用之间的中转程序吧。。。。。


 chinaunix_li 回复于:2004-09-26 15:03:55

要看你所说的网关是起什么作用了


 xiangxianni 回复于:2004-09-26 15:34:13

是啊。说不清楚啊
关键看是用来做什么的!


 linbaojianni 回复于:2004-09-26 16:14:21

我所知道的:1。一种网关也叫做协议转换议,比如说E1<-->;ETH,这种工作在物理层,数据链路层,网络层。2.还有一种,比如说设置PC的网络的时候会设置IP地址,网关,这时候网关工作在三层,三层之上,具有网络层的功能,另外还有计费,认证的功能,所有的数据经过它。 3。安全网关,工作在三层,四层。它的功能包含了日志记录(安全部门规定所有的商用ISP必须在出口有网关记录所有的访问日志;^_^当然以后要小心,你上法轮功网站公安绝对知道),病毒防护,入侵检测(这个时候拆包已经拆到了TCP层,所以说是4层),访问控制(也有对TCP/igmp,icmp各种三层,4层协议的访问控制),路由功能,所以说是四层的。我们提到的网关一般来说都是工作在三层,四层,甚至更高的。


 now 回复于:2004-09-26 22:12:08

:)


 ouatitj 回复于:2004-09-27 00:47:00

不错 这种讨论很有意义


 fengwy 回复于:2004-09-27 08:36:27

引用:原帖由 "danielhf"]第一层网关可以被认为是 网桥
 发表:


网桥是第二层的


 skylove 回复于:2004-09-28 12:21:25

引用:原帖由 "fengwy" 发表:

网桥是第二层的



同意你的,bridge是在2层。

这些在cisco的最初级的ccna的教程中都有讲到的。。。可以借点资料看看,总泡论坛不太好,该看书还是看书吧。。。书上详细而系统。


 神牛 回复于:2004-09-29 11:27:19

收下了


 saintjian 回复于:2004-10-01 18:43:37

好长时间没来了。一来就看见这么精彩的贴子,实在不枉此行。好


 Cocal 回复于:2004-10-02 18:10:57

第一层网关是什么啊?有这种说法吗?

按OSI 7层来说,第一层设备只有接口卡,中继器(或线路延长器,转发器repeater),应该包括hub(switch不是,交换机应该是bridge)和光收发器之类。

网关最起码在三层以上,在这之上任何负担网络连通的应用都可以理解为网关,比如web代理服务器,或者自己写程序通过Ether访问远程某台机连接的485网络,甚至是远程主机的usb链上的设备,其中都有网关的含义在里面。网关和路由器有些混淆,个人倾向于认为路由限定在第三层,针对可路由协议之间的路由运算,比如基于三层及三层以下协议的规则过虑防火墙、NAT等,一旦涉及到三层以上(对tcp/ip来说,就是ip包里面的内容),比如内容过滤、基于内容过滤的防火墙,则升级为网关。

网关和路由器的区别可能不对....汗!


 beijingzhzj 回复于:2004-10-04 01:37:10

网关是不大用的,实现起来很复杂。三层以上。

也可以把所有的设备都叫网关。可这个概念也不太准确。


 cisp 回复于:2004-10-04 16:58:00

感觉还是sunsroad说的比较全。


 段誉 回复于:2004-10-07 00:53:03

我的理解,第一层网关就是光电转换器/单多模转换器等等这类设备,纯以物理电气信号的转换为目标。

欢迎开批!:)


 河里的鱼 回复于:2004-10-08 09:43:33

个人认为:
网关=转发


 DragonCB 回复于:2004-10-08 11:19:18

个人观点--网管=控制+转发.能转发的个人认为只能叫router。


 zeller 回复于:2004-10-08 18:14:59

sunsroad 的帖子还是很经典的,值得顶


 bandt 回复于:2004-10-09 08:54:44

我考,真是豁然开朗!谢谢大家的讨论!


 sunsroad 回复于:2004-10-09 10:49:34

我想我们首先应该统一一个思想:就是说,网关的实现只是依靠系统中某一个或者是某几个进程,这样我们就可以明确的了解网关是否是在哪个层次上实现了。如果你不能从进程的角度来了解网关的实现,那你就永远不会理解网关只是在某一层或某几层实现这句话。

    其次,我个人的观点:就路由器的主要实现(在网络层上)来说,它并不能算作一个网关。它连接的本来就是相同的网络:都是IP网络。而从第二层上来讲,它或许可以算作一个网关的实现——在不同的链路层上实现转换。我前面讲过,它是通过解封装与重新封装来实现的。我们可以认为这也是网关的一种实现,本来网关就没有一个严格的定义。

    第三,一个在网路层上的网关的实现应该是这样的:譬如我之前有一个novell netware服务器,与他所连接的整个网络都是跑IPX/SPX协议,但是由于商务的需要,我需要将他加到互连网络上来,同时我没有将系统迁移到直接支持IP协议的打算,也不想在我的netware server上增加支持IP协议的模块。这个时候,我可以实现一个设备,要它将外面访问我的服务器的IP包转换到IPX包。这就是一个网络层上的协议网关的例子。当然它会牵涉到很多的问题,譬如还要实现tcp到SPX的转换等,甚至可能会牵涉到高层的一些协议,具体可不可实现就不是我们在这儿要讨论的东西。

    第四,关于应用网关的实现,请见我前面的阐述。

    第五,其实我们也可以将所有的网关都看作是协议网关。说到低他们都是实现不同的格式之间的互操作任何一种格式我们都可以认为是一种协议,即使是数据库中的一个表格的定义。

    最后,我强调一点关于前面我提到第一层的网关仅仅是个人观点,我实在没有有讲第一层的网关的资料。

    希望大家共同进步。


 zhaoruione 回复于:2004-10-09 15:24:56

说的很好呀!


 小虎当家 回复于:2004-10-10 09:09:00

。。。。。







 fengwy 回复于:2004-10-10 11:43:12

其实我们也可以将所有的网关都看作是协议网关。说到低他们都是实现不同的格式之间的互操作任何一种格式我们都可以认为是一种协议,即使是数据库中的一个表格的定义。 
--------------------------------
深刻!!!


 zonzi 回复于:2004-10-10 14:11:09

ip


 mhxkcu 回复于:2004-10-12 10:34:11

网关可以看成一个工作在全部七层的概念


 hrcxf 回复于:2004-10-14 11:17:48

应用层


 freet15 回复于:2004-10-17 22:05:20

引用:原帖由 "biejia"]听君一席话,胜读一本书吖
 发表:


抛开叛国不提,林彪的一种读书方法很值得大家学习(不要模仿,只是说明一种方式,思考问题的方式),每次他看上的书,都会一次买上四到五本,读到精彩的情节和有感触,很值得记下的东西,就画上线,然后警卫就帮他剪下那些划线的,读读第二遍的时候,他就扔掉一些认为不重要,或者说是精髓的东西,最后留下不到十张纸片就是这本书的精髓,呵呵,刚才各位讲的东西,就是在大脑中做的精简,呵呵,读书就是要读到这个份上啊.大家相互学习:)


 jekylland 回复于:2004-10-18 00:03:41

网关的概念确实比较含糊~当我们学习网络基础课程的时候,书上一般会写到终继器是XXX层的设备,网桥是XXX层的设备,路由器是XXX层的设备,但实际应用的时候我们会发现为了方便,我们很少在组网的时候分别买这三样东西,因为现在的网络设备是集成的,于是我们就会惊喜的发现有个叫broute的东西,有谁能告诉我它是哪个层次的设备吗?当它用在相同网段,作为一个网络的扩展的连接设备的时候就是网桥;当它用在不同网段需要路由选择的时候就是路由器。
   依据这个观点我们看网关,它的作用是不同的网络之间进行协议转换,OSI中它被定义在网络层之上的设备。根据broute,我们是不是可以认为:当有一天,我们需要把两个运行不同协议的网络联系起来进行资源共享时候,我们买来一个路由器,它实现了这个目的,于是我们就可以把它叫做gateway!


 sunsroad 回复于:2004-10-18 12:56:24

引用:原帖由 "jekylland"]网关的概念确实比较含糊~当我们学习网络基础课程的时候,书上一般会写到终继器是XXX层的设备,网桥是XXX层的设备,路由器是XXX层的设备,但实际应用的时候我们会发现为了方便,我们很少在组网的时候分别买这三样东西..........
 发表:



你对网络的具体问题理解的太过肤浅,建议你回去找几本合适的资料再认真的研究一下,不然只会越学越混乱。

路由器跟网桥完全是两回事,无论路由器的两端连接的是什么类型的网络,都不可能工作在网桥的模式。你只要记住这个观点,具体的原因,涉及到路由与网桥进程层面的实现,你现在恐怕没有办法真正理解。


 sdsdsdsder 回复于:2004-10-19 16:28:35

高手之论


 main1984 回复于:2004-10-23 22:43:38

靠,你们太优秀了,我怎么一点都不行了呢》
我还是一个计算机专业的,可惜啊!
同志们教我怎么学啊!
谢谢


 yuanmx 回复于:2004-10-27 05:18:21

不错,其实看到这么多人的讨论,加上高人的指点,我们早该理解网桥的含义了,网桥在即在异构网络之间起到桥梁作用,即:转换作用


 ouatitj 回复于:2004-10-27 21:49:51

引用:原帖由 "yuanmx"]不错,其实看到这么多人的讨论,加上高人的指点,我们早该理解网桥的含义了,网桥在即在异构网络之间起到桥梁作用,即:转换作用
 发表:



伙计是网关吧


 zjzf_1 回复于:2004-10-28 09:59:20

internet网关一般指的是路由
也有应用层网关传输层网关
等     也就是说 网关是一个 比较抽象的 概念  具体环境中网关各有不同


 ljyy 回复于:2004-11-18 00:37:07

我一直在网上寻找关于网关的知识,他们讲得不够通俗,看了sunsroad的解释,我真是感觉到网络实在太好了,我们相互不认识,却能从你身上学到好东东!谢谢!有空欢迎到云南来玩!


 youzht 回复于:2004-11-18 14:54:52

引用:原帖由 "sunsroad" 发表:


你对网络的具体问题理解的太过肤浅,建议你回去找几本合适的资料再认真的研究一下,不然只会越学越混乱。

路由器跟网桥完全是两回事,无论路由器的两端连接的是什么类型的网络,都不可能工作在网桥的模式。你?.........



IP路由原理与应用上说,路由器可以做为网桥仿真,这个概念很老了.


 jiadingjun 回复于:2004-12-30 20:20:40

能不能说,gateway是一个逻辑概念,而brige和router则是个物理装置。


 JohnBull 回复于:2005-01-02 11:00:58

引用:原帖由 "sunsroad" 发表:


首先我享我们必须先树立一个观念:网关只是一个概念,他不能确切的代表任何含义,更不能代表任何的设备。对应OSI不同层次的网关的具体体现甚至都不一样。是对某些有着类似的工作机理的处理机制的概括。他不像我们..........



请问你这个"概念"是哪里来的?是你自己想象出来的吧!

"网关"是有它的确切概念的!看看RFC791的2.4节:
引用:
"2.4.  Gateways

  Gateways implement internet protocol to forward datagrams between  networks.  Gateways also implement the Gateway to Gateway Protocol  (GGP) [7] to coordinate routing and other internet control  information."



你的想法差不多,但是你不该滥用"网关"这个专用词汇.
你想象中的"网关"实际上是"转发器".


 joyaid 回复于:2005-01-02 19:00:02

学习,再学习!!


 rainren 回复于:2005-01-08 17:08:27

引用:原帖由 "jiadingjun"]能不能说,gateway是一个逻辑概念,而brige和router则是个物理装置。
 发表:





brige怎么怎么能说成物理装置 :?:  :?:  :?:  :?:


 w2dongmei 回复于:2005-01-08 23:11:34

看帖比看书划算多了。。。。呵呵。。。网关。。。


 无水双鱼 回复于:2005-01-09 00:14:19

真不错


 !白菜! 回复于:2005-01-10 14:00:20

网关不代表设备,而是很多种功能的一个通称,是一种概念。 


受益非浅啊


 cluefly 回复于:2006-04-04 09:43:11

谢谢sunsroad 的帖子。长见识了。谢谢


 cnadl 回复于:2006-04-04 09:58:03

引用:原帖由 sunsroad 于 2004-10-18 12:56 发表
路由器跟网桥完全是两回事,无论路由器的两端连接的是什么类型的网络,都[color=Red]不可能[/color]工作在网桥的模式。你只要记住这个观点,具体的原因,涉及到路由与网桥进程层面的实现,你现在恐怕没有办法真正理解。 




刚看到楼上刨了个N久的帖子,对引文中的部分文字我持保留意见。


 lintyro 回复于:2006-12-30 16:02:43

引用:原帖由 cnadl 于 2006-4-4 09:58 发表



刚看到楼上刨了个N久的帖子,对引文中的部分文字我持保留意见。 


等待cnadl的高论


 sunsroad 回复于:2006-12-30 18:26:05

引用:原帖由 lintyro 于 2006-12-30 16:02 发表

等待cnadl的高论 



引用:原帖由 sunsroad 于 2004-10-18 12:56 发表
原帖由 "jekylland"]网关的概念确实比较含糊~当我们学习网络基础课程的时候,书上一般会写到终继器是XXX层的设备,网桥是XXX层的设备,路由器是XXX层的设备,但实际应用的时候我们会发现为了 ... 



N年前的帖子了,不过既然被盗墓的挖出来,我还是解释一下吧。其实下面这句已经说明了理由了。

引用:IP路由原理与应用上说,路由器可以做为网桥仿真,这个概念很老了. 


路由器只是做网桥的仿真,说白了就是通过路由的算法模拟网桥的实现。看到的结果是一样的,但是设备里具体的实现是不同的。所以说我在前面说,了解的时候应该深入到进程的层次理解。

如果能用路由器做网桥的话,那只能是在路由器里集成了网桥的功能,而不是通过路由相关的进程(或者与路由有关的funcation)实现的。就像现在的路由器很多集成了防火墙的功能一样,这在现在比不是困难的事情。

[ 本帖最后由 sunsroad 于 2007-1-2 14:15 编辑 ]


 langue 回复于:2006-12-30 21:54:02

router,曾经的常见名为 gateway。我想楼主指的是 IP 路由器。明显地,IP 路由器工作在 IP 层上,即网络层。




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=410788
转载请注明作者名及原文出处



收藏本页到: