Professional Documents
Culture Documents
1.
OBJETIVOS:
1.1
1.2
1.3
1.4
2.
RFC 793
Transporte/Servicio orientado a la conexin
Protocolo de transporte de Internet
Transferencia de datos full-dplex
Transporte confiable:
Control:
o de transmisin
o de flujo
o de errores
o de congestin de red
o ...
Provee servicio a la capa de aplicacin
Adaptable a LAN/WAN
Transferencia de un stream de bytes entre sistemas finales (end-to-end)
Puertos:
- En general, una computadora tiene una simple conexin fsica a la red.
o Todos los datos destinados a una computadora en particular llega a travs de
esa conexin.
o Sin embargo, los datos puede ser pretendidos por diferentes aplicaciones
Socket:
- Una interface:
o en el host local
o creada por la aplicacin
o controlada por el SO
(Una estructura de datos) dentro de la cual el proceso de aplicacin puede tanto enviar
como recibir mensajes a/desde otro proceso de aplicacin
- Conexiones:
o Normalmente, un servidor corre sobre una computadora especfica y tiene un
socket que est LIGADO al nmero de puerto respectivo.
o El servidor justamente espera, escuchando al socket por un cliente haga una
peticin de conexin.
- El par <direccin IP>, <N de puerto> brinda una identificacin nica para los servicios
de capa de aplicacin en un host, y sirve para identificar a un socket.
o Cada lado de una conexin TCP tiene un socket que puede ser identificado por:
la 3-tupla <TCP, direccin IP, # puerto>
3.
RECURSOS
Los recursos a utilizar en el trabajo de laboratorio son:
3.1 Java
4.
DESARROLLO DE LA PRACTICA:
En el presente trabajo de laboratorio se visualizar el estado de las conexiones TCP y se
implementar tanto un cliente que enva datos en minscula a un servidor, como un
servidor que recibe datos en minscula desde un cliente y lo devuelve de regreso pero en
maysculas haciendo uso del lenguaje Java.
4.1
4.2
Direccin local
Direccin remota
0.0.0.0:80
0.0.0.0:0
0.0.0.0:445
0.0.0.0:0
127.0.0.1:53
0.0.0.0:0
127.0.0.1:23401
0.0.0.0:0
192.168.1.6:53
0.0.0.0:0
192.168.1.6:139
0.0.0.0:0
192.168.1.6:6419
69.172.201.208:80
192.168.1.6:6420
16.58.219.130:443
192.168.56.1:138
*:*
192.168.56.1:1900 *:*
192.168.56.1:56284 *:*
Estado
LISTENING
LISTENING
LISTENING
LISTENING
LISTENING
LISTENING
ESTABLISHED
ESTABLISHED
Abrir un socket
Abrir un stream de entrada y un stream de salida para el socket.
Leer desde y escribir hacia el stream conforme al protocolo del servidor.
Cerrar los streams.
Cerrar el socket.
-
APLICACIN CLIENTE:
ClienteTCP.java
/*
*/
import java.io.*;
import java.net.*;
class ClienteTCP {
public static void main(String argv[]) throws Exception
{
// variables
String sentencia;
String sentenciaModificada;
// crear un stream de entrada para la entrada del usuario
BufferedReader inDesdeUsuario =
new BufferedReader(new InputStreamReader(System.in));
// crear socket cliente y conectarse al server
Socket socketCliente = new Socket("id_Servidor", 6789);
// crear un stream de salida ligado al socket
DataOutputStream outAlServidor =
new DataOutputStream(socketCliente.getOutputStream());
APLICACIN SERVIDOR:
ServidorTCP.java
/*
*/
import java.io.*;
import java.net.*;
class ServidorTCP {
public static void main(String argv[]) throws Exception
{
String sentenciaCliente;
String sentenciaEnMay;
// crear el socket servidor (TCP) en el puerto 6789
ServerSocket socketServidor = new ServerSocket(6789);
while(true) {
// el socket servidor espera, escuchando por contacto por el cliente,
// si lo acepta un nuevo socket es creado y la conexin es hecha
Socket socketConexion = socketServidor.accept();
javac ClienteTCP.java
javac ServidorTCP.java
java ServidorTCP
-
java ClienteTCP
5.
CUESTIONARIO:
5.1 Completar el comando dado a continuacin, para que solo muestra las
transmisiones/conexiones asociados con un determinado Nmero de Puerto:
En Windows:
netstat -aon ____________________
En Linux
netstat -tuapn __________________
5.2 Cul de las siguientes combinaciones de parmetros de netstat muestra los nmeros
de puerto asociados y el identificador de procesos?
a. netstat -a -o n
b. netstat -b -e f
c. netstat -f -s p
d. netstat -m -o v
5.3 IANA: Nmeros de puerto en el rango de 0 a 1023 son conocidos como:
a. Puertos efmeros
b. Puertos bien-conocidos
c. Puertos del sistema
d. Puertos dinmicos
e. Puertos registrados
5.4 IANA: Los nmeros de puerto en el rango de 1024 al 49151 son referidos como:
a. Puertos privados
b. Puertos dinmicos
c. Puertos bien-conocidos
d. Puertos de usuario
e. Puertos registrados
5.5 IANA: Puertos referidos como puertos dinmicos, privados, o efmeros tienen
nmeros en el rango de:
a. 49152 65535
b. 0 1023
c. 1024 49151