Сетевой протокол to net

Сетевой протокол to net

IP (Межсетевой Протокол) был первоначально разработан два десятилетия назад для Отдела Защиты Соединенных Штатов (DoD), главным образом с целью соединения компьютеров различных марок. TCP/IP — это набор допустимых протоколов, имеющих многоуровневую структуру, чтобы избежать привязки кода прикладных программ к сетевому аппаратному обеспечению. Хотя он и основан на многоуровневой модели, он ориентирован более на задачи соединений, чем на твердое соблюдение функциональных уровней. Это одна из причин, почему TCP/IP стал фактическим стандартным протоколом работы с сетями в отличие от OSI. Работа с сетями по протоколу TCP/IP была заложена в Linux с самого начала. Она была выполнена заново и является одной из наиболее продуманных, быстрых и надежных реализаций и потому является одним из ключевых факторов успеха Linux. Дополнительный источник: http://sunsite.unc.edu/mdw/HOWTO/NET-3-HOWTO.html

IPX/SPX (Межсетевой Пакетный Обмен/Последовательный Пакетный Обмен) — стек протоколов, разработанный и являющийся собственностью Novell и основанный на XNS протоколе фирмы Xerox. IPX/SPX стал в начале 1980-ого неотъемлемой частью системы Novell Netware. Система Netware стала фактической стандартной сетевой операционной системой (NOS) для первого поколения локальных вычислительных сетей. Novell выполнил свою NOS с бизнес-ориентируемым набором прикладных программ и утилитами подключения со стороны пользователя.

  • IPX маршрутизатор
  • IPX мост
  • NCP клиент и/или NCP сервер (для совместного использования файлов)
  • клиент печати Novell, сервер печати Novell

  • Допускает PPP/IPX, позволяя машине с Linux работать как PPP сервер/клиент
  • IPX tunnelling через IP, позволяя соединить две IPX сети через исключительно IP связь

Дополнительно, Caldera предлагает коммерческую поддержку для Novell Netware под Linux. Caldera обеспечивает полнофункционально клиента Novell Netware, созданного по технологии, запатентованной корпорацией Novell. Клиент обечспечивает обеспечивает полный клиентский доступ к файлсерверам Novell 3.x и 4.x и включает функции типа Netware Directory Service (NDS) и RSA шифрование.

Appletalk — имя сетевого стека Apple. Он позволяет peer-to-peer сетевую модель, которая обеспечивает базовые функциональные возможности типа совместного использования принтера и файлов. Каждая машина может работать одновременно как клиент и сервер, все необходимое программное и аппаратное обеспечение поставляются с каждым компьютером Apple.

Linux обеспечивает полную работу с сетями Appletalk. Netatalk — реализация на уровне ядра набора протоколов AppleTalk, первоначально разработанного для bsd-совместимых систем. Она включает поддержку для маршрутизации AppleTalk, обслуживание файловых систем Unix и AFS поверх AFP (AppleShare), обслуживание принтеров Unix и доступ к принтерам AppleTalk через PAP.

За подробностями обратитесь к разделу 5.1.

Некоторые третьи фирмы обеспечивают продукты T-1, T-3, X. 25 и Frame-Relay для Linux. Обычно для этих типов соединений требуются специальные аппаратные средства. Продавцы, торгующие аппаратными средствами, также предлагают драйвера поддержки протоколов.

Ядро Linux имеет встроенную поддержку ISDN. Isdn4linux управляет адаптерами ISDN для PC и может эмулировать модем с набором команд Hayes («В» команды). Предоставляются возможности от просто использования программы терминала до соединений через HDLC (используя включенные устройства) для полного подключения к Интернет по PPP к звуковым прикладным программам.

Linux ядро имеет встроенную поддержку для PPP (Point-to-Point-Protocol), SLIP (IP для последовательных линий) и PLIP (IP для параллельных линий). PPP — наиболее популярный метод, с помощью которого пользователи подключаются к своему ISP (провайдер услуг Интернет). PLIP обеспечивает дешевое соединение двух машин. Он использует параллельный порт и специальный кабель, достигая скоростей от 10kBps до 20kBps.

