Cisco CCIE Security 350-701 – Web Service API – REST API

  • By
  • March 2, 2023
0 Comment

1. Web Service API

In this section we’ll try to understand about the Web Service APIs. Now, previously we have already seen the APIs. APIs are responsible for communication between the two different applications. So when two different applications are talking to each other, they need an API. So if you take an example in our network, probably if any application want to talk to the controller, the controller want to talk to the networking devices. So basically the medium will be an API. But now the question is, okay, how exactly they will communicate or have the request or what format they are going to exchange the information or they are going to talk. So there must be some kind of means of communication. There should be some kind of method or a protocol or proper way they should interact with each other. So there are many ways they will interact.

So one of the common way is they will be using the Http request. So similar to Http pages, like if you take an example of a normal Http request we use for accessing the web pages, so we go to the browser and we simply type in that I want to go to this website. Now the Http request will go and request the web server and the web server is going to get back to the web page. So probably here also we are going to use a similar thing, but here it’s not again the website here. So here also probably an application may request some information from the device or maybe from the controller. And then that particular device or the controller is going to send that information. Like in this example, as for this diagram, you can see maybe this device or this application running on the controller is requesting to get the information of the device. Like I want to get the status of the router one.

So this communication is based on web again. So there are other options as well. But mostly whatever the APIs which are using a web based request in exchanging or in talking with each other, we call those type of APIs as Web Service API. So they typically uses Http messages to send and receive information between the controller or any other application or between the controller and the networking devices in our examples. And one more thing, we need to make sure that they do have a reachable tool. Of course they will have an IP reachability underlying network should be reachable, and over that network they will be using some Http request to get the information or to talk to each of them.

Now again, this web Service APIs, the data is reported in the form of Uris or URLs. Now again. Urs stands for Uniform Resource Identifier. And URL stands for Uniform Resource Locator. Okay, so what exactly this URL? Urs are actually a string of characters. We can say just like a string of characters which is going to identify that particular resource. Like if you take an example here. I got some sample example here. Now this is a Uri taken from one of the API property that is running on Cisco controller. And this is the example here. This is how it looks, the Uri.

Now this Uri is an example which is going to request the networking device to provide the VLAN information from so and so network device, whatever the ID assigned to that particular networking device. So probably the data will be referred in this format. And this format we call them as Uris or URLs. Okay? Now the thing is like, let’s say this is my controller and this controller is going to send out a request to the router to get the information from the router. And we said it is a web based in case of web service APIs they will be using Http request. Now the question is, is only Http is used. Now probably there are multiple ways, like generally we use a CLI. I will be using CLI as well, where with the help of CLI I can go and tell the controller that, okay, show me the interfaces by using show IP interface brief. So when I go to my CLI of the controller and say show IP interface brief, it is going to send out that command onto the device and you get the output displayed on your screen on the controller without going to the actual device. So this is again one method.

One method. We still have this method. Okay, so we’ll be using still the command line interface where the controller is going to initiate remote SSA session probably to connect to the device and get the statistics. But apart from that, we can also send and send a request the data or the information from the networking devices in the form of web request. And that is where this web service API submit. So instead of command line, we are also using the web based request. And those requests will be similar like show me the routing table, how the routing table looks like. Or you can send an instruction saying that configure this specific VLAN, this number of VLANs on these particular selected switches. Or you can say configure the specific policies probably on those specific devices. So the communication between the controller and the networking devices will be similar to command line. But mostly here we’ll be using in the form of web request.

So they look similar to the web page, but exactly they are not the web page. So they are similar to based on the web request. So this Urs, Urs, again, as I said, uniform Resource Identifiers are not meant to provide the web pages. So it’s totally different from the web pages. We can say this is more like a structure or the format which is being used to get the information or send some kind of configuration information or request some kind of information as I already defined the format will be in this format.

The URL format will be and this URA format is going to define the structure, like from which device and what information exactly I require again. Finally, with the help of this web service API, as I already discussed, we can add a new information. We can simply go and send that okay, add this bill information or modify this routing configuration, or we can request for information I can ask saying that, okay, show me the status of the interfaces, or show me the CPS resource utilization, probably, or you can modify the existing information, or even you can bill.

2. Web Service API – Commonly Used

Now, in this video I’m going to explain you about the commonly used Web Service APIs. Like in a previous section, we have already explained the Web Service APIs. Now, APIs are responsible for communication between the two different applications and they’ll be using some Http based code or Http based kind of communication. We call them as web service APIs. Now, some of the examples of the Web Service API, the commonly used one, the first one we’ll talk about a little bit on Soap. So probably simple object access protocol. That’s what it stands for. Now, before I go ahead, probably why we’ll be using Web Service APIs, a little bit overview if you talk about so there are different types of applications running on the network probably. And there are different languages used.

