Qual è la differenza tra comunicazione Ethernet e seriale?


11

Tutti i movimenti del mouse, le connessioni USB e altre periferiche del PC come stampanti ecc. Sono ciò che viene chiamato comunicazione seriale. Un po 'alla volta.

Fin qui tutto bene. Ma quando si tratta di protocollo TCP, Ethernet e Internet non si chiama più comunicazione seriale. Ma questa è anche roba bit per secondo.

Perchè è così? Qual è la differenza principale? Non riuscivo a capire perché non si tratta di comunicazione seriale.


4
Primo: le stampanti per molto tempo hanno utilizzato la comunicazione parallela. Successivamente, puoi fornire una fonte affermando che Internet non è seriale? TCP stesso sembra seriale per me. Un pacchetto viene trasmesso alla volta e il fatto che sia possibile trasmettere più pacchetti consecutivi non lo rende più parallelo. La moderna Ethernet è in realtà parallela. Hai 4 coppie intrecciate in un cavo e ogni coppia invia un bit alla volta, quindi in una moderna Ethernet stai inviando 4 bit contemporaneamente.
AndrejaKo

se è seriale, perché utilizziamo la scheda Ethernet? e in secondo luogo perché non è sotto comunicazione seriale nei libri?
user16307,

Beh, è ​​un po 'difficile per me rispondere a quel commento.
AndrejaKo

1
Un livello abbiamo tipi di porte generali come porte seriali e parallele. Ad un altro livello abbiamo l'implementazione effettiva di tali porte come RS-232, RS-485 o USB per porte seriali e IEEE 1284 o diciamo ATA per porte parallele.
AndrejaKo

1
Ogni singolo tipo di porta ha le sue specifiche. RS-232 è più o meno facile da implementare ma è lento e ha una portata ridotta. La rete Ethernet, d'altra parte, è molto complessa ed è spesso vista come parte di uno stack di rete più grande, ha una portata maggiore ed è molto più veloce.
AndrejaKo

Risposte:


15

Almeno tre motivi, probabilmente:

  1. Nell'era in cui le porte RS-232 erano comuni, era di gran lunga il mezzo più comune di comunicazione bit per volta, tanto che il termine "porta seriale" divenne sinonimo di "porta RS-232"; l'uso del termine "seriale" in relazione a qualsiasi altra cosa aggiungerebbe confusione. Si noti che USB evita tale confusione principalmente perché raramente si riferiva a "Universal Serial Bus", quindi l'esistenza della parola "seriale" nel suo nome di forma lunga non è un problema.
  2. In quasi tutti i casi, le porte RS-232 i loro equivalenti a livello logico trasmettono singoli byte man mano che vengono ricevuti dal software e singoli byte in entrata disponibili al software man mano che vengono ricevuti. Al contrario, la maggior parte dei dispositivi Ethernet attenderà fino a quando il software non avrà fornito un intero pacchetto (tra 64 e 1536 byte) prima di iniziare la trasmissione e attenderà fino a quando non avrà ricevuto e convalidato un intero pacchetto prima di renderlo disponibile al software. Sebbene bit e byte possano essere inviati sul cavo in serie, il software non lo sa né se ne cura. Sa solo che un po 'di tempo dopo che un controller ha ricevuto un pacchetto e gli è stato chiesto di inviarlo, un altro controller segnalerà la disponibilità di un pacchetto e consentirà al software di leggerlo.
  3. Una "porta seriale" è garantita per trasmettere byte di dati nella sequenza cronologica fornita dal software e renderli disponibili al software nella sequenza cronologica in cui sono ricevuti; sarebbe piuttosto inutile se non lo facesse. Tutti i sistemi Ethernet e Internet garantiscono che quando un pacchetto viene inviato da un nodo all'altro la disposizionedei byte messi a disposizione del destinatario corrisponderà alla disposizione dei byte fornita dal mittente, ma non esiste una specifica comune che richieda che l'ordine cronologico in cui vengono trasmessi i dati abbia una relazione con la loro disposizione all'interno di un pacchetto. Inoltre, ci sono solo vaghe garanzie che possono essere fatte riguardo al sequenziamento cronologico dei pacchetti l'uno rispetto all'altro. Se il pacchetto X viene consegnato domenica alle 11:47 e il pacchetto Y viene consegnato il giorno successivo alle 15:28, si può tranquillamente supporre che Y sia stato inviato dopo X. D'altra parte, se X viene consegnato alle 1:47:12 e Y viene consegnato alle 1:47:15, è del tutto possibile che Y sia stato inviato per primo ma X ha impiegato più tempo per arrivare.

