Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Сетевые протоколы (HTTP->TCP->IP->Ethernet)

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
amm.dimm



Зарегистрирован: 03.02.2005
Сообщения: 15
Откуда: Воронеж

СообщениеДобавлено: Чт Фев 03 2005 13:36    Заголовок сообщения: Сетевые протоколы (HTTP->TCP->IP->Ethernet) Ответить с цитатой

Если кто-нибудь разбирался с этими вещами... Мне надо пихать хтмл страницы в HTTP пакеты, их в TCP итд. Затем отправлять.

Мне осталось неясно 2 вопроса. Как указать, что тело http пакета содержит непакованные данные ( влом писать gzip, к тому же там данных-то будет байт 200 ). И по таблице Ethernet адресов нифига я не понял... где почитать может подскажете?

Да, и еще. Есть ли программки для отладки таких вещей, т. е. я формирую Ethernet кадр, а программка эта его пихает в сетевуху...

Заранее спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
FUKS



Зарегистрирован: 14.04.2002
Сообщения: 148
Откуда: Москва

СообщениеДобавлено: Чт Фев 03 2005 16:07    Заголовок сообщения: Re: Сетевые протоколы (HTTP->TCP->IP->Ethernet) Ответить с цитатой

Ну и задачка однако! Это ж совсем разные уровни.

пихать хтмл страницы в HTTP пакеты - для начала вообще-то полагается принять запрос на них от клиента, сервер же по своей инициативе их не рассылает, а клиент пихает запросы, а не страницы. Описание HTTP-заголовка есть? И не надо, можно запустить NetVampire, задать ему скачать HTTP-ресурс и посмотреть заголовки, для начала хватит (только Content-Type выставлять сооответствующий содержимому страницы, в данном случае text/html, можно с указанием кодировки).

Запрос:
Код:

