Протокол TCP/IP - это средство для обмена информацией между компьютерами, объединенными в сеть. Не имеет значения, составляют ли они часть одной и той же сети или подключены к отдельным сетям. Не играет роли и то, что один из них может быть компьютером Cray, а другой Macintosh.TCP/IP - это не зависящий от платформы стандарт, который перекидывает мосты через пропасть, лежащую между разнородными компьютерами, операционными системами и сетями. Благодаря программному обеспечению TCP/IP все компьютеры, подключенные к вычислительной сети, становятся "близкими родственниками".
Протоколы TCP (Transport Control Protocol) иIP (Internet Protocol) являются транспортным и сетевым протоколами соответственно встеке протоколов TCP/IP, наиболее широко используемом в настоящее время, благодаря построению на его основе глобальной сети Internet. Протоколы физического уровня и канального уровня в TCP/IP не регламентированы и берутся из технологий ЛВС, таких как Ethernet T1/E1, ATM и т.п.
TCP — дуплексный транспортный протокол с установлением соединения.
Протокол TCP обеспечивает надежную передачу сообщений между удаленными прикладными процессами за счет образования логических соединений. Этот протокол позволяет компьютеру-отправителю и компьютеру-получателю поддерживать обмен данными в дуплексном режиме. TCP позволяет без ошибок доставить сформированный на одном из компьютеров поток байт в любой другой компьютер, входящий в составную сеть. TCP делит поток байт на части - сегменты, и передает их ниже лежащему уровню межсетевого взаимодействия. После того как эти сегменты будут доставлены средствами уровня межсетевого взаимодействия в пункт назначения, протокол TCP снова соберет их в непрерывный поток байт. В TCP имеется специальное программное обеспечение для обслуживания соединений. В частности, это может быть программа-демон, которая постоянно готова к работе и при приходе запроса генерирует свою копию для обслуживания создаваемого соединения, а сама программа-родитель ждет новых вызовов.
Функции протокола: установление виртуального канала путем обмена запросом и согласием на соединение, упаковка и распаковка пакетов на концах транспортного соединения, контроль правильности передачи пакетов (получатель подтверждает правильность полученных данных), управление потоком ( получатель сообщает размер окна, т.е. диапазон номеров пакетов, которые получатель готов принять), помещение срочных данных между специальными указателями, т.е. возможность управлять скоростью передачи.
Схема установления соединения при дуплексной передаче такова: инициатор соединения обращается к своей ОС, которая в ответ выдает номер протокольного порта и посылает сегмент получателю. Тот должен подтвердить получение запроса и послать свой сегмент-запрос на создание обратного соединения (так как соединение дуплексное). Инициатор должен подтвердить создание обратного соединения.
Во время этих обменов партнеры сообщают номера байтов Бпр и Бобр в потоках данных, с которых начинаются сообщения и обеспечивают механизм синхронизации в дейтаграммной передаче, реализуемой на сетевом уровне. При этом номера протокольных портов включаются в заголовок пакета. Разъединение происходит в обратном порядке.