Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Реалізація мережі в операційній системі Linux

Реферат Реалізація мережі в операційній системі Linux





ки на протокольно залежні частини

Зберігаємо дані про тип і параметри сокета

Встановлюємо сокет в положення закрито

Ініціалізіруем черзі пакетів

Connect

Перевіряємо помилки

Визначаємо Маршрут

Перевіряємо кеш

Дивимося в FIB

Створюємо новий запис у таблиці маршрутизації

Заповнюємо її і повертаємо

Зберігаємо покажчик на запис маршрутизації в сокеті

Викликаємо протокольно залежну функцію connect

Встановлюємо сокет в з'єднаний

Також треба не забути закрити сокет

Close викликає sock_close in socket.c

void sock_release (struct socket * Sock)

{

if (sock-> ops)

sock-> ops-> release (sock);

...........................

}

а та через ланцюжок викликів протокольнозавісімую функцію

Додаткові функції

void inet_sock_release (struct sock * Sk) -net/ipv4/af_inet.c

назвніе говорить за себе + хороший коментар Алана Коха

fib_lookup () - include/net/ip_fib.h

повертає маршрут. Написана російською-Кузнецов!

fn_hach_lookup net/fib_hash.c

повертає маршрут за адресою

inet_create net/ipv4/af_inet.c

створює сокет

inet_release

ip_route_connect

викликає ip_route_output для визначенні адреси призначення

ip_route_output

ip_route_output_slow

rt_intern_hash корисні для маршрутизації функції

sock_close ()

sock_create ()

sock_init_data net/core/sock.c ініціалізує основні поля сокета

sock_release net/socket.c

sys_socket

tcp_close net/ipv4/tcp.c

встановлює прапор FYN

tpc_connect net/ipv4/tpc_output.c

сохдает пакети для з'єднання з встановленим розміром вікна

і відповідними бітами, покладає пакет в чергу і виpивает

tcp_transmit_skb щоб послати пакет

tcp_transmit_skb -Заповнює заголовок пакета і передає його

на уроветь IP

tcp_v4_connect ()

викликає ip_route_connect

створює з'єднувальний пакет і викликає tcp_connect

udp_close

udp_connect

Обмін даними

Ця частина описує процес обміну даними між різними рівнями ядра та мережі Коли додаток відправляє дані то воно пише в сокет той у своб чергу визначає свій тип і викликає відповідну функцію, та передає дані протоколом транспортного рівня (tcp, udp) функції етого рівня створюють структуру sk_buff, копіюють в неї дані заповнюють заголовок свого рівня, вважають контрольну суму і шлють на рівень IP.Там дописується заголовок ip, checksum, можливо пакет фраг ментора і шле на xmit чергу мережевого девайса, той посилає пакет у мережу. p> dev_queue_xmit () - net/core/dev.c

spin_lock_bh () -Блокуємо девайс

якщо у нього є черга

calls enqueue () додаємо пакет

calls qdis () пробуджуємо девайс

else ...


Назад | сторінка 7 з 13 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Основні поняття (сайт, IP-адресу, порт, сокет, сервер, клієнт)
  • Реферат на тему: Призначення програм, що входять в пакет Microsoft Office 2007
  • Реферат на тему: Пакет &Microsoft Office 97&
  • Реферат на тему: Утиліта LogMiner. Пакет DBMS_LOGMNR
  • Реферат на тему: Програмний пакет CA ERwin Modeling Suite