Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Изучение-понимание TCP/IP
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
Student Pupkin
Встал вопрос изучения этой темы. И по работе, и самому интересно. Для работы надо внезапно и очень быстро. Для себя - хочется поглубже. Поэтому решил учить как старпом Лом у капитана Врунгеля - сразу и с начала, и с конца smile.gif . Для изучения и опытов имеется платка платка с LPC2468, от стартеркита (SK-MLPC2468).
Пока два вопроса:
1) Для изучения "быстро-внезапно" - пока читаю Олифера для общего понимания сути вещей. Изучение очень поверхностное. Получается самый быстрый вариант - использовать uIP (есть апноут) или Nichelite. Есть ли какие-нибудь подводные камни? Еще пока не понял вот чего - ведь не обязательно пользоваться предоставляемыми там прикладными уровнями? Можно просто посылать какие-нибудь данные, т.е. ограничиваться только транспортными протоколами? Существующие стеки TCP/IP позволяют обращаться к любому уровню?
2) Для изучения "поглубже" - вроде понял, как устроена передача в Ethernet. Хотел было 802.3 почитать - а там 5 документов. Их надо качать все? И еще - как поэтапно начать изучение всего этого? Просто идея такая - передать с платы в комп чего-нибудь, используя просто канальный уровень (передать ethernet-кадр). Но не знаю как такое на компе делать... Подскажете?
Потом хочу, после освоения (rfc791 уже скачал) попробовать передать на уровне IP. Пока эту тему понимаю плохо. Но если следовать этой логике - можно будет "прощупать" таким путем все уровни, имея связку комп - патч-корд - LPC2468? Такая вот мечта - постепенно подниматься к следующим уровням, по сути постепенно писать свой "кастрированный" стек (исключительно для учебных целей). Какой инструмент на компе понадобится, чтобы с платкой по сети общаться на разных уровнях? А знание сокетов тут пригодится?
defunct
Цитата(Student Pupkin @ Nov 12 2009, 22:50) *
2) Для изучения "поглубже" - вроде понял, как устроена передача в Ethernet. Хотел было 802.3 почитать - а там 5 документов. Их надо качать все?

802.3 это физика ethernet, для понимания TCP/IP она не нужна совершенно. Единственное что от туда можно взять, что ограничение на макс размер пакета в ethernet 1518 байт, на min размер - 64 байта, и что ethernet заголовок чаще всего занимает 14 байт.

Для понимания TCP вам нужно почитать:
RFC791 (Internet protocol IP)
RFC793 (Transmission Control protocol TCP)
и опционально
RFC792 (Internet control message protocol ICMP)
RFC768 (User datagram protocol UDP)
Student Pupkin
Цитата(defunct @ Nov 13 2009, 02:34) *
802.3 это физика ethernet, для понимания TCP/IP она не нужна совершенно.

Я думал, что про MAC надо почитать. А то открыл UserManual на LPC2468 посмотреть на блок Ethernet и по первому беглому чтению назначение большинства регистров не понял (может надо второе чтение, третье... как в думе smile.gif ). Или пользоваться этим блоком не сложнее, чем UART-ом и достаточно только знания формата ethernet-кадра?
defunct
Цитата(Student Pupkin @ Nov 13 2009, 02:00) *
Или пользоваться этим блоком не сложнее, чем UART-ом и достаточно только знания формата ethernet-кадра?

Чуть сложнее (у блока регистров больше), но впринципе все так. Достаточно знания формата кадра, даташита и рабочего примера, желательно попроще как EasyWeb.

TCP/IP непосредственно к ethernet не привязан, TCP/IP можно с тем же успехом передавать через COM порт, LPT порт, модем и прочий канал связи.
Для того чтобы жить в ethernet вам понадобится изучить еще один простенький протокол - RFC826 ARP (address resolution protocol), который отвечат за поиск MAC адреса узла сети по заданному IP адресу.

PS: обзаведитесь обязательно каким-нибудь сниффером (ethereal/wireshark), чтобы смотреть пакеты в удобной форме.
Aesthete Animus
Цитата(Student Pupkin @ Nov 12 2009, 23:50) *
2) Для изучения "поглубже" ...

Может это оказаться полезным:
http://www.amazon.com/TCP-IP-Illustrated-1...s/dp/0201633469
dch
а там что нет портированного линукса, там же все на уровне API
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.