BGP Transit AS Concept and Basic Configuration

 

BGP Transit AS Concept and Basic Configuration

আগের টিউটোরিয়ালে আমরা ডাইনামিক রাউটিং প্রটোকল BGP এর বেসিক কিছু থিওরী ও কনফিগারেশন নিয়ে আলোচনা করেছিলাম। এগুলোর মধ্যে ছিল কিভাবে দুইটি রাউটারের মধ্যে eBGP Peering কনফিগার করতে হয়, কিভাবে Prefix Originate করতে হয়, এবং প্রয়োজনানুসারে কিভাবে Prefix Filtering করতে হয়। আপনারা চাইলে টিউটোরিয়ালটি আরো একবার দেখে নিতে পারেন।

BGP Concept and Basic Configuration

আজকের টিউটোরিয়ালে আমরা BGP Transit AS সম্পর্কে বিস্তারিত জানার চেষ্টা করবো।

BGP রাউটিং শুধুমাত্র দুইটি রাউটারের মধ্যেই সীমাবদ্ধ নয়, BGP ব্যবহৃত হয় গ্লোবাল রাউটিং অর্থাৎ ইন্টারনেটের সাথে যুক্ত বিভিন্ন সার্ভিস প্রোভাইডার যেমন: আই.এস.পি, আই.আই.জি ও তাদের আপস্ট্রীমসমূহের মধ্যে রাউটিং করার জন্য। আই.এস.পি, আই.আই.জি ও তাদের আপস্ট্রীমসমূহ Regional Internet Registry (RIR) থেকে নিজেদের জন্য Public IP ব্লক ও ASN বরাদ্দ নেয় এবং উক্ত Public IP ব্লক ও ASN ব্যবহার করে নিজেদের মধ্যে BGP কনফিগার করে ট্রাফিক আদান-প্রদান করে। এখন প্রশ্ন হলো, আই.এস.পি ও আই.আই.জিসমূহ কেন নিজেদের মধ্যে BGP কনফিগার করবে? এর মূল কারণ হলো, ব্যবসায়িক স্বার্থ।

আমরা সাধারণত কোন একটি আই.এস.পি এর কাছ থেকে ইন্টারনেট সংযোগ নিয়ে পৃথিবী বিভিন্ন প্রান্তে ইন্টারনেট ভিত্তিক যোগাযোগ করে থাকি। কিন্তু আমাদের আই.এস.পি কি ইন্টারনেটের সাথে সরাসরি যুক্ত? না তা নয়। তাহলে আমাদের ডাটা কিভাবে আই.এস.পি এর মাধ্যমে ইন্টারনেটে পৌছায়? আই.এস.পি সমূহ যেহেতু ইন্টারনেটের সাথে সরাসরি যুক্ত নয়, তাই তারা তাদের ক্লায়েন্টদের ডাটা ইন্টারনেটে পৌছে দেওয়ার জন্য তাদের আপস্ট্রীম সার্ভিস প্রোভাইডার আই.আই.জি এর সাথে সংযুক্ত হয়। IIG এর পূর্ণরূপ হলো International Internet Gateway । এখানে একটি আই.আই.জি কিন্তু তার ক্লায়েন্ট আই.এস.পি কে সাধারণ আই.পি এ্যাড্রেস সম্বলিত ইন্টারনেট সংযোগ দেয় না, তারা আই.এস.পি এর নিজস্ব আই.পি এ্যাড্রেসগুলোকে (RIR থেকে পাওয়া) ইন্টারনেটে যাওয়ার জন্য একটি রাস্তা করে দেয় অর্থাৎ আই.এস.পি এর নিজস্ব আই.পি এ্যাড্রেসগুলোকে ট্রানজিট দেয়। এজন্য আই.আই.জি সমূহকে অন্য কথায় বলা হয় IP Transit Service Provider । আর আই.এস.পি এর দৃষ্টিকোণ থেকে আই.আই.জি এর AS টিকে বলা হয় একটি Transit AS । অর্থাৎ, আই.এস.পি তার নিজের AS থেকে ইন্টারনেটের অন্যান্য AS এর সাথে ট্রাফিক আদান-প্রদান করার জন্য আই.আই.জি এর AS টি কে Transit AS হিসেবে ব্যবহার করে। আর আই.এস.পি এই কাজটি তখনই করতে পারবে যখন সে তার আই.আই.জি কে প্রতি মেগাবিট ব্যান্ডউইথের জন্য নির্দিষ্ট হারে টাকা প্রদান করবে।

চিত্রে, আই.এস.পি তার নিজের AS 100 থেকে ইন্টারনেটের সাথে সংযুক্ত হওয়ার জন্য আই.আই.জি এর AS 200 কে Transit AS হিসেবে ব্যবহার করেছে।

