cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
13605
Views
28
Helpful
11
Replies

why we say bgp is an application layer protocol??

vipin.vikraman
Level 1
Level 1

Hi all,

              i read some where that BGP and RIP works in application layer of OSI Model and the rest of dynamic routing protocols work in Transport layer???  i was thinking that all routing protocols would be working in networking layer. Why exactly do we say that BGP and RIP as an application layer protocol and the rest as  transport layer ??

Regards

Vipin Vikraman

11 Replies 11

Hi Vipin,

It is because it is reliable and leaves the reliability to be taken care by under lying protocol (TCP).

Regards,
Smitesh

cadet alain
VIP Alumni
VIP Alumni

Hi,

its because RIP and BGP are using as transport respectively UDP and TCP whereas EIGRP and OSPF have their own transport protocol( protocol 88 and 89 respectively).

Regards.

Alain

Don't forget to rate helpful posts.

Hi Vipin,

Like all applications uses a port number(well known/not defined) BGP also uses well known port number 179. It rides over our existing TCP/IP structure, Hence BGP is a Application layer Protocol. 


And both BGP and RIP are application layer protocols using TCP 179 and UDP 520 respectively for communication. OSPF and EIGRP are network layer protocols using protocol number 89 and 88 respectively for communication. If you were to enable rip on a router, capture and inspect the updates as they leave or arrive, you will get a better understanding as to why rip is an application layer protocol.

Please rate the helpfull posts.
Regards,
Naidu.

Hi Naidu,

       So you are telling that every other dynamic routing prorocol other than BGP and RIP resides in network layer ????

Regards

Vipin Vikraman

Hi Vipin,


EIGRP and OSPF are network layer because they use there own port numbers to encapsulate packet.

BGP and RIP are application layer protocols cause they are dependent on TCP and UDP, which encapsulates BGP and RIP segments respectively.


RIP = UDP port 520 (L4 or L7?)
OSPF = IP protocol 89 (L3)
EIGRP = IP protocol 88 (L3)
IS-IS = CLNS protocol (L2)

Hope I clear you....


Please rate the helpfull posts.
Regards,
Naidu.

Peter Paluch
Cisco Employee
Cisco Employee

Gentlemen,

This is a topic for holy wars and I do not expect to achieve a "thread-wide agreement" Indeed, it is very difficult to attribute certain applications and protocols to certain layers.

How shall a protocol be classified into a layer? Very often, it is classified by the services it depends on. Quite logically, they must be already provided by other layers, and  within our usual hierarchical models, these services are provided by the lower layers than the layer in which the protocol under dispute is located. From this viewpoint, many people including me used to place the BGP into the application layer, as it presently depends on services provided by the IPv4 or IPv6 protocol including TCP.

However, this is not a correct approach in my viewpoint anymore. You see, many protocols are implemented as user-space programs, i.e. applications depending on the services provided by the application layer (the APIs, sockets, OS-specific issues). This would make them essentially application layer protocols, too. And at the same time, some of the protocols, say OSPF, do not even need the IP layer to carry their data - indeed, OSPF could be theoretically implemented in a way similar to IS-IS, inserting its PDUs directly into frames running at the data link layer. Where would this elementary dependency put the OSPF? Transport layer? Network layer? Data link layer?

In my opinion, a more appropriate way to classify a protocol is to look on the services it provides itself. Now, the BGP clearly provides services to the network layer, but not the usual "transport" service as, say, Ethernet does (to carry IP packets), but rather, the BGP provides control information on how shall the Internet layer operate. This would move the BGP down to the network layer. This second approach essentially tries to avoid the implementation dependencies.

This perspective is, I believe, especially useful for management, control and supervisory protocols that can be seen as applications of other protocols, and yet providing necessary control, management and supervisory information to the managed infrastructure that is on lower layers than the application layer. From this viewpoint, while BGP is truly "just an application running over TCP", it is intimately tied into the network layer operation because it provides the necessary information how the network layer should operate. The same can be said about any routing protocol. The ARP, from this viewpoint, is also a supervisory network layer protocol as it allows the IP to adapt for operation over a particular multi-access data link layer technology. Once more, it does not matter into what PDU a particular protocol's message is encapsulated (segment, packet, frame), rather, it is the set and level of services that the protocol provides that determines that protocol's placement on a particular layer.

So to sum this up, in my personal view, the BGP is implemented as an application layer protocol but with respect to its function, it is a network layer protocol.

Best reagrds,

Peter

Disclaimer

The  Author of this posting offers the information contained within this  posting without consideration and with the reader's understanding that  there's no implied or expressed suitability or fitness for any purpose.  Information provided is for informational purposes only and should not  be construed as rendering professional advice of any kind. Usage of this  posting's information is solely at reader's own risk.

Liability Disclaimer

In  no event shall Author be liable for any damages whatsoever (including,  without limitation, damages for loss of use, data or profit) arising out  of the use or inability to use the posting's information even if Author  has been advised of the possibility of such damage.

Posting

However, this is not a correct approach in my viewpoint anymore. You see, many protocols are implemented as user-space programs, i.e. applications depending on the services provided by the application layer (the APIs, sockets, OS-specific issues). This would make them essentially application 

Peter, oh my, perhaps not germane to network folk, but you're opening another "holy war" if you're going to classify things on what address space they occupy, i.e. what's really part of the OS vs. an application.

Back in the good olde days of monolithic spaghetti code, we didn't have to deal with such silly questions.

Seriously, though, to the original poster, something to keep in mind, there's a reason why there's the word "model" in OSI Model.  Real world can be a little more complex than the model and even the OSI Model isn't the only game in town.  That's not to say your question is without merit, as it is, but I hope Peter's posting especially shows some of the difficultly in pigeon holing some things.

Joseph

 

              dude  you can't expect every one to be as brilliant as you ryt   ...just ignore if u find it of no merit ..

why to waste ur precious time on replying

Vipin,

I am sure Joseph did not mean to belittle your question or offend you in any way. You seem to have taken his response too seriously. What I see him saying is that the OSI Model, just as any model, should not be taken too literally when looking at real-life implementations, because many reasons force us to 'escape' the strict layering - not to mention that our TCP/IP protocols are not implemented according to the OSI RM.

Perhaps this RFC would be a nice reading for you:

http://tools.ietf.org/html/rfc3439

See especially the Section 3 - "Layering Considered Harmful"

Best regards,

Peter

Disclaimer

The   Author of this posting offers the information contained within this   posting without consideration and with the reader's understanding that   there's no implied or expressed suitability or fitness for any purpose.   Information provided is for informational purposes only and should not   be construed as rendering professional advice of any kind. Usage of  this  posting's information is solely at reader's own risk.

Liability Disclaimer

In   no event shall Author be liable for any damages whatsoever (including,   without limitation, damages for loss of use, data or profit) arising  out  of the use or inability to use the posting's information even if  Author  has been advised of the possibility of such damage.

Posting

Vipin, re-reading my post I can see how "That's not to say your question is without merit, as it is" could be misunderstood.  I meant it's not without merit meaning it does have merit.  I apologize, for my poor grammatical construction of using a double negative.  Whether I'm "brilliant" or not in technology, no one have every considered me "brilliant" in English composition - as you can now see why.

I also apologize if you were offended, as that was quite opposite to my intent.  Peter's last posting exactly caught what I meant to convey.

     Joseph,

               its ok ...i just over-reacted to your posting ...so i shud be the one to appologize....  ....thanks to peter and you for the valuable postings....have a nice week ahead 

Regards

Vipin Vikraman

Review Cisco Networking products for a $25 gift card