SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Introducci´ n a las redes TCP/IP en Linux
                            o
                            ˜
                        Diseno y Administraci´ n de Sistemas y Redes
                                             o


                        Juan C´ spedes <cespedes@gsyc.escet.urjc.es>
                              e




                                    Curso 2005–2006




                                             Subsistema de red                                          1



                                Subsistema de red

                                      ´
                 Los subsistemas mas importantes del kernel de Linux son: ges-
                   ´                      ´
                 tion de procesos, gestion de memoria, sistemas de ficheros,
                 dispositivos, y el subsistema de red.

                 Existen varias llamadas al sistema espec´ficas para realizar
                                                          ı
                 conexiones y comunicaciones usando la red, como son socket(),
                 connect(), send(), recv(), etc.

                 Para que funcione el subsistema de red, es necesario que se
                 haya configurado previamente, para que el sistema sea capaz
                 de usar los dispositivos de red de que se dispongan, asociados
                 a direcciones y rutas.




c 2006 Juan C´ spedes
             e                                                   Introducci´ n a las redes TCP/IP en Linux
                                                                           o
Dispositivos de red                                             2



                               Dispositivos de red

                 Para poder acceder a una red, es necesario que haya hardware
                 espec´fico para conectarse a ella.
                       ı

                 Este hardware pueden ser tarjetas ethernet, token-ring, tarjetas
                 wireless, infrarrojos, bluetooth, etc.

                 Cuando el kernel reconoce una tarjeta de red, le da un nombre
                 para poder acceder a ella desde el sistema (“ethN ” para Ether-
                 net), pero NO existe ningun dispositivo (fichero del /dev) para
                                           ´
                 poder acceder a ella.




c 2006 Juan C´ spedes
             e                                                         Introducci´ n a las redes TCP/IP en Linux
                                                                                 o




                                             Dispositivos de red (2)                                          3



                             Dispositivos de red (2)

                 Se puede ver las tarjetas de red existentes mirando en los bu-
                 ses del sistema: PCI (lspci), USB (lsusb), etc.

                 Cuando el kernel identifica y reconoce una tarjeta de red, mues-
                 tra un mensaje por pantalla:
         e100: eth0: e100_probe: addr 0xd0205000, irq 9, MAC addr 08:00:46:F3:F9:22


                 Se puede consultar la lista de tarjetas de red existentes y reco-
                 nocidas por el kernel en el fichero /proc/net/dev.

                                                        ´
                 Para consultar estad´sticas, configuracion, etc. de cada tarjeta
                                     ı
                 de red: “ifconfig” o “netstat -i”.




c 2006 Juan C´ spedes
             e                                                         Introducci´ n a las redes TCP/IP en Linux
                                                                                 o
ifconfig                                                  4



                                        ifconfig

                                                     ´
                 Se puede usar para ver la configuracion de las tarjetas de red,
                                            ´
                 o para modificar configuracion de alguna de ellas.

                 Sin argumentos, muestra todas las tarjetas activas.

                 Con el nombre de una tarjeta de red, muestra esa tarjeta.

                            ´
                 Con la opcion “-a”, muestra todas las tarjetas de red.
         # ifconfig eth0

         eth0           Link encap:Ethernet HWaddr 08:00:46:F3:F9:22
                        inet addr:192.168.64.10 Bcast:192.168.62.255 Mask:255.255.255.0
                        inet6 addr: fe80::a00:46ff:fef3:f922/64 Scope:Link
                        UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
                        RX packets:178320 errors:4212 dropped:4323 overruns:0 frame:4212
                        TX packets:146240 errors:0 dropped:0 overruns:0 carrier:0
                        collisions:0 txqueuelen:1000
                        RX bytes:116171954 (110.7 MiB) TX bytes:21182840 (20.2 MiB)




