TCP-броадкастов не существует в принципе.
Ибо протокол — ориентированный на ДВУСТОРОННЕЕ соединение.
Кстати, в ATM есть соединения типа 1 к n, так что если тебе очень нужно — пользуйся
Здравствуйте, Vamp, Вы писали:
V>TCP-броадкастов не существует в принципе. V>Ибо протокол — ориентированный на ДВУСТОРОННЕЕ соединение. V>Кстати, в ATM есть соединения типа 1 к n, так что если тебе очень нужно — пользуйся
хм..а что будет, если послать TCP-пакет на широковещательный адрес сети?
> L>хм..а что будет, если послать TCP-пакет на широковещательный адрес сети? > > Молодой человек, вы откровенно бредите. Уж простите.
Ну почему, если сильно постараться, и ручками сформировать TCP пакет (понятно что
все это баловство), а потом заслать его на broadcast адрес, он дойдет до всех хостов,
но там должен будет побит системой (драйвером TCP) как недоразумение (а может быть
да же раньше, на раутерах или еще каких умных устройствах находящихся на пути).
Мало ли какие пакеты могут шастать по сети.
Здравствуйте, Sashko, Вы писали:
>> L>хм..а что будет, если послать TCP-пакет на широковещательный адрес сети? >> >> Молодой человек, вы откровенно бредите. Уж простите.
S>Ну почему, если сильно постараться, и ручками сформировать TCP пакет (понятно что S>все это баловство), а потом заслать его на broadcast адрес, он дойдет до всех хостов, S>но там должен будет побит системой (драйвером TCP) как недоразумение (а может быть S>да же раньше, на раутерах или еще каких умных устройствах находящихся на пути). S>Мало ли какие пакеты могут шастать по сети.
Можно и спутник космический из металлолома собрать, надо ли?
Здравствуйте, Дмитрий Наумов, Вы писали:
>>> L>хм..а что будет, если послать TCP-пакет на широковещательный адрес сети?
>>> Молодой человек, вы откровенно бредите. Уж простите.
S>>Ну почему, если сильно постараться, и ручками сформировать TCP пакет (понятно что S>>все это баловство), а потом заслать его на broadcast адрес, он дойдет до всех хостов, S>>но там должен будет побит системой (драйвером TCP) как недоразумение (а может быть S>>да же раньше, на раутерах или еще каких умных устройствах находящихся на пути). S>>Мало ли какие пакеты могут шастать по сети.
ДН>Можно и спутник космический из металлолома собрать, надо ли?
А почему бы и нет, а вдруг система рухнет, увидев броадкаст содержащий TCP header а не UDP header (может кто помнить как nuke'алась Windows95, там была ошибка в обработке приходящих пакетов, приводящая к умиранию сети, до следующей перезагрузки), как она наивно надеется. Конечно все это теоретически.
Здравствуйте, Vamp, Вы писали:
V>Я в упор не могу понять, что такое TCP пакет. Кто-нибудь может мне объяснить?
TCP пакет, это блок данных со стандартным заголовком. По сетке (допустим Ethernet) гуляют Ethernet фреймы, для TCP пакета фрейм будет выглядеть так
--------------------------------------------------------------
| ETHERNET HEADER | IP HEADER | TCP HEADER | tcp data area
--------------------------------------------------------------
Причем в Ethernet Header'е есть поле, в котором говориться, что внутри фрейма лежит IP пакет, в свою очередь в IP Header'е есть поле в котором говориться что внутри IP пакета лежит TCP пакет. Такой блок данных, пришедший по сетке, система должна распознать как TCP пакет и передать кому нужно (если нужно).
Здравствуйте, Sashko, Вы писали:
S>Здравствуйте, Дмитрий Наумов, Вы писали:
>>>> L>хм..а что будет, если послать TCP-пакет на широковещательный адрес сети?
>>>> Молодой человек, вы откровенно бредите. Уж простите.
S>>>Ну почему, если сильно постараться, и ручками сформировать TCP пакет (понятно что S>>>все это баловство), а потом заслать его на broadcast адрес, он дойдет до всех хостов, S>>>но там должен будет побит системой (драйвером TCP) как недоразумение (а может быть S>>>да же раньше, на раутерах или еще каких умных устройствах находящихся на пути). S>>>Мало ли какие пакеты могут шастать по сети.
ДН>>Можно и спутник космический из металлолома собрать, надо ли?
S>А почему бы и нет, а вдруг система рухнет, увидев броадкаст содержащий TCP header а не UDP header (может кто помнить как nuke'алась Windows95, там была ошибка в обработке приходящих пакетов, приводящая к умиранию сети, до следующей перезагрузки), как она наивно надеется. Конечно все это теоретически.
Винда нюкалась пакетом, который содержал флаг URGENT_DATA. Она, бедная, просто не знала, что с такими пакетами делать. А еще была такая атака — шторм пакетов. Это когда на broadcast-адрес сети посылался один-единственный запросный пакет, и все компьютеры начинали одновременно на него отвечать, что приводило к перегрузке сети.
Здравствуйте, ENTiTY, Вы писали:
ENT>Здравствуйте, Linuxoid, Вы писали:
L>>хм..а что будет, если послать TCP-пакет на широковещательный адрес сети?
ENT>Вот я это и пытаюсь сделать, но как я понял это не возможно. Подключаясь на адресс 255.255.255.255 функция ::connect выдает ошибку.
S>Причем в Ethernet Header'е есть поле, в котором говориться, что внутри фрейма лежит IP пакет
Вы в этом абсолютно уверены? Мне казалось, что никаких таких полей в заголовках не предусмотрено. S>в свою очередь в IP Header'е есть поле в котором говориться что внутри IP пакета лежит TCP пакет.
То же самое.
Здравствуйте, Vamp, Вы писали:
S>>Причем в Ethernet Header'е есть поле, в котором говориться, что внутри фрейма лежит IP пакет V>Вы в этом абсолютно уверены? Мне казалось, что никаких таких полей в заголовках не предусмотрено. S>>в свою очередь в IP Header'е есть поле в котором говориться что внутри IP пакета лежит TCP пакет. V>То же самое.
Здравствуйте, Vamp, Вы писали:
S>>Причем в Ethernet Header'е есть поле, в котором говориться, что внутри фрейма лежит IP пакет V>Вы в этом абсолютно уверены? Мне казалось, что никаких таких полей в заголовках не предусмотрено. S>>в свою очередь в IP Header'е есть поле в котором говориться что внутри IP пакета лежит TCP пакет. V>То же самое. ???!!!
Байт 9-й в заголовке IP — поле "протокол". 6 = TCP
Здравствуйте, Vamp, Вы писали:
S>>Причем в Ethernet Header'е есть поле, в котором говориться, что внутри фрейма лежит IP пакет V>Вы в этом абсолютно уверены? Мне казалось, что никаких таких полей в заголовках не предусмотрено. S>>в свою очередь в IP Header'е есть поле в котором говориться что внутри IP пакета лежит TCP пакет. V>То же самое.
Перед тем, как что-то написать, иногда бывает полезно подумать. А как, по-твоему, стек протоколов определяет, что находится внутри IP-пакета?!
Здравствуйте, Vamp, Вы писали:
S>>Причем в Ethernet Header'е есть поле, в котором говориться, что внутри фрейма лежит IP пакет V>Вы в этом абсолютно уверены? Мне казалось, что никаких таких полей в заголовках не предусмотрено. S>>в свою очередь в IP Header'е есть поле в котором говориться что внутри IP пакета лежит TCP пакет. V>То же самое.
Это самая простая и логичная вещь, прописывать в заголовке формат payload данных. Используется в многих протоколах. К примеру, в том же HTTP за это отвечает header Content-Type.