GET /page1.htm HTTP/1.0
Host: voronezh-hd.ru
Accept: */*

Ответ:
Код:

HTTP/1.1 200 OK
Date: Thu, 03 Feb 2005 12:48:48 GMT
Server: Samyj Krutoj HTTP-Servak 0.99B (no OS)
Connection: close
Content-Type: text/html

(Типичный вариант, для прямого соединения, без проксей.)

Как указать, что тело http пакета содержит непакованные данные
А зачем это отдельно указывать? Это всё в том же Content-Type прописано.

И по таблице Ethernet адресов нифига я не понял... где почитать может подскажете?
А что, программа без операционной системы должна работать, напрямую с Ethernet-картой? Тогда она должна уметь опознавать её, т.е. знать как узнать её наличие в компе и номера портов, настраивать режим прямого доступа к памяти для неё... А под ОС всё это уже есть и доступно через WinSock API под Windows (подключается winsock.h в исходнике и пара dll-ок при линковке) или нативно встроено в Unix и т.п., функции socket, bind+listen+accept на сервере, connect на клиенте - это всё в любом хелпе/мане описано подробно.

Да, и еще. Есть ли программки для отладки таких вещей, т. е. я формирую Ethernet кадр, а программка эта его пихает в сетевуху...

Есть программа X-Spider, но не помню работает ли она с Ethernet-кадрами, не приходилось так глубоко копать. Ещё можно порыть по ключевому слову "сниффер".
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
amm.dimm



Зарегистрирован: 03.02.2005
Сообщения: 15
Откуда: Воронеж

СообщениеДобавлено: Чт Фев 03 2005 17:21    Заголовок сообщения: Ответить с цитатой

пихать хтмл страницы в HTTP пакеты - для начала вообще-то полагается принять запрос на них от клиента, сервер же по своей инициативе их не рассылает, а клиент пихает запросы, а не страницы. -- ну эт-то ясно.

Как указать, что тело http пакета содержит непакованные данные
А зачем это отдельно указывать? Это всё в том же Content-Type прописано.
-- это я раскопал. Кстати в Content-Type указывается тип данных, а насчет упаковки -- есть поле Content-Encoding. Как я выяснил, если его не указывать, а указать Content-Length (это если не бить данные на несколько http кусков (Transfert-Encoding: Chunked)) тогда их паковать не надо...

А что, программа без операционной системы должна работать, напрямую с Ethernet-картой? -- именно, сразу не написал, чтобы народ не распугать, потому что это к реализации самих протоколов не имеет никакого отношения. Прога будет в Микрухе крутиться, микруха соединена с Ethernet контроллером. Приходит запрос с парой-тройкой переменных, она коротенько отвечает.

Насчет Ethernet адресов -- я читал, что периодически рассылаются широковещательные запросы, из полученных ответов строится таблица Ethernet адресов, каждый из которых может быть использован в качестве Ethernet адреса получателя при отправке Ethernet кадра. Но все это было описано слишком поверхностно и размыто. Вот я и спрашиваю, может кто-нибудь знает хорошую литературу по этому поводу (желательно русскую).

Есть программа X-Spider, но не помню работает ли она с Ethernet-кадрами, не приходилось так глубоко копать. Ещё можно порыть по ключевому слову "сниффер". -- поищу.

Большое спасибо, что откликнулся... Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
FUKS



Зарегистрирован: 14.04.2002
Сообщения: 148
Откуда: Москва

СообщениеДобавлено: Чт Фев 03 2005 18:14    Заголовок сообщения: Ответить с цитатой

amm.dimm писал(а):
Кстати в Content-Type указывается тип данных, а насчет упаковки -- есть поле Content-Encoding.

Даже не слышал о таком Cool. А значит оно и не нужно, наворот это, в общем случае не используется. Похоже, оно намекает, что данные закодированы в виде Quoted-printable или Base64?

Как я выяснил, если его не указывать, а указать Content-Length ...
Content-Length тоже не обязательно указывать Cool

Насчет Ethernet адресов -- я читал, что периодически рассылаются широковещательные запросы, из полученных ответов строится таблица Ethernet адресов, каждый из которых может быть использован в качестве Ethernet адреса получателя при отправке Ethernet кадра.
Насколько я знаю, обычно периодически они не рассылаются, поэтому после смены карточки в машине в локальной сети она не может работать, потому как остальные хосты в ЛС помнят её старый Ethernet-адрес. Если речь идёт об ARP-запросах, то они рассылаются каждым хостом одноразово, чтобы узнать Ethernet-адрес хоста локальной сети, которому принадлежит IP-адрес получателя. Конкретных подробностей этого дела не знаю.

Но все это было описано слишком поверхностно и размыто. Вот я и спрашиваю, может кто-нибудь знает хорошую литературу по этому поводу (желательно русскую).
Можно опять же поиском по ключевым словам пройтись, а самая толковая литература - RFC, но это на английском. Точных ссылок не дам, вот нарыл: http://www.ripn.net:8080/nic/archive.html

Большое спасибо, что откликнулся... Smile
Жаль, что не могу помочь более конкретно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
amm.dimm



Зарегистрирован: 03.02.2005
Сообщения: 15
Откуда: Воронеж

СообщениеДобавлено: Пт Фев 04 2005 09:26    Заголовок сообщения: Ответить с цитатой

FUKS писал(а):
вот нарыл: http://www.ripn.net:8080/nic/archive.html

удобный каталог, спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
FUKS



Зарегистрирован: 14.04.2002
Сообщения: 148
Откуда: Москва

СообщениеДобавлено: Пт Фев 04 2005 13:59    Заголовок сообщения: Ответить с цитатой

Да, вспомнил! Первоисточник - http://w3c.org/
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
amm.dimm



Зарегистрирован: 03.02.2005
Сообщения: 15
Откуда: Воронеж

СообщениеДобавлено: Пт Фев 04 2005 14:29    Заголовок сообщения: Ответить с цитатой

Прикольный у нас форум... из двух человек.
FUKS писал(а):
Да, вспомнил! Первоисточник - http://w3c.org/
Чего-т я там ничего не нашел полезного, там html и на этом уровне все...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
FUKS



Зарегистрирован: 14.04.2002
Сообщения: 148
Откуда: Москва

СообщениеДобавлено: Пн Фев 07 2005 15:44    Заголовок сообщения: Ответить с цитатой

amm.dimm писал(а):
Чего-т я там ничего не нашел полезного, там html и на этом уровне все...

Э-э, а может и ошибся...
Тогда http://www.yandex.ru/yandsearch?text=IEEE+802&stype=www
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...