jueves, 15 de noviembre de 2012

Operadores java



Operador
Uso
Descripción
+
op1 + op2
Suma op1 y op2
-
op1 - op2
Resta op2 de op1
*
op1 * op2
Multiplica op1 por op2
/
op1 / op2
Divide op1 por op2
%
op1 % op2
Calcula el resto de dividir op1 entre op2






Operador
Uso
Descripción
+
+op
Convierte op a entero si es un byte, short o char
-
-op
Niega aritméticamente op







Operadores de comparación y condicionales
Operador
Uso
Devuelve verdadero si
> 
op1 > op2
op1 es mayor que op2
>=
op1 >= op2
op1 es mayor o igual que op2
< 
op1 < op2
op1 es menor que op2
<=
op1 <= op2
op1 es menor o igual que op2
==
op1 == op2
op1 y op2 son iguales
!=
op1 != op2
op1 y op2 son distintos

Operador
Uso
Devuelve verdadero si...
&&
op1 && op2
op1 y op2 son ambos verdaderos, condicionalmente evalúa op2
&
op1 & op2
op1 y op2 son ambos verdaderos, siempre evalúa op1 y op2
||
op1 || op2
op1 o op2 son verdaderos, condicionalmente evalúa op2
|
op1 | op2
op1 o op2 son verdaderos, siempre evalúa op1 y op2
!
! op
op es falso


Operadores bit

Operador
Uso
Operación
>> 
op1 >> op2
Desplaza los bits de op1 a la derecha op2 veces
<< 
op1 << op2
Desplaza los bits de op1 a la izquierda op2 veces
>>> 
op1 >>> op2
Desplaza los bits de op1 a la derecha op2 veces (sin signo)
Operadores de lógica bits
Operador
Uso
Operación
&
op1 & op2
AND
|
op1 | op2
OR
^
op1 ^ op2
OR Exclusivo
~
~op2
Complemento
Operadores de asignación
Operador
Uso
Equivalente a 
+=
op1 += op2
op1 = op1 + op2
-=
op1 -= op2
op1 = op1 - op2
*=
op1 *= op2
op1 = op1 * op2
/=
op1 /= op2
op1 = op1 / op2
%=
op1 %= op2
op1 = op1 % op2
&=
op1 &= op2
op1 = op1 & op2

Tipo de operadores
Operadores de este tipo
Operadores posfijos
[ ] . (parametros) expr++ expr--
Operadores unarios
++expr --expr +expr -expr ~ !
Creación o conversión
new (tipo) expr
Multiplicación
* / %
Suma
+ -
Desplazamiento
<< 
Comparación
< <= = instanceof
Igualdad
== !=
AND a nivel de bit
&
OR a nivel de bit
^
XOR a nivel de bit
|
AND lógico
&&
OR lógico
||
Condicional
? :
Asignación
= += -= *= /= %= &= ^= |= <<= = =




martes, 4 de septiembre de 2012


El modelo TCP/IP, describe un conjunto de guías generales de diseño e implementación de protocolos de red específicos para permitir que un equipo pueda comunicarse en una red. TCP/IP provee conectividad de extremo a extremo especificando como los datos deberían ser formateados, direccionados, transmitidos,enrutados y recibidos por el destinatario. Existen protocolos para los diferentes tipos de servicios de comunicación entre equipos.
TCP/IP tiene cuatro capas de abstracción según se define en el RFC 1122. Esta arquitectura de capas a menudo es comparada con el Modelo OSI de siete capas.
El modelo TCP/IP y los protocolos relacionados son mantenidos por la Internet Engineering Task Force (IETF).

Para conseguir un intercambio fiable de datos entre dos equipos, se deben llevar a cabo muchos procedimientos separados.
El resultado es que el software de comunicaciones es complejo. Con un modelo en capas o niveles resulta más sencillo agrupar funciones relacionadas e implementar el software de comunicaciones modular.
Las capas están jerarquizadas. Cada capa se construye sobre su predecesora. El número de capas y, en cada una de ellas, sus servicios y funciones son variables con cada tipo de red. Sin embargo, en cualquier red, la misión de cada capa es proveer servicios a las capas superiores haciéndoles transparentes el modo en que esos servicios se llevan a cabo. De esta manera, cada capa debe ocuparse exclusivamente de su nivel inmediatamente inferior, a quien solicita servicios, y del nivel inmediatamente superior, a quien devuelve resultados.
  • Capa 4 o capa de aplicación: Aplicación, asimilable a las capas 5 (sesión), 6 (presentación) y 7 (aplicación) del modelo OSI. La capa de aplicación debía incluir los detalles de las capas de sesión y presentación OSI. Crearon una capa de aplicación que maneja aspectos de representación, codificación y control de diálogo.
  • Capa 3 o capa de transporte: Transporte, asimilable a la capa 4 (transporte) del modelo OSI.
  • Capa 2 o capa de red: Internet, asimilable a la capa 3 (red) del modelo OSI.
  • Capa 1 o capa de enlace: Acceso al Medio, asimilable a la capa 2 (enlace de datos) y a la capa 1 (física) del modelo OSI.

