class: center, middle, inverse # Network Design Principles --- class: center, middle, inverse # Network Design Principles ## Carrier grade ### Topology Setup --- ## Content * Design Goals * Design Solutions --- background-image: url(kadse1.jpg) --- .left-column[ ## Design Goals ] .right-column[ * Focus on a few topics * Can't implement all goals at 100% ] --- .left-column[ ## Design Goals ### Costs ] .right-column[ * Many small + cheap devices? * A few big + expensive devices? * License costs? * Cabling? ] --- .left-column[ ## Design Goals ### Costs ### Scaling ] .right-column[ * Expected growth? * Amount of new clients? * Amount of new servers? * Expected amout of ingress/egress traffic? ] --- .left-column[ ## Design Goals ### Costs ### Scaling ### Redundancy ] .right-column[ * On which paths do I really need redundancy? * Costs of redundancy vs outage? * Don't abuse redundant rings, stay under 50% utilization! * Logical redundancy? Physical Redundancy? * Redundancy needs more configuration than a simple link * Redundancy needs proper metrics and monitoring ] --- class: middle, center, inverse ## Topology --- background-image: url(internet_simple.svg) --- background-image: url(internet_simple_complete.svg) --- background-image: url(internet_complete_AS.svg) --- background-image: url(kadse2_cropped.jpg) --- .left-column[ ## Design Solutions ] .right-column[ * How to design the network edge? * Design the core? * Design the Datacenter/TOR? * TOR - Top of Rack switche ] --- .left-column[ ## Design Solutions ### Why? ] .right-column[ * Redundancy * Control over routing * More bandwidth * Reach more clients all over the world ] --- .left-column[ ## Design Solutions ### Why? ### Topology ] .left-column[  ] --- background-image: url(decix_router.png) --- background-image: url(decix_traffic_cropped.png) --- .left-column[ ## Design Solutions ### Why? ### Topology ### Edge ] .right-column[  ] --- .left-column[ ## Design Solutions ### Why? ### Topology ### Edge ] .right-column[  ] --- .left-column[ ## Design Solutions ### Why? ### Topology ### Edge ] .right-column[  ] --- .left-column[ ## Design Solutions ### Why? ### Topology ### Edge ] .right-column[  ] --- .left-column[ ## Design Solutions ### Why? ### Topology ### Edge ] .right-column[ * Always use two core routers for redundancy at a POP * POP - Point of Presence * Always use a seperate router for transit/peering * BGP as EGP * Border Gateway Protocol * Exterior Gateway Protocol ] --- .left-column[ ## Design Solutions ### Why? ### Topology ### Edge ### Core ] .right-column[  ] --- .left-column[ ## Design Solutions ### Why? ### Topology ### Edge ### Core ] .right-column[  ] --- .left-column[ ## Design Solutions ### Why? ### Topology ### Edge ### Core ] .right-column[  ] --- .left-column[ ## Design Solutions ### Why? ### Topology ### Edge ### Core ] .right-column[  ] --- .left-column[ ## Design Solutions ### Why? ### Topology ### Edge ### Core ] .right-column[ * Most important part of the network, don't make mistakes! * Precisely monitor traffic amount + flow * build many small and redundant rings * Invest in huge capacities, upgrades are painful * Automate it ] --- .left-column[ ## Design Solutions ### Why? ### Topology ### Edge ### Core ### DC ] .right-column[  ] --- .left-column[ ## Design Solutions ### Why? ### Topology ### Edge ### Core ### DC ] .right-column[ * Scales until the access router runs out of ports * Router ports are expensive * No redundant connection for TOR ] --- .left-column[ ## Design Solutions ### Why? ### Topology ### Edge ### Core ### DC ] .right-column[  ] --- .left-column[ ## Design Solutions ### Why? ### Topology ### Edge ### Core ### DC ] .right-column[ * Redundant * Scales for vertical traffic * Big clusters require more and more horizontal traffic ] --- .left-column[ ## Design Solutions ### Why? ### Topology ### Edge ### Core ### DC ] .right-column[  .footnote[© Cisco] ] --- .left-column[ ## Design Solutions ### Why? ### Topology ### Edge ### Core ### DC ] .right-column[ * Scales in all directions * A lot of redundancy + bandwidth * Only one hop to each server * Expensive * Impossible without automation ] --- .left-column[ ## Conclusion ] .right-column[ * Many different solutions * Everything is expensive * Proper planning, think big, spare capacity * Always use rings * Monitor your stuff ]