Per inciso, una connessione Ethernet 10-base-T invia singoli bit in sequenza, ma il cablaggio ad alta velocità spesso utilizza vari metodi di segnalazione per inviare più bit contemporaneamente.


quindi internet è una specie di comunicazione seriale con un ritardo. possiamo dire che si tratta di una comunicazione seriale non in tempo reale dal momento che prima i dati seriali vengono memorizzati prima dell'uso.
user16307,

@ cmd1024 Bene, il problema è che Internet è estremamente complesso. In effetti può funzionare come un mezzo di comunicazione parallelo, ma saremmo entrando nelle acque torbide del routing di Internet qui. Non è poi così insolito che un pacchetto vada da una parte e che dall'altra vada da un'altra parte per una parte del transito tra due computer su Internet, quindi può essere parallelo una parte della strada. Esistono anche modi per accedere a Internet che consentono l'uso di diverse interfacce di rete e che consentirebbero comunicazioni completamente parallele.
AndrejaKo,

quindi internet non è seriale è misto? siamo tutti d'accordo?
user16307,

2
@ cmd1024 Penso che sarebbe meglio aspettare che Clabacchio finisca di scrivere la sua risposta. La domanda che hai posto è molto delicata poiché da un lato Internet funziona a un livello completamente diverso dalla semplice porta RS-232.
AndrejaKo,

1
Internet! = Ethernet. Parlo con alcune scatole usando Ethernet grezza, nessun ip o tcp / udp. Anche quello 802.3 si basa su un phy che è solo una linea seriale differenziale.

7

Ethernet può essere trasmessa in serie e generalmente fino ai giorni di 1000BASE-T.

Ma è impacchettato, non puoi letteralmente inviare un singolo byte valido poiché c'è un mucchio di overhead di indirizzamento, crc, ecc. Inoltre, Ethernet non assicura l'ordinamento tra i pacchetti, quindi è possibile inviare i pacchetti AB e C ma il ricevitore potrebbe ottenerli nell'ordine CA B. Esiste anche il rilevamento delle collisioni e la ritrasmissione.

Nel complesso è molto più complicato di una connessione seriale.


Ottimo punto sul sequenziamento dei pacchetti.
supercat,

Ordinazione se i pacchetti sono gestiti da livelli più alti nello stack OSI rispetto al livello Ethernet phy. Puoi sicuramente inviare un byte su una linea Ethernet. È insignificante come un singolo byte su una linea rs232. Entrambi hanno bisogno di un protocollo di livello superiore per dare un senso al byte.

4

La risposta è: lo stack ISO- OSI .

OSI è l'acronimo di Open Systems Interconnection (ISO è la International Standardization Organization) ed è un modello che definisce la struttura utilizzata per trasmettere dati tra ogni tipo di dispositivo. Ogni livello è un livello di astrazione diverso e aggiunge regole o dettagli che definiscono il protocollo di comunicazione.

Mentre Internet (escluse le cose che sono comunemente associate ad esso, come HTTP) appartiene ai livelli superiori (il livello Rete), la comunicazione seriale è solo un modo per definire il livello fisico.

inserisci qui la descrizione dell'immagine