ব্যবসায়িক দৃষ্টিকোন থেকে আই.আই.জি ও আই.এস.পি এর BGP রিলেশনশীপকে বলা হয় Transit Relationship । Transit Relationship এর ক্ষেত্রে আই.এস.পি আই.আই.জি কে প্রতি মেগাবিট ব্যান্ডউইথের জন্য অবশ্যই নির্দিষ্ট হারে টাকা প্রদান করে। যদি কোন কারণে দুইটি আই.এস.পি নিজেদের মধ্যে ট্রাফিক আদান-প্রদানের জন্য BGP কনফিগার করে থাকে তাহলে সেই রিলেশনশীপকে বলা হয় Peering Relationship । Peering Relationship এর ক্ষেত্রে আই.এস.পিদ্বয় কেউ কাউকে কোন টাকা-পয়সা প্রদান করে না। যেমন: বাংলাদেশের আই.এস.পিসমূহ নিজেদের মধ্যে সরাসরি ট্রাফিক আদান-প্রদানের জন্য Bangladesh Internet Exchange (BDiX) গঠন করেছে। BDiX গঠনের মাধ্যমে আই.এস.পিসমূহ নিজেদের মধ্যে Peering Relationship তৈরী করেছে, যেখানে প্রতি মেগাবিট ব্যান্ডউইথের জন্য কেউ কাউকে টাকা প্রদান করে না, এটা সম্পূর্ণ ফ্রি!!! তবে BDiX এর পরিচালনা ব্যয় বাবদ আই.এস.পিসমূহ একটি নির্দিষ্টহারে বাৎসরিক চার্জ প্রদান করে।

Configuring BGP Transit AS

এখন আমরা দেখবো, কিভাবে একটি Transit AS কনফিগার করতে হয়। এখানে মূলত Transit AS বলতে আই.আই.জি এর AS কেই বুঝানো হচ্ছে, কিন্তু কনফিগারেশনের সময় আমরা আই.এস.পি, আই.আই.জি ও আপস্ট্রীম এর তিনটি রাউটারই কনফিগার করবো।

চিত্রে প্রদত্ত টপোলজি অনুযায়ী ধরি,

RIR থেকে আই.এস.পি এর প্রাপ্ত আই.পি ব্লক ও ASN যথাক্রমে 192.168.0.0/22 ও 100

আই.আই.জি এর প্রাপ্ত আই.পি ব্লক ও ASN যথাক্রমে 172.16.0.0/22 ও 200

এবং আই.আই.জি এর আপস্ট্রীম এর প্রাপ্ত আই.পি ব্লক ও ASN যথাক্রমে 10.0.0.0/22 ও 300

টাস্ক-১: প্রথমে আই.এস.পি তার আই.আই.জি এর সাথে eBGP Peering কনফিগার করবে। এখানে, আই.এস.পি ও আই.আই.জি এর মধ্যকার পয়েন্ট-টু-পয়েন্ট আই.পি হলো 172.16.0.0/30, যা আই.আই.জি এর নিজের আই.পি। (প্রফেশনাল ক্ষেত্রে eBGP Peering এর জন্য পয়েন্ট-টু-পয়েন্ট আই.পি টি উপরের দিকের সার্ভিস প্রোভাইডারের হয়। ইন্টারনেটের হাইরার্কি অনুযায়ী আই.আই.জি হলো আই.এস.পি এর উপরের লোক।)

অতঃপর আই.এস.পি তার নিজের আই.পি ব্লক 192.168.0.0/22 কে 192.168.0.0/24, 192.168.1.0/24, 192.168.2.0/24 ও 192.168.3.0/24 চারটি সাবনেটে বিভক্ত করে Originate করবে। এখানে, আই.এস.পি চাইলে একটিমাত্র পূর্ণ ব্লক 192.168.0.0/22 কে Originate করতে পারে। সেক্ষেত্রে আই.আই.জি রাউটার তার BGP টেবিলে চারটি প্রিফিক্সের বদলে একটি মাত্র প্রিফিক্স রিসিভ করবে, যা আই.আই.জি রাউটারের CPU ও Memory এর জন্য ভালো। কিন্তু প্রফেশনাল লেভেলে যেহেতু একটি আই.এস.পি এর একাধিক আই.আই.জি থাকে, সেক্ষেত্রে লোড ব্যালান্সিং এর জন্য আই.এস.পি বাধ্য হয়েই তার পূর্ণ ব্লকটিকে ছোট ছোট সাবনেটে বিভক্ত করে আলাদা আলাদা সাবনেটকে আলাদা আলাদা আই.আই.জি দিয়ে Originate করে। তবে এক্ষেত্রে সাবনেটগুলো /24 এর চেয়ে ছোট করা যায় না, যেমনঃ /25, /26…. এরকম করা যায় না। ইন্টারনেটে যুক্ত BGP রাউটারসমূহের প্রিফিক্স সংখ্যা সীমিত রাখার জন্য এই পলিসিটি অনুসরণ করা হয়।

টাস্ক-২: আই.আই.জি তার আপস্ট্রীম এর সাথে eBGP Peering কনফিগার করবে। এখানে, আই.আই.জি ও তার আপস্ট্রীম এর মধ্যকার পয়েন্ট-টু-পয়েন্ট আই.পি হলো 10.0.0.0/30, যা আপস্ট্রীম এর নিজের আই.পি।