If you take there are some more complicated languages like we have something like Java, dotnet, PHP. Again, these are a little bit used for Webbased applications for websites and other programs. But the problem with these applications or the languages is they are very complex. So it’s very complex and the coding and all those things, it’s not an easy job. So probably here we’ll be using some kind of we also require some kind of coding here in our SDL networks or in our API communication and using that much of complex language. This is really not a good option. The alternative is we’ll be using some simple format of XML based language we’ll be using, which is used for exchanging the data and the coding between the applications. So most of the applications will be using this easy options and in that there will be something loud like Rest API or Soap API. So we’ll see these options first. I will quickly give you an idea about just this one. Now, this stands for simple Object Access Protocol. And again, it is an XML based protocol for accessing your web service.

Or maybe the communication between the APIs, probably the communication between the applications, it will be done with web based API that is via Http. Now, what is XML? XML stands for something like extensible Markup Language. So it’s a kind of programming language which is based on some XML, XML scripts. It’s a medium. XML is a format. It is kind of format used for exchanging the data between the applications.

So it is a simple language for data encoding which will be used between the application here and again, the main thing you need to know here is like whatever the controller you are using, let’s say I’m using some kind of controller and whatever the devices you are running. So basically they should know each other. In order to talk to each other, they must support that particular API. Now, the other option is we have something called Rest API. So with respect to Sdn networks, software defined networks probably will be using the most commonly used API will be the Rest API. Again. The rest stands for representation.

State transform. So it actually defines a specific format of communication, kind of standardized. It defines how the request will be sent between the two different applications in which format exactly you’ll be using. So this is one of the common API. We’ll be focusing in Sdn networks because the majority of the controllers in our Sdn networks and majority of the network automation tools which are being used, they do support Rest API.

So that’s one of the main reason. So the controllers and the applications and the controllers and the networking devices will be using mostly Rest APIs. They’ll be supported and they’ll be using for exchanging the information. And when you compare this Rest API, when you are comparing this with this one, probably the Rest API is going to use a little bit lesser bandwidth. It’s more better than the Soap, you can say, because of using the lesser bandwidth. And especially this is more applicable for running some applications which uses internet as a medium to talk or extract the information.

So some of the examples of the Rest API with respect to our SDA networks is like we have something like Cisco Intent. So Cisco Intent based networking which is going to use some kind of DNA platform based on Rest API format. And again, there is something called Juniper Contradict, which is another example of Rest API. It uses the rest API. Probably it scares the information by interpreting with something called Open Cloud System. Okay, so every vendor has their own API, but at the back end the format is defined based on the Rest API. Now, the other options we have something like NETCONF. Netcon stands for network configuration protocol. Probably this is again another API which is a standard protocol. So this is mainly responsible for doing the configuration. Like we do have the devices and you want to install a specific configurations, or you want to make any changes to the specific configurations, or you want to get some configuration information or edit some configure information. So these kind of things can be done with the help of net conf.

Again, the net conf again uses the XML based coding while for sending and receiving the request. Second, this is also one kind of web based API because of the XML coding and the request will be sent in the form of Http request. Similar to netcom, we have one more API which is also based on web Rest con API. Now, this is more similar to netcon. You can say both are like similar options, same like netcon. It is again used for programming as well as data manipulations. That is nothing but changes, the same option, whatever were listed here, you can do the same with the Rest API as well. So the only advantage or only difference is this restaurant will use some Rest API. Restful Experience probably if you’re using Rest API for confusion changes, you can use this restaurant.

3. REST API

So probably in this section we’ll try to get into more details about the Rest API. Now the Rest API, rest Transfer Representational State Transfer with respect to Sdn, already I said that it is one of the commonly used web based API. Now, why we are focusing on the Rest based API? Like, I have discussed some of the commonly used APIs previously. Now why? Because with respect to Sdn, so when we are using some Sdn networks, where the controllers and whatever applications you are going to use, so they will be commonly using Rest APIs. So Rest API is like the commonly used web service API between the applications and the controllers. So they talk to each other using the Rest APIs and exchange information and majority of the controllers and the applications, probably they do support the Rest API. So that’s the reason we’ll be getting into more on the Rest API here.

Now, again, what is the architecture? Rest API is a software architecture style. So that is going to define a set of rules for creating the web request on the Web services. Now, basically, the Rest API is going to define the rules. And these rules nothing, but it tells what will be the format of your data, how the request will be sent, in which format do the applications and the controllers, when they talk to each other, they do support. So it’s a kind of architecture style we can send. Of course, every vendor have their own way to send the request of format. But the Rest API is going to define one kind of architecture where most of the vendors follow that architecture and based on that, they create their own set of rules based on that architecture style. And these Rest APIs act on the resources.

Now, what the resources is a generally term used to represent the type of the data that the API is requesting for. Like here, the Rest API is requesting for like, if you take an example, this device, now this device is sending a request that what is the status of the router? One probably that is kind of request. So that is referred as a resource. So in other words, we can say the Rest API works with the resources. Now, each request, what each request we are sending or each confirmation changes you are sending or whatever the information you are retrieving, they all will be referred as the resources. Okay? So that’s a technical term used to define the request or the messages exchanged between them.