Questo è lo stack del modello OSI, rispetto al modello TCP / IP utilizzato per Internet: puoi vedere che Internet è definito a livello di rete, mentre il protocollo seriale (in senso stretto, non l'implementazione) è definito dal livello fisico, alla base della pila.

Da Wiki sulla suite di protocolli Internet :

La suite di protocolli Internet è l'insieme dei protocolli di comunicazione utilizzati per Internet e reti simili, e generalmente lo stack di protocollo più popolare per le reti geografiche. È comunemente noto come TCP / IP, a causa dei suoi protocolli più importanti: TCP (Transmission Control Protocol) e IP (Internet Protocol)

Ha quattro livelli di astrazione, ognuno con i propri protocolli. Dal più basso al più alto, i livelli sono:

  • Il livello di collegamento (comunemente Ethernet) contiene tecnologie di comunicazione per una rete locale.

  • Il livello Internet (IP) collega le reti locali, stabilendo così internetworking.

  • Il livello di trasporto (TCP) gestisce la comunicazione host-to-host.

  • Il livello applicazione (ad esempio HTTP) contiene tutti i protocolli per servizi di comunicazione dati specifici a livello da processo a processo (ad esempio come un browser Web comunica con un server Web).

Ethernet e WiFi sono esempi di protocolli che possono funzionare come Network Access Layer, fornendo il supporto fisico e le regole di trasmissione di base (come la codifica dei simboli) per la connessione a Internet.

Altri protocolli utilizzati a diversi livelli dello stack sono, come detto, TCP, UDP, HTTP e molti altri.


7
+1 Risposta lunga: TCP si trova in un livello superiore rispetto alla comunicazione seriale. Non importa per TCP se il mezzo di comunicazione sottostante sia seriale o meno.
Starblue,

E ci sono Ethernet su USB come RNDIS.
user3528438

3

Diverse persone ti hanno dato buone risposte alla tua domanda.

Ma c'è un'altra distinzione che nessuno ha ancora menzionato.

Quando parliamo di periferiche seriali e parallele per un PC, storicamente abbiamo parlato di un collegamento punto-punto. Un computer parla con una stampante o un modem (per cavo). In generale esiste un dispositivo master che controlla tutte le comunicazioni su questi collegamenti e dispositivi slave che fanno esattamente ciò che viene loro detto.

Quando parliamo di Ethernet, stiamo parlando di rete . Più computer sono collegati a una rete e nessuno di essi è necessariamente master o slave. Nei primi protocolli Ethernet, più computer venivano effettivamente collegati allo stesso cavo coassiale. Oggi generalmente Ethernet significa collegamenti punto a punto, ma Ethernet include protocolli che consentono la comunicazione con più altri dispositivi in ​​una rete peer-to-peer.

Ovviamente l'USB cambia in qualche modo l'immagine delle periferiche per PC perché è una rete multi-point, ma è ancora un'interconnessione periferica con master e slave definiti, piuttosto che una rete peer-to-peer.

Quindi, direi che le discussioni sulle interfacce seriali e parallele non menzionano la rete non menzionano TCP o Ethernet perché quelle cose vivono in un mondo completamente diverso dalle interconnessioni periferiche. Come quando parli di tutti i tipi di mele (Red Delicious, Braeburn, ecc.) Non menzioni mai Gros Michel e Cavendish.


Penso che puoi arrivare a quella risposta con il modello OSI: la rete è definita a un livello superiore rispetto al supporto fisico, quindi devi prima stabilire la connessione (punto a punto), quindi definire le regole per instradare i messaggi una maglia più grande.
clabacchio

@clabacchio, Sì, OP ha chiesto di TCP che è un livello totalmente inappropriato dello stack OSI da confrontare con le interfacce seriali / parallele. La mia risposta riguarda Ethernet, che scende al livello fisico. La mia risposta potrebbe essere un po 'fuori tema, ma la lascerò nel caso in cui qualcuno la trovi informativa.
Il fotone

0

Nel mio lavoro di ingegnere di sistemi di controllo per la progettazione di centrali elettriche, abbiamo elenchi di punti IO (input / output) cablati e un elenco di punti "seriale" separato. La mia preferenza è quella di chiamare questi elenchi di punti "soft" un "elenco di punti comunicati" piuttosto che in genere basati su Ethernet (Modbus TCP, DNP3, Profinet ecc.). Molti colleghi insistono ancora sull'uso del titolo storico "elenco punti seriale". Sono interessato a conoscere gli altri sulla nomenclatura appropriata per tali elenchi.


-1

Un byte alla volta è anche chiamato comunicazione seriale, tranne per le persone hardware. A nessuno importa come viene fatta la segnalazione. Pensa a un modem. Sebbene l'interfaccia RS-323 gestita da un chip UART possa far esplodere i bit uno alla volta, la codifica effettiva eseguita dal modem può utilizzare codifiche parallele per cui più bit vengono trasmessi contemporaneamente.

Anche Ethernet era strettamente seriale (impulsi in banda base a una velocità di 10 Mhz). I protocolli Ethernet moderni non sono seriali.

La parola "serializzare" è spesso usata per significare "comprimere alcuni dati nella memoria in un formato byte per byte" (in cui i problemi di ordine dei bit e simili sono risolti in alcuni strati di collegamento fisico e di comunicazione fisica).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.