DCN - Controllo e protocolli di collegamento dati

Il livello di collegamento dati è responsabile dell'implementazione del flusso punto a punto e del meccanismo di controllo degli errori.

Controllo del flusso

Quando un frame di dati (dati Layer-2) viene inviato da un host a un altro su un unico supporto, è necessario che il mittente e il destinatario funzionino alla stessa velocità. Cioè, il mittente invia a una velocità alla quale il destinatario può elaborare e accettare i dati. Cosa succede se la velocità (hardware / software) del mittente o del destinatario è diversa? Se il mittente sta inviando troppo velocemente, il destinatario potrebbe essere sovraccarico (sommerso) e i dati potrebbero andare persi.

È possibile implementare due tipi di meccanismi per controllare il flusso:

  • Stop and WaitQuesto meccanismo di controllo del flusso forza il mittente dopo aver trasmesso un frame di dati a fermarsi e attendere fino a quando non viene ricevuto il riconoscimento del frame di dati inviato.

  • Sliding Window

    In questo meccanismo di controllo del flusso, sia il mittente che il destinatario concordano sul numero di frame di dati dopo i quali deve essere inviato il riconoscimento. Come abbiamo appreso, il meccanismo di arresto e attesa del flusso spreca risorse, questo protocollo cerca di utilizzare le risorse sottostanti il ​​più possibile.

Controllo degli errori

Quando il frame di dati viene trasmesso, c'è una probabilità che il frame di dati possa essere perso durante il transito o che venga ricevuto danneggiato. In entrambi i casi, il destinatario non riceve il data-frame corretto e il mittente non è a conoscenza di alcuna perdita, in tal caso sia il mittente che il destinatario sono dotati di alcuni protocolli che li aiutano a rilevare errori di transito come la perdita di dati. telaio. Quindi, o il mittente ritrasmette il frame di dati o il destinatario può richiedere di inviare nuovamente il frame di dati precedente.

Requisiti per il meccanismo di controllo degli errori:

  • Error detection  - Il mittente e il destinatario, entrambi o uno qualsiasi, devono accertarsi che ci sia qualche errore nel transito.

  • Positive ACK  - Quando il ricevitore riceve un frame corretto, dovrebbe riconoscerlo.

  • Negative ACK  - Quando il destinatario riceve un frame danneggiato o un frame duplicato, invia un NACK al mittente e il mittente deve ritrasmettere il frame corretto.

  • Retransmission:  Il mittente mantiene un orologio e imposta un periodo di timeout. Se un riconoscimento di un frame di dati trasmesso in precedenza non arriva prima del timeout, il mittente ritrasmette il frame, pensando che il frame o il suo riconoscimento siano persi durante il transito.

Sono disponibili tre tipi di tecniche che il livello di collegamento dati può implementare per controllare gli errori tramite le richieste di ripetizione automatica (ARQ):

  • Stop-and-wait ARQ

    La seguente transizione può verificarsi in Stop-and-Wait ARQ:

    • Il mittente mantiene un contatore del timeout.
    • Quando viene inviato un frame, il mittente avvia il contatore del timeout.
    • Se il riconoscimento del frame arriva in tempo, il mittente trasmette il frame successivo in coda.
    • Se il riconoscimento non arriva in tempo, il mittente presume che il frame o il suo riconoscimento siano persi durante il transito. Il mittente ritrasmette il frame e avvia il contatore del timeout.
    • Se viene ricevuto un riconoscimento negativo, il mittente ritrasmette il frame.
  • Go-Back-N ARQ

    Stop and wait Il meccanismo ARQ non utilizza al meglio le risorse. Quando viene ricevuto il riconoscimento, il mittente rimane inattivo e non fa nulla. Nel metodo Go-Back-N ARQ, sia il mittente che il destinatario mantengono una finestra.

    La dimensione della finestra di invio consente al mittente di inviare più frame senza ricevere il riconoscimento di quelli precedenti. La finestra di ricezione consente al ricevitore di ricevere più frame e riconoscerli. Il ricevitore tiene traccia del numero di sequenza del frame in arrivo.

    Quando il mittente invia tutti i frame nella finestra, controlla fino a quale numero di sequenza ha ricevuto il riconoscimento positivo. Se tutti i frame vengono riconosciuti positivamente, il mittente invia il successivo set di frame. Se il mittente scopre di aver ricevuto NACK o di non aver ricevuto alcun ACK per un particolare frame, ritrasmette tutti i frame dopo i quali non riceve alcun ACK positivo.

  • Ripetizione selettiva ARQ

    In Go-back-N ARQ, si presume che il ricevitore non abbia spazio buffer per la dimensione della finestra e debba elaborare ogni frame non appena arriva. Questo impone al mittente di ritrasmettere tutti i frame che non sono stati riconosciuti.

    In Selective-Repeat ARQ, il ricevitore mentre tiene traccia dei numeri di sequenza, bufferizza i frame in memoria e invia NACK solo per i frame mancanti o danneggiati.

    Il mittente in questo caso invia solo il pacchetto per il quale viene ricevuto NACK.