51学通信技术论坛

标题: 提个问题,关于GX口和GY口的问题 [打印本页]

作者: arno    时间: 2012-10-11 08:43:34     标题: 提个问题,关于GX口和GY口的问题

在GGSN配置中的GGSNC的有如下的配置:
ggsnc {
            gn-s5-address-range 221.177.164.1/29;
            gom-address-range 10.30.40.225/29;
其中GOM地址是用来和OCS,PCRF通信用的,那么我GGSN怎么区分从哪边来的呢?
怎么把地址分离,可以用地址映射吗?
谢谢。


作者: 爱卫生    时间: 2012-10-11 19:06:49

设备内部用的是通过路由实例来区分啊。在网络当中则通过MPLS VPN来区分。

GGSN从某个物理端口或VLAN端口收到一个IP报文,该端口和一个路由实例(Routing Instance)绑定了,例如Gom或Gn。这样就已经区分开了。


作者: oliverchang    时间: 2012-10-14 21:13:03

gom-address-range 10.30.40.225/29,需要对该地址段进行一个NAT的转换,转换后的一个地址段用于给Gx即同PCRF进行通信,转换成另外的一个地址段用于Gy即同OCS通信,然后新转换后的地址段分别属于不同的routing-instance
作者: yonka    时间: 2012-10-16 02:52:23

oliverchang 发表于 2012-10-14 21:13
gom-address-range 10.30.40.225/29,需要对该地址段进行一个NAT的转换,转换后的一个地址段用于给Gx即同PCR ...

“gom-address-range 10.30.40.225/29,需要对该地址段进行一个NAT的转换,转换后的一个地址段用于给Gx即同PCRF进行通信,转换成另外的一个地址段用于Gy即同OCS通信,然后新转换后的地址段分别属于不同的routing-instance”

是不是啊?
你的意思是实际的源地址是NAT转换后的那个网段的地址?
为什么需要转换呢?

直接分配不可以么?


作者: hycl5410    时间: 2012-10-16 13:46:17

听说过另一个不用NAT的方案。使用APR(Aware Policy-based Routing)功能将Gx Gy业务流映射到不同的routing-instance上去。
作者: snakend    时间: 2012-10-16 17:22:36

本帖最后由 snakend 于 2012-10-16 17:26 编辑
oliverchang 发表于 2012-10-14 21:13
gom-address-range 10.30.40.225/29,需要对该地址段进行一个NAT的转换,转换后的一个地址段用于给Gx即同PCR ...

这个gom-address-range, 在没有enable Gx接口的情况下主要的应用是,gtp primary based 近实时计费的源地址;在enable Gx接口的情况,就是被GGSN-MPG用作Gx VIP与SAPC进行通信,原因在于Juniper的一些限制,就是diameter协议栈只能在从master routing instance也就是inet.0出,所以Gx的diameter msg的源地址就是gom-address-range里的地址。至于Gx的流量与Gom的流量的路由,是通过GGSN上的一些路由设置实现的。
所有这些都是E家的一些实现了。

作者: oliverchang    时间: 2012-10-16 22:18:10

hycl5410 发表于 2012-10-16 13:46
听说过另一个不用NAT的方案。使用APR(Aware Policy-based Routing)功能将Gx Gy业务流映射到不同的routing-i ...

APR好像不能实现将Gx和Gy业务流量映射吧
作者: oliverchang    时间: 2012-10-16 22:19:02

snakend 发表于 2012-10-16 17:22
这个gom-address-range, 在没有enable Gx接口的情况下主要的应用是,gtp primary based 近实时计费的源地 ...

正解,呵呵!!
作者: hycl5410    时间: 2012-10-17 09:21:31

oliverchang 发表于 2012-10-16 22:18
APR好像不能实现将Gx和Gy业务流量映射吧

仔细看了一下,APR好像确实只针对APN。
那可能就是在forwarding table做策略路由来选择出口routing-instance吧?
不是我测的,所以细节不清楚,只是听说{:soso_e100:}

作者: arno    时间: 2012-10-27 15:29:09

oliverchang 发表于 2012-10-14 21:13
gom-address-range 10.30.40.225/29,需要对该地址段进行一个NAT的转换,转换后的一个地址段用于给Gx即同PCR ...

有具体的方案吗?有没有具体实施过。
事实上本来是不用走的,建立rib,routing-instance来区分,但是GX,GY,LI走的不一样的网,所以客户要区分。
有哪位有这方面具体的实施经验的,我在这边测了,用的loopback测的。

作者: lenovovb    时间: 2013-1-19 19:03:09

能不能详细的讲解一下Gy接口发送 接受diameter的过程,包括其中服务地址 NAT地址的转换过程以及路由表的信息  非常感谢!!
作者: 蓉城喜鹊    时间: 2013-2-28 17:16:02


一般好象不建议GGSN做NAT,反正中国移动的网络中不是这样的。因为GGSN毕竟不是路由器,而且NAT 配置复杂,由专门的防火墙进行转换。对于路由配置这块,不属于爱立信的范围,是Junos的操作范围。下面给出一种现网的做法,仅供参考!

假设某GGSN001要与Gx网中的PCRF通信,与Gy网中的OCS通信,可以用下面的部署:


在GGSN的GGSNC配置中,指定本地各C卡的信令IP:

set service ggsn gom-address-range 10.100.101.1/28;

在routing-instance Gy中,指出到达OCS的路由,同时指出到达GGSNC卡的信令IP的路由:

set routing-instance Gy routing-options static route <OCS prefix>/<mask> next-hop <next hop address>
set routing-instance Gy routing-options static route 10.100.101.0/28 next-table inet.0

在routing-instatnce Gx中,指出到达PCRF的路由,同时指出到达GGSNC卡的信令IP的路由:

set routing-instance Gx routing-options static route <PCRF prefix>/<mask> next-hop <next hop address>
set routing-instance Gx routing-options static route 10.100.101.0/28 next-table inet.0

因为GGSN的C卡访问OCS与PCRF的地址默认在inet.0路由表中,同时该路由表中,不存在到达OCS与PCRF的路由(这两种路由在Gx.inet.0和Gy.inet.0中),因此需要把这两路由通过rib-group引入到inet.0中:

用策略命中PCRF的前缀:

set policy-options policy-statement  gx-route-to-global term term1 from router-filter <PCRF prefix>/<mask> exact;
set policy-options policy-statement  gx-route-to-global term term1 then accept;

用策略命中OCS的前缀:
set policy-options policy-statement  gy-route-to-global term term1 from router-filter <OCS prefix>/<mask> exact;
set policy-options policy-statement  gy-route-to-global term term1 then accept;

对路由进行编组:

set routing-options routing-groups gx-to-inet0 import-rib [ Gx.inet.0 inet.0 ];
set routing-options routing-groups gx-to-inet0 import-policy gx-route-to-global;
set routing-options routing-groups gy-to-inet0 import-rib [ Gy.inet.0 inet.0 ];
set routing-options routing-groups gy-to-inet0 import-policy gy-route-to-global;

把Gx与Gy中的路由通告到inet.0全局表中:

set routing-instance Gx routing-options static rib-group gx-to-inet0;
set routing-instance Gx routing-options static rib-group gy-to-inet0;

完成上述配置,基本上GGSN到OCS与PCRF就可以互通了。如果需要做地址转换,可以在专门的防火墙上进行一对一的MIP映射。


对于Diameter协议,由于涉及到DBP部分与DCCA部分,楼主需要学习交互过程的话,还是先看下DBP部分/RFC3588,对于DCCA,可以看RFC4006与3GPP针对信用控制与策略控制的相关文档。

作者: arno    时间: 2013-3-2 14:17:53

蓉城喜鹊 发表于 2013-2-28 17:16
一般好象不建议GGSN做NAT,反正中国移动的网络中不是这样的。因为GGSN毕竟不是路由器,而且NAT 配置复杂, ...

非常感谢你。很全面的答复
作者: hycl5410    时间: 2013-3-2 22:10:31

本帖最后由 hycl5410 于 2013-3-2 22:40 编辑
蓉城喜鹊 发表于 2013-2-28 17:16
一般好象不建议GGSN做NAT,反正中国移动的网络中不是这样的。因为GGSN毕竟不是路由器,而且NAT 配置复杂, ...

真的是非常感谢!解释的非常清楚!

给出一些测试输出(用的是O&M的Gom,从10.185.111.38ping10.170.49.13)
> show system rollback compare 12 0
[edit routing-options rib-groups]
    test { ... }
+   outline-to-inet0 {
+       import-rib [ outline.inet.0 inet.0 ];
+       import-policy outline-to-global;
+   }
[edit policy-options]
+   policy-statement outline-to-global {
+       term term1 {
+           from {
+               route-filter 10.185.111.38/32 exact;
+           }
+           then accept;
+       }
+   }
[edit routing-instances outline routing-options static]
+     rib-group outline-to-inet0;
[edit routing-instances outline routing-options static]
+      route 10.185.111.38/32 next-hop 10.185.111.33;
+      route 10.170.49.13/32 next-table inet.0;
-      route 0.0.0.0/0 next-hop 10.185.111.33;

> show route table inet.0

inet.0: 14 destinations, 15 routes (14 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

0.0.0.0/0          *[Static/5] 1w5d 05:02:29
                    > to 10.170.109.190 via ge-0/0/0.261
10.170.49.13/32    *[Direct/0] 3w3d 06:37:18
                    > via lo0.0
                    [Static/5] 00:01:49
                      to table inet.0

10.170.109.160/27  *[Direct/0] 1w5d 05:02:29
                    > via ge-0/0/0.261
10.170.109.173/32  *[Local/0] 3w3d 06:36:15
                      Local via ge-0/0/0.261
10.185.111.38/32   *[Static/5] 00:01:49
                    > to 10.185.111.33 via ge-0/0/0.291

...
...


> show route table outline.inet.0     

outline.inet.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.170.49.13/32    *[Static/5] 00:03:34
                      to table inet.0

10.185.111.32/29   *[Direct/0] 3d 06:29:42
                    > via ge-0/0/0.291
10.185.111.36/32   *[Local/0] 3d 06:29:42
                      Local via ge-0/0/0.291
10.185.111.38/32   *[Static/5] 00:03:34
                    > to 10.185.111.33 via ge-0/0/0.291

作者: hycl5410    时间: 2013-3-2 23:45:19

本帖最后由 hycl5410 于 2013-3-2 23:48 编辑

另外补充一下,policy-options中需要加上一个default term去reject其他所有,测试的节点是EPG12A
可以看到我的上一个配置,inet.0就引入了这条路由
10.170.49.13/32    *[Direct/0] 3w3d 06:37:18
                    > via lo0.0
                    [Static/5] 00:01:49
                      to table inet.0


修改了配置之后才得到期望结果

RE0> show configuration policy-options policy-statement outline-to-global
term term1 {
    from {
        route-filter 10.185.111.38/32 exact;
    }
    then accept;
}
term term2 {
    then reject;

}

RE0> show route table inet.0                                                

inet.0: 14 destinations, 14 routes (14 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

0.0.0.0/0          *[Static/5] 1w5d 06:11:49
                    > to 10.170.109.190 via ge-0/0/0.261
10.170.49.13/32    *[Direct/0] 3w3d 07:46:38
                    > via lo0.0

10.170.109.160/27  *[Direct/0] 1w5d 06:11:49
                    > via ge-0/0/0.261
10.170.109.173/32  *[Local/0] 3w3d 07:45:35
                      Local via ge-0/0/0.261
10.185.111.38/32   *[Static/5] 00:02:51
                    > to 10.185.111.33 via ge-0/0/0.291

40.40.10.3/32      *[Direct/0] 3w3d 07:46:38
                    > via lo0.0
50.50.0.2/32       *[Local/0] 3w3d 07:45:35
                      Reject
50.50.0.4/32       *[Local/0] 3w3d 07:45:35
                      Reject
50.50.0.5/32       *[Local/0] 3w3d 07:45:35
                      Reject
50.50.1.1/32       *[Local/0] 3w3d 07:45:35
                      Reject
50.50.2.212/30     *[Direct/0] 1w5d 06:11:44
                    > via ge-0/0/1.3
50.50.2.213/32     *[Local/0] 3w3d 07:45:35
                      Local via ge-0/0/1.3
50.50.2.216/30     *[Direct/0] 1w5d 06:11:44
                    > via ge-0/0/1.4
50.50.2.217/32     *[Local/0] 3w3d 07:45:35
                      Local via ge-0/0/1.4

RE0> show route table outline.inet.0

outline.inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

0.0.0.0/0          *[Static/5] 00:03:14
                    > to 10.185.111.33 via ge-0/0/0.291
10.170.49.13/32    *[Static/5] 00:03:14
                      to table inet.0

10.185.111.32/29   *[Direct/0] 3d 07:37:40
                    > via ge-0/0/0.291
10.185.111.36/32   *[Local/0] 3d 07:37:40
                      Local via ge-0/0/0.291
10.185.111.38/32   *[Static/5] 00:03:14
                    > to 10.185.111.33 via ge-0/0/0.291




欢迎光临 51学通信技术论坛 (http://51xuetongxin.com/bbs/) Powered by Discuz! X2