-
2022-02-23 17:52:22
什么是南向接口和北向接口?南向流量?北向流量?
北向接口:提供给其他厂家或运营商进行接入和管理的接口,即向上提供的接口。
如网管提供三种北向接口,分别为CORBA(Common Object Request Broker
Architecture)、SNMP、Syslog北向接口。它们负责向上级网管系统提供基于CORBA、SNMP和Syslog协议的北向接口,支持上级网管系统通过对应的协议接入网管。
南向接口:管理其他厂家网管或设备的接口,即向下提供的接口。
SDN控制器对网络的控制主要是通过南向接口协议实现,包括链路发现、拓扑管理、策略制定、表项下发等,其中链路发现和拓扑管理主要是控制其利用南 向接口的上行通道对底层交换设备上报信息进行统一监控和统计;而策略制定和表项下发则是控制器利用南向接口的下行通道对网络设备进行统一控制。
SDN北向接口是通过控制器向上层业务应用开放的接口,其目标是使得业务应用能够便利地调用底层的网络资源和能力。通过北向接口,网络业务的开发者 能以软件编程的形式调用各种网络资源;同时上层的网络资源管理系统可以通过控制器的北向接口全局把控整个网网络的资源状态,并对资源进行统一调度。因为北 向接口是直接为业务应用服务的,因此其设计需要密切联系业务应用需求,具有多样化的特征。同时,北向接口的设计是否合理、便捷,以便能被业务应用广泛调 用,会直接影响到SDN控制器厂商的市场前景。
更多相关内容 -
java Corba北向接口连接创建 获取session工厂
2020-06-22 10:56:44(相关的java类是华为北向接口类可查询下载) 初始化方法如下 public class Demo { private static final String SERVER_IP=""; private static final String SERVER_PORT =""; private static final String USER_...之前在网上查询较多连接方法无法建立正确连接,参考无数文档后找到了自己的方法,以助于其他小伙伴们少走弯路。出处不太记得了不贴了。(相关的java类是华为北向接口类可查询下载)
初始化方法如下
public class Demo { private static final String SERVER_IP=""; private static final String SERVER_PORT =""; private static final String USER_NAME=""; private static final String PASSWORD=""; private POA rootPoa = null; private EmsSessionFactory_I pEmsSessionFactory = null; private EmsSession_I pEmsSession = null; public void init() { String[] args = new String[40]; orb = ORB.init(args, null); //init POA try { Object obj1 = orb.resolve_initial_references("RootPOA"); rootPoa = POAHelper.narrow(obj1); rootPoa.the_POAManager().activate(); obj1 = orb.string_to_object("corbaloc:iiop:1.2@" + SERVER_IP + ":" + SERVER_PORT + "/NameService"); NamingContextExt defaultcontext = NamingContextExtHelper.narrow(obj1); assert (!(defaultcontext == null)); org.omg.CORBA.Object obj2 = defaultcontext.resolve_str("WRI/EMS_1\\/SESSIONFACTORY.SESSIONFACTORY"); assert (!(obj2 == null)); //获取session工厂 pEmsSessionFactory = EmsSessionFactory_IHelper.narrow(obj2); //登录获取权限 NmsSession_I pNmsSession = null; EmsSession_IHolder emsSessionIHolder = new EmsSession_IHolder(); pEmsSessionFactory.getEmsSession(USER_NAME, PASSWORD, pNmsSession, emsSessionIHolder); pEmsSession = emsSessionIHolder.value; //接下来就可以根据pEmsSession获取各种接口相关的管理器 if (orb != null) { orb.destroy(); } } catch (Exception e) { e.printStackTrace(); } } }
-
论文研究-基于CORBA的网管北向接口设计与实现 .pdf
2019-08-16 12:49:12基于CORBA的网管北向接口设计与实现,元军峰,,文章系统地介绍了电信管理网(TMN)管理体系结构和各功能层接口参考点的关系。分析了现有网元管理层- 网络管理层(EML-NML)接口Q3 标 -
OMC北向接口参数说明
2018-09-28 09:27:30本文档描述移动通信网络的OMC北向接口的基于CORBA技术故障管理接口设计,供OMC北向接口开发人员、网络系统数据采集程序开发人员参考使用;本标准可适用于TD-LTE等网络的OMC北向接口。 -
iManager U2000 V100R006C02 北向CORBA接口 用户指南
2016-04-09 16:44:47iManager U2000 V100R006C02 北向CORBA接口 用户指南 -
SDN南向接口和北向接口
2017-04-26 14:52:16北向接口(Northbound Interface)提供给其他厂家或运营商进行接入和管理的接口,即向上提供的接口。 ...一般网管提供三种北向接口,分别为CORBA(Common Object Request Broker Architectur北向接口(Northbound Interface)提供给其他厂家或运营商进行接入和管理的接口,即向上提供的接口。
其是驻留在底层网管上的一个进程,与通常所说的Agent功能相同。负责处理来自上层网管的请求报文,发送trap信息。经常简写为“Intf.N”
一般网管提供三种 北向接口 ,分别为CORBA(Common Object Request Broker Architecture)、SNMP、Syslog北向接口。它们负责向上级网管系统提供基于CORBA、SNMP和Syslog协议的北向接口,支持上级网管系统通过对应的协议接入网管。
Syslog接口主要负责将SNMPAgent产生的告警转换为Syslog协议的格式转发给上级网管系统,功能比较单一。而北向CORBA和SNMP接口则能提供故障、拓扑、资源等多类接口,完成故障查询,资源查询等多类网管功能。
管理其他厂家网管或设备的接口,即向下提供的接口。
提供对其他厂家网元的管理功能,支持多种形式的接口协议,包括SNMP、TR069、SYSLOG、SOAP、SSH等接口,其中主要的是SNMP v3 和TR069(即CWMP,客户端广域网管理协议)
-
用JACORB开发corba应用
2021-03-03 12:13:19JACORB开发以及corba的请求方式:JacORB的应用开发一般分为以下五步:1.写IDL接口定义2.编译IDL接口定义生成Java类3.实现步骤2中生成的接口4.写服务器启动类,并注册到ORB5.写客户端去获取服务对象引用本例子是采用...JACORB开发以及corba的请求方式:
JacORB的应用开发一般分为以下五步:
1.写IDL接口定义
2.编译IDL接口定义生成Java类
3.实现步骤2中生成的接口
4.写服务器启动类,并注册到ORB
5.写客户端去获取服务对象引用
本例子是采用JACORB里面的一个GRID的例子,从这里例子我们能看出CORBA开发的一些基本步骤,犹豫本例子采用的都是JAVA开发的,由于也受到JACORB的框架限制,并不能很好看出跨语言平台以及如何做到分布式的开发,但是本例有2种基本的方式能够展现出来corba两中调用方式:
第一种方式:根据server生成的IDL以及IOR文件,交给客户端,客户端根据这IOR文件来定位server,然后根据IDL接口生成自己的调用代码(本例中是JAVA,当然也可以自己用别的语言来实现)
第二种方式:根据Naming Service的方式来定位server,有点类似于JNDI的方式,有个Naming Server,server端把一些服务注册上去,client从naming server来找这些服务.
以上是2种最基本的方式来实现CORBA的这2种调用方式,第一种方式虽然麻烦一点,但是也是很有效的。本例子用JAVA实现的server和Client充分的展示了这2种调用方式
1.写IDL接口定义
全部Corba结果是从一个接口开始的,因为Corba与语言无关,所以它依靠一种接口定义语言来表达如何向实现接口的服务发出请求以及得到应答.
这是Jacorb里面Grid的例子,IDL的详细语法可以去OMG找些相关的资料来看,比较简单
grid.idl
// IDL defintion of a 2-D grid:
module demo
{
module grid
{
interface MyServer
{
typedef fixed <5,2> fixedT;
readonly attribute short height;// height of the grid
readonly attribute short width;// width of the grid
// set the element [n,m] of the grid, to value:
void set(in short n, in short m, in fixedT value);
// return element [n,m] of the grid:
fixedT get(in short n, in short m);
exception MyException
{
string why;
};
short opWithException() raises( MyException );
};
};
};
我们用这样一个与任何语言无关的IDL文件将来生成一些与语言相关一些文件,这些文件里面定义了包名,类名,方法名.
2.编译IDL接口定义生成Java类
根据下图就可以看出来生成的文件哪些是server的那些client的
3.实现步骤2中生成的接口
package demo.grid;
/**
* A very simple implementation of a 2-D grid
*/
import demo.grid.MyServerPackage.MyException;
public class gridImpl extends MyServerPOA
{
protected short height = 31;
protected short width = 14;
protected java.math.BigDecimal[][] mygrid;
public gridImpl()
{
mygrid = new java.math.BigDecimal[height][width];
for( short h = 0; h < height; h++ )
{
for( short w = 0; w < width; w++ )
{
mygrid[h][w] = new java.math.BigDecimal("0.21");
}
}
}
public java.math.BigDecimal get(short n, short m)
{
if( ( n <= height ) && ( m <= width ) )
return mygrid[n][m];
11
else
return new java.math.BigDecimal("0.01");
}
public short height()
{
return height;
}
public void set(short n, short m, java.math.BigDecimal value)
{
if( ( n <= height ) && ( m <= width ) )
mygrid[n][m] = value;
}
public short width()
{
return width;
}
public short opWithException()
throws demo.grid.MyServerPackage.MyException
{
throw new demo.grid.MyServerPackage.MyException("This is only
a test exception,
}
}
4.写服务器启动类,并注册到ORB
MyServer接口来访问它。以下是这个类的源代码:
package demo.grid;
import java.io.*;
import org.omg.CosNaming.*;
public class Server
{
// public static void main( String[] args )
{
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null);
try
{
org.omg.PortableServer.POA poa =
org.omg.PortableServer.POAHelper.narrow(
orb.resolve_initial_references("RootPOA"));
poa.the_POAManager().activate();
org.omg.CORBA.Object o = poa.servant_to_reference(new
gridImpl());
if( args.length == 1 )
{
// write the object reference to args[0]
PrintWriter ps = new PrintWriter(
new FileOutputStream(
new File( args[0] )));
ps.println( orb.object_to_string( o ) );
ps.close();
}
else
{
// register with the naming service
NamingContextExt nc =
NamingContextExtHelper.narrow(
orb.resolve_initial_references("NameService"));
nc.bind( nc.to_name("grid.example"), o);
12
}
}
catch ( Exception e )
{
e.printStackTrace();
}
orb.run();
}
}
5.写客户端去获取服务对象引用
package demo.grid;
import org.omg.CosNaming.*;
public class Client
{
public static void main(String args[])
{
try
{
MyServer grid;
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,null);
if(args.length==1 )
{
// args[0] is an IOR-string
grid =
MyServerHelper.narrow(orb.string_to_object(args[0]));
}
else
{
NamingContextExt nc =
NamingContextExtHelper.narrow(
orb.resolve_initial_references("NameService"));
grid = MyServerHelper.narrow(
nc.resolve(nc.to_name("grid.example")));
}
short x = grid.height();
System.out.println("Height = " + x);
short y = grid.width();
System.out.println("Width = " + y);
x -= 1;
y -= 1;
13
System.out.println("Old value at (" + x + "," + y +"): " +
grid.get( x,y));
System.out.println("Setting (" + x + "," + y +") to 470.11");
grid.set( x, y, new java.math.BigDecimal("470.11"));
System.out.println("New value at (" + x + "," + y +"): " +
grid.get( x,y));
try
{
grid.opWithException();
}
catch (jacorb.demo.grid.MyServerPackage.MyException ex)
{
System.out.println("MyException, reason: " + ex.why);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
JACORB的调用方式分为2种方式
(一)IOR定位调用方式
首先我们展示的是IOR定位调用方式,需要server把生成的IOR文件交给client
首先运行server把生成的ior文件保存到一个文件中:
jaco demo.grid.Server d://test/NS_Ref
打开d://test/NS_Ref可以看到如下内容:
IOR:000000000000001B49444C3A64656D6F2F677269642F4D795365727665723A312E300000000000020000000000000070000102000000000E6C6F6F636B7977616E672D30310012980000001C5374616E64617264496D706C4E616D652F00151F2C4C294C3C011139000000020000000000000008000000004A414300000000010000001C00000000000100010000000105010001000101090000000105010001000000010000002C0000000000000001000000010000001C00000000000100010000000105010001000101090000000105010001
其实这个内容我们可以用JACORB提供command可以反解析的
Dior –f d://test/NS_Ref
------IOR components-----
TypeId:IDL:demo/grid/MyServer:1.0
TAG_INTERNET_IOP Profiles:
Profile Id:IIOP Version :1.2
Host:loockywang-01
Port:4760
Object key (URL):StandardImplName/%00%15%1F,L)L%3C%01%119
Object key (hex):0x53 74 61 6E 64 61 72 64 49 6D 70 6C 4E 61 6D 65 2
F 00 15 1F 2C 4C 29 4C 3C 01 11 39
-- Found 2 Tagged Components--
#0: TAG_ORB_TYPE
Type: 1245790976 (JacORB)
#1: TAG_CODE_SETS
ForChar native code set Id: ISO 8859-1
Char Conversion Code Sets: UTF-8
ForWChar native code set Id: UTF-16
WChar Conversion Code Sets: UTF-8
Components in MULTIPLE_COMPONENTS profile: 1
#0: TAG_CODE_SETS
ForChar native code set Id: ISO 8859-1
Char Conversion Code Sets: UTF-8
ForWChar native code set Id: UTF-16
WChar Conversion Code Sets: UTF-8
从这段内容里面我们可以看到HOST PORT等信息也就是说client有办法定位到server的位置以及服务了
我IOR的内容作为参数来运行client程序
C:\Documents and Settings\jpwang>jaco demo.grid.Client IOR:000000000000001B49444
C3A64656D6F2F677269642F4D795365727665723A312E300000000000020000000000000070000102000000000E6C6F6F636B7977616E672D303100135C0000001B5374616E64617264496D706C4E616D652F00151F2D0C241517473600000000020000000000000008000000004A414300000000010000001C00000000000100010000000105010001000101090000000105010001000000010000002C00000
00000000001000000010000001C00000000000100010000000105010001000101090000000105010001
得到如下运行结果
Height = 31
Width = 14
Old value at (30,13): 0.21
Setting (30,13) to 470.11
New value at (30,13): 470.11
MyException, reason: This is only a test exception, no harm done :-)
done.
(二)Naming Service的调用方式
1:启动ns
Naming service的调用一定要启动naming server,在这里JACORB提供一个command ns
只要配置文件写的都对,只需要启动NS就可以了
>ns回车
2:启动server
jaco demo.grid.Server
3:监控你的namingserver通过命令nmg
或者通过命令lsns得到如下结果.
C:\Documents and Settings\jpwang>lsns
[ configuration jacorb loaded from file D:\work\nj\JACORB\etc\jacorb.properties
]
grid.example
4:运行client
C:\Documents and Settings\jpwang>jaco demo.grid.Client
得到如下结果
Height = 31
Width = 14
Old value at (30,13): 0.21
Setting (30,13) to 470.11
New value at (30,13): 470.11
MyException, reason: This is only a test exception, no harm done :-)
done.
posted on 2007-11-22 10:41 小小程序程序员混口饭吃 阅读(7916) 评论(2) 编辑 收藏 所属分类: java
-
CORBA实现移动综合网管北向接口
2009-10-29 09:43:01CORBA实现移动综合网管北向接口,介绍如何构架网管北向接口, -
论文研究-CORBA和XML在网络资源管理系统北向接口中的应用 .pdf
2019-08-18 12:25:48CORBA和XML在网络资源管理系统北向接口中的应用,闻晶,陈兴渝,CORBA和XML技术是分布式中间件中的主流技术。针对两种技术的特点,可以把它们结合起来应用到网络资源管理系统接口中。从而实现在异� -
论文研究-基于CORBA的网管北向接口的设计与实现 .pdf
2019-08-19 13:59:25基于CORBA的网管北向接口的设计与实现,傅艳,,随着互联网的不断扩大,网络提供的业务种类的大量增加及网络设备的多样化,对网络的管理提出了越来越高的要求。传统的集中式网络 -
SDN北向接口之REST API
2019-05-07 21:16:421.北向接口 2.北向接口的分类 2.1 功能性北向接口 2.2 基于意图的业务模型描述 3.北向接口的实现 4. REST API 4.1 REST的几个重要概念 4.2 REST的约束条件与原则 4.3 REST API的设计规范 4.3.1 资源的原型 ... -
U2000北向 CORBA客户端代码Java编程示例
2019-05-15 09:23:52Description : U2000 CORBA Program development demo to get emsSession object ************************************************************/ public class Client { private Client() { } private ... -
基于CORBA的3G北向接口集成研究
2013-02-26 14:03:34在2G网络中,每一个厂商的设备均有其自身开发的网管系统,随着通信网中设备的不断增加,由于早期北向接口标准制订不及时,北向NMS的建设时需要对每一家厂商设备进行调研,为每个厂家的设备开发相应的适配层。NMS采集数据... -
什么是南向接口和北向接口,南北流量和东西流量
2021-07-06 16:09:38它们负责向上级网管系统提供基于CORBA、SNMP和Syslog协议的北向接口,支持上级网管系统通过对应的协议接入网管。 南向接口:管理其他厂家网管或设备的接口,即向下提供的接口。 SDN控制器对网络的控制主要是通过南向... -
北向接口
2019-09-27 15:26:59北向接口(Northbound Interface)是为厂家或运营商进行接入和管理网络的接口,即向上提供的接口。网络中使用接口编程开发各种应用系统管理被管理对象,管理的方法是采集和分析被管理对象在运行中产生的各种数据。在... -
北向接口与南向接口
2018-07-24 19:34:20南向接口和北向接口 2015年10月13日 14:17:52 阅读数:6187 南向接口和北向接口 南向接口(Southbound Interface) 概念 提供对其他厂家网元的管理功能,管理其他厂家网管或设备的接口,即向下提供的... -
CORBA接口用戶手册.doc
2021-01-15 03:51:38CORBA接口用戶手册CORBA接口用户手册天元网络CORBA采集组手册目标描述如何安装、配置和启动SBIA,为开发维护人员和现场的工程人员提供参考阅读对象本手册适合以下人员阅读:SBIA开发维护人员;现场的工程人员;术语... -
南向接口和北向接口
2015-10-13 14:17:52南向接口和北向接口南向接口(Southbound Interface) 概念 提供对其他厂家网元的管理功能,管理其他厂家网管或设备的接口,即向下提供的接口。 举例 SNMP、TR069、SYSLOG、SOAP、SSH等,其中主要的是SNMPv3 和TR... -
网管“北向接口”与“南向接口”
2020-03-01 11:56:50北向接口 北向接口(Northbound Interface)提供给其他厂家或运营商进行接入和管理的接口,即向上提供的接口。...一般网管提供三种北向接口,分别为CORBA(Common Object Request Broker Architecture)... -
datang CORBA .idl文件
2018-09-28 09:11:50datang CORBA .idl文件,版本 Alarm IRP V3.0.0 BasicCM IRP V3.0.0 Notification IRP V3.0.0 FileTransfer IRP V3.0.0等 -
北向接口说明
2011-02-07 23:34:00北向接口介绍