Страниц: [1]
  Печать  
Автор Тема: Время прохождения пакета по сети  (Прочитано 11061 раз)
juvf
Участник
*
Offline Offline

Сообщений: 22


Просмотр профиля
« : Декабря 24, 2009, 09:40:03 am »

Я в сетях новичок, вопрос теоретический.... Отправили данные фиксированной длинны, например 100 байт, из точки А в точку Б по TCP/IP. В точку Б эти 100 б пришли (причём, возможно они пришли частями, т.е. побились на несколько пакетов). Как только пришли все 100 б в точку Б, фиксируется время с высокой точностью (e.g. ~1 мкс). Необходимо в точке Б вычислить время отправки данных из А с погрешностью ....... заказчик требует <10 мкс. Теоретически возможно определить время прохождения этих 100 байт в точке Б и с какой точностью?
Записан
mike
QOR.Moderator
*****
Offline Offline

Сообщений: 1186


Welcome to Lunatic Asylum.


Просмотр профиля WWW
« Ответ #1 : Декабря 24, 2009, 09:43:36 am »

RFC781 - Specification of the Internet Protocol (IP) timestamp
RFC1323 - TCP Extensions for High Performance
« Последнее редактирование: Декабря 24, 2009, 09:46:26 am от mike » Записан
olej
QOR.Team
****
Offline Offline

Сообщений: 42



Просмотр профиля
« Ответ #2 : Декабря 26, 2009, 12:35:13 am »

Я в сетях новичок, вопрос теоретический.... Отправили данные фиксированной длинны, например 100 байт, из точки А в точку Б по TCP/IP. В точку Б эти 100 б пришли (причём, возможно они пришли частями, т.е. побились на несколько пакетов). Как только пришли все 100 б в точку Б, фиксируется время с высокой точностью (e.g. ~1 мкс). Необходимо в точке Б вычислить время отправки данных из А с погрешностью ....... заказчик требует <10 мкс. Теоретически возможно определить время прохождения этих 100 байт в точке Б и с какой точностью?
Здесь кое-что есть (в том числе и оценки времени):
http://qnxclub.net/modules.php?name=Forums&file=viewtopic&t=165
Но задача у вас - очень непростая Wink
+ у вас к погрешностям определения времени добавится систематический разбег часов хоста А и хоста Б ... в общем, почитаете Wink
« Последнее редактирование: Декабря 26, 2009, 12:38:10 am от olej » Записан
olej
QOR.Team
****
Offline Offline

Сообщений: 42



Просмотр профиля
« Ответ #3 : Декабря 26, 2009, 01:01:17 am »

Как только пришли все 100 б в точку Б, фиксируется время с высокой точностью (e.g. ~1 мкс). Необходимо в точке Б вычислить время отправки данных из А с погрешностью .......

А вы не фиксируйте Wink
Вы просто в тело отправляемого пакета впишите метку времени, отправки с хоста А, да ещё полученную каким-нибудь ClockCycles().
Записан
juvf
Участник
*
Offline Offline

Сообщений: 22


Просмотр профиля
« Ответ #4 : Декабря 28, 2009, 01:09:20 pm »

Ну изночально в задаче нет часов в точке А. Но я уже немножко разобрасля с TCP/IP и понял, что время передачи пакета по TCP/IP вычислить невозможно, например как это возможно в RS-485, SPI или по параллельной шине. Придется в точке А организовывать часы как-то синхронизировать их, например NTP.
Записан
mike
QOR.Moderator
*****
Offline Offline

Сообщений: 1186


Welcome to Lunatic Asylum.


Просмотр профиля WWW
« Ответ #5 : Декабря 28, 2009, 01:10:16 pm »

синхронизация часов должна быть всегда! имхо
Записан
juvf
Участник
*
Offline Offline

Сообщений: 22


Просмотр профиля
« Ответ #6 : Декабря 28, 2009, 01:11:50 pm »

опечатолся в первом посте, не 10 мкс, а 10 мс.
Записан
Landy
Jr. Member
**
Offline Offline

Сообщений: 65


Просмотр профиля WWW
« Ответ #7 : Декабря 28, 2009, 02:51:57 pm »

Посмотрите протокол RTP http://www.rfc-editor.org/rfc/std/std64.txt
касательно RTCP. Там где-то к концу документа есть пример расчета

Записан
olej
QOR.Team
****
Offline Offline

Сообщений: 42



Просмотр профиля
« Ответ #8 : Января 02, 2010, 10:12:45 pm »

опечатолся в первом посте, не 10 мкс, а 10 мс.
ну так это же совсем другое дело Wink
в том URL где я показывал - я легко синхронизировался и оценивал временные интервалы порядка 1мс. (всё это в LAN!)
Записан
Roman St.Zhavnis
Участник
*
Offline Offline

Сообщений: 45



Просмотр профиля WWW
« Ответ #9 : Января 11, 2010, 01:27:35 pm »

Если нужно "Время прохождения пакета по сети", почему бы на Б пакеты не заворачивать обратно на А, и промежуток между отправкой и возвратом пакета делить на 2?
Записан
mstumbra
Гость
« Ответ #10 : Февраля 07, 2010, 06:59:06 am »

а что мешает сделать "ping -f -l 100 [destination]"
таким образом мы определяем двустороннюю задержку доставки 100байт до пункта назначения по протоколу сетевого уровня модели OSI
Записан
Страниц: [1]
  Печать  
 
Перейти в: