Network Programming

Network programming is one field which everybody uses but very few people really know in depth. Our IT Hare did write a software which processes billions of network packets per day; moreover, they’ve done it in a very robust and efficient manner. And last but not least, they’re ready to share their experience :-)

Packet Loss for an App-Level Developer. Part II. Last Mile, Wi-Fi, and Summary

January 24, 2017 by “No Bugs” Bunny

Last Mile

Quote:

Burstable packet loss. May be caused by a neighbor preparing his breakfast

Another Quote:

if there is a NAT device on the way from your Client to your Server – a sudden IP change can occur with absolutely no notification to Client whatsoever.

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.ProgrammingNetwork Programming

Read more

Packet Loss for an App-Level Developer. Part I. Router Failures, BGP Convergence Time, AQM, Traffic Shapers.

January 16, 2017 by “No Bugs” Bunny

Active Queue Management

Quote:

All the routers, switches (actually – pretty much each and every device which forms Internet infrastructure) – are allowed to drop each and every packet.

Another Quote:

TCP, when it observes a dropped packet, interprets it as an indication of congestion – and slows down.

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.ProgrammingNetwork Programming

Read more

War on Clones, Part I. IP-based (non-)Identification. Identifying PCs and Macs

July 11, 2016 by “No Bugs” Bunny

Login

Quote:

NEVER EVER use IPv4 for long-term bans

Another Quote:

If using MAC addresses to identify devices, you SHOULD gather stats on repeating MAC addresses within your DB

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VI1st beta of Vol. VII-IXOn.ProgrammingTips and TricksNetwork ProgrammingOn.SecurityFraud Prevention

Read more

Marshalling and Encodings

May 16, 2016 by “No Bugs” Bunny

Marshal, well... marshalling

Quote:

Encoded data size is especially important for Client-Server communications, and less important (within reason) for Server-to-Server ones and for locally-stored format.

Another Quote:

On the other hand, due to being optimized for CPU operation, Flatbuffers are NOT optimized space-wise; even compared to not-so-optimal-space-wise Google Protocol Buffers, Flatbuffers can lose additional 1.5x in size

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.ProgrammingNetwork Programming

Read more