Archive

Category Archives for "Networking"

Top 5 Windows Server 2016 features that enterprises are deploying

Windows Server 2016 has been out for a year now, the “we’ll wait for the first service pack” delay is behind us, and there are clear features in Windows 2016 that enterprises are adopting and integrating into their network environment. Here's a look at five of those features.Windows Server 2016 as the base server operating system This isn't a specific “feature” in Windows 2016, but there's an overall general acceptance by enterprises deploying Windows Server applications to install them on the latest Windows Server 2016 operating system.To read this article in full or to leave a comment, please click here

Top 5 Windows Server 2016 features that enterprises are deploying

Windows Server 2016 has been out for a year now, the “we’ll wait for the first service pack” delay is behind us, and there are clear features in Windows 2016 that enterprises are adopting and integrating into their network environment. Here's a look at five of those features.Windows Server 2016 as the base server operating system This isn't a specific “feature” in Windows 2016, but there's an overall general acceptance by enterprises deploying Windows Server applications to install them on the latest Windows Server 2016 operating system.To read this article in full or to leave a comment, please click here

Top 5 Windows Server 2016 features that enterprises are deploying

Windows Server 2016 has been out for a year now, the “we’ll wait for the first service pack” delay is behind us, and there are clear features in Windows 2016 that enterprises are adopting and integrating into their network environment. Here's a look at five of those features.Windows Server 2016 as the base server operating system This isn't a specific “feature” in Windows 2016, but there's an overall general acceptance by enterprises deploying Windows Server applications to install them on the latest Windows Server 2016 operating system.To read this article in full or to leave a comment, please click here

Network Interconnection videos have been added into Self Paced SP Training

Recently, I published Self Paced Service Provider Training Course. I didn’t make an Internet wide announcement yet as I still upload the content to the course.   Though I haven’t announced it yet, some people have already purchased it and the previous Instructor Led Service Provider course attendees got the access to the self paced […]

The post Network Interconnection videos have been added into Self Paced SP Training appeared first on Cisco Network Design and Architecture | CCDE Bootcamp | orhanergun.net.

Performance progression of IPv6 route lookup on Linux

In a previous article, I explained how Linux implements an IPv6 routing table. The following graph shows the performance progression of route lookups through Linux history:

IPv6 route lookup performance progression

All kernels are compiled with GCC 4.9 (from Debian Jessie). This version is able to compile older kernels as well as current ones. The kernel configuration is the default one with CONFIG_SMP, CONFIG_IPV6, CONFIG_IPV6_MULTIPLE_TABLES and CONFIG_IPV6_SUBTREES options enabled. Some other unrelated options are enabled to be able to boot them in a virtual machine and run the benchmark.

There are three notable performance changes:

  • In Linux 3.1, Eric Dumazet delays a bit the copy of route metrics to fix the undesirable sharing of route-specific metrics by all cache entries (commit 21efcfa0ff27). Each cache entry now gets its own metrics, which explains the performance hit for the non-/128 scenarios.
  • In Linux 3.9, Yoshifuji Hideaki removes the reference to the neighbor entry in struct rt6_info (commit 887c95cc1da5). This should have lead to a performance increase. The small regression may be due to cache-related issues.
  • In Linux 4.2, Martin KaFai Lau prevents the creation of cache entries for most route lookups. The Continue reading

IPv6 route lookup on Linux

TL;DR: With its implementation of IPv6 routing tables using radix trees, Linux offers subpar performance (450 ns for a full view — 40,000 routes) compared to IPv4 (50 ns for a full view — 500,000 routes) but fair memory usage (20 MiB for a full view).


In a previous article, we had a look at IPv4 route lookup on Linux. Let’s see how different IPv6 is.

Lookup trie implementation

Looking up a prefix in a routing table comes down to find the most specific entry matching the requested destination. A common structure for this task is the trie, a tree structure where each node has its parent as prefix.

With IPv4, Linux uses a level-compressed trie (or LPC-trie), providing good performances with low memory usage. For IPv6, Linux uses a more classic radix tree (or Patricia trie). There are three reasons for not sharing:

  • The IPv6 implementation (introduced in Linux 2.1.8, 1996) predates the IPv4 implementation based on LPC-tries (in Linux 2.6.13, commit 19baf839ff4a).
  • The feature set is different. Notably, IPv6 supports source-specific routing1 (since Linux 2. Continue reading

TextFSM Getting Started

Textfsm is a text parsing library written in python to turn plain text into structured data. Originally created by Google, the project seemed largely abandoned until recently being added to github and receiving a small update. This post will show how to extract interesting data from the...

Securing Bitcoins with TREZOR

TREZOR is a hard wallet for securely storing crypto assets such as Bitcoin, Ethereum, and Litecoin. Protection mechanisms like a mnemonic recovery seed, PIN, and encryption passphrase safeguard your assets (private keys) by requiring your physical interaction in order to make transactions. For those crypto noobies, I think it’s easiest to describe the TREZOR functionality […]

The post Securing Bitcoins with TREZOR appeared first on Overlaid.

App Highlight: Hardenize

Hardenize is a comprehensive security tool that continuously monitors the security and configuration of your domain name, email, and website. Ivan Ristić, the author of Hardenize, gave a demo of his app at our Cloudflare London HQ.



Do you know how secure your site is? View a Hardenize report on your website by clicking this button:



Interested in sharing a demo of your app at a meetup? We can help coordinate. Drop a line to [email protected].

Broken packets: IP fragmentation is flawed

As opposed to the public telephone network, the internet has a Packet Switched design. But just how big can these packets be?

CC BY 2.0 image by ajmexico, inspired by

This is an old question and the IPv4 RFCs answer it pretty clearly. The idea was to split the problem into two separate concerns:

  • What is the maximum packet size that can be handled by operating systems on both ends?

  • What is the maximum permitted datagram size that can be safely pushed through the physical connections between the hosts?

When a packet is too big for a physical link, an intermediate router might chop it into multiple smaller datagrams in order to make it fit. This process is called "forward" IP fragmentation and the smaller datagrams are called IP fragments1.

Image by Geoff Huston, reproduced with permission

The IPv4 specification defines the minimal requirements. From the RFC791:

Every internet destination must be able to receive a datagram
of 576 octets either in one piece or in fragments to
be reassembled. [...]

Every internet module must be able to forward a datagram of 68
octets without further fragmentation. [...]

The first value - Continue reading