2012-06-07 4 views

ответ

5

Данные транспортного уровня могут быть разбиты на множество кадров/пакетов уровня передачи данных.

Возможно, что даже без каких-либо ошибок в линии передачи данных поток/пакет транспортного уровня может быть поврежден. Редактировать: Это потому, что путь, транспортный уровень, как правило, состоит из многих слоя канального хмель, например:

Host1 <----> switch1 <----> switch2 <----> Host2 

, если пакет был потерян между switch1 и switch2, то не было бы никаких ошибок, записанных на ссылке switch2Host2, но соответствующий поток транспортного уровня будет поврежден.

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

+0

Можете ли вы рассказать о том, как это возможно? Если каждый пакет получил ошибку, как сообщение может содержать ошибки? – Shookie

+0

@Shookie посмотрите отредактированный ответ на возможный сценарий, иллюстрирующий это – wroniasty

+0

Спасибо! Но пример, который вы дали, связан с потерей пакета. Я думал, что вы подразумеваете, что все пакеты могут добраться до места назначения и все еще быть поврежденными (после прохождения уровня канала передачи данных). – Shookie

0

Предполагая, что контрольная сумма была правильной, этот результат означает, что данные были повреждены при транспортировке. Кроме того, повреждение произошло не на линиях передачи (где оно было уловлено CRC), а скорее должно произойти в одной из промежуточных систем (маршрутизаторы и мосты) или принимающие или принимающие хосты.

http://conferences.sigcomm.org/sigcomm/2000/conf/paper/sigcomm2000-9-1.pdf

1

Это действительно зависит от протоколов, а не на уровне, но при условии, вы имеете в виду TCP ...

обнаружения ошибок TCP минимальна и предназначен скорее как проверка целостности, чем какой-либо надежной ошибки обнаружение. Причина, по которой вы не видите этого, - практика, заключающаяся в том, что уровни данных для передачи данных, такие как Ethernet, PPP, FrameRelay и т. Д., Имеют гораздо более надежные алгоритмы обнаружения ошибок, и поэтому практически нет ошибок передачи для протокола TCP для обнаружить.

Если у вас был другой протокол транспортного уровня с надежным обнаружением ошибок, вы бы не нуждались в нем строго на более низких уровнях. Преимущество, в основном, связанное с производительностью и использованием ресурсов, - отбросить ошибки как можно меньше в стеке.

Обратите внимание, что ошибки могут ползать в выше транспортном уровне из-за таран глюков и т.д., так что если данные действительно, действительно важно, то вы должны включать в себя проверку ошибок прямо в приложении.

3

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

Для получения дополнительной информации, обратитесь к

http://books.google.ca/books?id=9c1FpB8qZ8UC&pg=PA216&lpg=PA216&dq=why+error+detection+and+correction+both+in+transport+and+link+layer+?&source=bl&ots=RI7-DU8RO0&sig=0U5Z9AmKkx3m3TA71WfIe1uTeW0&hl=en&sa=X&ei=LbqPUsahOtDEqQHyvIHQCw&ved=0CDUQ6AEwAQ#v=onepage&q=why%20error%20detection%20and%20correction%20both%20in%20transport%20and%20link%20layer%20%3F&f=false

-1

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

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

+0

Очень небольшое количество протоколов передачи данных выполняет коррекцию ошибок. Большинство делают обнаружение ошибок, и они отбрасывают любые кадры, которые имеют ошибки, но не исправляют ошибки. –