Hello,
1- What is the difference between normal BGP community and BGP extended community
The standard community has 32 bits and is represented in the following format ASN:VALUE.The values 0x00000000 through 0x0000FFFF and 0xFFFF0000 through 0xFFFFFFFF are reserved. RFC 1997 defines 3 standard communities: NO-EXPORT (0xFFFFFF01 ), NO-ADVERTISE (0xFFFFFF02 ), NO-ADVERTISE-SUBCONFED (0xFFFFFF03 )
Extended community are 64 bits long. Example of Extended communities are: "Route Target Community", "Link Bandwidth Community".
2- In which scenario we need to define these communities
Communities may be added to BGP prefixes and based on received community you can apply desired policy, for example to filter them or to change some BGP attributes etc.
"Route Target" extended community is used in MP-BGP for L3VPNs as you know.
"Link Bandwidth" extended community is used for unequal load sharing of traffic between BGP peers.
3- When we define BGP community there is option invert-match. What is this exactly?
"community" command actually defines a regular expression and if it matches the community attribute of received prefix it returns the "True" result, if not then "False". "invert-match" makes contrary, if there's a match it returns "False" otherwise "True".