65
Estudo: protocolo de transporte Estudo de caso: protocolo de transporte Da especificação à implementação Máquinas de estados finitos Máquinas de estados finitos estendidas Tabelas de estados Pseudocódigos

Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estudo: protocolo de transporte

Estudo de caso: protocolo de transporte Da especificação à implementação

Máquinas de estados finitos

Máquinas de estados finitos estendidas

Tabelas de estados

Pseudocódigos

Page 2: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estudo: protocolo de transporte

Camada transporte Objetivo → melhorar a qualidade do serviço oferecido pela

camada rede

Serviço de transporte

Protocolo de transporte

Modo de transmissão orientado à conexão Estabelecimento da conexão

Transferência de dados

Liberação da conexão

Supondo a camada transporte entre a aplicação e arede (modelo híbrido)

Page 3: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Primitivas do serviço de transporte

Estabelecimento de conexão T-Connect.Request/Indication

T-Connect.Response/Confirm

Transferência de dados T-Data.Request/Indication

T-Expedited-Data.Request/Indication

Fechamento de conexão T-Disconnect.Request/Indication

Page 4: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estudo: protocolo de transporte

Implementação de protocolos Especificação em máquinas de estados finitos estendidas

para o transmissor e o receptor

Tradução em linguagem de programação

Page 5: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Máquinas de estados finitos

Cada protocolo está sempre em um estadoespecífico que consiste em todos os valores de suasvariáveis

Para cada estado, existem zero ou mais transiçõespossíveis para outros estados

Uma transição pode ocorrer quando um dado éenviado, um dado chega ou um temporizadorestoura

Gráfico direcionado que mostra todos os estadoscomo nós e as transições como arcos diferenciados

Page 6: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Máquinas de estados finitos

Teoria de grafos indica quais estados sãoalcançáveis e quais não o são (análise dealcançabilidade)

Eventos tais como a chegada de dados e o estourode temporizadores ocorrem

Alcançabilidade usada para detectar erros naespecificação do protocolo Incompleta → dado chega em um estado e a máquina não

sabe que ação tomar

Bloqueio → existe um conjunto de estados para o qual nãohá saída e nenhum progresso pode ser feito

Page 7: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

PDUs do protocolo de transporte

CR: Connect Request

CC: Connect Confirm

DR: Disconnect Request

DC: Disconnect Confirm

DT: Data

ED: Expedited Data

AK: Data Acknowledgement

EA: Expedited Data Acknowledgement

RJ: Reject

ER: Error

Page 8: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estudo: protocolo de transporte

Exemplo: conexão Estabelecimento bem sucedido

Estabelecimento recusado

Desistência de estabelecimento

Dois modelos Máquinas de estados finitos para as sequências permitidas

para as primitivas

Máquinas de estados finitos estendidas (primitivas e PDUs)

Page 9: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento bem sucedido

Iniciador Respondedor

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

Page 10: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento bem sucedido

T_Conn_Req

Iniciador Respondedor

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

T_Conn_Req

Page 11: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento bem sucedido

T_Conn_Req

Iniciador Respondedor

CR Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

Page 12: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento bem sucedido

T_Conn_ReqCR

T_Conn_Ind

Iniciador Respondedor

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

T_Conn_Ind

Page 13: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento bem sucedido

T_Conn_ReqCR

T_Conn_Resp

T_Conn_Ind

Iniciador Respondedor

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

T_Conn_Resp

Page 14: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento bem sucedido

T_Conn_ReqCR

T_Conn_Resp

T_Conn_Ind

Iniciador Respondedor

CC

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

Page 15: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento bem sucedido

T_Conn_ReqOcioso

Iniciador Respondedor

T_Conn_Conf

CR

CCT_Conn_Resp

T_Conn_Ind

Iniciador Respondedor

Conectado

Aguarda Aguarda

T_Conn_Conf

Page 16: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento recusado

Iniciador Respondedor

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

Page 17: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento recusado

T_Conn_Req

Iniciador Respondedor

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

T_Conn_Req

Page 18: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento recusado

T_Conn_Req

Iniciador Respondedor

CR Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

Page 19: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento recusado

T_Conn_ReqCR

T_Conn_Ind

Iniciador Respondedor

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

T_Conn_Ind

Page 20: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento recusado

T_Conn_ReqCR

T_Disc_Req

T_Conn_Ind

Iniciador Respondedor

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