Linux ядро имеет встроенную поддержку для радиолюбительских протоколов.

Особенно интересен — AX.25. Протокол AX.25 предлагает и соединенный, и несоединенный режимы работы, и используется для связи либо по собственному протоколу, либо для переноса пакетов других протоколов типа TCP/IP и NetRom.

ATM поддержка для Linux в настоящее время очень сырая. Имеется экспериментальный релиз, который поддерживает простые ATM соединения (PVCs и SVCs), IP над ATM, эмуляцию локальной вычислительной сети .

Источник

Основы работы с сетями в C# и .NET

Сегодня миллионы компьютеров и устройств связаны в глобальную сеть интернет, либо в отдельные локальные подсети. В связи с этим возникает необходимость создания приложений, которые бы использовали все преимущества передачи данных по сети. Например, одним из распространенных приложений, которое использует передачу по сети, является веб-браузер. И платформа .NET и язык программирования C# предоставляют все необходимые возможности для создания приложений, которые могут взаимодействовать по сети и использовать различные сетевые протоколы.

Но прежде чем переходить непосредственно к созданию приложений, надо пару слов сказать, что вообще представляет собой коммуникация в сети.

Вся сеть состоит из отдельных элементов — хостов, которые представляют собой компьютеры и другие подключенные устройства. Между собой они соединены каналами связи (кабели Ethernet, Wi-Fi и т.д.) и маршрутизаторами. Маршрутизаторы объединяют компьютеры в подсети и контролируют передачу данных между ними.

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

Существует множество различных протоколов. Протоколы, которые используются для передачи данных по сети, составляют семейство протоколов TCP/IP. Основные из них: Internet Protocol (IP), Transmission Control Protocol (TCP) и User Datagram Protocol (UDP). Причем эти протоколы организованы в уровневую систему:

Передача данных по протоколам TCP/IP

IP представляет сетевой уровень. Он использует нижележащие уровни, которые представляют физические каналы коммуникации — кабели Ethernet и т.д., для передачи пакетов с данными другому хосту.

Выше IP располагается транспортный уровень, который образуют протоколы TCP и UDP. Эти протоколы используют определенные порты для передачи данных. TCP позволяет отследить потерю пакетов и их дублирование при передаче. UDP подобного не позволяет сделать и нацелен на простую передачу данных.

Однако приложение взаимодействует с уровнем TCP / UDP не напрямую, а через специальный API, который предоставляют сокеты . Сокеты — это не какой-либо протокол, это просто интерфейс для создания сетевых приложений, который опирается на встроенные возможности операционной системы.

В зависимости от используемого протокола различают два вида сокетов: потоковые сокеты (stream socket) и дейтаграммные сокеты (datagram socket). Потоковые сокеты используют протокол TCP, дейтаграммные — протокол UDP.

В итоге, когда приложение посылает сообщение приложению, запущенному на другом хосте, то приложение обращается к сокетам для передачи данных на уровень TCP / UDP. Далее с этого транспортного уровня данные передаются сетевому уровню — уровню протокола IP. И этот протокол передает данные далее физическим уровням, и после этого данные уходят по сети.

Чтобы уникально определять хосты в сети каждый хост имеет адрес. Существует несколько различных протоколов адресов. В настоящее время наиболее распространен протокол IPv4, который предполагает представление адреса в виде 32-битного числа, например, 37.120.16.63. Такой адрес содержит четыре числа, разделенных точками, и каждое число находится в диапазоне от 0 до 255. Однако также в последнее время набирает оборот использование адресов протокола IPv6, которые представляют собой 128-битное значение.

Однако такие адреса очень сложно запомнить, поэтому в реальности чаще оперируют доменами. Домены представляют специальные названия, используемые для интернет-адресов. Например, есть доменное имя «www.microsoft.com», ему соответствует адрес в формате IPv4 2.23.143.150. Но для протокола IP, через который идет взаимодействие, доменные адреса не существуют. Поэтому при отправке или передаче данных по доменному имени, компьютер еще обращается к службам Domain Name System (DNS), который выполняют сопоставление между интернет-адресами в формате IPv4 или IPv6 и доменными названиями.

