精华内容
下载资源
问答
  • 网关

    千次阅读 2009-06-03 17:04:00
    网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也...

    网关(Gateway)又称网间连接器协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同时,网关也可以提供过滤和安全功能。大多数网关运行在OSI7层协议的顶层--应用层。

    <script type="text/javascript"></script>

    目录 [隐藏]

    <script src="http://www.hudong.com/js/doccatalog.js" type="text/javascript"></script>

    网关-概述

     

     

    网关
    网关
    网关用于互连异构型网络。异构型网络比较复杂,至少要进行 网络层数据链路层物理层的协议转换。网关实现网络互连的层次为了实现异构型网络的互连,可以选择在运输层或者应用层上完成。相应地,网关也就应该对不同层次的协议进行转换。网关实现网络互联的层次:1、在 运输层实现互连:在运输层实现互连的网关称为运输层网关。当两个网络采用不同的协议,题目的运输层也不兼容时,需要采用运输层网关实现网络互连。常见的有两种情况:一是除低3层外,运输层协议也不相同的WAN与WAN之间的互连,再就是局域网与 WAN的互连也有这种情况。此时的网关应具有将运输层及其以下各个层协议进行相互转换的 功能。2、在应用层上实现互连:到目前为止,还尚未开发出在会话层和表示层实现互连的网关,但已出现需索在应用层实现互连的网关,即应用层网关。这种网关可以完成从应用层到 物理协议的转换。

     

     

    网关
    网关
    网关的功能主要有以下几个方面:1、具有协议转换能力。网关具有从物理层到运输层,甚至应用层各层协议转换能力。当然用于不同场合的网关,其协议转换的能力可以不同,比如:有的只需要负责物理层到运输层的协议 转换,有的则需要完成物理层到应用层的协议转换。2、具有 流量控制拥塞控制的能力。对不同工作 速率的网络进行互连时,需要有某种流量控制机构来控制输入到其他网络上的信息流,网关常用的 流量控制方式有:源站仅在得到允许时才进行传输;强制源站减少它们向网络提供的负荷;采用 咨询服务,这种咨询服务告诉源站由于网络拥塞或者其他异常 情况,它所发送的分组已经作废。3、具有在各个网络之间可靠传送信息的能力。为了提高互连的网络的可靠性,常采用一下一些措施:防止分组在若干个网关中无限制的循环;向源站或者其他网关发送 错误报告;对分组从源站到目的站之间的路径进行跟踪;提供网间信息的重传功能。4、具有路由选择功能。5、具有将分组分段和 组装的能力。

    网关的用途:网关可以用于以下几种场合的异构型网络的互连。1、异构型局域网互连。可以利用网关将几种完全不同的局域网互联起来。2、局域网与WAN互连。局域网与WAN互连比较,至少其低3层协议不相同,因此它们属于异构型网络,可以用网关实现互连。3、WAN与WAN互连。主要用于不同类型的WAN之间的互连。

    网关-内部网关协议RIP

     

     

    网关
    网关
    RIP协议的全称是路由信息协议,它是一种 内部网关协议(IGP)用于一个自治系统(AS)内的路由信息的传递。RIP协议是基于距离矢量算法的,它使用“跳数”,即METRIC来衡量到达目标地址的路由距离。协议中 规定,一条有效的路由信息的度量(METRIC)不能超过15,这就使得该协议不能应用于很大型的网络,应该说正是由于 设计者考虑到该协议只适合于小型网络所以才进行了这一限制。对于METRIC为16的目标网络来说,即认为其不可到达。

    协议的局限性:该路由协议应用到实际中时,很容易出现“计数到无穷大”的现象,这使得路由收敛很慢,在网络拓扑结构变化以后需要很长时间路由信息才能稳定下来。该协议以跳数,即报文经过的路由器个数为衡量标准,并以此来选择路由,这一措施欠合理性,因为没有考虑网络延时,可靠性,线路负荷等因素对传输质量与速度影响

     

    网关
    网关
    RIP协议的实现:RIP根据V-D 算法的特点,将协议的参加者分为主动机和被动机两种。主动机主动向外广播路由刷新报文,被动机被动地接收路由刷新报文。一般情况下, 主机作为被动机,路由器则既是主动机又是被动机,即在向外广播路由刷新报文的同时,接受来自其它主动机的V-D报文,并进行路由刷新。RIP规定,路由器每30秒向外广播一个V-D报文,报文 信息来自本地路由表。RIP的V-D报文中,其距离以驿站计:与信宿网络直接相连的路由器规定为一个 驿站,相隔一个路由器则为两个驿站……以此类推。一条路由的距离为该路由(从信源机到信宿机)上的路由器数。为防止寻径环长期存在,RIP规定,长度为16的路由为无限长路由,即不存在的路由。所以一条有效的路由长度不得超过15。正是这一规定限制了RIP的使用范围,使RIP局限于中小型的网络网点中。为了 保证路由的及时有效性,RIP采用 触发刷新技术和 水平分割法。当本地路由表发生修改时,触发广播路由刷新报文,以迅速达到最新路由的广播和全局路由的有效。水平分割法是指当路由器从某个网络接口发送RIP路由刷新报文时,其中不包含从该接口获取的路由信息。这是由于从某 网络接口获取的路由信息对于该接口来说是无用信息,同时也解决了两路由器间的慢收敛 问题

     

    网关
    网关
    对于局域网的路由,RIP规定了路由的超时处理。主要是考虑到这样一个情况,如果完全根据V-D算法,一条路由被刷新是因为出现一条路由 开销更小的路由,否则路由会在路由表中一直保存下去,即使该路由 崩溃。这势必造成一定的错误路由信息。为此,RIP规定,所有机器对其寻径表中的每一条路由都设置一个时钟,每增加一条新路由,相应设置一个新 时钟。在收到的V-D报文中假如有关于此路由的表目,则将时钟清零,重新计时。假如在120秒内一直未收到该路由的刷新信息,则认为该路由崩溃,将其距离设为16, 广播该路由信息。如果再过60后仍未收到该路由的刷新信息,则将它从路由表中删除。如果某路由在距离被设为16后,在被删除前路由被刷新,亦将时钟清零,重新计时,同时广播被刷新的路由信息。至于路由被删除后是否有新的路由来代替被删除路由,取决于去往原路由所指信宿有无其它路由。假如有,相应路由器会广播之。机器一旦收到其它路由的信息, 自然会利用V-D算法建立一条新路由。否则,去往原信宿的路由不再存在。

    RIP启动和运行的整个过程如下所描述:某路由器刚启动RIP时,以广播的形式向相邻路由器发送请求报文,相邻路由器的RIP收到请求报文后,响应请求,回发包含本地路由表信息的响应报文。RIP收到响应报文后,修改本地路由表的信息,同时以触发修改的形式向相邻路由器广播本地路由修改信息。相邻路由器收到触发修改报文后,又向其各自的相邻路由器发送触发修改报文。在一连串的触发修改广播后,各路由器的路由都得到修改并保持最新信息。同时,RIP每 30向相邻路由器广播本地路由表,各相邻路由器的RIP在收到路由报文后,对本地路由进行的维护,在众多路由中选择一条最佳路由,并向各自的相邻网广播路由修改信息,使路由达到全局的有效。同时RIP采取一种超时机制对过时的路由进行超时处理,以保证路由的实时性和有效性。RIP作为内部路由器协议,正是通过这种报文交换的方式,提供路由器了解本自治系统内部个网络路由信息的机制。

     

    网关
    网关
    RIP-2支持版本1和版本2两种版本的报文格式。在版本2中,RIP还提供了对子网的支持和提供认证报文形式。版本2的报文提供 子网掩码域,来提供对子网的支持;另外,当报文中的路由项地址域值为0xFFFF时,默认该路由项的剩余部分为认证。RIP2对拨号网的支持则是参考需求RIP和触发 RIP的形式经修改而加入的新功能。这时,我们只是要求在拨号网拨通之后对路由进行30秒一次的广播,而在没拨通时并不作如是 要求,这是根据具体情况变通的 结果

    RIP的限制:虽然RIP有很长的历史,但它还是有自身的限制。它非常适合于为早期的网络互联计算路由;然而,技术进步已极大地改变了互联网络。建造和使用的方式。因此,RIP会很快被今天的互联网络所淘汰。RIP的一些最大限制是:
    ·不能支持长于15跳的路径。
    ·依赖于固定的度量来计算路由。
    ·对路由更新反应强烈。
    ·相对慢的收敛。
    ·缺乏动态负均衡支持。

    RIP协议配置:RIP(RoutinginformationProtocol)是应用较早、使用较普遍的内部网关协议(InteriorGatewayProtocol,简称IGP),适用于小型同类网络,是典型的距离向量(distance- vector)协议。文档见RFC1058、RFC1723。RIP通过广播UDP报文来交换路由信息,每30秒发送一次路由信息更新。RIP提供跳跃计数(hopcount)作为尺度来衡量路由距离,跳跃计数是一个包到达目标所必须经过的路由器的数目。如果到相同目标有二个不等速或不同带宽的路由器,但跳跃计数相同,则RIP认为两个路由是等距离的。RIP最多支持的跳数为15,即在源和目的网间所要经过的最多路由器的数目为15,跳数16表示不可达。

    1、有关命令
    --------------------------------------------
    任务命令
    --------------------------------------------
    指定使用RIP协议routerrip
    --------------------------------------------
    指定RIP版本version{1|2}1
    --------------------------------------------
    指定与该路由器相连的网络networknetwork
    ---------------------------------------------
    注:1、Cisco的RIP版本2支持验证、密钥管理、路由汇总、无类域间路由(CIDR)和变长子网掩码(VLSMs)
    2、举例

     

    网关
    网关


    Router1:
    routerripversion2network192.200.10.0network192.20.10.0!相关调试命令:showipprotocol
    showiproute在全局设置模式下:1.启动RIP路由routerrip2.设置参与RIP路由的子网network子网地址3.允许在非广播型网络中进行RIP路由广播neighbor相邻路由器相邻端口的IP地址4.设置RIP的版本RIP路由协议有2个版本,在与其它厂商路由器相连时,注意版本要一致,缺省状态下,Cisco路由器接收RIP版本1和2的路由信息,但只发送版本1的路由信息,设置RIP的版本vesion1或2。另外,还可以控制特定端口发送或接收特定版本的路由信息。1.只在特定端口发版本1或2的信息,在端口设置模式下ripsendversion1或22.同时发送版本1和2的信息 ipripsendreceive1or23.在特定端口接受版本1或2的路由信息ipripreceive1or24.同时接受版本1和2的路由信息 ipripreceive1or2选择路由协议几点建议:1.在大型网络中,建议使用ospf、eigrp。2.如果网络中含有变长了网掩码(VISM)不能使用igrp,rip版本1,可以使用rip版本 2,ospf,eigrp或静态路由。3.如果使用路由安全设置可以使用RIP版本1或OSPF。4.选用ospf,eigrp在系统稳定后所占带宽比 RIP,IGRP少得多,IGRP比RIP所占带宽也少。5.综合使用动态路由,静态路由,缺省路由,以保证路由的冗余。6.在拨号线路上尽量使用静态路由,以节省费用。7.在小型网络上数据量不大的情况下,且不需要高可性,广域网线路为X.25SVC时,建议用静态路由。

    RIP配置事例:1、在下面的网络里,有三台路由器,所有的路由器都运行RIP协议,仅要实现三台路由器互通

     

    网关
    网关

     

    配置:
    Joe(config)#routerrip
    Joe(config-router-rip)#network192.168.0.0/24
    Joe(config-router-rip)#network192.168.1.0/24

    Hamer(config)#routerrip
    Hamer(config-router-rip)#network192.168.1.0/24
    Hamer(config-router-rip)#network133.81.1.0/24

    Tom(config)#routerrip
    Tom(config-router-rip)#network192.168.1.0/24
    Tom(config-router-rip)#network133.81.2.0/24

    2、在下面的网络里,有三台路由器,所有的路由器都运行RIP协议,要实现:
    (1)Ros的E0端口接收Hata和Bito发来的路由更新报文。
    (2)Ros在E0发送的更新报文仅发送给Bito。

     

    网关
    网关

     

    配置:
    Ros的配置如下:
    Ros(config)#routerrip
    Ros(config-router-rip)#network192.168.1.0/24
    Ros(config-router-rip)#network10.8.11.0/24
    Ros(config-router-rip)#passive-interfaceeth0/0
    Ros(config-router-rip)#neighbor192.168.1.35

    Bito的配置如下:
    Bito(config)#routerrip
    Bito(config-router-rip)#network192.168.1.0/24
    Bito(config-router-rip)#network137.1.1.3/24

    Hata的配置如下:
    Hata(config)#routerrip
    Hata(config-router-rip)#network192.168.1.0/24

    3、如下图所示:有三台路由器,Melu和Haha现在正常运行,现要添加一台名称为Toba的HOS路由器使Toba和Haha互相联通,并且不能破坏现在Melu和Haha的运行状态
    已知Melu和Haha运行的协议为:
    (1)Haha上运行的是RIPv1,无认证配置。
    (2)Melu上运行的是RIPv2,无认证配置。

     

    网关
    网关


    分析:
    HOS默认值是,RIP发送版本1,接收版本1和版本2的update报文。这样我们只要在Toba上运行起RIP,并且指定192.168.0.1/24为RIP活动网络范围,Toba就可以和Haha建立联通了。由于Melu运行的版本为RIPv2,只要让Toba发送RIPv2报文就可以了。
    因而,Toba可以配置为:
    Toba(config)#routerrip
    Toba(config-router-rip)#network192.168.0.0/24
    Toba(config-router-rip)#network10.8.11.0/24
    Toba(config-router-rip)#exit
    Toba(config)#interfaceeth0/0
    Toba(config-if-eth0/0)#ipripsendversion2

    4、如下图所示:有两台HOS路由器,现在要求实现Wed和Hax联通并且要有MD5认证。

     

    网关
    网关


    分析:
    有认证的情况下实现两台路由器的互联,这两台路由器必须配置相同的认证方式和密钥才能进行双方的路由的交换,值得注意的是双方必须发送版本2
    Hax(config)#keychainwan
    Hax(config-keychain)#key1
    Hax(config-keychain-key)#key-stringwan
    Hax(config-keychain-key)#exit
    Hax(config-keychain)#exit
    Hax(config)#interfaceeth0/0
    Hax(config-if-eth0/0)#ipripauthenticationkey-chainwan
    Hax(config-if-eth0/0)#ipripauthenticationmodemd5
    Hax(config-if-eth0/0)#ipripsendversion2
    Hax(config-if-eth0/0)#ipripreceiveversion2

    5、监视和维护RIP

     

    网关
    网关


    说明
    上面的列表显示了RIP路由表的详细信息。第一列显示的是每条路由来自哪种方式。如:RIP表示是本路由从其它路由器学习到的路由,Connect表示该路由是直连路由。第二列的Network指定了该路由目标地址范围。第三列NextHop是本路由的下一条地址。第四列Metric是本路由的度量值。第五列From标明本路由来自何处。第六列Time用来显示当前定时器的已经定时时间长度,当路由没有过期的时候,显示的是无效定时时间长度,当路由过期时,显示的是删除定时器的时间长度

    网关-内部网关协议OSPF

     

     

    网关
    网关
    OSPF(OpenShortestPathFirst)是一个内部网关协议(InteriorGatewayProtocol、简称 IGP),用于在单一自治系统(autonomoussystem、 AS)内决策路由。与RIP相对,OSPF是链路状态路由协议,而RIP是距离向量路由协议。链路是路由器接口的另一种说法,因此 OSPF也称为接口状态路由协议。OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径 ,每个OSPF路由器使用这些最短路径 构造路由。内部网关协议(InteriorGatewayProtocols,IGP)用在一个域中交换路由 选择信息,如路由选择信息协议(RIP)和优先开放最短 路径协议(OSPF)。OSPF是与OSI的IS-IS协议十分相似的内部路由选择协议。

    OSPF是功能最强大、特点最丰富的开放式路由协议之一。它的复杂性也是其弱点来源,因为设计、建造和操作一个OSPF互联网络需要比使用几乎每一种其他路由协议更多的专业知识和精力。采用路由耗费的缺省值可以极大地简化OSPF网络设计。随着关于OSPF及网络操作特点知识的增加,用户能够慢慢地通过控制OSPF变量来优化网络性能。必须小心地设计区和网络拓扑。做得好,OSPF会使网络用户得到优异的性能和快速的收敛速度。BGP用于特大型网络如INTERNET的核心

    OSPF是一种典型的链路状态路由协议。采用OSPF的路由器彼此交换并保存整个网络的链路信息,从而掌握全网的拓扑结构,独立计算路由。因为RIP路由协议不能服务于大型网络,所以,IETF的IGP工作组特别开发出链路状态协议——OSPF。目前广为使用的是OSPF第二版,最新标准为RFC2328。OSPF作为一种内部网关协议(InteriorGatewayProtocol,IGP),用于在同一个自治域(AS)中的路由器之间发布路由信息。区别于距离矢量协议 (RIP),OSPF具有支持大型网络、路由收敛快、占用网络资源少等优点,在目前应用的路由协议中占有相当重要的地位

     

    网关
    网关
    1、链路状态:OSPF 路由器收集其所在网络区域上各路由器的连接状态信息,即链路状态信息(Link-State),生成链路状态数据库(Link-StateDatabase)。路由器掌握了该区域上所有路由器的链路状态信息,也就等于了解了整个网络的 拓扑状况。OSPF路由器利用“最短路径优先算法(ShortestPathFirst,SPF)”,独立地 计算出到达任意目的地的路由。2、区域:OSPF协议引入“分层路由”的概念,将网络分割成一个“主干”连接的一组相互独立的部分,这些相互独立的部分被称为“ 区域”(Area),“主干”的部分称为“主干区域”。每个区域就如同一个独立的网络,该区域的OSPF路由器只保存该区域的链路状态。每个路由器的链路状态数据库都可以保持合理的大小,路由计算的时间、报文数量都不会过大。3、OSPF网络类型:根据路由器所连接的物理网络不同,OSPF将网络划分为四种 类型广播多路访问型(BroadcastmultiAccess)、非广播多路访问型(NoneBroadcastMultiAccess, NBMA)、点到点型(Point-to-Point)、点到多点型(Point-to-MultiPoint)。广播多路访问型网络如: Ethernet、TokenRing、 FDDI。NBMA型网络如:FrameRelay、X.25、SMDS。Point-to-Point型网络如: PPPHDLC

     

     

    网关
    网关
    4、指派路由器( DR)和备份指派路由器( BDR):在多路访问网络上可能存在多个路由器,为了避免路由器之间建立完全相邻关系而引起的大量 开销,OSPF要求在区域中选举一个DR。每个路由器都与之建立完全相邻关系。DR负责收集所有的链路状态信息,并发布给其他路由器。选举DR的同时也选举出一个 BDR,在DR失效的时候,BDR担负起DR的职责。点对点型网络不需要DR,因为只存在两个节点,彼此间完全相邻。协议组成OSPF协议由Hello协议、交换协议、 扩散协议组成。本文仅介绍Hello协议,其他两个协议可参考RFC2328中的具体描述。当路由器开启一个端口的OSPF路由时,将会从这个端口发出一个Hello报文,以后它也将以一定的间隔周期性地发送Hello报文。OSPF路由器用Hello报文来初始化新的相邻 关系以及确认相邻的路由器 邻居之间的 通信状态。对广播型网络和非广播型多路访问网络,路由器使用Hello协议选举出一个DR。在广播型网络里,Hello报文使用多播地址224.0.0.5周期性广播,并通过这个过程自动发现路由器邻居。在 NBMA网络中,DR负责向其他路由器逐一发送Hello报文。

    第一步:建立路由器的邻接关系:所谓“邻接关系”(Adjacency)是指OSPF路由器以交换路由信息为目的,在所选择的相邻路由器之间建立的一种关系。路由器首先发送拥有自身ID信息(Loopback端口或最大的IP地址)的Hello报文。与之相邻的路由器如果收到这个Hello报文,就将这个报文内的ID信息加入到自己的Hello报文内。如果路由器的某端口收到从其他路由器发送的含有自身ID信息的Hello报文,则它根据该端口所在网络类型确定是否可以建立邻接关系。在点对点网络中,路由器将直接和对端路由器建立起邻接关系,并且该路由器将直接进入到第三步操作:发现其他路由器。若为MultiAccess网络,该路由器将进入选举步骤

     

    网关
    网关
    第二步:选举DR/BDR:不同类型的网络选举DR和BDR的方式不同。MultiAccess网络支持多个路由器,在这种状况下,OSPF需要建立起作为链路状态和 LSA更新的 中心节点。选举利用Hello报文内的ID和 优先权(Priority)字段值来确定。优先权字段值大小从0到255,优先权值最高的路由器成为DR。如果优先权值大小一样,则ID值最高的路由器选举为DR,优先权值次高的路由器选举为BDR。优先权值和ID值都可以直接设置。

    第三步:发现路由器:在这个步骤中,路由器与路由器之间首先利用Hello报文的ID信息确认主从关系,然后主从路由器相互交换部分链路状态信息。每个路由器对信息进行分析比较,如果收到的信息有新的内容,路由器将要求对方发送完整的链路状态信息。这个状态完成后,路由器之间建立完全相邻(FullAdjacency)关系,同时邻接路由器拥有自己独立的、完整的链路状态数据库。在MultiAccess网络内,DR与BDR互换信息,并同时与本子网内其他路由器交换链路状态信息。Point-to-Point或Point-to-MultiPoint网络中,相邻路由器之间信息。

    第四步:选择适当的路由器:当一个路由器拥有完整独立的链路状态数据库后,它将采用SPF算法计算并创建路由表。OSPF路由器依据链路状态数据库的内容,独立地用SPF算法计算出到每一个目的网络的路径,并将路径存入路由表中。OSPF利用量度(Cost)计算目的路径,Cost最小者即为最短路径。在配置OSPF路由器时可根据实际情况,如链路带宽时延经济上的费用设置链路Cost大小。Cost越小,则该链路被选为路由的可能性越大。

    第五步:维护路由信息:当链路状态发生变化时,OSPF通过Flooding过程通告网络上其他路由器。OSPF路由器接收到包含有新信息的链路状态更新报文,将更新自己的链路状态数据库,然后用SPF算法重新计算路由表。在重新计算过程中,路由器继续使用旧路由表,直到SPF完成新的路由表计算。新的链路状态信息将发送给其他路由器。值得注意的是,即使链路状态没有发生改变,OSPF路由信息也会自动更新,默认时间为30分钟

     

    网关
    网关
    OSPF路由器之间使用链路状态 通告(LSA)来交换各自的链路状态信息,并把获得的信息存储在链路状态数据库中。各OSPF路由器独立使用SPF算法计算到各个 目的地址的路由。OSPF协议支持分层路由方式,这使得它的扩展能力远远超过RIP 协议。当OSPF网络扩展到100、500甚至上千个路由器时,路由器的链路状态数据库将记录成千上万条链路信息。为了使路由器的运行更快速、更经济、占用的资源更少, 网络工程师们通常按功能、结构和需要把OSPF网络分割成若干个 区域,并将这些区域和主干区域根据功能和需要相互连接从而达到分层的目的。

     

    【OSPF分层路由的思想】OSPF把一个大型网络分割成多个小型网络的能力被称为分层路由,这些被分割出来的小型网络就称为“区域”(Area)。由于区域内部路由器仅与同区域的路由器交换LSA信息,这样LSA报文数量及链路状态信息库表项都会极大减少,SPF计算速度因此得到提高。多区域的OSPF必须存在一个主干区域,主干区域负责收集非主干区域发出的汇总路由信息,并将这些信息返还给到各区域。OSPF区域不能随意划分,应该合理地选择区域边界,使不同区域之间的通信量最小。但在实际应用中区域的划分往往并不是根据通信模式而是根据地理或政治因素来完成的。

    【OSPF中的四种路由器】在OSPF多区域网络中,路由器可以按不同的需要同时成为以下四种路由器中的几种:1、内部路由器:所有端口在同一区域的路由器,维护一个链路状态数据库。2、主干路由器:具有连接主干区域端口的路由器。3、区域边界路由器(ABR):具有连接多区域端口的路由器,一般作为一个区域的出口。ABR为每一个所连接的区域建立链路状态数据库,负责将所连接区域的路由摘要信息发送到主干区域,而主干区域上的ABR则负责将这些信息发送到各个区域。4、自治域系统边界路由器(ASBR):至少拥有一个连接外部自治域网络(如非OSPF的网络)端口的路由器,负责将非OSPF网络信息传入OSPF网络。

     

    网关
    网关
    【OSPF链路状态 公告类型】OSPF路由器之间交换链路状态公告(LSA)信息。OSPF的LSA中包含连接的 接口、使用的Metric及其他 变量信息。OSPF路由器收集链接状态信息并使用SPF算法来计算到各节点的最短路径。LSA也有几种不同功能的报文,在这里简单地介绍一下:
    LSATYPE1:由每台路由器为所属的区域产生的 LSA,描述本区域路由器链路到该区域的 状态代价。一个边界路由器可能产生多个LSATYPE1。
    LSATYPE2:由DR产生,含有连接某个区域路由器的所有链路状态和代价信息。只有DR可以 监测该信息。
    LSATYPE3:由ABR产生,含有ABR与本地内部路由器连接信息,可以描述本区域到主干区域的链路信息。它通常汇总缺 路由而不是传送汇总的OSPF信息给其他网络。
    LSATYPE4:由ABR产生,由主干区域发送到其他ABR,含有ASBR的链路信息,与LSATYPE3的 区别在于TYPE4描述到OSPF网络的外部路由,而TYPE3则 描述区域内路由。
    LSATYPE5:由ASBR产生,含有关于自治域外的链路信息。除了存根区域和完全 存根区域,LSATYPE5在整个网络中发送。
    LSATYPE6: 多播OSPF( MOSF),MOSF可以让路由器利用链路状态数据库的信息构造用于多播报文的多播发布树。
    LSATYPE7:由ASBR产生的关于NSSA的信息。LSATYPE7可以转换为LSATYPE5。

    网关-外部网关协议BGP

     

     

    网关
    网关
    两个交换选路信息的路由器若分属两个自治系统,则被称为外部邻站(exteriorneighbors),但它们若同属一个自治 系统,则称为内部邻站(interiorneighbors)。外部邻站使用的向其他自治系统 通告可达 信息的协议被称为外部网关协议 EGP(ExteriorGatewayProtocol),使用该协议的路由器被称为外部路由器(exteriorrouter)。在Internet网中,EGP显得尤为重要,因为与之相连的自治系统使用它向核心系统通告可达信息。EGP有三大功能。第一个是它支持邻居获取(neighboracquisition)机制,即允许一个路由器 请求另一个路由器同意交换可达信息。我们可以说,一个路由器获得了(acquire)一个EGP对等路由器(EGPpeer)或一个EGP邻站(EGPneighbor)。EGP对等路由器仅在交换选路信息的 意义上来说是邻站,而不论其地理位置是否邻近。第二,路由器持续地 测试其EGP邻站是否能够 响应。第三,EGP邻站周期性地传送选路更新报文(routingupdatemessage)来交换网络可达信息。

    外部网关协议用于在非核心的相邻网关之间传输信息。非核心网关包含互联网络上所有与其直接相邻的网关的路由信息及其所连机器信息,但是它们不包含Internet上其他网关的信息。对绝大多数EGP而言,只限制维护其服务局域网或广域网信息。这样可以防止过多的路由信息在局域网或广域网之间传输。EGP强制在非核心网关之间交流路由信息。

    由于核心网关使用GGP,非核心网关使用EGP,而二者都应用在Internet上,所以必须有某些方法使二者彼此之间能够通信。Internet使任何自治(非核心)网关给其他系统发送“可达”信息,这些信息至少要送到一个核心网关。假如有一个更大的自治网络,经常认为有一个网关来处理这些可达信息。和GGP一样,EGP使用一个查询过程来让网关清楚它的相邻网关并不断地与其相邻者交换路由和状态信息。EGP是状态驱动的协议,意思是说它依靠于一个反映网关情况的状态表和一组当状态表项变化时必须执行的一组操作。

     

    网关
    网关
    EGP报文 首部:为了实现上述三个基本功能,EGP 定义了下表所列的九种报文类型:
    EGP报文类型 描述
    AcquisitionRequest(获取请求)请求路由器成为邻站(对等路由器)
    AcquisitionConfirm(获取 证实)对获取请求的肯定响应
    AcquisitionRefuse(获取 拒绝)对获取请求的否定响应
    CeaseRequest(中止请求)请求中止邻站关系
    CeaseConfirm(中止证实)对中止请求的证实响应
    Hello(你好)请求邻站回答是否活跃
    IHeardYou(我听见你)对Hello报文的回答
    PollRequest(轮询请求)请求更新网络的选路
    RoutingUpdate(选路更新)网络可达信息
    Error(差错)对不正确报文的响应
    所有的EGP报文都有固定的首都用于 说明报文类型。

     

    网关
    网关
    首部中的版本(VERSION) 字段整数值,指出该报文使用的EGP的版本号。接收方检测版本号以确认双方使用相同版本的协议。类型(TYPE)字段指出报文的类型,而代码(CODE)字段给出了子类型。状态(STATUS)字段包含了与本报文有关的状态信息。EGP使用校验和字段来确认报文的正确到达。其算法与 IP校验和算法相同。它把整个EGP报文当做16比特整数的序列,使用各个整数的 二进制反码和的 二进制反码作为校验和。计算校验和之前把校验和(CHECKSUM)字段初始化为零,通过填充0来把报文长度变为16比特的整数倍。自治系统号(AUTONOMOUSSYSTEMNUM)字段给出了表示发送该报文的路由器所在的自治系统的 编号,而序号(SEQUENCENUMBER)用于收发双方进行联系。路由器请求邻站时赋一个初始序号,以后每次发送报文时将序号增加。邻站回送最近收到的序号值,发送方便用这个回送值与发送时的值作一比较来确保报文的正确性。

    网关-参考文献

     

    1、《计算机通信网》王晓军毛京丽编著
    2、http://www.cnpaf.net/search.asp
    3、http://www.knowsky.com/380367.html
    4、http://www.3800hk.com
    5、http://codex.wordpress.org.cn/index.php?
    6、http://www.yypark.cn/development/p41/J414997.shtml

    展开全文
  • 微服务网关

    千次阅读 2018-11-28 14:21:08
    微服务网关背景 不同的微服务一般有不同的网络地址,而...# 客户端会多次请求不同微服务,增加客户端的复杂性 # 存在跨域请求,在一定场景下处理相对复杂 # 认证复杂,每一个服务都需要独立认证 # 难以重构,随着...

    一、网关基础

    1.1 微服务网关背景

    不同的微服务一般有不同的网络地址,而外部的客户端可能需要调用多个服务的接口才能完成一个业务需求。比如一个电影购票的收集APP,可能回调用电影分类微服务,用户微服务,支付微服务等。如果客户端直接和微服务进行通信,会存在一下问题:

     

    1.  客户端会多次请求不同微服务,而且不同的微服务会占用不同的端口,增加客户端请求服务端的复杂性,
    2.  存在跨域请求,在一定场景下处理相对复杂
    3. 认证复杂,每一个服务都需要独立认证,独立的登录鉴权等
    4. 难以重构,随着项目的迭代,可能需要重新划分微服务,如果客户端直接和微服务通信,那么重构会难以实施
    5. 某些微服务可能使用了其他协议,直接访问有一定困难

     

    1.2 微服务网关引入

    上述问题,都可以借助微服务网关解决。微服务网关是介于客户端和服务器端之间的中间层,所有的外部请求都会先经过微服务网关(可结合设计模式--外观模式),架构演变成:

     

    这样客户端只需要和网关交互,而无需直接调用特定微服务的接口,而且方便监控,易于认证,减少客户端和各个微服务之间的交互次数

     

    API Gateway的优点和缺点

    如你所料,采用API Gateway也是优缺点并存的。API Gateway的一个最大好处是封装应用内部结构。相比起来调用指定的服务,客户端直接跟gatway交互更简单点。API Gateway提供给每一个客户端一个特定API,这样减少了客户端与服务器端的通信次数,也简化了客户端代码。

    API Gateway也有一些缺点。它是一个高可用的组件,必须要开发、部署和管理。

    还有一个问题,它可能成为开发的一个瓶颈。开发者必须更新API Gateway来提供新服务提供点来支持新暴露的微服务。更新API Gateway时必须越轻量级越好。

    否则,开发者将因为更新Gateway而排队列(解决方式可以使用动态配置的方式)。但是,除了这些缺点,对于大部分的应用,采用API Gateway的方式都是有效的。

     

    1.3 网关的定位和意义

    1.权限控制,鉴权认证等


    2.限流

    网关限流的几种方式

    1)用redis控制访问次数然后限流

    2)控制秒并发数

     

    思考

    1.大数据量请求如何抗?

    答:通过网关限流,只允许有限的流量进入微服务,剩余的加入到阻塞队列里面,线程执行完毕后在从队列中拉起任务。

     

    二、zuul微服务网关

     

    Zuul是Netflix开源的微服务网关,他可以和Eureka,Ribbon,Hystrix等组件配合使用。Zuul组件的核心是一系列的过滤器,这些过滤器可以完成以下功能:


    # 动态路由:动态将请求路由到不同后端集群
    # 压力测试:逐渐增加指向集群的流量,以了解性能
    # 负载分配:为每一种负载类型分配对应容量,并弃用超出限定值的请求
    # 静态响应处理:边缘位置进行响应,避免转发到内部集群
    # 身份认证和安全: 识别每一个资源的验证要求,并拒绝那些不符的请求。Spring Cloud对Zuul进行了整合和增强。目前,Zuul使用的默认是Apache的HTTPClient,也可以使用Rest Client,可以设置ribbon.restclient.enabled=true.


    使用规则:


    访问 http://GATEWAY:GATEWAY_PORT/想要访问的Eureka服务id的小写/**

    将会路由到http://想要访问的Eureka服务id的小写:该服务端口/**

     

    实例:

    还记得我们之前访问通过http://localhost:8000/1去访问microservice-provider-user服务中id=1的用户信息吗?

    我们现在访问http://localhost:8050/microservice-provider-user/1试试。会惊人地看到:

    {"id":1,"username":"Tom","age":12}

    这不正是microservice-provider-user服务中id=1的用户信息吗

     

    zuul过滤器原理解析

     

    zuul核心原理主要有

    1. zuul请求的生命周期
    2. zuul的容错与降级
    3. zuul的高可用

     

     

    2.1 zuul请求的生命周期

     

    zuul请求的生命周期如下图


    过滤器(filter)是zuul的核心组件


    zuul大部分功能都是通过过滤器来实现的。 zuul中定义了4种标准过滤器类型,这些过滤器类型对应于请求的典型生命周期。

    • PRE:这种过滤器在请求被路由之前调用。可利用这种过滤器实现身份验证、在集群中选择请求的微服务、记录调试信息等。
    • ROUTING:这种过滤器将请求路由到微服务。这种过滤器用于构建发送给微服务的请求,并使用 Apache HttpCIient或 Netfilx Ribbon请求微服务
    • POST:这种过滤器在路由到微服务以后执行。这种过滤器可用来为响应添加标准的 HTTP Header、收集统计信息和指标、将响应从微服务发送给客户端等。
    • ERROR:在其他阶段发生错误时执行该过滤器

    2.2 zuul的容错与降级


    大家可以想一下如果zuul代理的后端微服务挂了会出现什么情况?zuul默认已经整合了hystrix,也就是zuul也是可以利用hystrix做降级容错处理的。

    但是zuul监控的粒度是微服务级别,而不是某个API。

     

    使用方式主要为指定对应的fallback为哪一个处理器,其具体实现如下:

     

    /**
     * 使用@FeignClient注解的fallback属性,指定fallback类
     * @author eacdy
     */
    @FeignClient(name = "microservice-provider-user", fallback = HystrixClientFallback.class)
    public interface UserFeignHystrixClient {
      @RequestMapping("/{id}")
      public User findByIdFeign(@RequestParam("id") Long id);
    
      /**
       * 这边采取了和Spring Cloud官方文档相同的做法,将fallback类作为内部类放入Feign的接口中,当然也可以单独写一个fallback类。
       * @author eacdy
       */
      @Component
      static class HystrixClientFallback implements UserFeignHystrixClient {
        private static final Logger LOGGER = LoggerFactory.getLogger(HystrixClientFallback.class);
    
        /**
         * hystrix fallback方法
         * @param id id
         * @return 默认的用户
         */
        @Override
        public User findByIdFeign(Long id) {
          HystrixClientFallback.LOGGER.info("异常发生,进入fallback方法,接收的参数:id = {}", id);
          User user = new User();
          user.setId(-1L);
          user.setUsername("default username");
          user.setAge(0);
          return user;
        }
      }
    }
    

     

     

     

    2.3 zuul的高可用

     

    分两种场景讨论Zuul的高可用


    1、Zuul客户端也注册到了Eureka Server上(一般用在服务端与服务端之间的通信)


    这种情况下,Zuul的高可用非常简单,只需将多个Zuul节点注册到Eureka Server上,就可实现Zuul的高可用。此时,Zuul的高可用与其他微服务的高可用没什么区别。见下图

    当Zuul客户端也注册到Eureka Server上时,只需部署多个Zuul节点即可实现其高可用。Zuul客户端会自动从Eureka Server中查询Zuul Server的列表,并使用Ribbon负载均衡地请求Zuul集群。


     

    2、Zuul客户端未注册到Eureka Server上(一般用在客户端(app,web等终端)与服务端之间的通信)

    现实中,这种场景往往更常见,例如,Zuul客户端是一个手机APP——我们不可能让所有的手机终端都注册到Eureka Server上。这种情况下,我们可借助一个额外的负载均衡器来实现Zuul的高可用,例如Nginx+keepalived.

     

    请求流程:

    1.app等终端发送请求到nginx

    2.nginx转发到Zuul客户端集群

    3.Zuul客户端将通过服务器内部的rpc协议,通过负载均衡将请求转发到其代理的其中一个Zuul节点。

    4.Zuul节点则执行它的功能路由具体的微服务执行具体业务逻辑

    这样,就可以实现Zuul的高可用
     

    总结:通常在一个大型应用中,两种策略都会使用,客服端通过nginx路由到Zuul服务,Zuul服务路由到具体的一个微服务如门户微服务,然后该门户微服务通过Zuul集群请求其他微服务

     

    参考资料:
    1.微服务实战(二):使用API Gatewayhttp://dockone.io/article/482

    2.使用Spring Cloud与Docker实战微服务http://book.itmuch.com/

    3.Spring Cloud Netflix 官网  https://www.springcloud.cc/spring-cloud-netflix.html

     

     

     

     

     

     

     

    展开全文
  • 1、路由转发:接收一切外界请求,转发到后端的微服务上去; 2、过滤器:在服务网关中可以完成一系列的横切功能,例如权限校验、限流以及监控等, 这些都可以通过过滤器完成(其实路由转发也是通过过滤器实现的)。...

    一、什么是服务网关

    服务网关 = 路由转发 + 过滤器

    1、路由转发:接收一切外界请求,转发到后端的微服务上去;

    2、过滤器:在服务网关中可以完成一系列的横切功能,例如权限校验、限流以及监控等,

    这些都可以通过过滤器完成(其实路由转发也是通过过滤器实现的)。

    二、为什么需要服务网关

    上述所说的横切功能(以权限校验为例)可以写在三个位置:

    1. 每个服务自己实现一遍

    2. 写到一个公共的服务中,然后其他所有服务都依赖这个服务

    3. 写到服务网关的前置过滤器中,所有请求过来进行权限校验

    第一种,缺点太明显,基本不用;

    第二种,相较于第一点好很多,代码开发不会冗余,但是有两个缺点:

    由于每个服务引入了这个公共服务,那么相当于在每个服务中都引入了相同的权限校验的代码,使得每个服务的jar包大小无故增加了一些,尤其是对于使用docker镜像进行部署的场景,jar越小越好;

    由于每个服务都引入了这个公共服务,那么我们后续升级这个服务可能就比较困难,而且公共服务的功能越多,升级就越难,而且假设我们改变了公共服务中的权限校验的方式,想让所有的服务都去使用新的权限校验方式,我们就需要将之前所有的服务都重新引包,编译部署。

    而服务网关恰好可以解决这样的问题:

    将权限校验的逻辑写在网关的过滤器中,后端服务不需要关注权限校验的代码,所以服务的jar包中也不会引入权限校验的逻辑,不会增加jar包大小;

    如果想修改权限校验的逻辑,只需要修改网关中的权限校验过滤器即可,而不需要升级所有已存在的微服务。

    所以,需要服务网关!!!

    三、服务网关技术选型

     

    image

     

    引入服务网关后的微服务架构如上,总体包含三部分:服务网关、open-service和service。

    1、总体流程:

    服务网关、open-service和service启动时注册到注册中心上去;

    用户请求时直接请求网关,网关做智能路由转发(包括服务发现,负载均衡)到open-service,这其中包含权限校验、监控、限流等操作

    open-service聚合内部service响应,返回给网关,网关再返回给用户

    2、引入网关的注意点

    增加了网关,多了一层转发(原本用户请求直接访问open-service即可),性能会下降一些(但是下降不大,通常,网关机器性能会很好,而且网关与open-service的访问通常是内网访问,速度很快);

    网关的单点问题:在整个网络调用过程中,一定会有一个单点,可能是网关、nginx、dns服务器等。防止网关单点,可以在网关层前边再挂一台nginx,nginx的性能极高,基本不会挂,这样之后,网关服务就可以不断的添加机器。

    但是这样一个请求就转发了两次,所以最好的方式是网关单点服务部署在一台牛逼的机器上(通过压测来估算机器的配置),而且nginx与zuul的性能比较,根据国外的一个哥们儿做的实验来看,其实相差不大,zuul是netflix开源的一个用来做网关的开源框架;

    网关要尽量轻。

    3、服务网关基本功能

    智能路由:接收外部一切请求,并转发到后端的对外服务open-service上去;

    注意:我们只转发外部请求,服务之间的请求不走网关,这就表示全链路追踪、内部服务API监控、内部服务之间调用的容错、智能路由不能在网关完成;当然,也可以将所有的服务调用都走网关,那么几乎所有的功能都可以集成到网关中,但是这样的话,网关的压力会很大,不堪重负。

    权限校验:只校验用户向open-service服务的请求,不校验服务内部的请求。服务内部的请求有必要校验吗?

    API监控:只监控经过网关的请求,以及网关本身的一些性能指标(例如,gc等);

    限流:与监控配合,进行限流操作;

    API日志统一收集:类似于一个aspect切面,记录接口的进入和出去时的相关日志

    上述功能是网关的基本功能,网关还可以实现以下功能:

    A|B测试:A|B测试时一块比较大的东西,包含后台实验配置、数据埋点(看转化率)以及分流引擎,在服务网关中,可以实现分流引擎,但是实际上分流引擎会调用内部服务,所以如果是按照上图的架构,分流引擎最好做在open-service中,不要做在服务网关中。

    4、技术选型

    笔者准备自建一个轻量级的服务网关,技术选型如下:

    • 开发语言:java + groovy,groovy的好处是网关服务不需要重启就可以动态的添加filter来实现一些功能;

    • 微服务基础框架:springboot;

    • 网关基础组件:netflix zuul;

    • 服务注册中心:consul;

    • 权限校验:jwt;

    • API监控:prometheus + grafana;

    • API统一日志收集:logback + ELK;

    • 压力测试:Jmeter;

     

    展开全文
  • 详尽的谈谈网关冗余

    千次阅读 2018-12-30 23:59:00
    PC的操作系统在win95系列以下,没有配置啊网关地址时,若需要PC访问非本地直连网段的目标ip,那么将对IP地址进行ARP请求,默认路由器存在代理ARP机制,将返回MAC地址(选择最新记录)之后即可访问目标 当默认网关的...

    一.最原始的网关冗余
    PC的操作系统在win95系列以下,没有配置啊网关地址时,若需要PC访问非本地直连网段的目标ip,那么将对IP地址进行ARP请求,默认路由器存在代理ARP机制,将返回MAC地址(选择最新记录)之后即可访问目标
    当默认网关的网关设备上行链路故障后,ICMP重定向会保证PC找到最佳路径的网关设备,来实现网关冗余,若下行链路故障或者网关设备瘫痪那么 将等待2h,PC的ARP表刷新后重新ARP请求
    若操作系统版本高于95,可以将网关地址配置为直接广播地址,来实现以上规则,直接广播地址该网段的IP,主机位全1
    二 HSRP热备份网关 cisco私有
    特点:
    切换速度快,可以使网关的IP和MAC地址不用变化,网管的切换对主机是透明的,可以实现上行链路追踪
    在两台路由器和或三层交换机上虚拟一个网关IP地址,在虚拟一个网关MAC地址
    虚拟网关IP地址由管理员定义(在该网段内不得和主机IP冲突),MAC地址自动生成
    路由器间的hello time 3s,hold time 10s
    组播地址:224.0.0.2 TTL=1
    MAC地址—0000.0 c(cisco专用)
    07.ac(HSRP专用)01(组号)
    Forwarding 路由器
    优先级高 默认100
    真实物理接口IP地址最大
    standby 路由器

    配置:r3(config)#interface fastEthernet 0/0
    r3(config-if)#standby 1 ip 134.1.1.254 邻居间组号和地址必须相同,地址为虚拟网关地址

    r3(config-if)#standby 1 priority ? 修改优先级,默认100
    <0-255> Priority value
    注:抢占默认关闭,利用修改优先级来定义网关位置不可控,需要开启抢占

    r3(config)#interface fastEthernet 0/0
    r3(config-if)#standby 1 preempt 开启抢占

    在网关冗余技术中,ICMP重定向是是失效的, 故当上行链路down时,网关将不会切换,可以定义上行链路追踪,
    该配置必须在抢占开启的情况下生效,且两台设备间的优先级差值小于下调值;若本地存在多条上行链路追踪配置时的下调值之和大于优先级的差值—
    所有上行链路全down 时,才让备份设备抢占,下行链路大部分down时,可以让备份设备抢占。
    r3(config)#interface fastEthernet 0/0
    r3(config-if)#standby 1 track serial 1/0
    当被追踪的接口down时,本地优先级自动默认下调10(减10)

    r3(config-if)#standby 1 track serial 1/0 ? 可修改下降值
    <1-255> Decrement value

    总结:
    1.抢占被关闭
    2.仅支持两台设备
    3.Cisco私有
    4.较慢

    VRRP:
    虚拟路由冗余协议 公有协议,原理同HSRP一致
    区别:
    1.多台设备
    2.仅master发送hello
    3.可以使用物理接口的IP地址来为网关地址
    4.抢占默认开启
    5.hold time 3s

    VRRP在一个组内可以存在多台三层设备,存在一个master和多个backup
    正常产生一个虚拟IP(可以为真实接口IP)和一个虚拟MAC
    默认每1s来检测一次master是否活动,在接口IP地址大优
    r1(config)#interface fastEthernet 0/0
    r1(config-if)#vrrp 1 ip 134.1.1.254
    r1(config-if)#vrrp 1 priority 110

    r3#show vrrp brief
    Interface Grp Pri Time Own Pre State Master addr Group addr
    Fa0/0 1 100 3609 Y Backup 134.1.1.1 134.1.1.254

    注:若使用某个真实的IP地址作为虚拟网关IP地址,那么依然使用虚拟的MAC地址,且当真实IP地址所在接口未down之前,其他设备不能作为master,否则将可能出现错我的ARP应答 ,导致选路不佳,故该地址所在的接口优先级为255
    在设置了上行链路追踪的环境下,不建议使用真实的IP地址来作为网关地址,因为可能上行链路故障后,背对端抢占主状态,导致PC对网关地址进行ARP时,收到两个应答,最终选路不佳

    上行链路追踪
    1.先定义追踪列表
    2.在协议中调用
    core(config)#track 1 interface fa0/1 line-protocol
    定义追踪表1,追踪接口为F0/1
    r1(config)#interface fastEthernet 0/0
    r1(config-if)#vrrp 1 track 1 decrement 156
    组号 表号 下调的优先级

    GLBP:网关负载均衡协议
    注:
    该协议在应用时,考虑到生成树在三层架构中的存在,需要相应的改变拓扑结构
    AVG:优先级最大,再IP地址最大
    响应所有对网关地址ARP请求后,根据网关设备的数量(最大4个)回应不同MAC给PC,同时将这些MAC分配给对应的AVF
    3Shello 224.0.0.102UDP3222端口
    AFV:根据AVG分配的MAC地址来转发流量
    AVG抢占关闭
    AVF抢占开启
    配置:
    r1(config)#interface fastEthernet 0/0
    r1(config-if)#glbp 1 ip 134.1.1.254

    r1(config-if)#glbp 1 priority ? 修改优先级
    <1-255> Priority value

    上行链路追踪:
    1.先定义追踪列表
    2.在协议中调用
    core(config)#track 1 interface fa0/0 line-protocol
    定义追踪表1,追踪接口为F0/0
    r1(config)#interface fastEthernet 0/0
    r1(config-if)#glbp 1 weighting track 1 decrement 10
    组号 表号 下调的优先级

    展开全文
  • 写在前面: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和...问: IP地址,子网掩码,默认网关,DNS服务器,有什么区别呀?我知道没有IP地址就不能上...
  • 今天和大家聊一下微服务网关 Spring Cloud Gateway。Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于Spring 5.0、Spring Boot 2.0 和Project Reactor 等组件技术,Spring Cloud Gateway的性能和...
  • 网关系统架构

    2020-04-04 12:00:15
    对内管理所有业务系统对外暴露的接口,并将请求分发到内部各个业务系统。 1 业务域 2 统一接入 作为对外的门面,网关应该拥有统一且简洁的规范,以减少接入的成本。同时这也可以体现出专业化的技术能力。 ...
  • Gateway网关过滤器 自定义局部过滤器 自定义全局过滤器 基于网关实现限流
  • Kong网关upstream健康检查机制

    千次阅读 2020-06-28 18:38:58
    upstream是指位于Kong网关之后的上游API/service,即客户端请求被Kong网关转发到的目标地址。在Kong网关中,upstream表示虚拟主机名,可用于: 健康检查 熔断 负载均衡。 在实际生产环境中,upstream可以指向部署...
  • 网关服务

    千次阅读 2017-05-19 19:14:50
    网关网关管理从云端发送的数据包和通知。数据包可以是能被PredixMachine及其处理的命令、容器、软件或配置信息或PredixMachine及其能与之通信的任意应用程序。例如,云网关下载命令并将其交给命令调度程序,后者...
  • Kong网关介绍

    千次阅读 2019-09-28 19:33:35
    传统服务如下左图,通用函数重复使用在个服务中,系统庞大僵化难以管理,由于会冲击其他服务导致的扩展困难,由于系统限制导致生产率低,如下右图是kong的解决方案 kong特点: 云原生:平台无关,kong可以在...
  • SpringCloud Zuul配置微服务网关详解

    万次阅读 2018-09-12 17:46:22
    二、zuul微服务网关主要配置 三、Zuul微服务网关默认配置的坑 四、重定向无法获取正确路径的填坑过程 五、关于熔断和超时设置的问题 一、准备搭建环境的目标 笔者在https://mp.csdn.net/postedit/82226297,...
  • 支付网关的设计

    千次阅读 2017-12-06 14:06:10
    支付网关的设计 ...在支付系统中,支付网关和支付渠道的对接是最核心的功能。其中支付网关是对外提供服务的接口,所有需要渠道支持的资金操作都需要通过网关分发到对应...而支付渠道模块是接收网关请求,调用渠
  • 自建API网关「架构设计篇」

    千次阅读 2018-04-03 00:00:00
    API网关介绍网关一词较早出现在网络设备里面,比如两个相互独立的局域网段之间通过路由器或者桥接设备进行通信, 这中间的路由或者桥接设备我们称之为网关。相应的API网关将各系统对外暴露的服务聚合起来,所有要...
  • 负载均衡器将请求路由给 N 个相同的应用程序实例中的一个 。 然后应用程序会查询各种数据库表处理业务逻辑,并将响应返回给客户端。 微服务架构下,单体应用被切割成个微服务,如果将所有的微服务直接对外暴露,...
  • 百亿流量微服务网关的设计与实现

    千次阅读 2020-04-13 15:20:48
    API网关概述 1. 什么是API网关(API Gateway) 2. 分布式服务架构、微服务架构与API网关 3. API网关的技术趋势 API网关的定义、职能与关注点 1. API网关的定义 2. API网关的职能 3. API网关的关注点 API网关...
  • API网关介绍及选型(kong)

    千次阅读 2019-07-13 09:47:46
    它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。 API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。通常,...
  • HTTP协议漫谈 - HTTP协议请求方法

    千次阅读 2018-03-19 23:06:45
    前言 在上一篇文章《HTTP协议漫谈 - HTTP协议... ...其中起始行又分为请求行和状态行,请求行是HTTP请求中的起始行,它又包含了三个部分:请求方法,请求URI和HTTP协议版本。本文就来介绍HTTP请求中的请求方法。 ...
  • Kong网关简介安装

    千次阅读 2020-07-08 10:15:45
    背景 我们有批设备卖给了海外的服务商,老外请了第三方检测机构,检测设备与我们系统的安全...网关是微服务中不可或缺的一部分,它承载了所有请求流量入口,参数验证拦截,用户权限验证等,但是除了 JAVA 的 spring c.
  • Spring Cloud: API网关 Gateway

    千次阅读 2020-06-06 18:14:58
    在微服务架构下,单体应用被分割成个微服务,如果将所有的微服务直接对外暴露,会出现一些安全问题,全部做鉴权处理的话,不光效率底下,而且管理起来更是复杂,而且有一些服务协议不是Web友好的协议。 为了解决...
  • SpringCloud Zuul 网关搭建及配置

    千次阅读 多人点赞 2019-12-25 11:04:11
    目录 ...六.Zuul的更功能 前言:博主一直力求做到写博客尽量的详细来减少大家花在踩坑上的时间,若有写的不好或错误的地方,还需各方大佬指正。 一.Zuul网关 网关,是一种网络关口,既然是...
  • Kong网关工作原理及核心概念

    千次阅读 2020-07-08 10:32:56
    Kong网关简介安装 之前简单介绍安装了 Kong,这篇就是深入 Kong 详细讲述下它的一些工作原理、核心概念。 附上: Kong 官网:https://konghq.com/ Kong GitHub地址:https://github.com/kong/kong Kong的工作原理 ...
  • nginx网关配置笔记

    2019-09-29 18:20:04
    1.1 获取请求(Request)内容 ① 获取请求主机 $host ② 获取请求路径 $request_uri:path+queryString $uri:path` ③ 获取请求header $http_X_Role:request header中的X-Role $...
  • 解决zuul网关跨域问题

    万次阅读 2019-06-24 12:03:03
    问题发现 正常情况下,跨域是这样的: 1. 微服务配置跨域+zuul不配置=有跨域问题 2. 微服务配置+zuul配置=有跨域问题 ...如果服务已有跨域配置网关也有,会出现*多次配置问题。 Access-Control-Allo...
  • 网关限流(令牌桶算法)

    千次阅读 2019-07-11 20:33:16
    每个ip地址1秒内只能发送1次请求出来的请求返回429错误。 二、引入依赖 spring cloud gateway 默认使用redis的RateLimter限流算法来实现。所以我们要使用首先需要引入redis的依赖 <!--redis--> <...
  • http请求与响应,TCP三握手&四分手

    万次阅读 多人点赞 2017-10-19 20:10:40
    从前端发起请求到后台的整个过程,是一个面试中经常遇到的问题。大概的流程想必有一点基础的人都明白,但是要细说,却未必能一一道出来,曾经老师教过的知识也都差不多忘干净了。所以,我上网找了点资料,加上自己的...
  • 微服务网关GateWay(含限流)

    千次阅读 2020-04-01 15:39:39
    客户端会多次请求不同的微服务,增加了客户端的复杂性 存在跨域请求,在一定场景下处理相对复杂 认证复杂,每个服务都需要独立认证 难以重构,随着项目的迭代,可能需要重新划分微服务。例如,可能将多个服务合并成...
  • 文章地址: https://blog.piaoruiqing.com/blog/2019/08/11/开放api网关实践之重放攻击及防御/ 文章目录前言什么是重放攻击(Replay Attacks)模拟重放攻击实验器材实验步骤过程记录准备工作正常请求通过DNS劫持来拦截...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,153
精华内容 19,661
关键字:

网关相同地址请求多次