অতঃপর আই.আই.জি তার নিজের আই.পি ব্লক 172.16.0.0/22 কে 172.16.0.0/24, 172.16.1.0/24, 172.16.2.0/24 ও 172.16.3.0/24 চারটি সাবনেটে বিভক্ত করে Originate করবে। এবং আপস্ট্রীমও তার নিজের আই.পি ব্লক 10.0.0.0/22 কে 10.0.0.0/24, 10.0.1.0/24, 10.0.2.0/24 ও 10.0.3.0/24 চারটি সাবনেটে বিভক্ত করে Originate করবে।

টাস্ক-৩: টাস্ক-১ ও টাস্ক-২ সম্পূর্ণ করলেই আই.এস.পি, আই.আই.জি ও আপস্ট্রীম রাউটার নিজেদের মধ্যে রাউট আদান-প্রদান করে নেটওয়ার্কটি কনভার্জ করে নেবে। কিন্তু প্রফেশনাল লেভেলে প্রতিটি অর্গানাইজেশনই তার প্রয়োজনানুসারে Prefix Filter করে, তাই এখানে আই.এস.পি, আই.আই.জি ও আপস্ট্রীম প্রত্যেকেই নিচের মতো করে Prefix Filter করবে।

i) আই.এস.পি তার প্রিফিক্স Origination এর সময় অবশ্যই লক্ষ্য রাখবে যে, আই.আই.জি এর Outbound এ যেকোন প্রিফিক্সই Originate করা হোক না কেন তা যেন 192.168.0.0/22 ব্লকের মধ্যেই থাকে। পক্ষান্তরে, আই.আই.জিও আই.এস.পি এর Inbound এ শুধুমাত্র 192.168.0.0/22 ব্লকের মধ্যে থাকা প্রিফিক্সসমূহ রিসিভ করবে।

এখানে যেহেতু আই.এস.পি তার আই.আই.জি এর Outbound এ Prefix Filter করছে তাই আই.আই.জি যদি আই.এস.পি এর Inbound এ Prefix Filter না করে তাতে কোন সমস্যা নেই। তবে বেষ্ট ইন্ডাষ্ট্রি প্র্যাকটিস হলো, আই.এস.পি ও আই.আই.জি উভয়েই নিজ নিজ অবস্থান থেকে Prefix Filter করে। এটা অনেকটা Double Lock Security এর মতো। যদি ভূল করে কোন এক পক্ষ Prefix Filter না করে তারপরও যাতে কোন অনাকাঙ্খিত পরিস্থিতি তৈরী না হয়।

ii) আই.আই.জি তার প্রিফিক্স Origination এর সময় অবশ্যই লক্ষ্য রাখবে যে, আপস্ট্রীম এর Outbound এ যেকোন প্রিফিক্সই Originate করা হোক না কেন তা যেন 172.16.0.0/22 ব্লকের মধ্যেই থাকে। এখানে আই.আই.জি আপস্ট্রীম এর Outbound এ নিজের প্রিফিক্সসমূহ Originate করার পাশাপাশি আই.এস.পি এর প্রিফিক্সসমূহও Announce করবে। Prefix Filter এর সময় আই.আই.জি যদি আই.এস.পি এর প্রিফিক্সসমূহ আপস্ট্রীম এর কাছে না পাঠায় তাহলে আপস্ট্রীম কিন্তু আই.এস.পি এর প্রিফিক্সসমূহ পাবে না।

এখানে একটি বিষয় উল্লেখ্য যে, আই.আই.জি যখন আপস্ট্রীম এর কাছে নিজের প্রিফিক্সসমূহ পাঠায় তাকে বলে Prefix Origination । আর আই.আই.জি যখন আপস্ট্রীম এর কাছে আই.এস.পি এর প্রিফিক্সসমূহ পাঠায় তাকে বলে Prefix Announcement ।

পক্ষান্তরে, আপস্ট্রীমও আই.আই.জি এর Inbound এ শুধুমাত্র 192.168.0.0/22 ও 172.16.0.0/22 ব্লকের মধ্যে থাকা প্রিফিক্সসমূহই রিসিভ করবে।

