Internet DRAFT - draft-iijima-ngo-vlandatamodel
draft-iijima-ngo-vlandatamodel
Network Working Group T. Iijima
Internet-Draft Y. Atarashi
Intended status: Informational H. Kimura
Expires: March 2, 2008 M. Kitani
Alaxala Networks Corp.
H. Okita
Central Research Laboratory,
Hitachi, Ltd.
August 30, 2007
VLAN data model for NETCONF
draft-iijima-ngo-vlandatamodel-01
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on March 2, 2008.
Copyright Notice
Copyright (C) The IETF Trust (2007).
Iijima, et al. Expires March 2, 2008 [Page 1]
Internet-Draft VLAN data model for NETCONF August 2007
Abstract
Data models are to be discussed within the NETCONF framework shortly.
We devised data model of VLAN and moreover developed a network
configuration application using the data model. This document
introduces the data model which we developed so that it facilitates
discussion of data model under which NETCONF protocol should run.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Data modeling for NETCONF . . . . . . . . . . . . . . . . 3
1.2. Conventions . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Proposal to the INTAP/OSMIC . . . . . . . . . . . . . . . . . 4
3. Data model over NETCONF . . . . . . . . . . . . . . . . . . . 5
4. VLAN data model . . . . . . . . . . . . . . . . . . . . . . . 6
4.1. Class diagram of VLAN data model . . . . . . . . . . . . . 6
4.2. XML schema of VLAN data model . . . . . . . . . . . . . . 7
4.3. Application using VLAN data model . . . . . . . . . . . . 9
4.4. Request message from configuration application . . . . . . 10
4.5. Reply message from network device . . . . . . . . . . . . 10
5. Security Considerations . . . . . . . . . . . . . . . . . . . 12
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.1. Normative References . . . . . . . . . . . . . . . . . . . 14
7.2. Informative References . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15
Intellectual Property and Copyright Statements . . . . . . . . . . 17
Iijima, et al. Expires March 2, 2008 [Page 2]
Internet-Draft VLAN data model for NETCONF August 2007
1. Introduction
1.1. Data modeling for NETCONF
Data modeling of configuration data of each network function is
necessary in order to achieve interoperability among NETCONF
entities. For that purpose, we devised VLAN data model and moreover
developed a network configuration application using that data model.
In addition to that, we proposed it to Japanese standardization body
and it was approved as a standard. Interoperability test using our
data model among multi vendors will be held in a near future.
1.2. Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC2119 [2].
1.3. Motivation
This document opens our data model to public so that it facilitates
discussion of data model by which NETCONF configures each network
device. This document is aiming to be accepted as a reference to the
NETCONF data model.
Iijima, et al. Expires March 2, 2008 [Page 3]
Internet-Draft VLAN data model for NETCONF August 2007
2. Proposal to the INTAP/OSMIC
We proposed our VLAN data model to the INTAP/OSMIC, Japanese
standardization body. And it was adopted as standard data model
after a thorough discussion. Now that the data models we defined are
approved by INTAP/OSMIC, we can utilize this data model and conduct
interoperability experiment with other vendors.
INTAP is an association established in 1985, based on the provisions
of Article 34 of Japan's Civil Law Act, and approved by the then
Ministry of International Trade and Industry, in order to conduct and
promote R&D, surveys and publicity activities. Through those
activities, the association seeks to stimulate the progress of
information technologies, which should contribute to the formation of
a healthy information society.
OSMIC is one of the sub-committees of INTAP and mainly in charge of
interoperability. OSMIC's activity is to implement and evaluate
interoperability among implementations of multi vendors. After we
proposed our VLAN data model to OSMIC, it started verification
whether or not our data model rightly satisfy implementer's needs.
Participating vendors will implement and conduct interoperability
test shortly. The data model is expected to be refined by taking the
outcome into consideration and promotion activities will follow.
Iijima, et al. Expires March 2, 2008 [Page 4]
Internet-Draft VLAN data model for NETCONF August 2007
3. Data model over NETCONF
NETCONF's architecture is provided in Figure 1. As this figure
shows, layer of operation, RPC, and application protocol have been
standardized. However, content layer, which is the configuration
data exchanged over NETCONF protocol, has been left out from NETCONF
standardization process. In order to achieve interoperability among
NETCONF entities, data modeling of configuration data is necessary.
Layer Example
+-------------+ +-----------------------------+
| Content | | Configuration data |
+-------------+ +-----------------------------+
| |
+-------------+ +-----------------------------+
| Operations | | <get-config>, <edit-config> |
+-------------+ +-----------------------------+
| |
+-------------+ +-----------------------------+
| RPC | | <rpc>, <rpc-reply> |
+-------------+ +-----------------------------+
| |
+-------------+ +-----------------------------+
| Application | | BEEP, SSH, SSL, console |
| Protocol | | |
+-------------+ +-----------------------------+
Figure 1: NETCONF architecture
Iijima, et al. Expires March 2, 2008 [Page 5]
Internet-Draft VLAN data model for NETCONF August 2007
4. VLAN data model
In this section, we provide VLAN data model which we developed. The
data model was originally designed in a style of UML(Unified Modeling
Language) class diagram. But, due to the paper limitation, we listed
just highly simplified class diagram.
4.1. Class diagram of VLAN data model
Figure 2 shows the highly simplified class diagram of VLAN data
model.
+---------------------------------------------------+
| VLAN |
| |
+---------------------------------------------------+
<>
|
|
+---------------------------------------------------+
| AssortmentPort |
| |
+---------------------------------------------------+
A A A A A
| | | | |
| | | | |
+--------+ +-----------+ +----------+ +----------+ +----------+
| Tagged | | Protocol | | MacBased | | IpSubnet | | Untagged |
| Port | | BasedPort | | Port | | Port | | Port |
| | | | | | | | | |
+--------+ +-----------+ +----------+ +----------+ +----------+
<>:association (has-a)
A :inheritance (is-a)
Figure 2: VLAN's class diagram
VLAN class has AssortmentPort class as well as some variables such as
VLAN ID. And AssortmentPort class is used by being inherited as
TaggedPort, ProtocolBasedPort, MacBasedPort, IpSubnetPort, and
UntaggedPort class. If one particular VLAN ID is used for Tag VLAN
and Port VLAN, the port information is set in the Tagged Port class
and the Untagged port class. And VLAN class which contains the
TaggedPort and the UntaggedPort class is configured and the
configured data are sent over the NETCONF protocol.
Iijima, et al. Expires March 2, 2008 [Page 6]
Internet-Draft VLAN data model for NETCONF August 2007
4.2. XML schema of VLAN data model
From the class diagram depicted in the previous section, VLAN's XML
schema can be generated. The configuration data are sent in a style
conforming to this XML schema.
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="onapi-datamodel_1.1"
targetNamespace="urn:net:alaxala:oan:onapi:commons:netmod:1.1"
xmlns:ncp="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:nm1_0="urn:net:alaxala:oan:onapi:commons:netmod:1.0"
xmlns:nm1_1="urn:net:alaxala:oan:onapi:commons:netmod:1.1">
<xs:import namespace="urn:ietf:params:xml:ns:netconf:base:1.0" schemaLocation="netconf-base_1.0.xsd"/>
<xs:import namespace="urn:net:alaxala:oan:onapi:commons:netmod:1.0" schemaLocation="onapi-datamodel_1.0.xsd" />
<xs:complexType name="TaggedPortType">
<xs:complexContent>
<xs:extension base="nm1_1:AssortmentPortType">
<xs:sequence>
<xs:element name="TransTag" type="xs:integer" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AssortmentPortType">
<xs:sequence>
<xs:element ref="nm1_0:PortId" minOccurs="0" maxOccurs="unbounded"></xs:element>
<xs:element name="Type" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProtocolBasedPortType">
<xs:complexContent>
<xs:extension base="nm1_1:AssortmentPortType">
<xs:sequence>
<xs:element name="Protocol" type="xs:string" maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="MacBasedPortType">
<xs:complexContent>
<xs:extension base="nm1_1:AssortmentPortType">
<xs:sequence>
<xs:element name="MacAddress" type="nm1_0:MacAddress" maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
</xs:extension>
Iijima, et al. Expires March 2, 2008 [Page 7]
Internet-Draft VLAN data model for NETCONF August 2007
</xs:complexContent>
</xs:complexType>
<xs:complexType name="IpSubnetPortType">
<xs:complexContent>
<xs:extension base="nm1_1:AssortmentPortType">
<xs:sequence>
<xs:element name="SubNet" type="xs:string" maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="UntaggedPortType">
<xs:complexContent>
<xs:extension base="nm1_1:AssortmentPortType">
<xs:sequence />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="LogicalIF" type="nm1_0:LogicalIFType"/>
<xs:element name="TaggedPort" type="nm1_1:TaggedPortType"></xs:element>
<xs:element name="ProtocolBasedPort" type="nm1_1:ProtocolBasedPortType"/>
<xs:element name="MacBasedPort" type="nm1_1:MacBasedPortType"/>
<xs:element name="IpSubnetPort" type="nm1_1:IpSubnetPortType"/>
<xs:element name="UntaggedPort" type="nm1_1:UntaggedPortType"/>
<xs:element name="Vlans">
<xs:complexType>
<xs:sequence>
<xs:element ref="nm1_1:Vlan" maxOccurs="unbounded" minOccurs="0"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Vlan" type="nm1_1:VlanType"></xs:element>
<xs:complexType name="VlanType">
<xs:sequence>
<xs:element ref="nm1_0:VlanId"></xs:element>
<xs:element name="VlanName" type="xs:string" minOccurs="0" maxOccurs="1" />
<xs:element ref="nm1_1:LogicalIF" minOccurs="0" maxOccurs="1" />
<xs:element ref="nm1_1:TaggedPort" minOccurs="0" maxOccurs="1" />
<xs:element ref="nm1_1:ProtocolBasedPort" minOccurs="0" maxOccurs="1" />
<xs:element ref="nm1_1:MacBasedPort" minOccurs="0" maxOccurs="1" />
<xs:element ref="nm1_1:IpSubnetPort" minOccurs="0" maxOccurs="1" />
<xs:element ref="nm1_1:UntaggedPort" minOccurs="0" maxOccurs="1" />
</xs:sequence>
<xs:attribute name="operation" type="ncp:editOperationType" />
</xs:complexType>
<xs:simpleType name="VlanIdType">
<xs:restriction base="xs:integer">
Iijima, et al. Expires March 2, 2008 [Page 8]
Internet-Draft VLAN data model for NETCONF August 2007
<xs:minInclusive value="1"/>
<xs:maxInclusive value="4095"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
4.3. Application using VLAN data model
We developed a configuration application which exchanges NETCONF
messages conforming to XML schema listed in the previous section.
Figure 3 depicts the image of the configuration application we
developed.
The video server is connected to the network device on VLAN 100.
User A and B are connected to the network device at port 0/7 and port
0/11 respectively. When an operator allows user A and B to watch
video stream from video server, the operator runs configuration
application which sends NETCONF request message and sets port 0/7 and
port 0/11 to join VLAN 100.
+---------------+ +--------+
| Configuration | | Video |
| Application | | Server |
+---------------+ +--------+
| ^ |
| | |
NETCONF request/reply VLAN100
| | |
v | |
+--------------------+
| Network |
| Device |
+--------------------+
Port 0/7 Port 0/11
| |
| |
| |
+--------+ +--------+
| User A | | User B |
| | | |
+--------+ +--------+
Figure 3: Application using VLAN data model
Iijima, et al. Expires March 2, 2008 [Page 9]
Internet-Draft VLAN data model for NETCONF August 2007
4.4. Request message from configuration application
The request message sent from the configuration application to
network device, which conforms to the XML schema listed in 4.2, is
shown below.
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<rpc message-id="395">
<edit-config xsi:type="ns1:editConfigType" xmlns:ns1="urn:ietf:params:xml:ns:netconf:base:1.0">
<target>
<running xmlns=""></running>
</target>
<config>
<ns2:Vlans xmlns:ns2="urn:net:alaxala:oan:onapi:commons:netmod:1.0">
<ns2:Vlan operation="delete">
<VlanId xmlns="">100</VlanId>
<VlanName xmlns="">VLAN0100</VlanName>
<UntaggedPort xmlns="">
<PortId>port 0/7</PortId>
<PortId>port 0/11</PortId>
<Type>UNTAGGED_PORT</Type>
</UntaggedPort>
</ns2:Vlan>
</ns2:Vlans>
</config>
</edit-config>
</rpc>
</rpc>
</soapenv:Body>
</soapenv:Envelope>
Figure 4: Request message from configuration application
4.5. Reply message from network device
When the request message was successfully accepted, a message listed
in Figure 5, which is also conforming to the XML schema, is sent from
the network device to configuration application.
Iijima, et al. Expires March 2, 2008 [Page 10]
Internet-Draft VLAN data model for NETCONF August 2007
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<rpc-reply message-id="395">
<ok/>
</rpc-reply>
</rpc-reply>
</soapenv:Body>
</soapenv:Envelope>
Figure 5: Reply message from network device
Iijima, et al. Expires March 2, 2008 [Page 11]
Internet-Draft VLAN data model for NETCONF August 2007
5. Security Considerations
When we exchange NETCONF messages based on the data model we
proposed, security should be taken care of. WS-Security can achieve
secure data transportation by utilizing XML Signature, XML Encryption
mechanism.
Iijima, et al. Expires March 2, 2008 [Page 12]
Internet-Draft VLAN data model for NETCONF August 2007
6. IANA Considerations
This document has no actions for IANA.
Iijima, et al. Expires March 2, 2008 [Page 13]
Internet-Draft VLAN data model for NETCONF August 2007
7. References
7.1. Normative References
[1] Enns, R., "NETCONF Configuration Protocol", RFC 4741,
December 2006.
7.2. Informative References
[2] Bradner, S. , "Key words for use in RFCs to Indicate
Requirement Levels" , BCP 14 , RFC 2119 , March 1997 .
[3] Sperberg-McQueen, C. , Bray, T. , and J. Paoli , "XML 1.0
Recommendation" , World Wide Web Consortium FirstEdition REC-
xml-19980210 , February 1998 ,
<http://www.w3.org/TR/1998/REC-xml-19980210> .
[4] "Interoperability Technology Association for Information
Processing(INTAP), Japan" .
<http://www.net.intap.or.jp/e/>
[5] "Open Systems Management Industry Collaboration(OSMIC)".
<http://www.net.intap.or.jp/e/3-6.html>
Iijima, et al. Expires March 2, 2008 [Page 14]
Internet-Draft VLAN data model for NETCONF August 2007
Authors' Addresses
Iijima Tomoyuki
Alaxala Networks Corp.
Shin-Kawasaki Mitsui Bldg.
890 Saiwai-ku Kashimada
Kawasaki, Kanagawa 212-0058
Japan
Phone: +81-44-549-1200
Fax: +81-44-549-1272
Email: tomoyuki.iijima@alaxala.com
Yoshifumi Atarashi
Alaxala Networks Corp.
Shin-Kawasaki Mitsui Bldg.
890 Saiwai-ku Kashimada
Kawasaki, Kanagawa 212-0058
Japan
Phone: +81-44-549-1200
Fax: +81-44-549-1272
Email: atarashi@alaxala.net
Hiroyasu Kimura
Alaxala Networks Corp.
Shin-Kawasaki Mitsui Bldg.
890 Saiwai-ku Kashimada
Kawasaki, Kanagawa 212-0058
Japan
Phone: +81-44-549-1200
Fax: +81-44-549-1272
Email: h-kimura@alaxala.com
Iijima, et al. Expires March 2, 2008 [Page 15]
Internet-Draft VLAN data model for NETCONF August 2007
Makoto Kitani
Alaxala Networks Corp.
Shin-Kawasaki Mitsui Bldg.
890 Saiwai-ku Kashimada
Kawasaki, Kanagawa 212-0058
Japan
Phone: +81-44-549-1200
Fax: +81-44-549-1272
Email: makoto.kitani@alaxala.com
Hideki Okita
Central Research Laboratory, Hitachi, Ltd.
1-280 Higashi-Koigakubo
Kokubunji, Tokyo 185-8601
Japan
Phone: +81-42-323-1111
Fax: +81-42-327-7868
Email: hideki.okita.pf@hitachi.com
Iijima, et al. Expires March 2, 2008 [Page 16]
Internet-Draft VLAN data model for NETCONF August 2007
Full Copyright Statement
Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Iijima, et al. Expires March 2, 2008 [Page 17]