احد أنواع الخدمات المقدمة من شركات الاتصال للعملاء هي خدمة L3VPN وذلك بربط فروع العميل عبر شبكة MPLS. وبغض النظر عن عيوبها او أسعارها الا انها تعتبر من الخدمات الناجحة في الفترة الماضية
تعتمد خدمة L3VPN على ربط العميل ببقية الفروع عن طريق تفعيل Routing protocol بين راوتر العميل CE وراوتر مزود الخدمة PE. في الحياة العملية غالبا يتم استخدام بروتوكول BGP. لكن تقنيا يمكن استخدام OSPF, EIGRP او حتى Static Routes.
يقوم العميل بارسال جميع النتورك لكل فرع (Prefixes advertisement) عن طريق Routing protocol لنفترض EIGRP protocol حسب الرسمة بالاسفل من راوتر CE1-1 الى راوتر مزود الخدمة PE1. بعد ذلك يقوم رواتر PE1 ارسالها الى بقية راوترات PEs المتصلة بالفروع الأخرى والتي بدورها تقوم بارسالها الى الفروع كما هو موضح بالاسفل
تبدا المشكلة في حالة تم ارسال النتورك الى PE2, وبالتالي ربما يقوم PE2 بارسالها مرة أخرى الى نفس العميل لكن عن طريق الراوتر الثاني المتصل بمزود الخدمة CE1-2. وهنا ربما قد تحدث عملية Suboptimal Routing او في اسوء الاحوال Route Loop. لنفترض ان جميع راوترات العميل CE1 موجودة في نفس الموقع او الداتا سنتر.
لتجنب هذه المشكلة, يجب استخدام Site of Origin Tag على راوترات مزود الخدمة PEs وهي عبارة عن اضافة Tag على كل نتورك يتم استلامها من العميل.بحيث لو كان العميل متصل بـأكثر من راوتر لنفس مزود الخدمة, يفترض استخدام نفس SoO Tag على جميع PEs المتصلة لنفس العميل. يتم ارسال قيمة SoO Tag عن طريق بروتوكول BGP Extended Community بين راوترات مزود الخدمة PEs. والفكرة ببساطة عند استقبال النتورك من العميل CE1, يتم اضافة SoO Tag على كل نتورك من طرف راوتر PE1, لذلك عند ارسال النتورك الى بقية الراوترات PEs, يقوم كل PE بفحص قيمة SoO Tag والتأكد من عدم مطابقتها لنفس العميل, لذلك عند استقبال النتورك على راوتر PE2, سيقوم الراوتر بعدم ارسالها مرة اخرى الى CE1-2 بسبب قيمة SoO.
لكن اين تحديد يجب استخدام SoO tag؟ في حالة كانت جميع راوترات العميل موجودة في نفس الموقع او الداتا سنتر, يفضل استخدام SoO Tag على راوترات مزود الخدمة وتحديدا على الانترفيس المتصل براوتر العميل .
في هذه الحالة يتم التواصل بين CE1-1 و CE1-2 عن طريق اللنك المباشر بينهم , لكن في حالة حدوث مشكلة على اللنك المباشر بينهم لن يستطيع اي راوتر سواء CE1-1 او CE1-2 الوصول الى بعض عن طريق MPLS بسبب قيمة SoO Tag الموجودة على كل PE. نفترض ان PE1 استقبل بعض النتورك من CE1-1, بالتالي سيقوم باضافة قيمة SoO 65000:100 على هذه النتورك قبل ارسالها الى PE2. عندما يقوم راوتر PE2 استقبال هذه النتورك وفحص قيمة SoO 65000:100, وهي نفس القيمة المستخدمة على PE2 مع راوتر CE1-2, لذلك لن يسمح PE2 بارسال هذه النتورك الى CE1-2. في هذه الحالة يفترض وجود مسارات بديلة داخل LAN Network وعدم الاعتماد على دائرة MPLS L3VPN كمسار بديل
في حالة كانت راوترات العميل موجودة في مواقع مختلفة كما هو الحال مع العميل CE2. هنا سوف يتم استخدام SoO Tag ولكن ستكون قيمتين مختلفتين. تحديدا قيمة لكل موقع. وسوف يتم اضافتها على راوتر مزود الخدمة PE وتحديدا على اللنك المتصل بالعميل بشكل مباشر وايضا سوف يتم اضافة نفس القيمة راوتر العميل CE2 وتحديدا على اللنك المتصل براوتر العميل الاخر الموجود في الموقع الاخر
في هذه الحالة يتم التواصل بشكل مباشر بين راوترات العميل CE2-1 و CE2-2-2. وفي حالة حدوث مشكلة على اللنك المباشر, تستطيع الراوترات الوصول الى بعضها عن طريق دائرة MPLS L3VPN بسبب اختلاف قيمة SoO. لنفترض مثلا عند استقبال النتورك من CE2-1 على راوتر PE3, سيقوم الراوتر باضافة قيمة SoO 65000:1 وارسالها الى PE4. في هذه الحالة سيكتشف PE4 ان قيمة SoO 65000:1 المستقبلة من PE3 تختلف عن قيمة SoO 65000:2 المخصصة الى راوتر CE2-2, بالتالي سوف يسمح لارسال الترافيك الى CE2-2.