T_Disc_Req

Page 21: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento recusado

T_Conn_ReqCR

T_Disc_Req

T_Conn_Ind

Iniciador Respondedor

DR

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

Page 22: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento recusado

T_Conn_Req

T_Disc_Ind

CR

DRT_Disc_Req

T_Conn_Ind

Iniciador Respondedor

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

T_Disc_Ind

Page 23: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

Iniciador Respondedor

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

Page 24: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

T_Conn_Req

Iniciador Respondedor

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

T_Conn_Req

Page 25: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

T_Conn_Req

Iniciador Respondedor

CR Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

Page 26: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

T_Conn_ReqCR

T_Conn_Ind

Iniciador Respondedor

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

T_Conn_Ind

Page 27: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

T_Conn_ReqCR

T_Conn_Resp

T_Conn_Ind

Iniciador Respondedor

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

T_Conn_Resp

Page 28: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

T_Conn_ReqCR

T_Conn_Resp

T_Conn_Ind

Iniciador Respondedor

CC

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

Page 29: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

T_Conn_ReqCR

CCT_Conn_Resp

T_Conn_Ind

Iniciador Respondedor

T_Disc_Req

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

T_Disc_Req

Page 30: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

T_Conn_ReqCR

T_Conn_Resp

T_Conn_Ind

Iniciador Respondedor

T_Disc_ReqDR

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

Page 31: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

T_Conn_ReqCR

T_Conn_Ind

Iniciador Respondedor

T_Disc_ReqDR

T_Disc_Ind

Ocioso

Iniciador Respondedor

Conectado

Aguarda Aguarda

T_Disc_Ind

Page 32: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estudo de caso: transporte

Máquinas de estados finitos estendidas contémespecificações do tipo condição/ação Condições para o disparo das transições e ações a serem

tomadas quando as transições forem disparadas

?MSG1/!MSG2 (recebe MSG1 e envia MSG2)

Page 33: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento bem sucedido

Ocioso

Iniciador Respondedor

Ocioso

Iniciador Respondedor

Page 34: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento bem sucedido

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

? T_Conn_Req |

! CR

Ocioso

Iniciador Respondedor

Page 35: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento bem sucedido

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

? T_Conn_Req |

! CR

Ocioso

Iniciador Respondedor

CR

Page 36: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento bem sucedido

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

? T_Conn_Req |

! CR

Ocioso

Espera Resp

? CR |

! T_Conn_Ind

CRT_Conn_Ind

Iniciador Respondedor

Page 37: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento bem sucedido

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

? T_Conn_Req |

! CR

Ocioso

Espera Resp

Conectado

? CR |

! T_Conn_Ind

? T_Conn_Resp |

! CC

CR

T_Conn_Resp

T_Conn_Ind

Iniciador Respondedor

Page 38: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento bem sucedido

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

? T_Conn_Req |

! CR

Ocioso

Espera Resp

Conectado

? CR |

! T_Conn_Ind

? T_Conn_Resp |

! CC

CR

T_Conn_Resp

T_Conn_Ind

Iniciador Respondedor

CC

Page 39: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento bem sucedido

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

Conectado

? T_Conn_Req |

! CR

? CC |

! T_Conn_Conf

Ocioso

Espera Resp

Conectado

? CR |

! T_Conn_Ind

? T_Conn_Resp |

! CC

T_Conn_Conf

CR

CCT_Conn_Resp

T_Conn_Ind

Iniciador Respondedor

Page 40: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento recusado

Ocioso

Iniciador Respondedor

Ocioso

Iniciador Respondedor

Page 41: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento recusado

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

? T_Conn_Req |

! CR

Ocioso

Iniciador Respondedor

Page 42: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento recusado

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

? T_Conn_Req |

! CR

Ocioso

Iniciador Respondedor

CR

Page 43: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento recusado

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

? T_Conn_Req |

! CR

Ocioso

Espera Resp

? CR |

! T_Conn_Ind

CRT_Conn_Ind

Iniciador Respondedor

Page 44: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento recusado

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

? T_Conn_Req |

! CR

Ocioso

Espera Resp

Ocioso

? CR |

! T_Conn_Ind

? T_Disc_Req |

! DR

CR

T_Disc_Req

T_Conn_Ind

Iniciador Respondedor

Page 45: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento recusado

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

? T_Conn_Req |

! CR

Ocioso