Or we can say like what is the request? They are commonly called as resource. Like you’re going to obtain some information about that particular resource, or maybe you want to add a new resource or add any new configurations, or you want to update or modify the existing resources, or you want to delete the resources or delete the configurations or any other things. So technically we call them as resources in the rest API. Now, the next thing is we need to understand something about the commands or the request Rest API uses. Now, normally the rest API uses the standard Http request. Like generally there are some standard Http requests which are generally used in Http protocol like Get, Post, Put and Delete options. So Rest API also uses the same options here as well.

So probably the Get request is like to get the information, which is more like a read only. Like Get request is just like a request sent, what is the status of the interface, or the application is requesting the controller saying that what is the status of the network or application is sending. This is something what I want, this is how the network should behave, probably those things and Post request. Now, Post request is generally used to create any new resource. Probably if you’re adding any new configurations or new things, probably those things will be used with a Post kind of request which is used to submit the data. Post method is used to create mostly the new resources. So, whereas again, the standardized web Http work is used to make any changes to the existing resources. So if you want to modify the existing things, probably you will be using Put and Delete is for deleting specific resources here. Now, again, one thing, just an overview of what we need to do is so basically the complete APIs, they require an IP core network in order to talk between applications.

Like, let’s say we got some applications and then we got a controller, and then the controller again is talking to the networking devices. And of course there will be an IP core network here. So IP core network should be the back end running. And over the IP core network there will be some kind of Http based request which are being used by the APIs. So all the web service APIs, they will be using Http based request, as I discussed. And the same thing with the Rest API as well. So this is more similar to your web request, what you get for the web page. Like when you type in www. xyz. com, you’ll get a web page similar way here. It will be like uri. So you’ll be typing the Uri like, I want to get this particular network device information and this is what I require.

Okay, so basically here, if the controller is sending any request to the networking devices, they will be using the API and this device is going to send out that information. Probably it will be using the same API, like get the routing table, how it looks, or what is the status of the interface. Okay, so most likely this is what we call it as a southbound, and this is not bound APIs. Now, most of the APIs, they are supported. The Rest APIs specifically, they are commonly used on the northbound. So at the time of recording, I can say the Rest APIs are not commonly used on the southbound, but they are more supported on the northbound side because most of the devices, they don’t support the Rest APIs. Of course, maybe in the future they may support the Rest API.

So you’ll be using the Rest APIs on the southbound as well. But at this point of time, while I’m recording, probably the Rest APIs are normally used on the northbound side where the applications and the controller are going to interact with each other and the application is going going to send out a request to the controller asking, do this. These are the VLANs, what I require, or what is the number of VLANs exist on that particular switch? Based on that, again, the controller will be using a different APIs to talk to the networking devices.

Comments
* The most recent comment are at the top

Interesting posts

The Growing Demand for IT Certifications in the Fintech Industry

The fintech industry is experiencing an unprecedented boom, driven by the relentless pace of technological innovation and the increasing integration of financial services with digital platforms. As the lines between finance and technology blur, the need for highly skilled professionals who can navigate both worlds is greater than ever. One of the most effective ways… Read More »

CompTIA Security+ vs. CEH: Entry-Level Cybersecurity Certifications Compared

In today’s digital world, cybersecurity is no longer just a technical concern; it’s a critical business priority. With cyber threats evolving rapidly, organizations of all sizes are seeking skilled professionals to protect their digital assets. For those looking to break into the cybersecurity field, earning a certification is a great way to validate your skills… Read More »

The Evolving Role of ITIL: What’s New in ITIL 4 Managing Professional Transition Exam?

If you’ve been in the IT service management (ITSM) world for a while, you’ve probably heard of ITIL – the framework that’s been guiding IT professionals in delivering high-quality services for decades. The Information Technology Infrastructure Library (ITIL) has evolved significantly over the years, and its latest iteration, ITIL 4, marks a substantial shift in… Read More »

SASE and Zero Trust: How New Security Architectures are Shaping Cisco’s CyberOps Certification

As cybersecurity threats become increasingly sophisticated and pervasive, traditional security models are proving inadequate for today’s complex digital environments. To address these challenges, modern security frameworks such as SASE (Secure Access Service Edge) and Zero Trust are revolutionizing how organizations protect their networks and data. Recognizing the shift towards these advanced security architectures, Cisco has… Read More »

CompTIA’s CASP+ (CAS-004) Gets Tougher: What’s New in Advanced Security Practitioner Certification?

The cybersecurity landscape is constantly evolving, and with it, the certifications that validate the expertise of security professionals must adapt to address new challenges and technologies. CompTIA’s CASP+ (CompTIA Advanced Security Practitioner) certification has long been a hallmark of advanced knowledge in cybersecurity, distinguishing those who are capable of designing, implementing, and managing enterprise-level security… Read More »

Azure DevOps Engineer Expert Certification: What’s Changed in the New AZ-400 Exam Blueprint?

The cloud landscape is evolving at a breakneck pace, and with it, the certifications that validate an IT professional’s skills. One such certification is the Microsoft Certified: DevOps Engineer Expert, which is validated through the AZ-400 exam. This exam has undergone significant changes to reflect the latest trends, tools, and methodologies in the DevOps world.… Read More »

img