Dataflows on the internet are often depicted as going from one host via at least two border routers to another host. In these illustrations, the hosts are equipped with and make use of the full internet protocol stack, while the routers are just depicted as having and using the networking protocols and IP.

If I am not mistaken, BGP is an application layer protocol.

So I am wondering how the BGP communication happens between routers if they just access part of or even just have part of the protocol stack?

2 Answers 2


There is a lot of confusion regarding what part of the OSI model is in use here. Let me see if I can help:

Remember that the OSI model is just a model. It doesn't represent anything in actual use. The TCP/IP model is a better fit for protocols in use on the Internet.

The statement "routers are just depicted as having and using the networking protocols and IP" is an oversimplification -- and that's where some of the confusion comes from. Router software has the full stack in order to run routing protocols like BGP as well as management functions (telnet, SSH, snmp, etc).

Is BGP a network protocol or an application protocol? The BGP process that runs on a router talks to BGP processes on other routers. BGP makes use of TCP/IP to facilitate that communication. It establishes sessions between peers and has its own messaging format and syntax. In that sense, BGP is an application that runs on a router.

BGP's purpose is to populate the forwarding table of the router. When the router makes a forwarding decision for an IP packet, it looks in the table for the next hop address, adds the layer 2 header, and transmits it out an interface. That process only involves layers 1-3. So if you're talking about how routers route, that's all you need to discuss -- and that's probably where the confusion comes from.

In summary, the forwarding of packets involves layers 1-3. the information used to forward packets comes from many sources -- one of which could be the BGP application running on the router.


BGP is a routing protocol which should be under Network Layer (if you're using OSI model) or Internet Layer (if you're using TCP/IP model). It is not an appication layer protocol.

  • I would argue that BGP is in fact an application. It sits on top of TCP.
    – Ron Trunk
    Sep 19, 2016 at 16:19
  • @RonTrunk, I can see that BGP is an application running on the router, but I don't see that it is an application-layer protocol, as the question asks.
    – Ron Maupin
    Sep 19, 2016 at 16:21
  • It creates sessions, and has it's own messaging format and syntax. those sessions and messages are carries in TCP. To me, that means it sits above the transport layer.
    – Ron Trunk
    Sep 19, 2016 at 16:23
  • It is an application, but it its not a protocol used by applications.
    – Ron Maupin
    Sep 19, 2016 at 16:24
  • I respectfully disagree. If it's an application, wouldn't you agree that the protocol is used to communicate with other instances of that application?
    – Ron Trunk
    Sep 19, 2016 at 16:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.