Cisco Training Courses

Cisco Training Courses

Insoft has been serving IT industry with authorized Cisco courses training, since 2010. Find all the relevant information on Cisco training on this page.

View More

Cisco Certifications

Experience a blended learning approach that combines the best of instructor-led training and self-paced e-learning to help you prepare for your certification exam.

View More

Cisco Learning Credits

Cisco Learning Credits (CLCs) are prepaid training vouchers redeemed directly with Cisco that make planning for your success easier when purchasing Cisco products and services.

Have CLCs and want to redeem them?

Cisco Continuing Education

The Cisco Continuing Education Program offers all active certification holders flexible options to recertify by completing a variety of eligible training items.

View More

Cisco U

Cisco U. is customized to achieve your learning needs as this provides learning paths that includes wide range of topics, including CCNA, Cloud and Network Automation Essentials.

Browse Catalogue

Cisco Business Enablement

The Cisco Business Enablement Partner Program focuses on sharpening the business skills of Cisco Channel Partners and customers.

View More

Fortinet Technical Certifications

Insoft Services´ training capabilities rely on the excellence of our exclusive Fortinet Certified Trainers (FCT). We are dedicated to providing high-quality training to Fortinet Customers and Partners.

View More

Fortinet Technical Courses

Insoft is recognised as Fortinet Authorized Training Center in selected locations across EMEA.

View More

ATC Status

Check our ATC Status across selected countries in Europe.

View More

Fortinet Services Packages

Insoft Services has developed a specific solution to streamline and simplify the process of installing or migrating to Fortinet Products.

Browse Packages

Prepforce Bootcamp

The only comprehensive source available today to prepare for Fortinet NSE 8 certification globally.

View More

Microsoft Training

Insoft Services provides Microsoft training in EMEAR. We provide Microsoft technical training and certification courses that are led by world-class instructors.

View More

Technical Training

The evolution of Extreme Networks Technical Training provides a comprehensive progressive pathway from Associate to Professional accreditation.

View More

ATP Accreditation

As an authorised training partner (ATP), Insoft Services ensures that you receive the highest standards of education available.

View More

What we do

Through our global presence and partner ecosystem, we provide strategic IT consulting services to align IT services with customers' business goals.

View More

 

We are pleased to launch pre-scoped Enterprise Networking Consulting Packages, our ready-made solutions, tailored to ensure efficiency and cost containment.

 

View More

 

We specialize in the deployment of vendor-specific automation tools as well as open-source and vendor-independent solutions, that can be tuned in accordance with the business needs of a specific organization.

 

View More

 

We provide comprehensive IoT consultancy, deployment and support solutions for businesses that want to launch or improve their use of connected technologies.

 

In a world where technologies are evolving rapidly, every company - business needs a partner to rely on and trust for the smooth and secure operation of its network infrastructure.

View More

 

In a world where technologies are evolving rapidly, every company - business needs a partner to rely on and trust for the smooth and secure operation of its network infrastructure.

View More

 

In a world where technologies are evolving rapidly, every company - business needs a partner to rely on and trust for the smooth and secure operation of its network infrastructure.

 

View More

 

In a world where technologies are evolving rapidly, every company - business needs a partner to rely on and trust for the smooth and secure operation of its network infrastructure.

 

View More
Cisco Training Courses

 

We provide the highest level of expertise on Cisco consultancy services, that target audits of your current network and implementing updates for improved operational performance, secure data and compliant systems.

View More

 

We provide the highest level of expertise on Fortinet consultancy services that target audits of your current network and implementing updates for improved operational performance, secure data and compliant systems.

View More

 

Our team can help enterprises, get the most value from Extreme products and services following our predefined value-added packages or custom ones that fits business needs.

 

View More

 

TXOne Networks provides cybersecurity solutions that ensure the reliability and safety of ICS and OT environments through the OT zero trust methodology protecting assets for their entire life cycle.

 

View More

About Us

Our training portfolio includes a wide range of IT training from IP providers, including Cisco, Extreme Networks, Fortinet, Microsoft, to name a few, in EMEA.

View More

Data Formats and Models

Data Formats and Models

01 March 2023

DATA MODELS

Introduction to Data Formats and Data Models:

If you’re reading this, then you’ve most likely seen some compelling examples of network automation online or in a presentation and you want to learn more, you may have heard of JSON and YAML, but what are these things? And what’s their relevance in Network Programmability and Automation?

The idea of an encoded data format like XML or JSON is to help represent data in a format that machines can understand. For example, machines would read the below output as one long string:

DATA MODELS

A machine would read this output without understanding what the relationship is between the different pieces of data like the neighbor ID, state, dead time, etc. That’s where the data format comes into play.

The data format is going to allow us to structure the data in a manner that the machine would ingest and be able to understand the relationships between the various data pieces. Once a machine understands the data, then it can make use of it.

To drive the point home, in the same way that routers and switches require standardized protocols such as OSPF, BGP and TCP/IP in order to communicate, software applications need to be able to agree on syntax in order to exchange data between them. For this, applications can use standard data formats like JSON and XML (among others). Not only do applications need to agree on how the data is formatted, but also on how the data is structured. Data models like YANG define how the data stored in a particular data format is structured.