iii) এখানে, আপস্ট্রীম রাউটার আই.আই.জি এর Outbound এ কোন Prefix Filter করবে না, আপস্ট্রীম আই.আই.জি কে Full Route (সব Prefix) দিবে এবং পাশাপাশি একটি Default Route ও দিবে। আবার, আই.আই.জিও আই.এস.পি এর Outbound এ কোন Prefix Filter করবে না, আই.আই.জি আই.এস.পিকে Full Route দিবে এবং পাশাপাশি একটি Default Route ও দিবে। তবে, এখানে আই.এস.পি আই.আই.জি এর Inbound এ Prefix Filter করে Full Route এর বদলে শুধুমাত্র Default Route রিসিভ করবে। কারণ, ল্যাব টপোলজিতে আই.এস.পি রাউটার BGP এর মাধ্যমে মাত্র কয়েকটি প্রিফিক্স পাবে, কিন্তু বাস্তবিকভাবে পুরো ইন্টারনেটে এখন প্রায় ৬ লক্ষের কাছাকাছি প্রিফিক্স আছে। আর এই ৬ লক্ষ প্রিফিক্স সম্বলিত Full Route যদি রিসিভ করলে রাউটারের CPU ও Memory অনেক বেশি খরচ হয়। তাই আই.এস.পি লেভেলে অনেকেই রাউটারে পারফরম্যান্স ভালো রাখার জন্য Full Route না নিয়ে শুধুমাত্র Default Route ই রিসিভ করে। তবে আই.আই.জি কিন্তু আপস্ট্রীম থেকে সব সময় Full Route ই নেয়, কারণ তাকে প্রায়শই ক্লায়েন্টদের চাহিদা অনুযায়ী ট্রাফিক ইঞ্জিনিয়ারিং করতে হয়।

কনফিগারেশনঃ

প্রথমেই আমরা চিত্রের টপোলজি অনুযায়ী আই.এস.পি, আই.আই.জি ও আপস্ট্রীম রাউটারসমূহের ইন্টারফেসের আই.পি এ্যাড্রেসসমূহ কনফিগার করবো। এবং প্রিফিক্স Origination এর জন্য অত্যাবশ্যকীয় Pull Up Route যোগ করবো।

ISP#configure terminal
ISP(config)#interface FastEthernet0/0
ISP(config-if)#ip address 172.16.0.2 255.255.255.252
ISP(config-if)#description TO-IIG
ISP(config-if)#no shutdown
ISP(config-if)#exit
ISP(config)#interface loopback 1
ISP(config-if)#ip address 192.168.0.1 255.255.255.0
ISP(config-if)#exit
ISP(config)#interface loopback 2
ISP(config-if)#ip address 192.168.1.1 255.255.255.0
ISP(config-if)#exit
ISP(config)#interface loopback 3
ISP(config-if)#ip address 192.168.2.1 255.255.255.0
ISP(config-if)#exit
ISP(config)#interface loopback 4
ISP(config-if)#ip address 192.168.3.1 255.255.255.0
ISP(config-if)#exit

আই.এস.পি রাউটার থেকে আমরা যেহেতু 192.168.0.0/24, 192.168.1.0/24, 192.168.2.0/24 ও 192.168.3.0/24 চারটি নেটওয়ার্ক/প্রিফিক্স Originate করবো তাই Loopback ইন্টারফেসের মাধ্যমে চারটি নেটওয়ার্কের Pull UP Route যোগ করলাম।

IIG#configure terminal
IIG(config)#interface FastEthernet0/0
IIG(config-if)#ip address 172.16.0.1 255.255.255.252
IIG(config-if)#description TO-ISP
IIG(config-if)#no shutdown
IIG(config-if)#exit
IIG(config)#interface FastEthernet0/1
IIG(config-if)#ip address 10.0.0.2 255.255.255.252
IIG(config-if)#description TO-UPSTREAM
IIG(config-if)#no shutdown
IIG(config-if)#exit

IIG(config)#ip route 172.16.0.0 255.255.255.0 Null0
IIG(config)#ip route 172.16.1.0 255.255.255.0 Null0
IIG(config)#ip route 172.16.2.0 255.255.255.0 Null0
IIG(config)#ip route 172.16.3.0 255.255.255.0 Null0

এখানে স্ট্যাটিক রাউটের মাধ্যমে আই.আই.জি রাউটারের চারটি নেটওয়ার্কের Pull UP Route যোগ করা হলো।

UPSTREAM#configure terminal
UPSTREAM(config)#interface fastEthernet 0/0
UPSTREAM(config-if)#ip address 10.0.0.1 255.255.255.252
UPSTREAM(config-if)#description TO-IIG
UPSTREAM(config-if)#no shutdown
UPSTREAM(config-if)#exit

UPSTREAM(config)#ip route 10.0.0.0 255.255.255.0 null 0
UPSTREAM(config)#ip route 10.0.1.0 255.255.255.0 null 0
UPSTREAM(config)#ip route 10.0.2.0 255.255.255.0 null 0
UPSTREAM(config)#ip route 10.0.3.0 255.255.255.0 null 0

এখানেও স্ট্যাটিক রাউটের মাধ্যমে আপস্ট্রীম রাউটারের চারটি নেটওয়ার্কের Pull UP Route যোগ করা হলো।

টাস্ক-১ এর কনফিগারেশন:

নিচের কমান্ডের মাধ্যমে আমরা আই.এস.পি রাউটার ও আই.আই.জি রাউটারদ্বয়ের মধ্যে eBGP Peering আপ করবো।

