Я хочу знать, как сетевой пакет проходит через разные уровни, то есть от физического уровня до уровня представления в системах Linux.
Есть ли подробные статьи или книги на эту тему с кодом?
Я хочу знать, как сетевой пакет проходит через разные уровни, то есть от физического уровня до уровня представления в системах Linux.
Есть ли подробные статьи или книги на эту тему с кодом?
Модель уровня OSI - это не то, как на самом деле программируется сеть. Вы можете проверить эту книгу, если вас интересуют примеры кода на C:
7 Application
6 Presentation
5 Session
4 Transport
3 Network
2 Data
1 Physical
TCP / IP combines certain layers
7-5 Application
4 Transport
3 Internetwork
2-1 Network Access
Концептуально модель OSI выглядит следующим образом
7 Application---- ------------- Application
6 Presentation--- ------------- Presentation
5 Session-------- ------------- Session
4 Transport------ ------------- Transport
3 Network-------- ---Network--- Network
2 Data----------- ---Data------ Data
1 Physical------- ---Physical-- Physical
Кажется, что каждый посылающий уровень прозрачно связывается с соответствующим принимающим уровнем. В маршрутизируемых сетях (средний столбец) то же самое верно.
Когда пакет уменьшается с 7 до 1, каждый уровень присоединяет информацию заголовка, которую нижний уровень видит как протокольную единицу данных. Когда пакет поднимается по модели, каждый слой удаляет заголовок.
не дешевый, но один из определенной классики. Ричад Стивенс: «Иллюстрированный протокол TCP/IP Vol.1 Протоколы». Очень тщательно, конечно же, охватывает UDP, ICMP и т. П.
Если вы увлекаетесь программированием, есть также «Реализация TCP/IP, том 2, реализация» Гари Райта.