Una dirección IP Los equipos comunican a través de Internet mediante el protocolo IP (Protocolo de Internet). Este protocolo utiliza direcciones numéricas denominadas direcciones IP compuestas por cuatro números enteros (4 bytes) entre 0 y 255, y escritos en el formato xxx.xxx.xxx.xxx. Por ejemplo, 194.153.205.26es una dirección IP en formato técnico.
Los equipos de una red utilizan estas direcciones para comunicarse, de manera que cada equipo de la red tiene una dirección IP exclusiva.
Las direcciones IPv4 se expresan por un número binario de 32 bits permitiendo un espacio de direcciones de hasta 4.294.967.296 (232) direcciones posibles. Las direcciones IP se pueden expresar como números de notación decimal: se dividen los 32 bits de la dirección en cuatro octetos. El valor decimal de cada octeto está comprendido en el rango de 0 a 255 [el número binario de 8 bits más alto es 11111111 y esos bits, de derecha a izquierda, tienen valores decimales de 1, 2, 4, 8, 16, 32, 64 y 128, lo que suma 255].
En la expresión de direcciones IPv4 en decimal se separa cada octeto por un carácter único ".". Cada uno de estos octetos puede estar comprendido entre 0 y 255, salvo algunas excepciones. Los ceros iniciales, si los hubiera, se pueden obviar.
  • Ejemplo de representación de dirección IPv4: 10.128.001.255 o 10.128.1.255

La función de la dirección IPv6 es exactamente la misma a su predecesor IPv4, pero dentro del protocolo IPv6. Está compuesta por 128 bits y se expresa en una notación hexadecimal de 32 dígitos. IPv6 permite actualmente que cada persona en la tierra tenga asignada varios millones de IPs, ya que puede implementarse con 2128 (3.4×1038 hosts direccionables). La ventaja con respecto a la dirección IPv4 es obvia en cuanto a su capacidad de direccionamiento.
Su representación suele ser hexadecimal y para la separación de cada par de octetos se emplea el símbolo ":". Un bloque abarca desde 0000 hasta FFFF. Algunas reglas de notación acerca de la representación de direcciones IPv6 son:
  • Los ceros iniciales, como en IPv4, se pueden obviar.
Ejemplo: 2001:0123:0004:00ab:0cde:3403:0001:0063 -> 2001:123:4:ab:cde:3403:1:63
  • Los bloques contiguos de ceros se pueden comprimir empleando "::". Esta operación sólo se puede hacer una vez.
Ejemplo: 2001:0:0:0:0:0:0:4 -> 2001::4.
Ejemplo no válido: 2001:0:0:0:2:0:0:1 -> 2001::2::1 (debería ser 2001::2:0:0:1 ó 2001:0:0:0:2::1).


Clases de direccion ip
En una dirección IP de clase A, el primer byte representa la red.
El bit más importante (el primer bit a la izquierda) está en cero, lo que significa que hay 2 7 (00000000 a 01111111) posibilidades de red, que son 128 posibilidades. Sin embargo, la red 0 (bits con valores 00000000) no existe y el número 127 está reservado para indicar su equipo.
Las redes disponibles de clase A son, por lo tanto, redes que van desde 1.0.0.0 126.0.0.0 (los últimos bytes son ceros que indican que se trata seguramente de una red y no de equipos).
Los tres bytes de la izquierda representan los equipos de la red. Por lo tanto, la red puede contener una cantidad de equipos igual a: 
224-2 = 16.777.214 equipos.



En una dirección IP de clase B, los primeros dos bytes representan la red.
Los primeros dos bits son 1 y 0; esto significa que existen 214 (10 000000 00000000 a 10 111111 11111111) posibilidades de red, es decir, 16.384 redes posibles. Las redes disponibles de la clase B son, por lo tanto, redes que van de 128.0.0.0 a 191.255.0.0.
Los dos bytes de la izquierda representan los equipos de la red. La red puede entonces contener una cantidad de equipos equivalente a: Por lo tanto, la red puede contener una cantidad de equipos igual a: 
216-21 = 65.534 equipos.


En una dirección IP de clase C, los primeros tres bytes representan la red. Los primeros tres bits son 1,1 y 0; esto significa que hay 221 posibilidades de red, es decir, 2.097.152. Las redes disponibles de la clases C son, por lo tanto, redes que van desde 192.0.0.0 a 223.255.255.0.
El byte de la derecha representa los equipos de la red, por lo que la red puede contener: 
28-21 = 254 equipos.

Máscara de subred

La máscara permite distinguir los bits que identifican la red y los que identifican el host de una dirección IP. Dada la dirección de clase A 10.2.1.2 sabemos que pertenece a la red 10.0.0.0 y el host al que se refiere es el 2.1.2 dentro de la misma. La máscara se forma poniendo a 1 los bits que identifican la red y a 0 los bits que identifican el host. De esta forma una dirección de clase A tendrá como máscara 255.0.0.0, una de clase B 255.255.0.0 y una de clase C 255.255.255.0. Los dispositivos de red realizan un AND entre la dirección IP y la máscara para obtener la dirección de red a la que pertenece el host identificado por la dirección IP dada. Por ejemplo un router necesita saber cuál es la red a la que pertenece la dirección IP del datagrama destino para poder consultar la tabla de encaminamiento y poder enviar el datagrama por la interfaz de salida. Para esto se necesita tener cables directos. La máscara también puede ser representada de la siguiente forma 10.2.1.2/8 donde el /8 indica que los 8 bits más significativos de máscara están destinados a redes, es decir /8 = 255.0.0.0. Análogamente (/16 = 255.255.0.0) y (/24 = 255.255.255.0).