c 2006 Juan C´ spedes
             e                                                       Introducci´ n a las redes TCP/IP en Linux
                                                                               o




                                                 ifconfig (2)                                               5



                                      ifconfig (2)

                 La salida de ifconfig, por cada tarjeta de red, se divide en 4
                 partes:
                   • Tipo de tarjeta y direccion hardware.
                                              ´
                   • Configuracion: direccion IP, netmask, broadcast, configura-
                                ´         ´
                       ´
                     cion IPv6.
                   • Flags: UP (tarjeta activa), BROADCAST( broadcast en uso),
                     MULTICAST (multicast en uso), PROMISC (modo promis-
                     cuo, etc.
                   • Estad´sticas: paquetes y bytes recibidos y enviados, errores,
                            ı
                     colisiones, etc.




c 2006 Juan C´ spedes
             e                                                       Introducci´ n a las redes TCP/IP en Linux
                                                                               o
Direcci´ n IP, netmask, broadcast
                                                 o                                                                   6



                               ´
                        Direccion IP, netmask, broadcast

                                   ´
                 inet addr: Direccion IP local. Dos usos:
                   • Todos los paquetes que tengan esa direccion IP de destino
                                                              ´
                                                  ´
                     se entregan localmente a la maquina.
                   • Los paquetes que se originen localmente y salgan por esa
                                                        ´
                     tarjeta de red, tienen esta direccion IP como origen.
                                      ´
                 broadcast: Direccion IP para alcanzar a toda la red. Todos
                                                           ´       ´
                 los paquetes que se env´en a esta direccion llegaran a todas
                                           ı
                       ´                     ´
                 las maquinas (incluida la maquina local).
                                      ´
                 netmask: Indica cual es el rango de direcciones IP que perte-
                 necen a la red local en la que estamos situados.
                                 ´
                 Primera direccion de la red: (ip addr AND netmask)
                 ´             ´
                 Ultima direccion de la red: (ip addr OR (NOT netmask))


c 2006 Juan C´ spedes
             e                                                                Introducci´ n a las redes TCP/IP en Linux
                                                                                        o




                                               Dispositivo local (lo)                                                7



                              Dispositivo local (lo)

                 No todos los dispositivos de red se corresponden con tarjetas
                 f´sicas.
                  ı

                 Dispositivo “lo”: utilizado para establecer conexiones de red
                                                    ´
                 entre dos procesos de la misma maquina.

                           ´
                 Todo el trafico enviado hacia el interfaz “lo” es recibido de nue-
                 vo por ese interfaz.

                                                    ´
                 Habitualmente se utiliza la direccion “127.0.0.1” para indicar la
                   ´                                                   ´
                 maquina local, o “localhost”, y se asigna esta direccion al inter-
                 faz “lo”, pero en algunos casos podr´a tener otra.
                                                       ı




c 2006 Juan C´ spedes
             e                                                                Introducci´ n a las redes TCP/IP en Linux
                                                                                        o
Tabla de rutas                                                     8



                                    Tabla de rutas

                               ´
                 La configuracion de cada tarjeta de red solo sirve para identifi-
                       ´                         ´                  ´
                 car que paquetes van hacia la maquina, pero no que hacer con
                 los paquetes que van hacia fuera.

                                              ´
                 La tabla de rutas indica que hacer con cada paquete que no
                                     ´                             ´
                 vaya dirigido a la maquina local, segun su direccion IP destino.
                                                      ´

                 La tabla de rutas nos la proporciona el kernel en el fichero
                                                                        ´
                 “/proc/net/route”, y se puede consultar mediante las orde-
                 nes “route” o “netstat -r”.
         # route

         Kernel IP routing table
         Destination     Gateway            Genmask                 Flags Metric Ref                Use Iface
         192.168.64.0    *                  255.255.255.0           U     0      0                    0 eth0
         default         192.168.64.1       0.0.0.0                 UG    0      0                    0 eth0



c 2006 Juan C´ spedes
             e                                                              Introducci´ n a las redes TCP/IP en Linux
                                                                                      o




                                               Tabla de rutas (2)                                                  9



                                 Tabla de rutas (2)

         Cada ruta contiene 4 partes importantes:

                                 ´
                 Destino: direccion IP base del rango que queremos indicar en
                 esta ruta.

                    ´      ´                           ´
                 Mascara: mascara asociada a la direccion destino para formar
                 la red.

                                  ´
                 Gateway : Direccion IP a la que mandar los paquetes que corres-
                 pondan con esta ruta.

                 Interface: Interfaz de red por el que enviar los paquetes de esta
                 ruta.

                              ´
         Si el gateway no esta especificado, indica que el paquete ha de
         enviarse localmente a la red a la que pertenece el interfaz.

c 2006 Juan C´ spedes
             e                                                              Introducci´ n a las redes TCP/IP en Linux
                                                                                      o
Tabla de rutas (3)                                                10



                                  Tabla de rutas (3)

                      ´
                 La mascara (netmask ) asociada a una tabla de rutas ha de ser
                                      ´
                 siempre una direccion con una serie de bits a “1” seguido de
                 una serie de bits a “0”.
                                          ´                   ´
                 El numero de “1”s de la mascara indica lo generica que es la
                      ´
                 red:
                   • ningun “1” indicar´a que esta es “toda la red”, tambien espe-
                         ´             ı                                  ´
                     cificada como “default gateway”.
                   • Todos los bits a “1” indica una ruta a “host”, esto es, hacia
                                  ´                                ´
                     una unica maquina y no una red de varias maquinas.
                         ´
                 Cuando un paquete tiene que rutarse y compararse con todas
                 las rutas de la tabla, en caso de que coincida con varias, se usa
                                    ´                               ´
                 siempre la ruta mas espec´fica, esto es, la que mas bits tiene a
                                              ı
                 “1”.

c 2006 Juan C´ spedes
             e                                                                Introducci´ n a las redes TCP/IP en Linux
                                                                                        o




                                          Env´o de paquetes a una red local
                                             ı                                                                     11



                        Env´o de paquetes a una red local
                           ı

                                                  ´      ´
                 Cada tipo de tarjeta de red tendra sus metodos para enviar pa-
                 quetes locales.
                      ´
                 Lo mas habitual es utilizar redes ethernet o compatibles, en las
                 que se utiliza el protocolo ARP:
                   • “ARP REQUEST” para averiguar que direccion hardware
                                                        ´         ´
                                                            ´
                     corresponde con una determinada direccion IP.
                   • “ARP REPLY” para contestar a una peticion previa de “ARP
                                                            ´
                     REQUEST”.
                 Las tablas ARP se almacenan en el fichero /proc/net/arp,
                 y se consultan mediante la orden “arp”.
                 La orden “arping” se puede usar para enviar paquetes “ARP
                 REQUEST” y ver los “ARP REPLY” de respuesta.

c 2006 Juan C´ spedes
             e                                                                Introducci´ n a las redes TCP/IP en Linux
                                                                                        o
Conexiones UDP y TCP                                          12



                            Conexiones UDP y TCP

                          ´                                            ´
                 En la practica totalidad de comunicaciones entre dos maquinas
                 se utiliza los protocolos UDP o TCP.
                                                         ´
                 El estado de las conexiones entre la maquina local y otras
                   ´
                 maquinas remotas usando UDP y TCP nos lo proporciona el
                              ´
                 kernel a traves de los ficheros “/proc/net/{udp,tcp}”, y se
                 pueden consultar con la orden “netstat”:
                   • netstat -u: Muestra las conexiones UDP establecidas,
                   • netstat -t: Muestra las conexiones TCP establecidas.
                   • netstat -l: Muestra las conexiones en estado de espera.
                   • netstat -a: Muestra todas las conexiones.
                   • netstat -n: Muestra direcciones IP en lugar de nombres
                         ´
                     de maquina.


c 2006 Juan C´ spedes
             e                                                      Introducci´ n a las redes TCP/IP en Linux
                                                                              o




                                           Resoluci´ n de nombres
                                                   o                                                     13



                                    ´
                            Resolucion de nombres

                                                       ´
                 Normalmente, se utilizan nombres de maquinas en lugar de di-
                 recciones IP para establecer comunicaciones

                             ´
                 La traduccion entre nombres y direcciones NO la realiza el ker-
                 nel, sino las funciones de la libc. El kernel no sabe nada de
                                 ´
                 nombres de maquina.

                 Todas las aplicaciones utilizan funciones de la libc, como pue-
                 den ser gethostbyname() y gethostbyaddr(). Estas fun-
                 ciones leen el fichero “/etc/nsswitch.conf”, y actuan de  ´
                                                         ´
                 distinta manera segun el contenido de este.
                                     ´




c 2006 Juan C´ spedes
             e                                                      Introducci´ n a las redes TCP/IP en Linux
                                                                              o
/etc/nsswitch.conf                                           14



                             /etc/nsswitch.conf

                                              ´
                 Base de datos para configuracion de determinados servicios:
                 passwd, group, hosts. . .
                 Para cada servicio hay una l´nea en este fichero, con el nom-
                                               ı
                                              ´
                 bre de dicho servicio, el caracter “:”, y la lista de maneras de
                 acceder a ese servicio, separadas por espacio. Se prueban to-
                 das las maneras presentes en el fichero, hasta que una de ellas
                 funciona.
                 Ejemplo de /etc/nsswitch.conf:
                 passwd: compat
                 group: compat
                 shadow: compat

                 hosts:     files dns

c 2006 Juan C´ spedes
             e                                                     Introducci´ n a las redes TCP/IP en Linux
                                                                             o




                                               /etc/hosts                                               15



                                    /etc/hosts

                 Si en el fichero “/etc/nsswitch.conf” aparece una l´nea  ı
                 con “hosts: files”, se consulta el fichero “/etc/hosts”
                                          ´                    ´
                 para realizar la conversion entre nombres de maquina y direc-
                 ciones IP (y viceversa).

                                                                     ´
                 Formato del fichero /etc/hosts: una l´nea por direccion IP,
                                                     ı
                 en la que aparezca:
                 direcci´n-IP nombre-m´quina [alias1 alias2...]
                          o               a

                 Ejemplo:
                 127.0.0.1     localhost
                 193.147.71.64 gsyc.escet.urjc.es gsyc
                 193.147.71.90 orion.cespedes.org orion mipc



c 2006 Juan C´ spedes
             e                                                     Introducci´ n a las redes TCP/IP en Linux
                                                                             o
/etc/resolv.conf                                                      16



                               /etc/resolv.conf

                 Si en el fichero “/etc/nsswitch.conf” aparece una l´neaı
                 con “hosts: dns”, indica que se han de hacer las consultas
                            ´
                 de resolucion de nombres a un servidor de DNS. En el fiche-
                                                     ´
                 ro “/etc/resolv.conf” se indica que servidores de DNS se
                 deben consultar.
                 Formato del /etc/resolv.conf: l´neas con campos separa-
                                                    ı
                                                                       ´
                 dos por espacios. El primero de los campos es una opcion de
                           ´
                 configuracion del DNS, y puede ser “nameserver”, “domain”,
                 “search”, y algunas otras.
                         ´    ´                                            ´
                 La opcion mas relevante es “nameserver”. A continuacion hay
                                       ´
                 que indicar la direccion IP de un servidor de DNS al que realizar
                 las peticiones. Si queremos usar varios servidores de DNS, hay
                 que tener una l´nea “nameserver” por cada uno de ellos.
                                 ı

c 2006 Juan C´ spedes
             e                                                                 Introducci´ n a las redes TCP/IP en Linux
                                                                                         o




                                        C´ mo examinar el tr´ fico de una red
                                         o                  a                                                       17



                     ´                 ´
                    Como examinar el trafico de una red

                              ´    ´
         Si queremos saber que esta pasando por la red, para depurar algun
                                                                        ´
         problema o por cualquier otro motivo, podemos usar:

                 tcpdump: Permite capturar todos los paquetes o los de un de-
                 terminado tipo, de un interfaz de red en concreto, mostrando
                 por pantalla las cabeceras o guardando cada paquete en un
                 fichero para examinarlo posteriormente. Muy potente.

                                                      ´
                 iptraf: Genera estad´sticas del trafico recibido por uno o va-
                                          ı
                 rios interfaces de red, a pantalla completa y con colores.

                                                      ´                     ´
                 ethereal: Programa interactivo y grafico para examinar el trafi-
                 co. Permite hacer todo lo que hace tcpdump, pero de manera
                   ´              ´ ´
                 grafica, mucho mas facil e intuitiva.


c 2006 Juan C´ spedes
             e                                                                 Introducci´ n a las redes TCP/IP en Linux
                                                                                         o
Herramientas de diagn´ stico
                                                               o                                              18



                                             ´
                        Herramientas de diagnostico

                 netstat: Muestra diversas configuraciones y estad´sticas de
                                                                      ı
                 la red: interfaces (“-i”), rutas (“-r”), conexiones TCP (“-t”),
                 UDP (“-u”), etc.
                 ping: env´a paquetes ICMP ECHO REQUEST, recibe ICMP
                            ı
                 ECHO REPLY, habitualmente usado para comprobar la conec-
                                    ´
                 tividad entre dos maquinas.
                 traceroute, mtr: Env´an paquetes con el campo TTL cre-
                                         ı
                 ciente, a partir de TTL=1, con el objeto de mostrar el camino
                 que siguen los paquetes para llegar hasta su objetivo.
                                             ´               ´
                 telnet: Establece una conexion TCP con una maquina y un
                 puerto dado.
                 host, dig: Realizan consultas a un servidor DNS.

c 2006 Juan C´ spedes
             e                                                           Introducci´ n a las redes TCP/IP en Linux
                                                                                   o




                                           Resoluci´ n de problemas
                                                   o                                                          19



                                  ´
                          Resolucion de problemas

                 ¿Tarjeta de red instalada correctamente en el equipo? (conec-
                                                     ´
                 tada al cable de red, link de conexion, lspci, lsusb. . . ).
                 ¿Tarjeta de red reconocida por el kernel? (dmesg, contenido
                 del /proc/net/dev, “ifconfig -a”).
                 ¿Configurada correctamente? (ifconfig, “route -n”).
                           ´
                 ¿Recibe trafico, muestra errores? (ifconfig).
                 ¿Conectividad con la red local? (arping, ping al gateway ).
                 ¿Conectividad en Internet? (ping, traceroute, mtr, con di-
                 recciones IP en lugar de nombres).
                 ¿DNS configurado correctamente? (/etc/nsswitch.conf,
                 /etc/resolv.conf, ping, host, dig).


c 2006 Juan C´ spedes
             e                                                           Introducci´ n a las redes TCP/IP en Linux
                                                                                   o

Más contenido relacionado

La actualidad más candente (18)

Preguntas guía de cara al examen de REDES
Preguntas guía de cara al examen de REDESPreguntas guía de cara al examen de REDES
Preguntas guía de cara al examen de REDES
 
Puertos
PuertosPuertos
Puertos
 
Glosario roger7788
Glosario roger7788Glosario roger7788
Glosario roger7788
 
Elementos de una red
Elementos de una redElementos de una red
Elementos de una red
 
Actividad 1 practica redes inalambricas (1)
Actividad 1 practica redes inalambricas (1)Actividad 1 practica redes inalambricas (1)
Actividad 1 practica redes inalambricas (1)
 
Redes
RedesRedes
Redes
 
Configuracion de una red
Configuracion de una redConfiguracion de una red
Configuracion de una red
 
Configuracion de una red
Configuracion de una redConfiguracion de una red
Configuracion de una red
 
Redes cristina gomez
Redes cristina gomezRedes cristina gomez
Redes cristina gomez
 
Tarjeta de red 1002 000
Tarjeta de red 1002 000Tarjeta de red 1002 000
Tarjeta de red 1002 000
 
Fundamento de Redes - Capitulo 3
Fundamento de Redes - Capitulo 3Fundamento de Redes - Capitulo 3
Fundamento de Redes - Capitulo 3
 
Redes
RedesRedes
Redes
 
Redes 1
Redes 1Redes 1
Redes 1
 
Una introduccion a IPv6
Una introduccion a IPv6Una introduccion a IPv6
Una introduccion a IPv6
 
Glosario de datos
Glosario de datos Glosario de datos
Glosario de datos
 
taller
tallertaller
taller
 
Exploration network chapter10
Exploration network chapter10Exploration network chapter10
Exploration network chapter10
 
Redes.
Redes.Redes.
Redes.
 

Destacado

Destacado (13)

Ordenamiento traslados dptal 2011.ordenam.
Ordenamiento traslados dptal 2011.ordenam.Ordenamiento traslados dptal 2011.ordenam.
Ordenamiento traslados dptal 2011.ordenam.
 
Internet
InternetInternet
Internet
 
Examen 1 omi2004
Examen 1 omi2004Examen 1 omi2004
Examen 1 omi2004
 
Evolucion de internet web2
Evolucion de internet web2Evolucion de internet web2
Evolucion de internet web2
 
Feliz día maestro, maestra
Feliz día maestro, maestraFeliz día maestro, maestra
Feliz día maestro, maestra
 
Norman Girvan
Norman GirvanNorman Girvan
Norman Girvan
 
Cvjavier De La Puerta GonzáLez Quevedo
Cvjavier De La Puerta GonzáLez QuevedoCvjavier De La Puerta GonzáLez Quevedo
Cvjavier De La Puerta GonzáLez Quevedo
 
Que un blog y un wiki
Que un blog y un wikiQue un blog y un wiki
Que un blog y un wiki
 
3.1. como crear tu cuenta en you tube para subir un video
3.1. como  crear tu cuenta en you tube para subir  un video3.1. como  crear tu cuenta en you tube para subir  un video
3.1. como crear tu cuenta en you tube para subir un video
 
Blog
BlogBlog
Blog
 
Consecuencias de la segunda guerra mundial
Consecuencias de la segunda  guerra  mundialConsecuencias de la segunda  guerra  mundial
Consecuencias de la segunda guerra mundial
 
Calidad en las Instituciones Educativas
Calidad en las Instituciones EducativasCalidad en las Instituciones Educativas
Calidad en las Instituciones Educativas
 
Los miserables
Los miserablesLos miserables
Los miserables
 

Similar a Introducción a las redes TCP/IP en Linux

Presentación de Redes
Presentación de RedesPresentación de Redes
Presentación de RedesAlexrr5
 
Presentación de Redes
Presentación de RedesPresentación de Redes
Presentación de RedesAlexrr5
 
Conceptos y protocolos de enrutamiento: 1.1 Configuración básica de una red -...
Conceptos y protocolos de enrutamiento: 1.1 Configuración básica de una red -...Conceptos y protocolos de enrutamiento: 1.1 Configuración básica de una red -...
Conceptos y protocolos de enrutamiento: 1.1 Configuración básica de una red -...Francesc Perez
 
Cuestionario - Placa de red
Cuestionario - Placa de redCuestionario - Placa de red
Cuestionario - Placa de redTincho Mombelli
 
Como crear una red lan
Como crear una red lanComo crear una red lan
Como crear una red lan8KDS
 
Tarjetas de red.ppt
Tarjetas de red.pptTarjetas de red.ppt
Tarjetas de red.pptnenita253
 
Planeaciòn de una Red LAN
Planeaciòn de una Red LAN Planeaciòn de una Red LAN
Planeaciòn de una Red LAN IsraelAnciani
 
Componentes de una red
Componentes de una redComponentes de una red
Componentes de una redhenry
 
ETHERNET
ETHERNETETHERNET
ETHERNETixak
 
cbtis
cbtiscbtis
cbtisixak
 
Tema 5-instalacion-configuracion-de-redes-locales hoy
Tema 5-instalacion-configuracion-de-redes-locales  hoyTema 5-instalacion-configuracion-de-redes-locales  hoy
Tema 5-instalacion-configuracion-de-redes-locales hoyIestp Instituto Superior
 
Tema 5-instalacion-configuracion-de-redes-locales hoy
Tema 5-instalacion-configuracion-de-redes-locales  hoyTema 5-instalacion-configuracion-de-redes-locales  hoy
Tema 5-instalacion-configuracion-de-redes-locales hoysharom herrera
 
U2 redes informáticas
U2 redes informáticasU2 redes informáticas
U2 redes informáticasisabbg
 
Protocolos de la comunicación.diogenes dora
Protocolos de la comunicación.diogenes  doraProtocolos de la comunicación.diogenes  dora
Protocolos de la comunicación.diogenes doradianalores
 

Similar a Introducción a las redes TCP/IP en Linux (20)

Presentación de Redes
Presentación de RedesPresentación de Redes
Presentación de Redes
 
Presentación de Redes
Presentación de RedesPresentación de Redes
Presentación de Redes
 
Conceptos y protocolos de enrutamiento: 1.1 Configuración básica de una red -...
Conceptos y protocolos de enrutamiento: 1.1 Configuración básica de una red -...Conceptos y protocolos de enrutamiento: 1.1 Configuración básica de una red -...
Conceptos y protocolos de enrutamiento: 1.1 Configuración básica de una red -...
 
Cuestionario - Placa de red
Cuestionario - Placa de redCuestionario - Placa de red
Cuestionario - Placa de red
 
Redes Locales Xp
Redes Locales XpRedes Locales Xp
Redes Locales Xp
 
Redes
RedesRedes
Redes
 
Como crear una red lan
Como crear una red lanComo crear una red lan
Como crear una red lan
 
Planeacion de una red LAN
Planeacion de una red LANPlaneacion de una red LAN
Planeacion de una red LAN
 
Tarjetas de red.ppt
Tarjetas de red.pptTarjetas de red.ppt
Tarjetas de red.ppt
 
Tarjetas de red
Tarjetas de redTarjetas de red
Tarjetas de red
 
Planeaciòn de una Red LAN
Planeaciòn de una Red LAN Planeaciòn de una Red LAN
Planeaciòn de una Red LAN
 
Componentes de una red
Componentes de una redComponentes de una red
Componentes de una red
 
Protocolos de Internet
Protocolos de InternetProtocolos de Internet
Protocolos de Internet
 
Redes de ordenadores
Redes de ordenadoresRedes de ordenadores
Redes de ordenadores
 
ETHERNET
ETHERNETETHERNET
ETHERNET
 
cbtis
cbtiscbtis
cbtis
 
Tema 5-instalacion-configuracion-de-redes-locales hoy
Tema 5-instalacion-configuracion-de-redes-locales  hoyTema 5-instalacion-configuracion-de-redes-locales  hoy
Tema 5-instalacion-configuracion-de-redes-locales hoy
 
Tema 5-instalacion-configuracion-de-redes-locales hoy
Tema 5-instalacion-configuracion-de-redes-locales  hoyTema 5-instalacion-configuracion-de-redes-locales  hoy
Tema 5-instalacion-configuracion-de-redes-locales hoy
 
U2 redes informáticas
U2 redes informáticasU2 redes informáticas
U2 redes informáticas
 
Protocolos de la comunicación.diogenes dora
Protocolos de la comunicación.diogenes  doraProtocolos de la comunicación.diogenes  dora
Protocolos de la comunicación.diogenes dora
 

Introducción a las redes TCP/IP en Linux

  • 1. Introducci´ n a las redes TCP/IP en Linux o ˜ Diseno y Administraci´ n de Sistemas y Redes o Juan C´ spedes <cespedes@gsyc.escet.urjc.es> e Curso 2005–2006 Subsistema de red 1 Subsistema de red ´ Los subsistemas mas importantes del kernel de Linux son: ges- ´ ´ tion de procesos, gestion de memoria, sistemas de ficheros, dispositivos, y el subsistema de red. Existen varias llamadas al sistema espec´ficas para realizar ı conexiones y comunicaciones usando la red, como son socket(), connect(), send(), recv(), etc. Para que funcione el subsistema de red, es necesario que se haya configurado previamente, para que el sistema sea capaz de usar los dispositivos de red de que se dispongan, asociados a direcciones y rutas. c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o
  • 2. Dispositivos de red 2 Dispositivos de red Para poder acceder a una red, es necesario que haya hardware espec´fico para conectarse a ella. ı Este hardware pueden ser tarjetas ethernet, token-ring, tarjetas wireless, infrarrojos, bluetooth, etc. Cuando el kernel reconoce una tarjeta de red, le da un nombre para poder acceder a ella desde el sistema (“ethN ” para Ether- net), pero NO existe ningun dispositivo (fichero del /dev) para ´ poder acceder a ella. c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o Dispositivos de red (2) 3 Dispositivos de red (2) Se puede ver las tarjetas de red existentes mirando en los bu- ses del sistema: PCI (lspci), USB (lsusb), etc. Cuando el kernel identifica y reconoce una tarjeta de red, mues- tra un mensaje por pantalla: e100: eth0: e100_probe: addr 0xd0205000, irq 9, MAC addr 08:00:46:F3:F9:22 Se puede consultar la lista de tarjetas de red existentes y reco- nocidas por el kernel en el fichero /proc/net/dev. ´ Para consultar estad´sticas, configuracion, etc. de cada tarjeta ı de red: “ifconfig” o “netstat -i”. c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o
  • 3. ifconfig 4 ifconfig ´ Se puede usar para ver la configuracion de las tarjetas de red, ´ o para modificar configuracion de alguna de ellas. Sin argumentos, muestra todas las tarjetas activas. Con el nombre de una tarjeta de red, muestra esa tarjeta. ´ Con la opcion “-a”, muestra todas las tarjetas de red. # ifconfig eth0 eth0 Link encap:Ethernet HWaddr 08:00:46:F3:F9:22 inet addr:192.168.64.10 Bcast:192.168.62.255 Mask:255.255.255.0 inet6 addr: fe80::a00:46ff:fef3:f922/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:178320 errors:4212 dropped:4323 overruns:0 frame:4212 TX packets:146240 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:116171954 (110.7 MiB) TX bytes:21182840 (20.2 MiB) c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o ifconfig (2) 5 ifconfig (2) La salida de ifconfig, por cada tarjeta de red, se divide en 4 partes: • Tipo de tarjeta y direccion hardware. ´ • Configuracion: direccion IP, netmask, broadcast, configura- ´ ´ ´ cion IPv6. • Flags: UP (tarjeta activa), BROADCAST( broadcast en uso), MULTICAST (multicast en uso), PROMISC (modo promis- cuo, etc. • Estad´sticas: paquetes y bytes recibidos y enviados, errores, ı colisiones, etc. c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o
  • 4. Direcci´ n IP, netmask, broadcast o 6 ´ Direccion IP, netmask, broadcast ´ inet addr: Direccion IP local. Dos usos: • Todos los paquetes que tengan esa direccion IP de destino ´ ´ se entregan localmente a la maquina. • Los paquetes que se originen localmente y salgan por esa ´ tarjeta de red, tienen esta direccion IP como origen. ´ broadcast: Direccion IP para alcanzar a toda la red. Todos ´ ´ los paquetes que se env´en a esta direccion llegaran a todas ı ´ ´ las maquinas (incluida la maquina local). ´ netmask: Indica cual es el rango de direcciones IP que perte- necen a la red local en la que estamos situados. ´ Primera direccion de la red: (ip addr AND netmask) ´ ´ Ultima direccion de la red: (ip addr OR (NOT netmask)) c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o Dispositivo local (lo) 7 Dispositivo local (lo) No todos los dispositivos de red se corresponden con tarjetas f´sicas. ı Dispositivo “lo”: utilizado para establecer conexiones de red ´ entre dos procesos de la misma maquina. ´ Todo el trafico enviado hacia el interfaz “lo” es recibido de nue- vo por ese interfaz. ´ Habitualmente se utiliza la direccion “127.0.0.1” para indicar la ´ ´ maquina local, o “localhost”, y se asigna esta direccion al inter- faz “lo”, pero en algunos casos podr´a tener otra. ı c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o
  • 5. Tabla de rutas 8 Tabla de rutas ´ La configuracion de cada tarjeta de red solo sirve para identifi- ´ ´ ´ car que paquetes van hacia la maquina, pero no que hacer con los paquetes que van hacia fuera. ´ La tabla de rutas indica que hacer con cada paquete que no ´ ´ vaya dirigido a la maquina local, segun su direccion IP destino. ´ La tabla de rutas nos la proporciona el kernel en el fichero ´ “/proc/net/route”, y se puede consultar mediante las orde- nes “route” o “netstat -r”. # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.64.0 * 255.255.255.0 U 0 0 0 eth0 default 192.168.64.1 0.0.0.0 UG 0 0 0 eth0 c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o Tabla de rutas (2) 9 Tabla de rutas (2) Cada ruta contiene 4 partes importantes: ´ Destino: direccion IP base del rango que queremos indicar en esta ruta. ´ ´ ´ Mascara: mascara asociada a la direccion destino para formar la red. ´ Gateway : Direccion IP a la que mandar los paquetes que corres- pondan con esta ruta. Interface: Interfaz de red por el que enviar los paquetes de esta ruta. ´ Si el gateway no esta especificado, indica que el paquete ha de enviarse localmente a la red a la que pertenece el interfaz. c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o
  • 6. Tabla de rutas (3) 10 Tabla de rutas (3) ´ La mascara (netmask ) asociada a una tabla de rutas ha de ser ´ siempre una direccion con una serie de bits a “1” seguido de una serie de bits a “0”. ´ ´ El numero de “1”s de la mascara indica lo generica que es la ´ red: • ningun “1” indicar´a que esta es “toda la red”, tambien espe- ´ ı ´ cificada como “default gateway”. • Todos los bits a “1” indica una ruta a “host”, esto es, hacia ´ ´ una unica maquina y no una red de varias maquinas. ´ Cuando un paquete tiene que rutarse y compararse con todas las rutas de la tabla, en caso de que coincida con varias, se usa ´ ´ siempre la ruta mas espec´fica, esto es, la que mas bits tiene a ı “1”. c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o Env´o de paquetes a una red local ı 11 Env´o de paquetes a una red local ı ´ ´ Cada tipo de tarjeta de red tendra sus metodos para enviar pa- quetes locales. ´ Lo mas habitual es utilizar redes ethernet o compatibles, en las que se utiliza el protocolo ARP: • “ARP REQUEST” para averiguar que direccion hardware ´ ´ ´ corresponde con una determinada direccion IP. • “ARP REPLY” para contestar a una peticion previa de “ARP ´ REQUEST”. Las tablas ARP se almacenan en el fichero /proc/net/arp, y se consultan mediante la orden “arp”. La orden “arping” se puede usar para enviar paquetes “ARP REQUEST” y ver los “ARP REPLY” de respuesta. c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o
  • 7. Conexiones UDP y TCP 12 Conexiones UDP y TCP ´ ´ En la practica totalidad de comunicaciones entre dos maquinas se utiliza los protocolos UDP o TCP. ´ El estado de las conexiones entre la maquina local y otras ´ maquinas remotas usando UDP y TCP nos lo proporciona el ´ kernel a traves de los ficheros “/proc/net/{udp,tcp}”, y se pueden consultar con la orden “netstat”: • netstat -u: Muestra las conexiones UDP establecidas, • netstat -t: Muestra las conexiones TCP establecidas. • netstat -l: Muestra las conexiones en estado de espera. • netstat -a: Muestra todas las conexiones. • netstat -n: Muestra direcciones IP en lugar de nombres ´ de maquina. c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o Resoluci´ n de nombres o 13 ´ Resolucion de nombres ´ Normalmente, se utilizan nombres de maquinas en lugar de di- recciones IP para establecer comunicaciones ´ La traduccion entre nombres y direcciones NO la realiza el ker- nel, sino las funciones de la libc. El kernel no sabe nada de ´ nombres de maquina. Todas las aplicaciones utilizan funciones de la libc, como pue- den ser gethostbyname() y gethostbyaddr(). Estas fun- ciones leen el fichero “/etc/nsswitch.conf”, y actuan de ´ ´ distinta manera segun el contenido de este. ´ c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o
  • 8. /etc/nsswitch.conf 14 /etc/nsswitch.conf ´ Base de datos para configuracion de determinados servicios: passwd, group, hosts. . . Para cada servicio hay una l´nea en este fichero, con el nom- ı ´ bre de dicho servicio, el caracter “:”, y la lista de maneras de acceder a ese servicio, separadas por espacio. Se prueban to- das las maneras presentes en el fichero, hasta que una de ellas funciona. Ejemplo de /etc/nsswitch.conf: passwd: compat group: compat shadow: compat hosts: files dns c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o /etc/hosts 15 /etc/hosts Si en el fichero “/etc/nsswitch.conf” aparece una l´nea ı con “hosts: files”, se consulta el fichero “/etc/hosts” ´ ´ para realizar la conversion entre nombres de maquina y direc- ciones IP (y viceversa). ´ Formato del fichero /etc/hosts: una l´nea por direccion IP, ı en la que aparezca: direcci´n-IP nombre-m´quina [alias1 alias2...] o a Ejemplo: 127.0.0.1 localhost 193.147.71.64 gsyc.escet.urjc.es gsyc 193.147.71.90 orion.cespedes.org orion mipc c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o
  • 9. /etc/resolv.conf 16 /etc/resolv.conf Si en el fichero “/etc/nsswitch.conf” aparece una l´neaı con “hosts: dns”, indica que se han de hacer las consultas ´ de resolucion de nombres a un servidor de DNS. En el fiche- ´ ro “/etc/resolv.conf” se indica que servidores de DNS se deben consultar. Formato del /etc/resolv.conf: l´neas con campos separa- ı ´ dos por espacios. El primero de los campos es una opcion de ´ configuracion del DNS, y puede ser “nameserver”, “domain”, “search”, y algunas otras. ´ ´ ´ La opcion mas relevante es “nameserver”. A continuacion hay ´ que indicar la direccion IP de un servidor de DNS al que realizar las peticiones. Si queremos usar varios servidores de DNS, hay que tener una l´nea “nameserver” por cada uno de ellos. ı c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o C´ mo examinar el tr´ fico de una red o a 17 ´ ´ Como examinar el trafico de una red ´ ´ Si queremos saber que esta pasando por la red, para depurar algun ´ problema o por cualquier otro motivo, podemos usar: tcpdump: Permite capturar todos los paquetes o los de un de- terminado tipo, de un interfaz de red en concreto, mostrando por pantalla las cabeceras o guardando cada paquete en un fichero para examinarlo posteriormente. Muy potente. ´ iptraf: Genera estad´sticas del trafico recibido por uno o va- ı rios interfaces de red, a pantalla completa y con colores. ´ ´ ethereal: Programa interactivo y grafico para examinar el trafi- co. Permite hacer todo lo que hace tcpdump, pero de manera ´ ´ ´ grafica, mucho mas facil e intuitiva. c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o
  • 10. Herramientas de diagn´ stico o 18 ´ Herramientas de diagnostico netstat: Muestra diversas configuraciones y estad´sticas de ı la red: interfaces (“-i”), rutas (“-r”), conexiones TCP (“-t”), UDP (“-u”), etc. ping: env´a paquetes ICMP ECHO REQUEST, recibe ICMP ı ECHO REPLY, habitualmente usado para comprobar la conec- ´ tividad entre dos maquinas. traceroute, mtr: Env´an paquetes con el campo TTL cre- ı ciente, a partir de TTL=1, con el objeto de mostrar el camino que siguen los paquetes para llegar hasta su objetivo. ´ ´ telnet: Establece una conexion TCP con una maquina y un puerto dado. host, dig: Realizan consultas a un servidor DNS. c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o Resoluci´ n de problemas o 19 ´ Resolucion de problemas ¿Tarjeta de red instalada correctamente en el equipo? (conec- ´ tada al cable de red, link de conexion, lspci, lsusb. . . ). ¿Tarjeta de red reconocida por el kernel? (dmesg, contenido del /proc/net/dev, “ifconfig -a”). ¿Configurada correctamente? (ifconfig, “route -n”). ´ ¿Recibe trafico, muestra errores? (ifconfig). ¿Conectividad con la red local? (arping, ping al gateway ). ¿Conectividad en Internet? (ping, traceroute, mtr, con di- recciones IP en lugar de nombres). ¿DNS configurado correctamente? (/etc/nsswitch.conf, /etc/resolv.conf, ping, host, dig). c 2006 Juan C´ spedes e Introducci´ n a las redes TCP/IP en Linux o