I wish to know why OSPF is not using any L4 protocol(I know its encapsulated in IP),but see BGP is using TCP, also RIP is using UDP.But why OSPF is encapsulated in IP ?
1. In Unix-like systems, you need to have a process owned by the root user in order to send out packets which use a L4 protocol other than TCP/UDP - not sure if that is true anymore but that was the case when OSPF was designed.
2. ISIS was designed for routing CLNP (Connectionless mode network protocol) packets, which is a layer 3 protocol with the ISO suite. This provides even more security than IP. Since it's run directly over L2, you cannot route the ISIS protocol packets. Therefore, it's hard to inject malicious packets into a segment from a remote network. The CLNP protocol uses NSAP addresses.
Hope that helps - pls rate the post if it does.