Реализация сети в операционной системе Linux
Категория реферата: Рефераты по информатике, программированию
Теги реферата: виды рефератов, банк курсовых работ бесплатно
Добавил(а) на сайт: Ада.
1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
Реализация сети в операционной системе Linux
Глеб Пахаренко
Рассмотрим подробнее что происходит с пакетом при попадании в нашу машину. Сначала он обрабатывается драйвером аппаратуры(сетевой карты и т.д) если пакет предназначен нам то он посылается на выше лежащий уровень - сетевой там определяется для кого он предназначен: нам или кому-то другому, для этого просматривается кэш маршрутизации, если там нет маршрута то Forwarding Information Base (FIB), если пакет предназначен другому компьютеру то ядро шлёт его на соответствующее устройство (сетевую карту) ,если нам ,то через транспортный и вышележащие уровни приложению. Обмен данными между приложением и ядром осуществляется через абстракцию сокета. В Линухе используется BSD сокеты.
Рассмотрим поподробнее структуру пакета
Ключ к быстрому обмену данными в использовании структуры sk_buf и передачи на вышестоящие уровни только указателя на неё
описание структуры лежит в linux/skbuff.h
её поля
struct sk_buff {
/* These two members must be first. */
struct sk_buff * next; /* Next buffer in list */
struct sk_buff * prev; /* Previous buffer in list */
struct sk_buff_head * list; /* List we are on */
struct sock *sk; /* Socket we are owned by */
struct timeval stamp; /* Time we arrived */
struct net_device *dev; /* Device we arrived on/are leaving by */
/* Transport layer header */
union
{
struct tcphdr *th;
struct udphdr *uh;
struct icmphdr *icmph;
struct igmphdr *igmph;
struct iphdr *ipiph;
struct spxhdr *spxh;
unsigned char *raw;
} h;
Рекомендуем скачать другие рефераты по теме: реферати, скачать дипломную работу.
1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата