Jaka jest różnica między komunikacją Ethernet a komunikacją szeregową?


11

Wszystkie ruchy myszy, połączenia USB i inne urządzenia peryferyjne, takie jak drukarki itp., Nazywane są komunikacją szeregową. Jeden bit na raz.

Na razie w porządku. Ale jeśli chodzi o protokół TCP, Ethernet i internet, nie jest już nazywany komunikacją szeregową. Ale to też jest bit na sekundę.

Dlaczego to jest takie? Jaka jest główna różnica? Nie mogłem zrozumieć, dlaczego nie jest to komunikacja szeregowa.


4
Po pierwsze: drukarki bardzo długo używały komunikacji równoległej. Następnie, czy możesz podać źródło twierdzące, że Internet nie jest szeregowy? Sam TCP wygląda dla mnie szeregowo. Jeden pakiet jest przesyłany jednocześnie, a fakt, że można przesłać kilka kolejnych pakietów, nie czyni go więcej równoległym. Współczesny Ethernet jest właściwie równoległy. Kabel ma 4 skręcone pary i każda para wysyła po jednym bicie, więc w nowoczesnym Ethernecie wysyłasz 4 bity jednocześnie.
AndrejaKo

jeśli jest to serial, to dlaczego używamy karty Ethernet? a po drugie, dlaczego w książkach nie jest to komunikacja szeregowa?
user16307

Cóż, trochę trudno jest mi odpowiedzieć na ten komentarz.
AndrejaKo

1
Na jednym poziomie mamy ogólne typy portów, takie jak porty szeregowe i porty równoległe. Na innym poziomie mamy faktyczną implementację takich portów, jak RS-232, RS-485 lub USB dla portów szeregowych i IEEE 1284 lub powiedzmy ATA dla portów równoległych.
AndrejaKo

1
Każdy typ portu ma swoją specyfikę. RS-232 jest mniej lub bardziej łatwy do wdrożenia, ale jest powolny i ma krótki zasięg. Z drugiej strony Ethernet jest bardzo złożony i często jest postrzegany jako część większego stosu sieciowego, ma większy zasięg i jest znacznie szybszy.
AndrejaKo

Odpowiedzi:


15

Prawdopodobnie co najmniej trzy powody:

  1. W czasach, w których porty RS-232 były powszechne, był to jak dotąd najbardziej powszechny sposób komunikacji bit-at-time, tak bardzo, że termin „port szeregowy” stał się synonimem „portu RS-232”; użycie terminu „serial” w połączeniu z czymkolwiek innym wprowadziłoby zamieszanie. Zauważ, że USB unika takich pomyłek głównie dlatego, że rzadko określa się je mianem „Universal Serial Bus”, więc istnienie słowa „serial” w jego długiej nazwie nie jest problemem.
  2. W prawie wszystkich przypadkach porty RS-232 ich odpowiedniki na poziomie logicznym przesyłają pojedyncze bajty otrzymywane z oprogramowania oraz pojedyncze bajty przychodzące dostępne dla oprogramowania po ich otrzymaniu. Natomiast większość urządzeń Ethernet poczeka, aż oprogramowanie dostarczy cały pakiet (od 64 do 1536 bajtów), zanim rozpocznie transmisję, i poczeka, aż otrzyma i zweryfikuje cały pakiet, zanim udostępni go programowi. Chociaż bity i bajty mogą być przesyłane szeregowo za pośrednictwem drutu, oprogramowanie ani nie wie, ani nie dba o to. Po prostu wie, że jakiś czas po tym, jak jeden kontroler jest zasilany pakietem i polecony go wysłać, inny kontroler zgłosi dostępność pakietu i pozwoli oprogramowaniu go odczytać.
  3. „Port szeregowy” gwarantuje przesyłanie bajtów danych w sekwencji chronologicznej dostarczanej przez oprogramowanie i udostępnianie ich oprogramowaniu w sekwencji chronologicznej, w której są odbierane; byłoby raczej bezużyteczne, gdyby tak nie było. Wszystkie systemy Ethernet i Internet gwarantują, że gdy pakiet jest wysyłany z jednego węzła do drugiego, aranżacjabajtów udostępnionych odbiorcy będzie pasować do układu bajtów dostarczonych przez nadawcę, ale nie ma wspólnej specyfikacji wymagającej, aby kolejność chronologiczna, w której dane są przesyłane, miała jakikolwiek związek z ich rozmieszczeniem w pakiecie. Ponadto istnieją jedynie gwarancje, które można udzielić w odniesieniu do chronologicznego sekwencjonowania pakietów względem siebie, są bardzo niejasne. Jeśli pakiet X zostanie dostarczony w niedzielę o 11:47, a pakiet Y zostanie dostarczony następnego dnia o 15:28, można bezpiecznie założyć, że Y został wysłany po X. Z drugiej strony, jeśli X zostanie dostarczony o 1:47:12 i Y jest dostarczane o 1:47:15, jest całkiem możliwe, że Y został wysłany pierwszy, ale X zajęło więcej czasu.

Nawiasem mówiąc, połączenie Ethernet 10-base-T wysyła poszczególne bity po kolei, ale szybsze okablowanie często wykorzystuje różne metody sygnalizacji do wysyłania wielu bitów jednocześnie.


więc Internet jest rodzajem komunikacji szeregowej z opóźnieniem. czy możemy powiedzieć, że jest to komunikacja szeregowa w czasie rzeczywistym, ponieważ najpierw dane szeregowe są przechowywane przed użyciem?
user16307

@ cmd1024 Problem polega na tym, że Internet jest niezwykle złożony. W rzeczywistości może działać jako równoległe medium komunikacyjne, ale wchodzilibyśmy tutaj w mętne wody routingu internetowego. Nie jest niczym niezwykłym, że jeden pakiet jedzie w jedną stronę, a drugi w inny sposób, jeśli chodzi o tranzyt między dwoma komputerami w Internecie, więc może być równoległy. Istnieją nawet sposoby dostępu do Internetu, które umożliwiają korzystanie z kilku interfejsów sieciowych i które umożliwią w pełni równoległą komunikację.
AndrejaKo

więc internet nie jest szeregowy, jest mieszany? czy wszyscy się zgadzamy?
user16307

2
@ cmd1024 Myślę, że najlepiej poczekać, aż clabacchio skończy pisać swoją odpowiedź. Pytanie, które zadałeś, jest bardzo trudne, ponieważ z jednej strony Internet działa na zupełnie innym poziomie niż prosty port RS-232.
AndrejaKo

1
Internet! = Ethernet. Rozmawiam z niektórymi urządzeniami korzystającymi z surowego Ethernetu, bez ip lub tcp / udp. Nawet że 802.3 opiera się na phy, która jest tylko różnicową linią szeregową.

7

Ethernet może być przesyłany szeregowo i ogólnie był do czasów 1000BASE-T.

Ale jest spakowany, dosłownie nie można wysłać jednego ważnego bajtu, ponieważ istnieje stos adresów, CRC itp. Ethernet nie zapewnia również porządku między pakietami, więc możesz wysyłać pakiety AB i C, ale odbiornik może uzyskać je w kolejności CA B. Istnieje również wykrywanie kolizji i ponowna transmisja.

Ogólnie jest to o wiele bardziej skomplikowane niż połączenie szeregowe.


Doskonały punkt na temat sekwencjonowania pakietów.
supercat

Kolejność, jeśli pakiety są obsługiwane przez warstwy wyższe w stosie OSI niż warstwa phy Ethernet. Z pewnością możesz wysłać jeden bajt na linii Ethernet. Jest tak samo bez znaczenia jak pojedynczy bajt w linii RS232. Oba wymagają protokołu wyższej warstwy, aby zrozumieć bajt.

4

Odpowiedź brzmi: stos ISO- OSI .

OSI oznacza Open Systems Interconnection (ISO to Międzynarodowa Organizacja Normalizacyjna) i jest to model, który określa strukturę używaną do przesyłania danych między wszelkiego rodzaju urządzeniami. Każdy poziom jest inną warstwą abstrakcji i dodaje reguły lub szczegóły definiujące protokół komunikacyjny.

Podczas gdy Internet (wyłączając rzeczy, które są z nim powszechnie kojarzone, takie jak HTTP) należy do wyższych warstw (warstwa sieciowa), komunikacja szeregowa jest tylko sposobem na zdefiniowanie warstwy fizycznej.

wprowadź opis zdjęcia tutaj

Jest to stos modelu OSI w porównaniu z modelem TCP / IP używanym do Internetu: widać, że Internet jest zdefiniowany na poziomie sieci, podczas gdy protokół szeregowy (w ścisłym tego słowa znaczeniu, a nie implementacja) jest zdefiniowany przez warstwę fizyczną, u podstawy stosu.

Z Wiki o pakiecie protokołów internetowych :

Pakiet protokołów internetowych to zestaw protokołów komunikacyjnych używanych w Internecie i podobnych sieciach i ogólnie najpopularniejszy stos protokołów w sieciach rozległych. Jest powszechnie znany jako TCP / IP, ze względu na najważniejsze protokoły: Protokół kontroli transmisji (TCP) i protokół internetowy (IP)

Ma cztery warstwy abstrakcji, z których każda ma własne protokoły. Od najniższej do najwyższej warstwy to:

  • Warstwa łącza (zwykle Ethernet) zawiera technologie komunikacyjne dla sieci lokalnej.

  • Warstwa internetowa (IP) łączy sieci lokalne, tworząc w ten sposób połączenie z Internetem.

  • Warstwa transportowa (TCP) obsługuje komunikację między hostami.

  • Warstwa aplikacji (na przykład HTTP) zawiera wszystkie protokoły dla określonych usług transmisji danych na poziomie proces-proces (na przykład sposób komunikacji przeglądarki internetowej z serwerem internetowym).

Ethernet i WiFi to przykłady protokołów, które mogą działać jako warstwa dostępu do sieci, zapewniając fizyczny nośnik i podstawowe zasady transmisji (takie jak kodowanie symboli) dla połączenia internetowego.

Inne protokoły używane na różnych warstwach stosu to, jak wspomniano, TCP, UDP, HTTP i wiele innych.


7
+1 Długa odpowiedź: TCP znajduje się w wyższej warstwie niż komunikacja szeregowa. Dla TCP nie ma znaczenia, czy podstawowe środki komunikacji są szeregowe, czy nie.
starblue

I są Ethernet przez USB, takie jak RNDIS.
user3528438,

3

Kilka osób udzieliło ci dobrych odpowiedzi na twoje pytanie.

Ale jest jeszcze jedno wyróżnienie, o którym nikt jeszcze nie wspomniał.

Kiedy mówimy o szeregowych i równoległych urządzeniach peryferyjnych na PC, historycznie mówiliśmy o łączu punkt-punkt. Jeden komputer rozmawia z jedną drukarką lub jednym modemem (na kabel). Ogólnie rzecz biorąc, istnieje urządzenie nadrzędne , które kontroluje całą komunikację za pośrednictwem tych łączy i urządzenia podrzędne , które po prostu robią to, co im kazano.

Kiedy mówimy o Ethernecie, mówimy o sieci . Wiele komputerów jest podłączonych do sieci i żaden z nich niekoniecznie jest nadrzędny lub podrzędny. We wczesnych protokołach Ethernetowych wiele komputerów było podłączonych do tego samego kabla koncentrycznego. Obecnie ogólnie Ethernet oznacza łącza typu punkt-punkt, ale Ethernet obejmuje protokoły umożliwiające komunikację z wieloma innymi urządzeniami w sieci peer-to-peer.

Oczywiście USB nieco zmienia obraz urządzeń peryferyjnych PC, ponieważ jest to sieć wielopunktowa, ale wciąż jest to peryferyjne połączenie ze zdefiniowanymi urządzeniami nadrzędnymi i podrzędnymi, a nie sieć peer-to-peer.

Powiedziałbym więc, że dyskusje na temat interfejsów szeregowych i równoległych nie wspominają o sieciach, nie wspominają o TCP ani Ethernet, ponieważ te rzeczy żyją w zupełnie innym świecie niż peryferyjne połączenia wzajemne. Na przykład, gdy mówisz o wszystkich rodzajach jabłek (Red Delicious, Braeburn itp.), Nigdy nie wspominasz o Gros Michel i Cavendish.


Myślę, że możesz dojść do tej odpowiedzi za pomocą modelu OSI: sieć jest zdefiniowana na wyższym poziomie niż fizyczny nośnik, więc najpierw nawiązujesz połączenie (punkt-punkt), a następnie definiujesz reguły kierowania wiadomości większa siatka.
clabacchio

@clabacchio, Tak, OP zapytał o TCP, który jest całkowicie nieodpowiednim poziomem stosu OSI do porównania z interfejsami szeregowymi / równoległymi. Moja odpowiedź dotyczy Ethernetu, który sprowadza się do warstwy fizycznej. Moja odpowiedź może być trochę nie na temat, ale zostawię ją na wypadek, gdyby ktoś uznał ją za pouczającą.
Photon

0

W mojej pracy jako inżyniera systemu sterowania w projektowaniu elektrowni mamy wbudowane listy punktów we / wy (wejścia / wyjścia) oraz osobną listę punktów „szeregowych”. Preferuję nazywanie tych „miękkich” punktów listami zamiast „komunikowaną listą punktów”, ponieważ są one zwykle oparte na sieci Ethernet (Modbus TCP, DNP3, Profinet itp.). Wielu kolegów nadal nalega na użycie historycznego tytułu „listy punktów seryjnych”. Chciałbym usłyszeć od innych o właściwej nomenklaturze dla takich list.


-1

Jeden bajt nazywa się również komunikacją szeregową, z wyjątkiem osób ze sprzętem. Nikt nie obchodzi, w jaki sposób odbywa się sygnalizacja. Pomyśl o modemie. Chociaż interfejs RS-323 sterowany przez układ UART może wyrzucać bity pojedynczo, faktyczne kodowanie wykonane przez modem może wykorzystywać kodowanie równoległe, w którym wiele bitów jest przesyłanych w tym samym czasie.

Ethernet był również ściśle szeregowy (impulsy pasma podstawowego z częstotliwością 10 MHz). Nowoczesne protokoły Ethernet nie są szeregowe.

Słowo „serializuj” jest często używane w znaczeniu „spakuj niektóre dane z pamięci do formatu bajt po bajcie” (gdzie problemy z porządkiem bitów i tym podobne są rozwiązywane w niektórych warstwach łącza danych i fizycznej komunikacji).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.