Espera Resp

Ocioso

? CR |

! T_Conn_Ind

? T_Disc_Req |

! DR

CR

T_Disc_Req

T_Conn_Ind

Iniciador Respondedor

DR

Page 46: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estabelecimento recusado

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

Ocioso

? T_Conn_Req |

! CR

? DR |

! T_Disc_Ind

Ocioso

Espera Resp

Ocioso

? CR |

! T_Conn_Ind

? T_Disc_Req |

! DR

T_Disc_Ind

CR

DRT_Disc_Req

T_Conn_Ind

Iniciador Respondedor

Page 47: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

Ocioso

Iniciador Respondedor

Ocioso

Iniciador Respondedor

Page 48: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

? T_Conn_Req |

! CR

Ocioso

Iniciador Respondedor

Page 49: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

? T_Conn_Req |

! CR

Ocioso

Iniciador Respondedor

CR

Page 50: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

? T_Conn_Req |

! CR

Ocioso

Espera Resp

? CR |

! T_Conn_Ind

CRT_Conn_Ind

Iniciador Respondedor

Page 51: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

? T_Conn_Req |

! CR

Ocioso

Espera Resp

Conectado

? CR |

! T_Conn_Ind

? T_Conn_Resp |

! CC

CR

T_Conn_Resp

T_Conn_Ind

Iniciador Respondedor

Page 52: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

? T_Conn_Req |

! CR

Ocioso

Espera Resp

Conectado

? CR |

! T_Conn_Ind

? T_Conn_Resp |

! CC

CR

T_Conn_Resp

T_Conn_Ind

Iniciador Respondedor

CC

Page 53: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

Ocioso

? T_Conn_Req |

! CR

? T_Disc_Req |

! DR

Ocioso

Espera Resp

Conectado

? CR |

! T_Conn_Ind

? T_Conn_Resp |

! CC

CR

CCT_Conn_Resp

T_Conn_Ind

Iniciador Respondedor

T_Disc_Req

Page 54: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

Ocioso

? T_Conn_Req |

! CR

? T_Disc_Req |

! DR

Ocioso

Espera Resp

Conectado

? CR |

! T_Conn_Ind

? T_Conn_Resp |

! CC

CR

T_Conn_Resp

T_Conn_Ind

Iniciador Respondedor

T_Disc_ReqDR

Page 55: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Desistência de estabelecimento

T_Conn_ReqOcioso

Iniciador Respondedor

Espera CC

Ocioso

? T_Conn_Req |

! CR

? T_Disc_Req |

! DR

Ocioso

Espera Resp

Conectado

? CR |

! T_Conn_Ind

? T_Conn_Resp |

! CC

CRT_Conn_Ind

Iniciador Respondedor

T_Disc_ReqDR

T_Disc_Ind

? DR |

! T_Disc_Ind

Page 56: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estudo: protocolo de transporte

Para facilitar a implementação, passa-se dasmáquinas de estados finitos estendidas para tabelasde estados

Tabelas de estados contém os eventos e os estados Eventos chegam em determinados estados

Page 57: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estudo: protocolo de transporte

!DR

ocioso

!DR

ocioso

T-Disc.Req

!T-Con.Con

conectado

CC

!T-Disc.Ind

ocioso

!T-Disc.Ind

ocioso

DR

!CR

esperaCC

T-Con.Req

conectadoesperaCCociosoEstado

Evento

Tabela de estados da Aplicação/Transporte

do transmissor

Page 58: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estudo: protocolo de transporte

!DiscReq

ocioso

!DR

ocioso

T-Disc.Req

!T-Con.Con

conectado

CC

!T-Disc.Ind

ocioso

!T-Disc.Ind

ocioso

DR

!CR

esperaCC

T-Con.Req

conectadoesperaCCociosoEstado

Evento

case estadoocioso:

se evento = T-Con.Reqcomeço

enviar CR;estado = esperaCC;

fim

Tabela de estados da Aplicação/Transporte

do transmissor

Page 59: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estudo: protocolo de transporte

!DR

ocioso

!DR

ocioso

T-Disc.Req

!T-Con.Con

conectado

CC

!T-Disc.Ind

ocioso

!T-Disc.Ind

ocioso

DR

!CR

esperaCC

T-Con.Req

conectadoesperaCCociosoEstado

Evento

case estadoocioso:

se evento = T-Con.Reqcomeço

enviar CR;estado = esperaCC;

