Redes de Comunicação de Dados
TCP
TCP - Transmission Control Protocol
Características da sub rede
- perca de pacotes
- pacotes fora de ordem
- pacotes duplicados
- pacotes atrasos
Vitor Vaz da Silva
1
Redes de Comunicação de Dados
TCP
TCP - Transmission Control Protocol
OFERECE:
- stream orientation - corrente de informação
- virtual circuit connection - “tipo telefone”
- buffered transfer - dados guardados de diverso modo
- unstructured stream - corrente sem estrutura
- full duplex - um sentido é independente do outro.
Vitor Vaz da Silva
2
Redes de Comunicação de Dados
TCP
TCP - Transmission Control Protocol
SOURCE IP ADDRESS
DESTINATION IP ADDRESS
ZERO
PROTO
TCP LENGTH
TCP SOURCE PORT
TCP DESTINATION
SEQUENCE
PORT
NUMBER
ACKNOWLEDGEMENT NUMBER
HLEN
RESERVED CODE
WINDOW
URGENT POINTER
CHECKSUM
OPTIONS (if any)
PADDING
DATA
Vitor Vaz da Silva
3
Redes de Comunicação de Dados
TCP
TCP - Transmission Control Protocol
HLEN
0
4
offset
CODE
10
Múltiplo de 32 bits
16
UAPRSF
URG - Urgent pointer field valid
ACK - Acknowledge field is valid
PSH - This segment requires a push
RST - Reset the connection
SYN - Synchronize sequence numbers (SEQ)
FIN - Sender has reached end of its byte field
Vitor Vaz da Silva
4
Redes de Comunicação de Dados
TCP
TCP - Transmission Control Protocol
CODE
URG - O apontador “Urgent Pointer” indica a informação urgente.
O valor máximo por norma é de 536 bytes, porque pressupõe
o transito por possíveis WAN. O valor pode ser aumentado
numa rede local. (Através das opções)
ACK - O conteúdo de “Acknowledgment Number” é válido
PSH - Este segmento tem de ser entregue à Aplicação
RST - Aborta a ligação abruptamente. A ligação termina.
SYN - (SEQ) Indica que o campo de “Sequence Number” é válido
FIN - Fim da comunicação. A ligação termina.
Vitor Vaz da Silva
5
Redes de Comunicação de Dados
TCP
TCP - Transmission Control Protocol
SEQUENCE NUMBER – Equivalente ao número de
sequência no HDLC N(s)
A posição dos dados relativamente ao começo
ACKNOWLEDG – Equivalente ao N(r) – número de
sequencia recebido
O próximo byte que se espera receber
Ambos referem a posição dos bytes nos dados
( não o número da frame )
Vitor Vaz da Silva
6
Redes de Comunicação de Dados
TCP
TCP - Transmission Control Protocol
WINDOW
Janela
É a janela deslizante.
Indica o número de bytes relativamente ao número de
acknowledg que podem ser recebidos.
O número varia de acordo com a quantidade de
memória disponível na recepção
“Funciona a créditos!”
Vitor Vaz da Silva
7
Redes de Comunicação de Dados
TCP
TCP - Transmission Control Protocol
listen
connect
SYN (x)
SYN (y ) ACK (x+1)
ACK (y+1)
Vitor Vaz da Silva
8
Redes de Comunicação de Dados
TCP
TCP - Transmission Control Protocol
close
FIN (x)
ACK (x+1)
?
FIN (y ) ACK (x+1)
?
ACK (y+1)
Vitor Vaz da Silva
9
Redes de Comunicação de Dados
TCP
SOCKET
- Identificador de serviço num nó de uma rede
- Dois tipos
- Stream - bidirecional
- Datagram
Vitor Vaz da Silva
10
Redes de Comunicação de Dados
TCP
TCP - Transmission Control Protocol
• Podem existir várias aplicações a comunicar sobre o
mesmo porto TCP desde que em ligações diferentes
• Uma ligação TCP é identificada por um par de
endpoints ou sockets
• As ligações são distintas se a combinação dos sockets
for distinta
Vitor Vaz da Silva
11
Redes de Comunicação de Dados
TCP
TCP - Transmission Control Protocol
socket
bind
socket
listen
connect
accept
read
write
close
Vitor Vaz da Silva
12
Redes de Comunicação de Dados
TCP
TCP - Transmission Control Protocol
socket
socket
recvfrom
sendto
Vitor Vaz da Silva
13
Download

TCP