Кроме адреса при сетевых взаимодействиях используются порты . Порт представляет 16-битное число в диапазоне от 1 до 65 535. Использование портов позволяет разграничить несколько запущенных приложений на одном хосте.

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

Собственно, это все базовые принципы взаимодействия по сети, которые надо знать. В реальности, как правило, при создании приложений не потребуется глубокого знания всех протоколов и нюансов их работы. Если в редких случаях возникнет необходимость более детального знания протоколов, то в этом случае можно обратиться к специализированной литературе, в данном же руководстве мы сосредоточимся непосредственно на тех возможностях, которые предоставляет фреймворк .NET для работы с сетью.

Основная функциональность фреймворка .NET по работе с сетями содержится в пакете System.Net . Также есть дополнительные пакеты:

  • System.Net.Http : содержит функциональность по работе с протоколом HTTP
  • System.Net.NetworkInformation : редоставляет доступ к данным о сетевом трафике и сетевых адресах, а также к прочей информации о хостах сети. Также предоставляет функциональность ping
  • System.Net.Security : предоставляет сетевые потоки для безопасной связи между хостами
  • System.Net.Sockets : предоставляет доступ к функциональности сокетов операционной системы
  • System.Net.WebSockets : предоставляет доступ к реализации инфтерфейса WebSocket
  • System.Net.Quic : содержит типы, которые реализуют протокол QUIC в соответствии со спецификацией RFC 9000.

Источник

what’s the difference between net.tcp and TCP protocol?

I am reading the < Learning WCF >by Michele Leroux Bustamante. In this book, when it comes to net.tcp protocol, the author just says TCP instead. So what’s the difference between net.tcp and the famous TCP protocol? And as in net.msmq, net.pipe, what does the net prefix mean? Many thanks.

net.tcp is a uri scheme while TCP is a only a protocol. this is used for WCF to receive or send a WCF message over TCP using .NET framing binary protocol when using the default binding. The default for this is port 808 and the framing format uses .net binary message framing.

4 Answers 4

net.tcp is simply the URI scheme used within Windows to identify endpoints that can be accessed using TCP.

Similarly, net.msmq and net.pipe , are the URI schemes to address endpoints that utilise the MSMQ protocol and Named Pipes protocol, respectively.

The net prefix on all three indicates that the URI scheme was devised solely for use on the Microsoft .NET platform and is not generally accepted in the wider internet. (Other URI schemes, such as http and ftp have have generally accepted meanings and are therefore utilised within WCF without any prefix). The net prefix therefore serves as an warning bell that the associated endpoint will have limited/no interoperability with other applications that are not running on the .NET platform.

net.tcp://localhost:7272 net.msmq://somemachine/publicQueue net.pipe://machine.domain.com/somePipe 

SIDEBAR: While MSMQ and Named Pipes are clearly Microsoft protocols and therefore a lack of interoperability is unsurprising, TCP is the foundation protocol of the internet and therefore, surely it’s use in WCF should not be .NET specific?

Well, interoperability in WCF is already handled by SOAP and HTTP, which both run on top of TCP. If you want interoperability over TCP — use one of those protocols.

Microsoft was therefore looking to provide a communication alternative where performance, rather than interoperability, was the key objective. TCP was the logical choice, but TCP is a relatively low level protocol, which requires additional behavior and defaults to be implemented in order to work in a straight-forward manner for a messaging framework like WCF. In addition, there is no generally accepted URI scheme for TCP accessible resources and therefore Microsoft needed to invent one. Thus, net.tcp was born.

While the URIs themselves don’t necessarily indicate exactly which binding to use, they do provide a hint. As per Simon Mourier’s answer, the bindings currently available within WCF can be found here. So, for instance, a net.tcp address could indicate that NetTcpBinding, NetPeerTcpBinding, or NetTcpContextBinding is required.

Источник

Читайте также:  Понятие и виды компьютерных сетей сеть internet как информационная среда
Оцените статью
Adblock
detector