fim

esperaCC:case evento

DR:enviar T-Disc.Ind;estado = ocioso;

CC:enviar T-Con.Con;estado = conectado;

T-Disc.Req:enviar DR;estado = ocioso;

Tabela de estados da Aplicação/Transporte

do transmissor

Page 60: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estudo: protocolo de transporte

!DR

ocioso

!DR

ocioso

T-Disc.Req

!T-Con.Con

conectado

CC

!T-Disc.Ind ocioso

!T-Disc.Ind

ocioso

DR

!ConReq

esperaCC

T-Con.Req

conectadoesperaCCociosoEstado

Evento

case estado

esperaCC:case evento

DR:enviar T-Disc.Ind;estado = ocioso;

CC:enviar T-Con.Con;estado = conectado;

T-Disc.Req:enviar DR; estado = ocioso;

conectado:se evento = DRenviar T-Disc.Ind;estado = ocioso;

senãose evento = T-Disc.Reqenviar DR; estado = ocioso;

Tabela de estados da Aplicação/Transporte

do transmissor

Page 61: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estudo: protocolo de transporte

ocioso

!DiscReq

ocioso

!DiscReq

T-Disc.Req

conectado

!ConConf

T-Con.Resp

ocioso

!T-Disc.Ind

ocioso

!T-Disc.Ind

DiscReq

esperaResp

!T-Con.Ind

ConReq

conectadoespera

Resp

ociosoEstado

Evento

Tabela de estados do Transporte/Aplicação

do receptor

Page 62: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estudo: protocolo de transporte

ocioso

!DiscReq

ocioso

!DiscReq

T-Disc.Req

conectado

!ConConf

T-Con.Resp

ocioso

!T-Disc.Ind

ocioso

!T-Disc.Ind

DiscReq

esperaResp

!T-Con.Ind

ConReq

conectadoespera

Resp

ociosoEstado

Evento

case estadoocioso:

se evento = ConReqcomeço

estado = esperaResp;enviar T-Con.Ind;

fim

Tabela de estados do Transporte/Aplicação

do receptor

Page 63: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estudo: protocolo de transporte

ocioso

!DiscReq

ocioso

!DiscReq

T-Disc.Req

conectado

!ConConf

T-Con.Resp

ocioso

!T-DiscInd

ocioso

!T-DiscInd

DiscReq

esperaCR

!T-ConInd

ConReq

conectadoespera

Resp

ociosoEstado

Evento

case estadoocioso:

se evento = ConReqcomeço

estado = espera CR;enviar T-Con.Ind;

fim

esperaResp:case evento

DiscReq:estado = ocioso;enviar T-Disc.Ind;

T-Con.Resp:estado = conectado; enviar CC;

T-Disc.Req:estado = ocioso;enviar DiscReq;

Tabela de estados do Transporte/Aplicação

do receptor

Page 64: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Estudo: protocolo de transporte

ocioso

!DiscReq

ocioso

!DiscReq

T-Disc.Req

conectado

!ConConf

T-Con.Resp

ocioso

!T-Disc.Ind

ocioso

!T-Disc.Ind

DiscReq

esperaCR

!T-Con.Ind

ConReq

conectadoesperaCRociosoEstado

Evento

case estado

esperaResp:case evento

DiscReq:estado = ocioso;enviar T-Disc.Ind;

T-Con.Resp:estado = conectado;enviar CC;

T-Disc.Req:estado = ocioso;enviar DiscReq;

conectado:se evento = DiscReqestado = ocioso;enviar T-Disc.Ind;

senãose evento = T-Disc.Reqestado = ocioso;enviar DiscReq;

Tabela de estados do Transporte/Aplicação

do receptor

Page 65: Da especificação à implementação - UERJrubi/cursos/rc/Parte1d.pdf · 2019-03-18 · para as primitivas Máquinas de estados finitos estendidas (primitivas e PDUs) Estabelecimento

Bibliografia

Tanenbaum – Capítulo 1

Kurose – Capítulo 1

Soares – Capítulos 1, 2, 3 e 5

Stallings – Capítulos 3 e 4

Giozza – Capítulos 1 e 2

A. C. P. Pedroza, “Redes de Computadores:

Arquiteturas e Projetos de Protocolos”, Apostila

do GTA/UFRJ, 2001

O. C. M. B. Duarte, “Redes de Computadores”,

Apostila do GTA/UFRJ, 2004