Category: Networks
[lang_en]Using epoll() For Asynchronous Network Programming[/lang_en][lang_ru]Использование epoll() Для Организации Асинхронной Работы С Сетевыми Соединениями[/lang_ru]
13 Apr2006

[lang_en]

General way to implement tcp servers is “one thread/process per connection”. But on high loads this approach can be not so efficient and we need to use another patterns of connection handling. In this article I will describe how to implement tcp-server with synchronous connections handling using epoll() system call of Linux 2.6. kernel.

[/lang_en]

[lang_ru]
Одним из самых распространенных способов реализации серверов tcp является “один поток/процесс на соединение”. Но при высокой нагрузке этот метод может быть не слишком эффективным, и необходимо использовать другие паттерны обработки соединений. В этой статье я расскажу, как реализовать tcp-сервер с синхронной обработкой запросов с помощью системного вызова ecall в ядре Linux 2.6.
[/lang_ru]

Read the rest of this entry


[lang_en]5 Minutes Guide To Linux Traffic Shaping[/lang_en][lang_ru]Linux Traffic Shaping За 5 Минут При Помощи htb.init[/lang_ru]
6 Apr2006

[lang_en]

If you have your own home network with two or more computers, you definitely know all of the problems with concurrent access to internet channel. Most annoying problem is bandwidth sharing: when you are trying to use remote ssh connection to some server, and at the same time your wife/brother/friend decided to watch some new and very cool video clip at Google Video or YouTube, your connection will be stalled and you can forget about comfortable work. In this small article I will give you a simple solution for this problem and you will be able to do anything without worrying about traffic sharing problems!

[/lang_en]

[lang_ru]

Если у Вас есть Ваша собственная домашняя сеть с двумя или более компьютерами и она подключена к интернету, вы точно знаете о тех проблемах с одновременным доступом к сети, которые практически неизбежны при таком подключении. Самой большой и раздражающей проблемой является разделение ширины канала между всеми участниками сети: когда вы пытаетесь работать серез ssh с удаленным сервером, а в этот момент ваша wife/брат/друг решает поглядеть новый и очень классный видео клип с Google Video или YouTube, Ваше соединение замирает и вы можете забыть о комфортабельной работе . В этой маленькой статье я дам вам простое решение этой проблемы, которое позволит вам делать все, что угодно не думая о проблемах разделения трафика!

[/lang_ru]

Read the rest of this entry


[lang_en]Connecting Two Remote Local Networks With Transparent Bridging Technique[/lang_en][lang_ru]Прозрачное Соединение Двух Удаленных Локальных Сетей (Remote Bridging)[/lang_ru]
5 Apr2006

[lang_en]

Sometimes we need to connect two or more geographically distrubuted ethernet networks to one broadcast domain. There can be two different office networks of some company which uses smb protocol partially based on broadcast network messages. Another example of such situation is computer cafes: a couple of computer cafes can provide to users more convinient environment forr playing multiplayer computer games without dedicated servers.

Both sample networks in this article need to have one *nix server for bridging. Our networks can be connected by any possible hardware that provides IP connection between them.

[/lang_en]

[lang_ru]

Часто возникает потребность в соединении нескольких географически разрозненных сетей (ethernet) в единый broadcast domain. Такая потребность, например, может возникнуть при соединении нескольких отделений одной компании, в которой используется smb-протокол (частично основанный на широковещательных сообщениях). Также одним из вариантов использования описываемой схемы являются игровые клубы (несколько клубов одной игровой сети, будучи объединенными в
единое пространство для широковещательных запросов могут обеспечить пользователям возможность сетевой игры без наличия выделенного сервера).

В каждой из рассматриваемых сетей должен присутствовать один сервер, предназначенный для организации бриджинга. Две наших сети могут быть соединены друг с другом любыми средствами, которые позволяют передачу IP-трафика между шлюзовыми машинами данных сетей.

[/lang_ru]

Read the rest of this entry


[lang_en]How To Get Data For Mrtg Without Running SNMP Daemon?[/lang_en][lang_ru]Как Получить Данные Для Mrtg Не Запуская SNMP-Сервер?[/lang_ru]
5 Apr2006

[lang_en]

Plotting traffic graphs is one of the most popular UNIX admin tasks. 😉 Mrtg is a great tool and it is widely used for plotting traffic graphs. It can be easily set up to plot statistics for any SNMP-enabled device (including Linux servers running snmpd). But sometimes we can not setup snmp daemon in Linux server because of small amount of memory or because of some another reasons. How we can plot our favourite graphs in such cases?

[/lang_en]

[lang_ru]

Рисование графиков загрузки сетевых интерфейсов – это, наверное, одно из самых популярных занятий UNIX-администраторов. 😉 Отличным инфтрументом для этого является утилита mrtg. Она может быть без проблем настроена на создание графиков загрузки интерфейсов любого поддерживающего SNMP устройства (в том числе и Linux-сервера с запущенным на нем snmpd). Но, иногда, мы не можем запустить snmp-демон на Linux сервере из-за маленького обхема оперативной памяти или еще по каким-то объективным причинам. Как же быть в такой ситуации, если графики все-таки нужны, но нет SNMP?

[/lang_ru]

Read the rest of this entry


[lang_en]Nginx – Small, But Very Powerful and Efficient Web Server[/lang_en][lang_ru]Nginx – Маленький, Но Очень Мощный И Эффективный Web-Сервер[/lang_ru]
4 Apr2006

[lang_en]

Today, I want to describe one of the interesting tools I am using in my job. This tool is nginx – small, but very powerful and efficient web server created by Igor Sysoev for large Russian web company Rambler and kindly provided by open-source community. This server can be used as standalone HTTP-server and as reverse proxy server before some Apache or another “big” server” to reduce load to backend server by many concurrent HTTP-sessions. As standalone web server, nginx can easily handle huge http-load on static files (images, html-pages, etc).

[/lang_en]

[lang_ru]

Сегодня я хотел бы рассказать об еще одном полезном инстументе, который я использую в моей администраторской практике. Этот инструмент – nginx – маленький и легкий, но очень мощный и эффективный web-сервер, созданный Игорем Сысоевым для использования на серверах компании Рамблер и любезно предоставленный им для использования open-source сообществом. Этот сервер может использоваться как самостоятельный HTTP-сервер или как reverse proxy перед Апачем или любым другим “тяжелым” веб сервером для снижения нагрузки на backend-сервере от большого количества одновременных HTTP-сессий. Как самостоятельный сервер, nginx без проблем выдерживает огромные нагрузки при раздаче статического контента (images, html-pages и т.д.).

[/lang_ru]

Read the rest of this entry