ISP#conf t
ISP(config)#router bgp 100
ISP(config-router)#neighbor 172.16.0.1 remote-as 200
IIG#conf t
IIG(config)#router bgp 200
IIG(config-router)#neighbor 172.16.0.2 remote-as 100

যদি আমরা রাউটারদ্বয়ের মধ্যে #show ip bgp summary কমান্ড দিই তাহলে eBGP Peering স্ট্যাটাস দেখতে পাবো।

ISP#show ip bgp summary
BGP router identifier 192.168.3.1, local AS number 100
BGP table version is 1, main routing table version 1

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
172.16.0.1      4   200       5       5        1    0    0 00:02:24        0
IIG#show ip bgp summary
BGP router identifier 172.16.0.1, local AS number 200
BGP table version is 1, main routing table version 1

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
172.16.0.2      4   100       5       5        1    0    0 00:02:47        0

একটু লক্ষ্য করলে দেখা যাবে যে, রাউটারদ্বয়ের মধ্যে eBGP Peering আপ হয়েছে, কিন্তু কোন রাউটারই কোন প্রিফিক্স রিসিভ করেনি। কারণ, আমরা এখনো কোন রাউটারের মধ্যে #network কমান্ডের মাধ্যমে কোন প্রিফিক্স অরিজিনেট করি নাই।

এখন নিচের কমান্ডের মাধ্যমে আমরা আই.এস.পি রাউটারের BGP রাউটিং প্রসেসে আই.এস.পি এর নিজস্ব প্রিফিক্সসমূহ অরিজিনেট করবো।

ISP#configure terminal
ISP(config)#router bgp 100
ISP(config-router)#network 192.168.0.0 mask 255.255.255.0
ISP(config-router)#network 192.168.1.0 mask 255.255.255.0
ISP(config-router)#network 192.168.2.0 mask 255.255.255.0
ISP(config-router)#network 192.168.3.0 mask 255.255.255.0

আই.এস.পি রাউটার থেকে অরিজিনেট করা প্রিফিক্সসমূহ আই.আই.জি রাউটার রিসিভ করবে। আমরা যদি আই.আই.জি রাউটারে নিচের কমান্ড দেই তাহলে দেখতে পাবো যে, আই.আই.জি রাউটার আই.এস.পি রাউটার থেকে চারটি প্রিফিক্স রিসিভ করেছে।

IIG#show ip bgp summary
BGP router identifier 172.16.0.1, local AS number 200

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
172.16.0.2      4   100      32      38       15    0    0 00:27:35        4

আর কি কি প্রিফিক্স রিসিভ করেছে তা দেখার জন্য নিচের কমান্ড দিতে হবে।

IIG#show ip bgp
BGP table version is 15, local router ID is 172.16.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 192.168.0.0      172.16.0.2               0             0 100 i
*> 192.168.1.0      172.16.0.2               0             0 100 i
*> 192.168.2.0      172.16.0.2               0             0 100 i
*> 192.168.3.0      172.16.0.2               0             0 100 i

টাস্ক-২ এর কনফিগারেশন:

নিচের কমান্ডের মাধ্যমে আমরা আই.আই.জি রাউটার ও আপস্ট্রীম রাউটারদ্বয়ের মধ্যে eBGP Peering আপ করবো।

IIG#conf t
IIG(config)#router bgp 200
IIG(config-router)#neighbor 10.0.0.1 remote-as 300
UPSTREAM#conf t
UPSTREAM(config)#router bgp 300
UPSTREAM(config-router)#neighbor 10.0.0.2 remote-as 200

যদি আমরা আপস্ট্রীম রাউটারের মধ্যে #show ip bgp summary কমান্ড দিই তাহলে eBGP Peering স্ট্যাটাস দেখতে পাবো।

UPSTREAM#show ip bgp summary
BGP router identifier 10.0.0.1, local AS number 300
BGP table version is 1, main routing table version 1

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.0.0.2        4   200       6       6        1    0    0 00:02:30        4

একটু লক্ষ্য করলে দেখা যাবে যে, রাউটারদ্বয়ের মধ্যে eBGP Peering আপ হয়েছে, এবং আপস্ট্রীম রাউটার আই.আই.জি রাউটারের কাছ থেকে চারটি প্রিফিক্স রিসিভ করেছে। কিন্তু আমরা তো এখনো পর্যন্ত আই.আই.জি রাউটারে কোন প্রিফিক্স অরিজিনেট করিনি। তাহলে আপস্ট্রীম রাউটারের মধ্যে এই চারটি প্রিফিক্স আসলো কোথা থেকে?

UPSTREAM#show ip bgp
BGP table version is 13, local router ID is 10.0.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 192.168.0.0      10.0.0.2                               0 200 100 i
*> 192.168.1.0      10.0.0.2                               0 200 100 i
*> 192.168.2.0      10.0.0.2                               0 200 100 i
*> 192.168.3.0      10.0.0.2                               0 200 100 i

