Comunicación TCP/IP

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 19

Comunicación TCP/IP

TC/IP
• La definición de TCP/IP es la identificación del grupo de protocolos de
red que hacen posible la transferencia de datos en redes, entre
equipos informáticos e internet. Las siglas TCP/IP hacen referencia a
este grupo de protocolos:
• TCP es el Protocolo de Control de Transmisión que permite establecer una
conexión y el intercambio de datos entre dos anfitriones. Este protocolo
proporciona un transporte fiable de datos.
• IP o protocolo de internet, utiliza direcciones series de cuatro octetos con
formato de punto decimal (como por ejemplo 75.4.160.25) en su versión 4.
Este protocolo lleva los datos a otras máquinas de la red.
TCP/IP
• Dentro del modelo TCP/IP existen cuatro niveles o capas que hay que tener en
cuenta.
• Capa de enlace o de interfaz de red: es la primera capa del modelo y ofrece la posibilidad de
acceso físico a la red (que bien puede ser en anillo, ethernet, etc.), especificando el modo en
que los datos deben enrutarse independientemente del tipo de red utilizado.
• Capa de red o Internet: proporciona el paquete de datos o datagramas y administra las
direcciones IP. (Los datagramas son paquetes de datos que constituyen el mínimo de
información en una red). Esta capa es considerada la más importante y engloba protocolos
como IP,ARP, ICMP, IGMP y RARP.
• Capa de transporte: permiten conocer el estado de la transmisión así como los datos de
enrutamiento y utilizan los puertos para asociar un tipo de aplicación con un tipo de dato.
• Capa de aplicación: es la parte superior del protocolo TCP/IP y suministra las aplicaciones de
red tipo Telnet, FTP o SMTP, que se comunican con las capas anteriores (con protocolos TCP o
UDP).
• La capas del modelo TCP/IP coinciden con algunas capas del modelo teórico OSI,
aunque tienen tareas mucha más diversas.
TCP/IP
OSI (Open Systems Interconnection) TCP/IP
Aplicación
Presentación Aplicación
Sesión
Transporte Transporte
Red Red
Enlace de datos
Física
Física
TCP/IP
TCP/IP
TCP/IP
TCP/IP
TCP/IP
TCP/IP
• Source port. It is a 16-bit field that specifies the
application port number of the host sending the
data.
• Destination port. It is a 16-bit field that
specifies the port number of the application
requested on the destination host.
• Sequence number. It is a 32-bit field that is used to
put the data back in the correct order and also
used to re-transmit missing or damaged data
segments.
• Acknowledgment number. It is a 32-bit field that is
used by the receiving host to acknowledge the
successful delivery of segments based on which
the next stream of data segments is sent by the
source.
• Header Length(HLEN). It is a 4-bit field that defines
the number of 32-bit words in the header. This
field also indicates the length of the TCP header so
that we know where the actual data begins.
• Reserved. It is a 3 bits field with value always set
to 0.
TCP/IP
• Window. It is a 16-bit field that is used to negotiate the are the details:
window size b/w sending and receiving hosts. This file specifies • URG Bit. URG bit indicates that the Urgent pointer field is
the number of bytes the receiver is willing to receive. It is used significant. When this bit is set, the data should be treated as a
so the receiver can tell the sender that it would like to receive priority over other data.
more data than what it is currently receiving. Window size is • ACK Bit. ACK bit used for the acknowledgment of successful
negotiated based on sender and receiver buffers and is delivery of the previous segment.
negotiated to the lowest value. • PSH Bit. PSH Bit is used for Push function. Updates the receiving
host to push the buffered data to the receiving application.
• Checksum. It is a 16 bits field that is used for integrity checks
TCP segment. It is like CRC because TCP doesn’t trust the lower • RST Bit. RST bit is used to reset the connection, when the TCP host
layers and checks everything. The Cyclic Redundancy Check receives the segment with RST bit set the connection is reset
(CRC) checks the header and data fields. immediately. This bit is used when there are unrecoverable errors
and it’s not a normal way to finish the TCP connection.
• Urgent Pointer. It is a 16 bits field that indicates the end of • SYN Bit. SYN bit is used during TCP 3 Way handshake process.
urgent data. This field is used when the URG bit is set in Code • FIN Bit. FIN bit is used to finish end the TCP connection in a
bits(flags). normal way by both sending and receiving hosts. This bit also
specifies end of data.
• Options. Sets the maximum TCP segment size to either 0 or 32
bits, if any.
• Code Bits(Flags). There are 9 bits in this filed with each have a
specific purpose. An example of the use of bits in this field is
during TCP 3 Way Handshake (SYN, ACK) used establishing a
connection between source and destination hosts before
sending the data. Some of the fields are used while sending
data and while the connection is terminated with the
destination host. Each bit of the code bits is 1 bit long. Below
Sockets
• Los sockets son canales de comunicación que permiten que procesos
no relacionados intercambien datos localmente y entre redes.
• El uso de los sockets se originó con ARPANET en 1971 y luego se
convirtió en una API (Application Programming Interface) en el
sistema operativo Berkeley Software Distribution (BSD) lanzado en
1983. A esta API llamado Berkeley sockets.
Sockets
• Existen dos tipos:
• SOCK_STREAM
(TCP)
• SOCK_DGRAM
(UDP)
Sockets en Python
• Python cuenta con el módulo
socket que proporciona una
interfaz para la API Berkeley
sockets.
Servidor Echo Básico
• En este ejemplo se muestra la creación de un servidor
básico.
• Los sockets se deben asociar a un puerto, por donde se
establecerá la comunicación.
• Estos puertos son conocidos como puertos lógicos y se
refieren a los puertos del protocolo TPC/IP. Su valores
van desde 0 hasta 65535 y se dividen en tres grupos.
• 0 – 1023. Conocidos como puertos del sistema.
Son puertos reservados para uso exclusivo de
aplicaciones bien conocidas y ya definidas. No
pueden ser usados.
• 1024 – 49151. Puertos registrados. Son puertos
asignados por la organización IANA para servicios
específicos. Pueden ser usados siempre que estén
disponibles.
• 49152 – 65535. Puertos dinámicos o privados.
Puertos destinados a ser usados para servicios
personalizados, temporales, etc. Pueden ser
usados siempre que estén disponibles.
• socket.AF_INET es la familia de direcciones de Internet
IPv4.
Cliente Echo Básico
• En este ejemplo se muestra
la creación de un cliente
básico.
Ejemplo Básico
Ejemplo CHAT

También podría gustarte