you see my snapshot from m Juniper Router, I want to find the routes of
188.8.131.52, but there always get
Idle or a
This tells you how this prefix was learned by BGP. This is an attribute called origin, which may help BGP decide the preferred path to take (if all higher weight attributes are tied - local-preference, weight, as-path etc.) "I"- tells you the NLRI was introduced into BGP directly using the "network" command (Not sure why its referred to as "IGP", if someone knows please leave a comment). "?"- tells you the NLRI was redistributed into BGP from another protocol.
IGP. That mean
iBGP is being used.
Internal Border Gateway Protocol (iBGP) is a term used to describe an area of BGP operation that runs within an organization or autonomous system. Internal BGP is a method employed to provide more information to your internal routers. iBGP could be said to be one of the peers of BGP routers.
I try to answer this question :-
For a route to be announced by BGP , there is a condition that must be satisfied which is that the 'route' must be present in the routing table of originating router. If a 'route' is present in the routing table of router , then it can advertise that route via BGP.
Now router can know about that 'route' via Interior Gateway Protocol. In this case we can use network command (or prefix list in Juniper and then call that prefix list in export policy) to announce that route to other peer. In this case when this router advertise this route it set 'I' with that route meaning that the route was known to Router via Interior Gateway Protocol in AS (it may be OSPF , IS-IS , EIGRP).
Now for the case of '?' against BGP routes which comes with possibility that your router has learnt that route but it doesn't know the source of that 'route'. Meaning 'route' has been redistributed from IGP to some other IGP (like from OSPF to ISIS). In that case , router will think that ' I don't know how originally announce / own this route in the IGP domain as it has been redistributed . Again you can use network or (prefix list in Juniper and then call that prefix list in export policy) to advertise that route to other peers. But in this when the router advertise this route it set '?' to prefix it advertise to other peers.