আসলে আই.আই.জি রাউটারে আমরা এখনো কোন প্রিফিক্স অরিজিনেট করিনি সেটা ঠিক, কিন্তু আই.আই.জি রাউটার যেহেতু আই.এস.পি রাউটারের কাছ থেকে চারটি প্রিফিক্স পেয়েছে সেই চারটি প্রিফিক্স ইহা আবার আপস্ট্রীম রাউটারের কাছে এ্যানাউন্স করেছে। eBGP এর বৈশিষ্ঠ্যই হলো, যখন কোন একটি রাউটার তার কোন Neighbor এর কাছ থেকে কোন প্রিফিক্স পাবে সে এগুলো তার অন্যান্য Neighbor এর কাছে এ্যানাউন্স করবে, যদি কোন Prefix Filtering না থাকে। (কিন্তু iBGP তা করে না।)

এখন নিচের কমান্ডের মাধ্যমে আমরা আই.আই.জি ও আপস্ট্রীম রাউটারের BGP রাউটিং প্রসেসে তাদের এর নিজস্ব প্রিফিক্সসমূহ অরিজিনেট করবো।

IIG#configure terminal
IIG(config)#router bgp 200
IIG(config-router)#network 172.16.0.0 mask 255.255.255.0
IIG(config-router)#network 172.16.1.0 mask 255.255.255.0
IIG(config-router)#network 172.16.2.0 mask 255.255.255.0
IIG(config-router)#network 172.16.3.0 mask 255.255.255.0
UPSTREAM#conf t
UPSTREAM(config)#router bgp 300
UPSTREAM(config-router)#network 10.0.0.0 mask 255.255.255.0
UPSTREAM(config-router)#network 10.0.1.0 mask 255.255.255.0
UPSTREAM(config-router)#network 10.0.2.0 mask 255.255.255.0
UPSTREAM(config-router)#network 10.0.3.0 mask 255.255.255.0

আই.আই.জি ও আপস্ট্রীম রাউটারে প্রিফিক্সসমূহ অরিজিনেট করার পর আমরা সবগুলো রাউটারের BGP Status দেখে নিতে পারি।

ISP#show ip bgp summary
BGP router identifier 192.168.3.1, local AS number 100

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
172.16.0.1      4   200      38      32       15    0    0 00:27:14        8
ISP#show ip bgp
BGP table version is 15, local router ID is 192.168.3.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 10.0.0.0/24      172.16.0.1                             0 200 300 i
*> 10.0.1.0/24      172.16.0.1                             0 200 300 i
*> 10.0.2.0/24      172.16.0.1                             0 200 300 i
*> 10.0.3.0/24      172.16.0.1                             0 200 300 i
*> 172.16.0.0/24    172.16.0.1               0             0 200 i
*> 172.16.1.0/24    172.16.0.1               0             0 200 i
*> 172.16.2.0/24    172.16.0.1               0             0 200 i
*> 172.16.3.0/24    172.16.0.1               0             0 200 i
*> 192.168.0.0      0.0.0.0                  0         32768 i
*> 192.168.1.0      0.0.0.0                  0         32768 i
*> 192.168.2.0      0.0.0.0                  0         32768 i
*> 192.168.3.0      0.0.0.0                  0         32768 i
IIG#show ip bgp summary
BGP router identifier 172.16.0.1, local AS number 200

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.0.0.1        4   300      36      41       15    0    0 00:26:54        4
172.16.0.2      4   100      32      38       15    0    0 00:27:35        4
IIG#show ip bgp
BGP table version is 15, local router ID is 172.16.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 10.0.0.0/24      10.0.0.1                 0             0 300 i
*> 10.0.1.0/24      10.0.0.1                 0             0 300 i
*> 10.0.2.0/24      10.0.0.1                 0             0 300 i
*> 10.0.3.0/24      10.0.0.1                 0             0 300 i
*> 172.16.0.0/24    0.0.0.0                  0         32768 i
*> 172.16.1.0/24    0.0.0.0                  0         32768 i
*> 172.16.2.0/24    0.0.0.0                  0         32768 i
*> 172.16.3.0/24    0.0.0.0                  0         32768 i
*> 192.168.0.0      172.16.0.2               0             0 100 i
*> 192.168.1.0      172.16.0.2               0             0 100 i
*> 192.168.2.0      172.16.0.2               0             0 100 i
*> 192.168.3.0      172.16.0.2               0             0 100 i
UPSTREAM#show ip bgp summary
BGP router identifier 10.0.0.1, local AS number 300

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.0.0.2        4   200      42      37       13    0    0 00:27:18        8
UPSTREAM#show ip bgp
BGP table version is 13, local router ID is 10.0.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 10.0.0.0/24      0.0.0.0                  0         32768 i
*> 10.0.1.0/24      0.0.0.0                  0         32768 i
*> 10.0.2.0/24      0.0.0.0                  0         32768 i
*> 10.0.3.0/24      0.0.0.0                  0         32768 i
*> 172.16.0.0/24    10.0.0.2                 0             0 200 i
*> 172.16.1.0/24    10.0.0.2                 0             0 200 i
*> 172.16.2.0/24    10.0.0.2                 0             0 200 i
*> 172.16.3.0/24    10.0.0.2                 0             0 200 i
*> 192.168.0.0      10.0.0.2                               0 200 100 i
*> 192.168.1.0      10.0.0.2                               0 200 100 i
*> 192.168.2.0      10.0.0.2                               0 200 100 i
*> 192.168.3.0      10.0.0.2                               0 200 100 i

