Researching, Implementation, and Documentation (All at once!)

Finally getting around to this project; alot of friends have mentioned / suggested the idea in the past as a project, but I've never had the means to complete it.

Now I do, so I figured better now than never!

Foreword


Explain:

a) Why?

  •  There are lot of reasons someone might give for "why" but ultimately my reasoning is because I enjoy networking, and systems engineering. I found this subject very intriguing and figured I'd investigate it further!

b) What is BGP?

  • BGP or "Border Gateway Protocol" is the glue that connects the internet as we know it. It defines the routes that packets take, and how "best" to get from point A to point B via a series of interconnected routers across the globe.

c) Why is BGP needed?

  • BGP is a superior protocol, as it learns from neighboring routers, older protocols such as OSPF, RIP and EIGRP are great themselves, but BGP was picked because it's highly scalable, and is much less resource intensive over OSPF.

d) Why IPv6?

  • I plan to eventually roll IPv4 BGP routing, but getting a prefix involves either selling your left kidney, or just waiting a long time for one to "free up" with your local RIR, which is what I'm doing.

e) Financial Requirements

  • Establishing a relationship (the next step below!) with an RIR is a bit pricey, I must warn you! There are fees, and other fun expenses involved, but we'll cover those as we go. Just keep in mind this isn't going to be cheap.

f) Other Requirements

  • A lot of companies will require or at least strongly prefer that you operate as a "business", and not as an individual. i.e. Cogent will be more likely to interact with you if you reach out as a business vs. as an individual. It's just how things are unfortunately. I ran into this snag a little while back, and used it as encouragement to start a business myself. While it may not generate revenue, it does continue to help me learn more skills and technologies.

  • You can get away with starting a DBA (Doing Business As), which is what I do, however if you intend on selling products or services to a customer, I strongly recommend converting to an LLC before doing so for liability's sake.

Establish a relationship with your local RIR (Regional Internet Registry) ARIN


Explain:

a) RIRs (ARIN)

b) Prefixes

c) ORG (Organization)

d) ASN (Autonomous Systems Number) 

e) Routing Security (Brief, IRR, RPKI)

Design your Network Layout (Split up your prefixes into zones)


Explain:

a) Basic subnetting and CIDR

b) Zoning your CIDR subnets

c) Decide what you want now, because coming back to fix it later is either very difficult, or impossible

d) Leave room for testing subnets, and plan for growth with the remainder of your CIDR subnets 

Acquire a peering partner with IP transit services


Explain:

a) What is peering?

b) What is IP transit? 

Pick your BGP routing software / solution


Explain:

a) Options

  • Bird
  • PathVector
  • Frr
  • Hardware (Cisco, Juniper, etc.)

b) Drill down on PathVector + Bird

Announce your prefixes


Explain:

a) Announcing prefixes via upstream bgp peer (transit peer)

b) Verify prefixes are being announced properly via bgp.tools

c) Verify IRR + RPKI is properly setup

Determine your routing plan


Explain:

a) How are you going to route traffic from your bgp router to your hosts?

  • Are they directly connected, or available to be connected?
  • Can you digitally connect them? i.e. via Wireguard, or other site-to-site VPN solutions?

b) Explain vIXes and how they work.

c) Break down BGP over Wireguard

Routing traffic within your networks


Explain:

a) Install a default route on your router via BGP (Setup BGP on your internal network router)

b) Discuss the pitfalls of asymmetric routing, and how it will create issues.

c) Setup policy based routing

d) Further subdivide prefixes at sites if needed