Sunday, May 31, 2015
vagrant ssh on Windows with better cmd Window
4 Better Windows Console Tools Alternatives to Windows Built In Command Prompt, http://www.nextofwindows.com/4-better-windows-console-tools-alternatives-to-windows-built-in-command-prompt/
Friday, May 29, 2015
The Four Agreements, Don Miguel Ruiz (http://en.wikipedia.org/wiki/Don_Miguel_Ruiz)
"Be Impeccable With Your Word. Speak with integrity. Say only what you mean. Avoid using the word to speak against yourself or to gossip about others. Use the power of your word in the direction of truth and love..."
"Don't Make Assumptions. Find the courage to ask questions and to express what you really want. Communicate with others as clearly as you can to avoid misunderstandings, sadness and drama. With just this one agreement, you can completely transform your life..."
"Don't Take Anything Personally. Nothing others do is because of you. What others say and do is a projection of their own reality, their own dream. When you are immune to the opinions and actions of others, you won't be the victim of needless suffering..."
"Always Do Your Best. Your best is going to change from moment to moment; it will be different when you are healthy as opposed to sick. Under any circumstance, simply do your best, and you will avoid self-judgment, self-abuse and regret..."
Tuesday, May 26, 2015
BGP Protocol - Traffic Capture
Without having to capture your own trace, a good source for sample traffic capture of BGP protocol is here, http://packetlife.net/captures/protocol/bgp/
There is also a good set of cheat sheet on the same site, http://packetlife.net/library/cheat-sheets/
There is also a good set of cheat sheet on the same site, http://packetlife.net/library/cheat-sheets/
Monday, May 25, 2015
Using IP SLA to control static routes on Cisco IOS
Source: http://www.ciscozine.com/using-ip-sla-to-change-routing/
Static route configuration can take an extra parameter which is the track object. The route can be active/inactive based on whether the track object status.
Static route configuration can take an extra parameter which is the track object. The route can be active/inactive based on whether the track object status.
Ciscozine(config)#ip route 0.0.0.0 0.0.0.0 172.16.255.2 track 10
Introduction to REST API
Short, but effective!
Interesting stuff from Facebook DC network talks
This is like a 5-star movie, plain at first sight, lovely every time you re-watch, Facebook's Data Center Fabric.
16 servers per rack, 48 racks per pod, 48 pods per altogether. (Total number of servers are 16 x 48 x 48 = 36,864 servers in a single fabric clos). 1 wedge for each rack as Top of Row switch (presumably) [16 ports x 40Gbps], and truck load of 6-Packs [128 ports x 40 Gbps x 1.92Tbps non-blocking throughput].
Inter-pod traffic, for fully populate network, there are 4 x ECMP paths (at the maximum of 4 hops) from any rack to any other rack. Intra-pod traffic (traffic between racks belonging to the same pod, it is 4xECMP path with 2 hops each.
From the look of it,
1. Each server seems to only connect to the network via a single NIC. (i.e. no network connection redundancy) (I think we can pretty much presume commodity-grade server hardware is used also). Therefore, redundancy is definitely built-in at a software layer and entirely make do without the server level redundancy. (I do not have a hard evidence here, but this guys may not even use RAID at the server)
2. One single protocol, BGP. (Hah! say it again!) At first, I think the detail is skimmed over, but later slide show that 6-pack has only minimum routing functionality. And I was like, ummm, how the hell do they do that? And I am curious. And that probably is a good thing. Is this actually possible? What is the convergence time? Does it really matter given the design? A good source I turned to only suggested that I should think whether that IGP element is absolutely required. (OSPF/IS-IS)
Assuming we want to improve on this design, what can we improve and why! (Wow, that makes it even more interesting, isn't it? :P)
References:
- Attached Screenshot Taken from Facebook's Data Center Fabric,https://www.youtube. com/watch?v=kcI3fGEait0
- See also, Introducing 6-pack, the First Open Hardware Modular Switch
- See also, Introducing 6-pack, the First Open Hardware Modular Switch
- See also a walking through iterations of the design, Datacenter Networking @ Facebook,https://www.youtube. com/watch?v=xC461XfmI0E (This one actually explicitly states that BGP is the only protocol used in the fabric)
See Also:
Sunday, May 24, 2015
David Beazley's Pyhon: A "Toy" Language
This video left a long lasting impression on me. It is a fine piece to showcase what Python can do.
Love it.
Love it.
Simple Illustration of Virtual Memory - through Python
Brandon Rhodes did a great job illustrating system memory management.
Saturday, May 23, 2015
Learning Basic OS Preemption
I was curious about how OS preemption is implemented. I think the best way is to learn from the simplest OS.
I found FreeRTOS to be a good real OS that can help me learn those implementation detail.
http://en.wikipedia.org/wiki/Real-time_operating_system
http://en.wikipedia.org/wiki/FreeRTOS
It also help that FreeRTOS is documented as part of "The Architecture of Open Source Applications" Book II.
Source: http://www.aosabook.org/en/freertos.html
"...The heartbeat of a FreeRTOS system is called the system tick. FreeRTOS configures the system to generate a periodic tick interrupt. The user can configure the tick interrupt frequency, which is typically in the millisecond range. Every time the tick interrupt fires, the vTaskSwitchContext() function is called. vTaskSwitchContext() selects the highest-priority ready task and puts it in the pxCurrentTCB variable like this..."
See Also.
I found FreeRTOS to be a good real OS that can help me learn those implementation detail.
http://en.wikipedia.org/wiki/Real-time_operating_system
http://en.wikipedia.org/wiki/FreeRTOS
It also help that FreeRTOS is documented as part of "The Architecture of Open Source Applications" Book II.
Source: http://www.aosabook.org/en/freertos.html
"...The heartbeat of a FreeRTOS system is called the system tick. FreeRTOS configures the system to generate a periodic tick interrupt. The user can configure the tick interrupt frequency, which is typically in the millisecond range. Every time the tick interrupt fires, the vTaskSwitchContext() function is called. vTaskSwitchContext() selects the highest-priority ready task and puts it in the pxCurrentTCB variable like this..."
See Also.
...
CFS (which is default scheduler for processes) has no fixed timeslice, it is calculated at runtime depending of targeted latency (
sysctl_sched_latency
) and number of running processes. Timeslice could never be less than minimum granularity (sysctl_sched_min_granularity
).
Timeslice will be always between
sysctl_sched_min_granularity
and sysctl_sched_latency
, which are defaults to 0.75 ms and 6 ms respectively and defined in kernel/sched/fair.c.
But actual timeslice isn't exported to user-space.
...
...
Learning Basic MPLS
I think MPLS Section on CCIE 5.0 Official Guide is quite good. Here is an excerpt from the book outline.
Source: http://www.ciscopress.com/store/ccie-routing-and-switching-v5.0-official-cert-guide-9781587144912
Part VI Multiprotocol Label Switching (MPLS)
Chapter 11 Multiprotocol Label Switching 515
“Do I Know This Already?” Quiz 515
Foundation Topics 519
MPLS Unicast IP Forwarding 519
MPLS IP Forwarding: Data Plane 520
CEF Review 520
Overview of MPLS Unicast IP Forwarding 521
MPLS Forwarding Using the FIB and LFIB 522
The MPLS Header and Label 524
The MPLS TTL Field and MPLS TTL Propagation 524
MPLS IP Forwarding: Control Plane 526
MPLS LDP Basics 527
The MPLS Label Information Base Feeding the FIB and LFIB 529
Examples of FIB and LFIB Entries 532
Label Distribution Protocol Reference 534
MPLS VPNs 535
The Problem: Duplicate Customer Address Ranges 535
The Solution: MPLS VPNs 537
MPLS VPN Control Plane 539
Virtual Routing and Forwarding Tables 540
MP-BGP and Route Distinguishers 541
Route Targets 543
Overlapping VPNs 545
MPLS VPN Configuration 546
Configuring the VRF and Associated Interfaces 548
Configuring the IGP Between PE and CE 550
Configuring Redistribution Between PE-CE IGP and MP-BGP 553
Configuring MP-BGP Between PEs 555
MPLS VPN Data Plane 558
Building the (Inner) VPN Label 559
Creating LFIB Entries to Forward Packets to the Egress PE 560
Creating VRF FIB Entries for the Ingress PE 562
Penultimate Hop Popping 564
Other MPLS Applications 565
Implement Multi-VRF Customer Edge (VRF Lite) 566
VRF Lite, Without MPLS 566
VRF Lite with MPLS 569
Foundation Summary 570
Memory Builders 570
Fill In Key Tables from Memory 570
Definitions 570
Further Reading 570
There is also a good session on Cisco Live On Demand. This rendition of the session is quite interesting.
BRKCCIE-3345 - The CCIE Candidate's Introduction to MPLS L3VPN Networks (2013 Orlando),
Speaker(s)
- Scott Morris - Chief Technology Officer, Copper River IT
- Keith Barker - Edutainment Specialist, Trainer
Source: http://www.ciscopress.com/store/ccie-routing-and-switching-v5.0-official-cert-guide-9781587144912
Part VI Multiprotocol Label Switching (MPLS)
Chapter 11 Multiprotocol Label Switching 515
“Do I Know This Already?” Quiz 515
Foundation Topics 519
MPLS Unicast IP Forwarding 519
MPLS IP Forwarding: Data Plane 520
CEF Review 520
Overview of MPLS Unicast IP Forwarding 521
MPLS Forwarding Using the FIB and LFIB 522
The MPLS Header and Label 524
The MPLS TTL Field and MPLS TTL Propagation 524
MPLS IP Forwarding: Control Plane 526
MPLS LDP Basics 527
The MPLS Label Information Base Feeding the FIB and LFIB 529
Examples of FIB and LFIB Entries 532
Label Distribution Protocol Reference 534
MPLS VPNs 535
The Problem: Duplicate Customer Address Ranges 535
The Solution: MPLS VPNs 537
MPLS VPN Control Plane 539
Virtual Routing and Forwarding Tables 540
MP-BGP and Route Distinguishers 541
Route Targets 543
Overlapping VPNs 545
MPLS VPN Configuration 546
Configuring the VRF and Associated Interfaces 548
Configuring the IGP Between PE and CE 550
Configuring Redistribution Between PE-CE IGP and MP-BGP 553
Configuring MP-BGP Between PEs 555
MPLS VPN Data Plane 558
Building the (Inner) VPN Label 559
Creating LFIB Entries to Forward Packets to the Egress PE 560
Creating VRF FIB Entries for the Ingress PE 562
Penultimate Hop Popping 564
Other MPLS Applications 565
Implement Multi-VRF Customer Edge (VRF Lite) 566
VRF Lite, Without MPLS 566
VRF Lite with MPLS 569
Foundation Summary 570
Memory Builders 570
Fill In Key Tables from Memory 570
Definitions 570
Further Reading 570
There is also a good session on Cisco Live On Demand. This rendition of the session is quite interesting.
BRKCCIE-3345 - The CCIE Candidate's Introduction to MPLS L3VPN Networks (2013 Orlando),
Speaker(s)
- Scott Morris - Chief Technology Officer, Copper River IT
- Keith Barker - Edutainment Specialist, Trainer
Lecture - 24 Multiple Label Switching(MPLS)
Source: http://networkstatic.net/the-best-mpls-lecture-on-the-net/Learning about ILS - Intercluster Lookup Service in CUCM
One of the good source for me is to learn from Cisco Live On Demand session.
This session is applicable to ILS.
BRKCCIE-3509 - Intercluster Lookup Service in Cisco Unified Communications Manager Release 10 (2014 San Francisco)
This session is applicable to ILS.
BRKCCIE-3509 - Intercluster Lookup Service in Cisco Unified Communications Manager Release 10 (2014 San Francisco)
New Features in CUCM
The following documents are the good source of listing the new feature for each CUCM version. It is often found as part of the release notes set of document.
CUCM Release Notes page can be found here.
http://www.cisco.com/c/en/us/support/unified-communications/unified-communications-manager-callmanager/products-release-notes-list.html
Search for "New and Changed"
Here are some examples of such documentation.
- New and Changed Document for Cisco Unified Communications Manager Release 7.1(1)
- New and Changed Information for Cisco Unified Communications Manager 8.0(x)
- New and Changed for Cisco Unified Communications Manager 8.5(1)
- New and Changed Information for Cisco Unified Communications Manager Release 8.6(2)
- New and Changed Information for Cisco Unified Communications Manager Release 8.6(1)
- New and Changed Information for Cisco Unified Communications Manager, Release 10.0(1)
I also found that the CUCM Features add Services Guide Documentation is a good documentation to find out the list of all features. From there we can derive a set of new feature set.
CUCM Release Notes page can be found here.
http://www.cisco.com/c/en/us/support/unified-communications/unified-communications-manager-callmanager/products-release-notes-list.html
Search for "New and Changed"
Here are some examples of such documentation.
- New and Changed Document for Cisco Unified Communications Manager Release 7.1(1)
- New and Changed Information for Cisco Unified Communications Manager 8.0(x)
- New and Changed for Cisco Unified Communications Manager 8.5(1)
- New and Changed Information for Cisco Unified Communications Manager Release 8.6(2)
- New and Changed Information for Cisco Unified Communications Manager Release 8.6(1)
- New and Changed Information for Cisco Unified Communications Manager, Release 10.0(1)
I also found that the CUCM Features add Services Guide Documentation is a good documentation to find out the list of all features. From there we can derive a set of new feature set.
List of all Features and Services Guide can be found from Manage and Operate Guides page.
Search for "Features and Services" on the page.
Subscribe to:
Posts (Atom)