এ পর্যন্ত আমরা টাস্ক-১ ও টাস্ক-২ এর কনফিগারেশন শেষ করলাম। যেহেতু আমরা এখনো কোন Prefix Filtering করিনি, তাই এতটুকু কনফিগারেশন করলেই আমাদের নেটওয়ার্কটি কনভার্জ হবে, অর্থাৎ সব রাউটারই সবগুলো রাউট পাবে।

টাস্ক-৩ এর কনফিগারেশন:

(i) নিচের কমান্ডের মাধ্যমে আই.এস.পি রাউটারে আমরা আই.আই.জি রাউটারের outbound এ আউটগোয়িং প্রিফিক্স ফিল্টার করবো। এখানে প্রিফিক্স ফিল্টার করার জন্য route-map অপশনটি ব্যবহার করা হয়েছে।

ISP#conf t
ISP(config)#ip prefix-list IIG-OUT seq 10 permit 192.168.0.0/24
ISP(config)#ip prefix-list IIG-OUT seq 20 permit 192.168.1.0/24
ISP(config)#ip prefix-list IIG-OUT seq 30 permit 192.168.2.0/24
ISP(config)#ip prefix-list IIG-OUT seq 40 permit 192.168.3.0/24

প্রথমে আমরা /24 এর চারটি প্রিফিক্স নিয়ে একটি prefix-list তৈরী করলাম।

ISP(config)#route-map IIG-OUT
ISP(config-route-map)#match ip address prefix-list IIG-OUT

অতঃপর prefix-list টি দিয়ে একটি route-map তৈরী করলাম।

ISP(config)#router bgp 100
ISP(config-router)#neighbor 172.16.0.1 route-map IIG-OUT out

সবশেষে neighbor 172.16.0.1 এর outbound এ route-map টি প্রয়োগ করলাম।

BGP রাউটিং কনফিগার করার সময় কোন পলিসি পরিবর্তন করা হলে অনেক সময় BGP প্রসেসটিকে রিসেট করতে হয়। BGP প্রসেস রিসেট করার জন্যঃ

#clear ip bgp * (সব neighbor এর সাথে সেশন রিসেট করতে)

#clear ip bgp 172.16.0.1 (কোন নির্দিষ্ট neighbor যেমন: 172.16.0.1 এর সাথে সেশন রিসেট করতে)

পরবর্তীতে নিচের কমান্ডের মাধ্যমে আই.আই.জি রাউটারে আমরা আই.এস.পি রাউটারের inbound এ ইনকামিং প্রিফিক্স ফিল্টার করবো। এখানে যেহেতু আই.এস.পি তার আই.আই.জি এর outbound এ Prefix Filter করছে তাই আই.আই.জি যদি আই.এস.পি এর inbound এ Prefix Filter না করে তাতে কোন সমস্যা নেই। তবে বেষ্ট ইন্ডাষ্ট্রি প্র্যাকটিস হলো, আই.এস.পি ও আই.আই.জি উভয়েই নিজ নিজ অবস্থান থেকে Prefix Filter করে। এটা অনেকটা Double Lock Security এর মতো। যদি ভূল করে কোন এক পক্ষ Prefix Filter না করে তারপরও যাতে কোন অনাকাঙ্খিত পরিস্থিতি তৈরী না হয়।

IIG#conf t
IIG(config)#ip prefix-list ISP-IN seq 10 permit 192.168.0.0/22 le 24
IIG(config)#route-map ISP-IN
IIG(config-route-map)#match ip address prefix-list ISP-IN
IIG(config-route-map)#exit
IIG(config)#router bgp 200
IIG(config-router)#neighbor 172.16.0.2 route-map ISP-IN in

এখানে একটি বিষয় লক্ষ্যনীয় যে, prefix-list তৈরী করার সময়, চারটি প্রিফিক্সের জন্য চারটি স্টেটমেন্ট না লিখে শুধুমাত্র একটি স্টেটমেন্ট “192.168.0.0/22 le 24” লেখা হলো। এই স্টেটমেন্টটির অর্থ হলো, /22 থেকে শুরু করে /24 পর্যন্ত। অর্থাৎ, আই.এস.পি যেভাবেই প্রিফিক্স অরিজিনেট করুক না কেন, তা যদি 192.168.0.0/22 এর ভিতরে থাকে তাহলে আই.আই.জি তা রিসিভ করবে এবং আই.এস.পি তার প্রিফিক্সসমূহকে সর্বোচ্চ /24 এ সাবনেট করে অরিজিনেট করতে পারবে। যেমনঃ আই.এস.পি তার প্রিফিক্সকে নিম্নোক্ত যেকোনভাবে অরিজিনেট করতে পারবে।