Having said that, let us talk about the first data format of interest, which is XML:

  1. XML stands for eXtensible Markup Language. XML was designed to store and transport data. XML was designed to be both consumable by machines and friendly to humans. XML enjoys wide support in a variety of tools and languages, such as the LXML library in Python. In fact, the XML definition itself is accompanied by a variety of related definitions for things like schema enforcement, transformations, and advanced queries.XML is hierarchical with parent and child constructs as seen below. This is an XML format of a show ospf neighbor command:
    DATA MODELS In the above, the <router> element/tag is referred to as the root/parent, which nests the <ospf> element within it (referred to as a child). This child element also has a nested child element called <neighbor>. XML elements can have attributes, for instance the neighbor element has a hostname attribute; this can be used to uniquely identify and/or distinguish the neighbor tags within the ospf element. All XML elements/tags must have an opening and closing tag </>. Also, unlike HTML, XML does not have predefined tags; we can be as creative as we want to be. We could also add comments into XML.
  2. The second widely used data format is JSON, which stands for JavaScript Object Notation. It is written in the syntax of the JavaScript notation. JSON seems to be the new kid on the block when it comes to network information exchange over the network. JSON obviously is not new, it has been around for a long time, and is a popular format used for many sites, including Twitter. Here’s an example file in JSON:
    DATA MODELS The whole file is wrapped in curly braces {}, indicating that JSON objects are contained inside. Objects can be thought of as key-value pairs or dictionaries, same as in YAML. JSON objects always use string values when describing the keys in these constructs. For example, “ospf” is a key, with a list value of multiple key-value pairs. Objects are separated by commas, with square brackets denoting lists. There’s no native concept of attributes or comments in JSON. In my opinion, JSON offers the same type of hierarchy structure as XML, but it is more lightweight and therefore a better fit to bubble up messages from routers and switches that is more complex to express than syslog.
  3. The third is YAML (a recursive acronym for “YAML Ain’t Markup Language”), which is a human-readable data-serialization language. It is commonly used for configuration files and in applications where data is being stored or transmitted. YAML targets many of the same communications applications as Extensible Markup Language (XML) but has a minimal syntax. Here’s an example:
    DATA MODELS The three hyphens (—) are used at the top of every YAML file to indicate the start of the file, represented with either the ‘.yaml’ or ‘.yml’ extension. YAML very closely mimics the flexibility of Python’s data structures, one could easily use a combination of data types e.g., a list, strings, integers, Booleans, dictionaries etc. The example above is making use of a dictionary, with multiple key-value pairs. The keys are to the left of the colon with the corresponding values to the right. YAML is also extremely white space sensitive and allows for the addition of comments. An increasing number of tools e.g., Ansible, Nornir and Kubernetes are using YAML as a method of defining an automation workflow or providing a data set to work with (Like a list of VLANs). It’s very easy to use YAML to get from zero to a functional automation workflow, or to define the data you wish to push to a device.
  4. YANG is used to model configuration and operational state data and used to model general RPC data. General RPC data and tasks allow us to model generic tasks, such as upgrading a device.The YANG data model provides the ability to define syntax and semantics to more easily define data using built-in and customizable types. You can enforce semantics such that VLAN IDs must be between 1 and 4094. You can enforce the operational state of an interface in that it must be “up” or “down.” The model defines these types of constructs and ultimately becomes the source of truth on what’s permitted on a network device.Here’s an example:
    DATA MODELS

The YANG syntax includes the leaf statement, which allows you to define an object that is a single instance, has a single value, and has no children. The YANG list statement allows you to create a list of leafs or leaf-lists. Finally, the YANG container statement denotes a container node which is used to group related nodes in a subtree. It has only child nodes and no value and may contain any number of child nodes of any type (including leafs, lists, containers, and leaf-lists).

A model can be written in YANG and then be represented as either JSON or XML, this is the capability that the RESTCONF protocol offers. RESTCONF is a REST API that uses XML or JSON-encoded data that happens to represent data defined by YANG models. We’ll talk about RESTCONF in a future article.

The main difference between data formats such as JSON, YAML, XML and data models such as YANG is that data formats specify how data is encoded, but don’t necessarily define the structure of the data. On the other hand, data models define the structure of data encoded in a data format. YANG is neutral to the encoding type. However, we have data models like XSD that is specific to XML and JSON schema that is specific to JSON.

Data Formats in Relation to API’s:

As we conclude, let’s highlight how these data formats map into API’s that are used to interface with network devices. We can summarize this in the table below:

APIData Format
NETCONFXML
RESTCONFXML or JSON
RESTXML or JSON
gRPCProtocol Buffers

References:

  1. Network Programmability and Automation by Jason Edelman
  2. Data Formats: XML, JSON and YAML by Calvin Remsburg
  3. networktocode.com
Insoft Services

  • Recent Blogs

  • No Comments

    Comments are closed.