<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Henry&#039;s Points &#187; BGP</title>
	<atom:link href="http://henrydu.com/blog/category/networks/bgp/feed" rel="self" type="application/rss+xml" />
	<link>http://henrydu.com/blog</link>
	<description>Think analog, act digital</description>
	<lastBuildDate>Mon, 14 Nov 2011 18:32:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Four Ways to Originate Prefixs in BGP</title>
		<link>http://henrydu.com/blog/networks/four-ways-to-originate-prefixs-in-bgp-158.html</link>
		<comments>http://henrydu.com/blog/networks/four-ways-to-originate-prefixs-in-bgp-158.html#comments</comments>
		<pubDate>Fri, 07 Aug 2009 23:11:17 +0000</pubDate>
		<dc:creator>hengdu</dc:creator>
				<category><![CDATA[BGP]]></category>
		<category><![CDATA[Networks]]></category>

		<guid isPermaLink="false">http://henrydu.com/blog/?p=158</guid>
		<description><![CDATA[The command that we can see originate prefixs in BGP is &#8220;show ip bgp reg ^$&#8221; . There are four ways to originate prefix. 1. aggregate-address Aggregate-address in BGP is summarization or superneting like IGP summary-address. When execute this command, the specific route must be in BGP routing table. BGP will advertise both aggregated address [...]]]></description>
			<content:encoded><![CDATA[<p>The command that we can see originate prefixs in BGP is &#8220;<em><strong>show ip bgp reg ^$</strong></em>&#8221; . There are four ways to originate prefix.</p>
<p><strong>1. aggregate-address</strong></p>
<p>Aggregate-address in BGP is summarization or superneting like IGP summary-address. When execute this command, the specific route must be in BGP routing table. BGP will advertise both aggregated address and specific routes to the neighbor. If we don&#8217;t want specific routes to be advertised, &#8220;summary-only&#8221; key word need to be used.</p>
<p><strong>2. network statement</strong></p>
<p>When configure &#8220;network 192.168.50.0 mask 255.255.255.0&#8243;, it actually tell router to import network 192.168.50.0 with subnet mask 255.255.255.0 from IGP route table to LocRIB. If there is no such entry on IGP table, nothing will be installed in LocRIB. If importing is successful, there is an entry on LocRIB which originated by router itself.</p>
<p><strong>3. redistribute</strong></p>
<p>If we have been asked to let router advertise a summary major network 191.1.0.0/16 into BGP, we can create a static route point to Null0. Then, redistribute static route into BGP</p>
<blockquote><p>router bgp 200<br />
redistribute static<br />
ip route 191.1.0.0 255.255.0.0 Null0</p></blockquote>
<p><strong>4. inject-map</strong></p>
<p>Inject-map is opposite operation of aggregate-address. Sometimes we call it &#8220;de-aggregate&#8221;. We need two route-map. One route map is declare injected prefix by using <strong>set ip address prefix-list  &lt;inject-prefix-list&gt;</strong> and some attributes which is needed to be setup. (Weight is default 0 in stead of 32768). The other route map is existed aggregate prefix and its originator by using <strong>match ip address prefix-list  &lt;aggregate-prefix-list&gt;</strong> and <strong>match ip route-source prefix-list &lt;originator-prefix-list&gt;</strong>.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://henrydu.com/blog/networks/four-ways-to-originate-prefixs-in-bgp-158.html" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://henrydu.com/blog/networks/four-ways-to-originate-prefixs-in-bgp-158.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BGP Best Route Trouble Shooting</title>
		<link>http://henrydu.com/blog/networks/bgp-best-route-trouble-shooting-233.html</link>
		<comments>http://henrydu.com/blog/networks/bgp-best-route-trouble-shooting-233.html#comments</comments>
		<pubDate>Sun, 21 Jun 2009 20:38:08 +0000</pubDate>
		<dc:creator>hengdu</dc:creator>
				<category><![CDATA[BGP]]></category>
		<category><![CDATA[Networks]]></category>

		<guid isPermaLink="false">http://henrydu.com/blog/?p=233</guid>
		<description><![CDATA[When we show ip bgp and observe some routes are not best route (not greater sign in the front), we should first check if next hop is reachable, then, we should check if iBGP synchronization is enabled. BGP will put learned prefix to Adj-RIB-in. All learned route will pass Input Policy Engine. A path selection [...]]]></description>
			<content:encoded><![CDATA[<p>When we show ip bgp and observe some routes are not best route (not greater sign in the front), we should first check if next hop is reachable, then, we should check if iBGP synchronization is enabled.</p>
<p>BGP will put learned prefix to Adj-RIB-in. All learned route will pass Input Policy Engine. A path selection algorithm is then performed to determine the best path for each prefix. The resulting best paths are stored in the local BGP RIB (Loc-RIB) and then are submittted to the local IP routing table (IP-RIB) for installation consideration. To make next hop reachable, we can either change next hop by next-hop-self when eBGP peer advertise the prefix to its neighbor, or redistribute BGP to IGP, which we don&#8217;t recommend because two manys prefixes injected in to IGP.</p>
<p>If iBGP synchronization is enabled, the router will not use or advertise the prefixes learned from iBGP neighbor until the matching prefixes learned from an IGP. Prefix synchronization between iBGP and IGP to prevent routing loops and black-holing of traffic. Prefix synchronization means that a prefix learned via iBGP is not included in the best-path selection unless that same prefix exists in the IGP. If the IGP is OSPF, the router ID for the prefix in the IGP must also match the router ID of the BGP peer advertising the prefix. Synchronization may be disabled if this AS does not provide transit for another AS or if all routers in the transit path are running BGP. It is generally a good practice to disable prefix synchronization.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://henrydu.com/blog/networks/bgp-best-route-trouble-shooting-233.html" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://henrydu.com/blog/networks/bgp-best-route-trouble-shooting-233.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BGP Neighbor Features in One Shot</title>
		<link>http://henrydu.com/blog/networks/bgp-neighbor-features-in-one-shot-205.html</link>
		<comments>http://henrydu.com/blog/networks/bgp-neighbor-features-in-one-shot-205.html#comments</comments>
		<pubDate>Tue, 26 May 2009 05:47:46 +0000</pubDate>
		<dc:creator>hengdu</dc:creator>
				<category><![CDATA[BGP]]></category>
		<category><![CDATA[Networks]]></category>

		<guid isPermaLink="false">http://henrydu.com/blog/?p=205</guid>
		<description><![CDATA[The water in BGP is deep, I should say. However, to make our world simpler, we may summarize our knowledge by one screen shot. For example, to learn BGP neighbor features, we can simply see what options besides neighbor commands. Let&#8217;s take a screen shot first. I can safely say that, each commands can be [...]]]></description>
			<content:encoded><![CDATA[<p>The water in BGP is deep, I should say. However, to make our world simpler, we may summarize our knowledge by one screen shot. For example, to learn BGP neighbor features, we can simply see what options besides neighbor commands. Let&#8217;s take a screen shot first.</p>
<p><img class="aligncenter size-full wp-image-208" title="picture-1" src="http://henrydu.com/blog/wp-content/uploads/2009/05/picture-1.jpg" alt="picture-1" width="474" height="509" /></p>
<p>I can safely say that, each commands can be one section on the book or tutorials.</p>
<ul>
<li>For example, we can change EBGP default TTL=1 to 255 by issue <em><strong>ebgp-multihop</strong></em> command. We also can restrict neighbor hop count by issue <em><strong>ttl-security </strong></em>command.</li>
<li><em><strong>allowas-in</strong></em> will be last resort for some AS is partitioned, but it may cause count-to-infinity problem if hop-count is larger.</li>
<li>when we issue <em><strong>send-community</strong></em>, then we know what&#8217;s well-known four communities are.</li>
<li><em><strong>local-as</strong></em> is tell neighbor that advertised routes are originated by using this AS number. The AS number will be preapended on the real AS.</li>
<li><em><strong>next-hop-self </strong></em>is useful when advertising route to iBGP but the neighbor doesn&#8217;t have the route on IGP table. If the iBGP neighbor doesn&#8217;t change next-hop value, then it has no way to know how to get that route. <em><strong>next-hop-unchange</strong></em> is useful to solve loop problem when eBGP neighbor set next hop to me and the actual route has to bypass this neighbor.</li>
<li><em><strong>max-prefix</strong></em> is another security feature which only allows certain number of TCP session up.</li>
<li><em><strong>soft-reconfiguration</strong></em> is good feature to ask neighbor re-advertise route without tear down and resetup TCP session. It&#8217;s more like command &#8220;<em><strong>clear ip bgp * soft</strong></em>&#8220;.</li>
<li>etc&#8230;</li>
</ul>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://henrydu.com/blog/networks/bgp-neighbor-features-in-one-shot-205.html" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://henrydu.com/blog/networks/bgp-neighbor-features-in-one-shot-205.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BGP Route Reflector Roles</title>
		<link>http://henrydu.com/blog/networks/bgp-route-reflector-roles-196.html</link>
		<comments>http://henrydu.com/blog/networks/bgp-route-reflector-roles-196.html#comments</comments>
		<pubDate>Thu, 21 May 2009 21:12:04 +0000</pubDate>
		<dc:creator>hengdu</dc:creator>
				<category><![CDATA[BGP]]></category>
		<category><![CDATA[Networks]]></category>

		<guid isPermaLink="false">http://henrydu.com/blog/?p=196</guid>
		<description><![CDATA[BGP Route Reflector normally has three kinds of peers EBGP Peer Client Peer ( neighbor 1.2.3.4 route-reflect-client ) Non-client Peer ( no neighbor 1.2.3.4 route-reflect-client) Route Reflector can learn from or advertise to all three kinds of peers. However, non-client peer can NOT learn from or advertise to non-client peer. As we can see from [...]]]></description>
			<content:encoded><![CDATA[<p>BGP Route Reflector normally has three kinds of peers</p>
<ul>
<li>EBGP Peer</li>
<li>Client Peer ( <em><strong>neighbor 1.2.3.4 route-reflect-client</strong></em> )</li>
<li>Non-client Peer ( <em><strong>no neighbor 1.2.3.4 route-reflect-client</strong></em>)</li>
</ul>
<p>Route Reflector can learn from or advertise to all three kinds of peers. However, non-client peer can NOT learn from or advertise to non-client peer. As we can see from the following diagram, Since R3 is non-client, it can NOT advertise route to R4, which is also non-client peer.</p>
<p><img class="aligncenter size-full wp-image-197" title="BGP RR diagram 1" src="http://henrydu.com/blog/wp-content/uploads/2009/05/bgp-rr-1.jpg" alt="BGP RR diagram 1" width="500" height="400" />There are two ways to solve this problem.(Of course, many ways can be done to implement this.)</p>
<p>One is to make R3 as Client Peer. Since R3 is Client Peer, it will advertise route to R4.</p>
<p><img class="aligncenter size-full wp-image-199" title="BGP RR Diagram 2" src="http://henrydu.com/blog/wp-content/uploads/2009/05/bgp-rr-2.jpg" alt="BGP RR Diagram 2" width="500" height="400" />The other is, we make R3 as another RR and make R4 and R2 as Client Peer. If we don&#8217;t make R2 as R3&#8242;s Client Peer, R2 is non-client peer with R3. Since R3 is RR, R3 is non-client peer with R2. If R3 has no neighbor relationship with R1, then two non-client peer can NOT advertise to each other. Therefore, we make R2 as Client Peer with R3.</p>
<p><img class="aligncenter size-full wp-image-200" title="BGP RR Diagram 3" src="http://henrydu.com/blog/wp-content/uploads/2009/05/bgp-rr-3.jpg" alt="BGP RR Diagram 3" width="500" height="400" /></p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://henrydu.com/blog/networks/bgp-route-reflector-roles-196.html" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://henrydu.com/blog/networks/bgp-route-reflector-roles-196.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