192.168.0.0/22 অথবা
192.168.0.0/23, 192.168.2.0/23 অথবা
192.168.0.0/24, 192.168.1.0/24, 192.168.2.0/24, 192.168.3.0/24

তবে প্রিফিক্সগুলো /24 এর চেয়ে ছোট করা যাবে না, যেমনঃ /25, /26...... এরকম করা যাবে না। ইন্টারনেটে যুক্ত BGP রাউটারসমূহের প্রিফিক্স সংখ্যা সীমিত রাখার জন্য এই পলিসিটি অনুসরণ করা হয়।

(ii) এখন আই.আই.জি রাউটারে আমরা আপস্ট্রীম এর outbound এ আউটগোয়িং প্রিফিক্সসমূহ ফিণ্টার করবো।

IIG#configure terminal
IIG(config)#ip prefix-list UPSTREAM-OUT seq 10 permit 172.16.0.0/22 le 24
IIG(config)#ip prefix-list UPSTREAM-OUT seq 20 permit 192.168.0.0/22 le 24
IIG(config)#route-map UPSTREAM-OUT
IIG(config-route-map)#match ip address prefix-list UPSTREAM-OUT
IIG(config-route-map)#exit
IIG(config)#router bgp 200
IIG(config-router)#neighbor 10.0.0.1 route-map UPSTREAM-OUT out

এখানে একটি বিষয় উল্লেখ্য যে, আই.আই.জি যখন আপস্ট্রীম এর কাছে নিজের প্রিফিক্সসমূহ পাঠায় তাকে বলে Prefix Origination । আর আই.আই.জি যখন আপস্ট্রীম এর কাছে আই.এস.পি এর প্রিফিক্সসমূহ পাঠায় তাকে বলে Prefix Announcement ।

এছাড়া আপস্ট্রীম রাউটারেও আমরা আই.আই.জি এর Inbound এ শুধুমাত্র 192.168.0.0/22 ও 172.16.0.0/22 ব্লকের মধ্যে থাকা প্রিফিক্সসমূহই রিসিভ করবো (Double Lock Security নিশ্চিত করার জন্য)।

UPSTREAM#configure terminal
UPSTREAM(config)#ip prefix-list IIG-IN seq 10 permit 172.16.0.0/22 le 24
UPSTREAM(config)#ip prefix-list IIG-IN seq 20 permit 192.168.0.0/22 le 24
UPSTREAM(config)#route-map IIG-IN
UPSTREAM(config-route-map)#match ip address prefix-list IIG-IN
UPSTREAM(config-route-map)#exit
UPSTREAM(config)#router bgp 300
UPSTREAM(config-router)#neighbor 10.0.0.2 route-map IIG-IN in

(iii) আমরা যদি আই.আই.জি রাউটারের BGP টেবিল দেখি তাহলে দেখতে পাবো যে, আই.আই.জি রাউটার আপস্ট্রীম এর কাছ থেকে চারটি প্রিফিক্স রিসিভ করেছে। এখানে আপস্ট্রীম রাউটার আই.আই.জি রাউটারকে Full Route এর পাশাপাশি একটি Default Routeও দিবে, যেই Default Route টি আবার আই.আই.জি রাউটার আই.এস.পি রাউটারের কাছে পাঠাবে। এজন্য আপস্ট্রীম রাউটারে নিচের কমান্ড দিতে হবে।

UPSTREAM#configure terminal
UPSTREAM(config)#router bgp 300
UPSTREAM(config-router)#neighbor 10.0.0.2 default-originate

এখন আই.এস.পি রাউটার আই.আই.জি এর Inbound এ Prefix Filter করে Full Route এর বদলে শুধুমাত্র Default Route রিসিভ করবে। এর জন্য আই.এস.পি রাউটারে নিচের কমান্ড দিতে হবে।

ISP#configure terminal
ISP(config)#ip prefix-list IIG-IN seq 10 permit 0.0.0.0/0
ISP(config)#route-map IIG-IN
ISP(config-route-map)#match ip address prefix-list IIG-IN
ISP(config-route-map)#exit
ISP(config)#router bgp 100
ISP(config-router)#neighbor 172.16.0.1 route-map IIG-IN in

সব কনফিগারেশন সঠিকভাবে সম্পন্ন হলে আমরা রাউটারসমূহে নিম্নোক্ত কমান্ডসমূহের মাধ্যমে সবকিছূ ঠিক আছে কি না তা ভেরিফাই করবো।

#show ip bgp summary

#show ip bgp

#show ip route

ট্রাবলশুটিং কমান্ড:

#clear ip bgp *

#clear ip bgp neighbor ip

আশাকরি এই টিউটোরিয়ালটি দেখে আপনারা BGP Transit AS সম্পর্কে কিছু ধারণা পাবেন। ভাল থাকবেন, আল্লাহ হাফেজ।


Comments