martes, 30 de octubre de 2018

Protocolos

Mapa conceptual de Modelo OSI



Nivel de Aplicación: Es el nivel que está en contacto directo con los programas o aplicaciones informáticas de las estaciones y contiene los servicios de comunicación más utilizados en las redes. Como ejemplos de servicios a este nivel se puede mencionar la transferencia de archivos, el correo electrónico, etc.
Nivel de presentación: a este nivel se controla el significado de la información que se transmite, lo que permite la traducción de los datos entre las estaciones. Por ejemplo, si una estación trabaja con un código concreto y la estación del otro extremo maneja uno diferente, el nivel de presentación es el encargado de realizar esta conversión. Para conversaciones confidenciales, este nivel también codifica y encripta los datos para hacerlos incomprensibles a posibles escuchas ilegales.
Nivel de sesión: a este nivel se establecen sesiones (conexiones) de comunicación entre los dos extremos para el transporte ordinario de datos. A diferencia del nivel de transporte, a este nivel se proporcionan algunos servicios mejorados, como la reanudación de la conversación después de un fallo en la red o una interrupción, etc.
Nivel de transporte: es el nivel más bajo que tiene independencia total del tipo de red utilizada y su función básica es tomar los datos procedentes del nivel de sesión y pasarlos a la capa de red, asegurando que lleguen correctamente al nivel de sesión del otro extremo. A este nivel, la conexión es realmente de extremo a extremo (véase la figura 2.3), ya que no se establece ninguna conversación con los niveles de transporte de todas las máquinas intermedias.
 Nivel de red: se ocupa de determinar cuál es la mejor ruta por la que enviar la información. Esta decisión tiene que ver con el camino más corto, el más rápido, el que tenga menor tráfico, etc. Por todo esto, la capa de red debe controlar también la congestión de la red, intentando repartir la carga lo más equilibrada posible entre las distintas rutas. También a este nivel se realiza gran parte del trabajo de convertir y adaptar los mensajes que circulan entre redes heterogéneas. La unidad mínima de información que se transfiere a este nivel se llama paquete.
Nivel de enlace: su tarea principal es detectar y corregir todos los errores que se produzcan en la línea de comunicación. También se encarga de controlar que un emisor rápido no sature a un receptor lento, ni se pierdan datos innecesariamente. Finalmente, en redes donde existe un único medio compartido por el que circula la información, este nivel se encarga de repartir su utilización entre las estaciones. La unidad mínima de datos que se transfiere entre entidades pares a este nivel se llama trama o marco.
Nivel físico: tiene que ver con la transmisión de dígitos binarios por un canal de comunicación. Las consideraciones de diseño tienen que ver con el propósito de asegurarse de que, cuando un lado envíe un “1”, se reciba en el otro lado como “1”, no como “0”. Las preguntas típicas aquí son: ¿qué voltaje deberá usarse para representar un 1 y para representar un 0?, ¿cuántos microsegundos dura cada dígito?, ¿en qué frecuencia de radio se va a transmitir?, ¿cuántas puntas tiene el conector de la red y para qué sirve cada una?, etc. Aquí las consideraciones de diseño tienen mucho que ver con las interfaces mecánica, eléctrica y de procedimientos y con el medio de transmisión físico que está bajo la capa física.
Diagrama modelo TCP/IP



Capa de aplicación: esta capa contiene, al igual que la capa de aplicación de OSI, todos los protocolos de alto nivel que utilizan los programas para comunicarse. Aquí se encuentra el protocolo de terminal virtual (TELNET), el de transferencia de archivos (FTP), el protocolo HTTP que usan los navegadores para recuperar páginas en la World Wide Web, los protocolos de gestión del correo electrónico, etc.
Capa de transporte: ésta cumple la función de establecer una conversación entre el origen y el destino, de igual forma que hace la capa de transporte en el modelo OSI. Puesto que las capas inferiores no se responsabilizan del control de errores ni de la ordenación de los mensajes, ésta debe realizar todo ese trabajo. Aquí también se han definido varios protocolos, entre los que destacan TCP (Transmisión Control Protocol o Protocolo de Control de Transmisión), orientado a la conexión y fiable, y UDP (User Datagram Protocol o Protocolo de Datagrama de Usuario), no orientado a la conexión y no fiable.
Capa de interred: esta capa es la más importante de la arquitectura y su misión consiste en permitir que las estaciones envíen información (paquetes) a la red y los hagan viajar de forma independiente hacia su destino. Durante ese viaje, los paquetes pueden atravesar redes diferentes y llegar desordenados. Esta capa no se responsabiliza de la tarea de ordenar de nuevo los mensajes en el destino. El protocolo más importante de esta capa se llama IP (Internet Protocol o Protocolo de Interred), aunque también existen otros protocolos.
Capa de subred: el modelo no da mucha información de esta capa y solamente se especifica que debe existir algún protocolo que conecte la estación con la red. La razón fundamental es que, como TCP/IP se diseñó para su funcionamiento sobre redes diferentes, esta capa depende de la tecnología utilizada y no se especifica de antemano.
    Protocolos Para TCP/IP

Modselo de 7 Capapara una pizarria

Se debe contar con los ingredientes
Las pizzas deben estar listo para una cierta hora
Las pizzas se agrupan en paquetes
Los paquetes contienen losa




sábado, 6 de octubre de 2018

Elementos de C#

Elementos de C#
C#
Para entender lo que es C# es imprescindible decir antes lo que es Microsoft .NET Framework o abreviadamente .NET. Se trata de un entorno de desarrollo multilenguaje diseñado por Microsoft para simplificar la construcción, distribución y ejecución de aplicaciones para Internet. Tiene fundamentalmente tres componentes: una máquina virtual (CLR: Common Language Runtime) que procesa código escrito en un lenguaje intermedio (MSIL: Microsoft Intermediate Language), una biblioteca de clases (biblioteca .NET) y ASP.NET que proporciona los servicios necesarios para crear aplicaciones Web. Precisamente C# es uno de los lenguajes de programación de alto nivel que pertenecen al paquete .NET (otros lenguajes son Visual Basic, C/C++, etc.). C# es una evolución de C/C++. Con él se pueden escribir tanto programas convencionales como para Internet.
Palabras reservadas

Las palabras clave de C# En sus cimientos, un lenguaje de computación es definido por sus palabras clave, y C# ofrece un conjunto rico y diverso. C# define dos tipos generales de palabras clave: reservadas y contextuales. Las reservadas no pueden ser utilizadas como nombres de variable, clases ni métodos; sólo pueden ser utilizadas como palabras clave, por eso reciben el nombre de reservadas. En ocasiones también reciben el nombre de términos reservados e identificadores reservados. Actualmente existen 77 palabras clave reservadas definidas en la versión 3.0 del lenguaje C# 3.0. Todas ellas se muestran en la tabla 1-1.





C# 3.0 define 13 palabras clave contextuales que tienen un significado especial en ciertos contextos. En tales contextos, actúan como palabras clave y fuera de ellos pueden ser utilizadas como nombres para otros elementos del programa, como las variables. Así pues, técnicamente no son palabras reservadas, pero como regla general debes considerar las palabras clave contextuales como reservadas y evitar su uso para cualquier otro propósito diferente al que le asigna el lenguaje. Utilizar palabras clave contextuales como nombre para cualquier otro elemento del programa puede causar confusión y es considerada una mala práctica por la mayoría de los programadores. Las palabras clave contextuales aparecen en la tabla 1-2.


Identificadores

En C# un identificador es un nombre asignado a un método, a una variable o a cualquier otro elemento definido por el usuario. Los identificadores pueden tener una longitud variada. Los nombres de las variables pueden comenzar con cualquier letra del alfabeto o con un guion bajo; después pueden continuar con más letras, números o guiones bajos. Los guiones bajos pueden utilizarse para incrementar la legibilidad de un nombre de variable, como cuenta_línea.
Las mayúsculas y las minúsculas son diferentes, lo cual quiere decir que para C# mivar y MiVar son dos nombres diferentes. He aquí algunos ejemplos de identificadores aceptables:



Recuerda que no puedes iniciar un identificador con un número, por lo que 12x es inválido, por ejemplo. Las buenas prácticas de programación indican que utilices nombres de indicadores que reflejen el significado o el uso del elemento al que pertenecen. Aunque no puedes utilizar ninguna palabra clave de C# como identificador, el lenguaje te permite colocar una arroba (@) antes de la palabra clave para convertirla en un identificador legal. Por ejemplo, @ for es un identificador legal; en este caso, el identificador es de hecho la palabra for y la @ es ignorada. Sinceramente, el uso de la arroba para legalizar palabras clave no es recomendable, salvo propósitos muy especiales. La arroba también puede anteceder a cualquier identificador, pero se considera una mala práctica.
Literales
En C# el término literales se refiere a valores fijos que son representados en su forma comprensible para los humanos. Por ejemplo, el número 100 es una literal. Las literales y su uso son tan intuitivos que ya las hemos utilizado de una manera u otra en todos los ejemplos anteriores. Ahora es momento de explicarlas formalmente. Las literales de C# pueden representar cualquier valor de todos los tipos de datos. La forma de representar cada literal depende del tipo de dato al que pertenece. Como se explicó con anterioridad, las literales de carácter van encerradas entre comillas simples, por ejemplo ‘a’ y ‘%’ son literales de carácter. Las literales de entero son especificadas como números sin componentes decimales. Por ejemplo, 10 y –100 son literales de entero. Las literales de punto flotante requieren el uso del punto decimal seguido por los decimales correspondientes. Por ejemplo, 11.123 es una literal de punto. Como C# es un lenguaje estrictamente tipificado, las literales también tienen un tipo. Primero, para literales de enteros, el tipo de la literal es el tipo de entero más pequeño que puede contenerla, comenzando con int. De esta manera, una literal de entero es de tipo int, uint, long o ulong, dependiendo del valor que represente. Segundo, las literales de punto flotante son del tipo double. Si el tipo asignado en automático por C# no es el que requieres en una literal, puedes especificar explícitamente un nuevo tipo incluyendo el sufijo correspondiente. Para especificar una literal tipo long añade al final una l o L. Para especificar una literal float, añade f o F. Como acabo de mencionar, las literales de punto flotante son de tipo double por defecto. Para especificar una literal decimal, añade al valor una m o M. Por ejemplo, 9.95M es una literal decimal. Aunque las literales de entero crean valores int, uint, long y ulong por defecto, también pueden ser asignadas a variables tipo byte, sbyte, short y ushort, siempre y cuando el valor asignado pueda ser representado por el tipo que lo contiene.
Literales hexadecimales
En programación, a veces es más fácil utilizar un sistema numérico base 16 en lugar de la base 10. El sistema numérico base 16 es llamado hexadecimal y utiliza los dígitos del 0 al 9, más las letras de la A a la F, que representan 10, 11, 12, 13, 14 y 15. Por ejemplo, la representación hexadecimal del número 10 es 16. Dada la frecuencia con que son utilizados los números hexadecimales, C# te permite especificar literales de entero con formato hexadecimal. Una literal hexadecimal debe comenzar con 0x (un cero seguido por una equis minúscula, x). He aquí algunos ejemplos: cuenta = 0xFF; // 255 incremento = 0x1a; // en 26 el sistema decimal en el sistema decimal
Operadores
C# proporciona un rico ambiente de operadores. Un operador es un símbolo que ordena al compilador la realización de una manipulación matemática o lógica específica. C# cuenta con cuatro clases generales de operadores: aritméticos, bitwise, relacionales y lógicos. También tiene otros varios operadores que pueden manejar ciertas situaciones especiales. En este capítulo estudiaremos los operadores aritméticos, relacionales y lógicos. También veremos el operador de asignación. Los operadores especiales, incluyendo bitwise, serán estudiados más tarde.





Operadores lógicos y de relación
 En las expresiones operador relacional y operador lógico, el término relacional hace referencia a las mutuas relaciones que pueden darse entre diferentes valores, y el término lógico se refiere a las reglas de interconexión entre los valores verdadero y falso. Como los operadores relacionales producen valores verdadero y falso, suelen trabajar en conjunto con los operadores lógicos. Por tal razón, los analizaremos juntos en esta sección. Los operadores relacionales son los siguientes:


El resultado que presentan los operadores relacionales y lógicos es un valor tipo bool. En general, los objetos pueden ser comparados por su semejanza o diferencia utilizando == y! = . Sin embargo, los operadores de comparación < , > , <= , >= , sólo pueden aplicarse a los tipos que soportan una relación ordenada. Por tanto, todos los operadores relacionales pueden aplicarse a todos los tipos numéricos. Sin embargo, los valores tipo bool sólo pueden ser comparados para obtener similitud o diferencia porque los valores true (verdadero) y false (falso) no tienen un orden predeterminado. Por ejemplo, true > false no tiene significado en C#. En lo que respecta a los operadores lógicos, los operandos deben ser de tipo bool y el resultado de una operación lógica es también de este tipo. Los operadores lógicos & , | , ^ y ! soportan las operaciones lógicas básicas dictadas por AND, OR, XOR y NOT de acuerdo con la siguiente tabla de verdad:


Operadores lógicos de circuito corto
C# proporciona versiones especiales de los operadores lógicos AND y OR, llamados circuitos cortos, que pueden ser utilizados para producir código más eficiente.
Delimitadores
El método ReadLine lee hasta encontrar el carácter ‘ \r ’, ‘ \n ’ o los caracteres ‘ \r\n ’ introducidos al pulsar la tecla Entrar ; estos caracteres son leídos pero no almacenados, simplemente son interpretados como delimitadores.
Comentario
Un comentario es un mensaje dirigido a cualquiera que lea el código fuente. Añadiendo comentarios se hace más fácil la comprensión de un programa. Tienen como finalidad explicar el código fuente. Se pueden utilizar comentarios acotados o de una sola línea. Un comentario acotado empieza con los caracteres /* y finaliza con los caracteres */. Estos comentarios pueden ocupar más de una línea, pero no pueden anidarse. Un comentario de una sola línea comienza con una doble barra (//) y se extiende hasta el final de la línea.


Mapa Conceptual de los Elementos de C#



lunes, 1 de octubre de 2018

Elementos de Asp.net


Mapa Conceptual de los Tokens de ASP.NET


Bibliografía:

1- https://docs.microsoft.com/es-es/dotnet/csharp/language-reference
2- Ceballos, Sierra, Francisco Javier. Enciclopedia de Microsoft Visual Basic: interfaces gráficas y aplicaciones para Internet con Windows Forms y ASP.NET (3a. ed.), RA-MA Editorial, 2012. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliouamericanasp/detail.action?docID=3228989

martes, 25 de septiembre de 2018

Investigación de Linux

Trabajo de Investigación de LINUX (individual)
1.Busca las principales características en al menos 5 líneas del sistema operativo Linux (E libro)
·         Linux es un sistema operativo rápido y estable de fuente abierta para computadoras personales (PC) y estaciones de trabajo;
·         Ofrece servicios de Internet a nivel profesional, herramientas de desarrollo extensas, interfaces gráficas de usuario (GUIs) completamente funcionales y gran cantidad de aplicaciones que van desde suites para oficina, hasta aplicaciones multimedia.
·         Como sistema operativo, Linux realiza muchas funciones de Unix, Macintosh, Windows y Windows NT. Sin embargo, se distingue por su poder y flexibilidad, además de su disponibilidad gratuita.
2.Cite e investigue sobre las principales distribuciones y kernel de Linux (en base a elibro)

3.Investigue cuales son las 10 principales distribuciones Linux en relación a la cantidad de usuarios o popularidad (de internet)
Linux Mint
El objetivo con el cual fue desarrollado Linux Mint es crear un sistema operativo moderno, elegante y simple pero que a la vez sea potente y fácil de usar para todos los usuarios. Linux Mint es actualmente una de las distribuciones de escritorio de Linux más populares y usada por millones de personas alrededor del mundo ya que nos ofrece soluciones como las siguientes.
Kali Linux
Kali Linux es la apuesta de Linux por un entorno de seguridad, y allí entra Kali Linux la cual es un proyecto de código abierto gestionado y financiado por Offensive Security, el cual es a su vez un proveedor de entrenamiento de seguridad de la información de clase mundial y especializado en servicios de prueba de penetración.
Kali Linux evoluciona de forma constante añadiendo nuevas características que se agregan a la distribución todo el tiempo y todas y cada una de ella enfocadas en la seguridad de la organización. La distribución de Kali Linux está basada en Debian y su propósito fundamental es ejecutar pruebas avanzadas de penetración y auditoría de seguridad. Para esto, Kali Linux contiene varios cientos de herramientas que están orientadas a llevar a cabo tareas de seguridad de la información en categorías como las siguientes:
·         Pruebas de penetración
·         Investigación de seguridad
·         Informática forense e ingeniería inversa.
Kali Linux fue lanzada de forma oficial el 13 de marzo de 2013 en principio como una reconstrucción completa de BackTrack Linux, cumpliendo completamente con los estándares de desarrollo de Debian y hoy en día es una de las más usadas para todo lo relacionado con temas de seguridad.
ElementaryOS
Elementary OS es una distribución construida sobre una base de software de código libre permitiéndonos hacer de ella una distribución variada y de diversas alternativas. Al ser una distribución basada en Open Source, Elementary OS puede adquirir una mayor seguridad y privacidad similar a la del software de código cerrado.
ElementaryOS cuenta con aplicaciones como cámara, correo, música, fotos y más, permitiendo que la experiencia del usuario final sea la mejor. Su escritorio y todas sus aplicaciones están creadas usando Vala, GTK+, Granite, y otras librerías abiertas creando un entorno dinámico y actual.
Debian
Una de las distribuciones más populares de Linux por su sencillez y facilidad de configuración. Debian ofrece más de 51000 paquetes, los cuales son programas pre compilados distribuidos en un formato que hace más fácil el proceso de instalación.
Los sistemas Debian actualmente usan el núcleo de Linux o de FreeBSD para su arranque y ejecución, pero actualmente Debian busca trabajar con otros núcleos, como Hurd, este núcleo Hurd es una colección de servidores que se ejecutan sobre un micronúcleo para implementar muchas más funcionalidades. El Hurd es software libre producido por el proyecto GNU.
Debian funciona en cualquier tipo de dispositivo y generalmente soporta un mayor número de arquitecturas actuales como las siguientes.
Ubuntu
Sin lugar a dudas uno de los sistemas más dinámicos y versátiles de Linux es Ubuntu el cual hoy en día está en su versión 17.
Linux está establecido en 2004 y hoy en día lo encontramos en una serie de distribuciones para cualquier tipo de organización o de usuario como son:
Desktop
Server
Cloud
Core y más
A partir del año 2006, el grupo de desarrollo de Ubuntu anuncio que, a partir de cada cuarto lanzamiento, realizado cada dos años, se recibiría soporte a largo plazo para implementaciones a gran escala, de allí el término LTS para versiones estables y mantenidas.
Ubermix
Ubermix es un sistema operativo gratuito, basado en Linux y diseñado desde cero con las necesidades del segmento de la educación. Fue creado por educadores enfocados en la capacitación de los estudiantes y maestros, de modo que Ubermix elimina toda la complejidad de los dispositivos actuales permitiendo que su uso sea simple, pero sin dejar a un lado la potencia y las capacidades de un sistema operativo integral.
Ubermix cuenta con un mecanismo de recuperación rápida de tan solo 20 segundos, más de 60 aplicaciones gratuitas preinstalada y algunas novedades más que lo convierten en una de las mejores alternativas para aprender sin gastar mucho.
CentOS
Una de las distribuciones corporativas más usadas es CentOS por sus características de seguridad, escalabilidad y entorno de aplicaciones. CentOS es una plataforma administrable que se puede adaptar a una amplia variedad de implementaciones y para las comunidades de código abierto, se ofrece una base sólida y predecible sobre la cual se pueden construir nuevas aplicaciones.
 CentOS está derivada de las fuentes de Red Hat Enterprise Linux (RHEL) con lo cual se garantiza su estabilidad, respaldo y beneficios.
SteamOS
El enfoque de SteamOS son los juegos y por ello esta distribución ha sido desarrollada con un enfoque de entretenimiento.
SteamOS nos permite conectarnos, jugar y crear nuevas experiencias de juego gracias a sus modernas y dinámicas funcionalidades.
Cuenta con miles de títulos, desde juegos de acción hasta juegos independientes, permitiéndonos acceder a pruebas, actualizaciones automáticas y más, todo esto buscando satisfacer la necesidad del usuario. SteamOS puede ser sincronizado desde equipos de cómputo, dispositivos móviles o SmartTV todo con sencillez gracias a su aplicación disponible para múltiples sistemas operativos como Windows, macOS o Linux.
Ubuntu es la versión por defecto de SteamOS de Linux, y allí será posible instalar y ejecutar cientos de juegos con total desarrollo de este. Allí será necesario proceder a crear la respectiva cuenta y comenzar a disfrutar de sus beneficios y accesos.
Ubuntu MATE
Una de las tantas variantes de Ubuntu es Ubuntu MATE, el cual es un sistema operativo estable y fácil de usar con un entorno de escritorio altamente configurable. Es ideal para los usuarios que desean sacar el máximo provecho de sus equipos ya que su consumo de recursos es mínimo.
Ubuntu MATE es adecuado para estaciones de trabajo modernas, equipos de placa única y hardware antiguo sin ningún problema. Ubuntu MATE puede ser ejecutado en un equipo antiguo con total confianza.
Ubuntu MATE Desktop es una de implementación de un entorno de escritorio en el cual se incluye un administrador de archivos que nos dará la posibilidad de conectarnos a archivos locales y en red, un editor de texto, calculadora, administrador de archivos, visor de imágenes, visor de documentos, monitor de sistema y terminal, todo esto gestionado desde un centro de control.
Ubuntu MATE está diseñado con un entorno de escritorio intuitivo y de uso simple siendo la continuación del escritorio GNOME2 ya conocido por muchos de nosotros. Ubuntu MATE cuenta con una colección de aplicaciones adicionales para convertir el equipo en una estación de trabajo con un gran alcance de uso con aplicaciones preinstaladas como VLC, Firefox, Thunderbird, LibreOffice y muchas más.
Para los amantes de los juegos, será posible encontrar muchos juegos de código abierto de alta calidad disponibles para Ubuntu MATE a través de Software Boutique y Software Center usando Steam.
Allí podremos seleccionar versiones de 32 o 64 bits, PowerPC y Raspberry Pi.
Tails
Tails ha sido desarrollado como un sistema operativo live (en vivo), que puede arrancarse en casi cualquier equipo usando tan solo una memoria USB o un DVD.
Su enfoque está en conservar la privacidad y anonimato con características como:
Hacer uso de Internet de forma anónima ya que todas las conexiones son forzadas a ir a través de la red de Tor
No dejar ningún rastro en la red
Hacer uso de las más modernas herramientas de encriptación con el fin de cifrar los archivos, emails y mensajería instantánea.
Tails es en sí un sistema operativo completo diseñado para ser usado desde una memoria USB o un DVD independientemente del sistema operativo usando en el equipo donde estemos. Es software libre y está basado en Debian GNU/Linux. Tails cuenta con varias aplicaciones pre configuradas enfocadas hacia la seguridad: navegador web, cliente de mensajería instantánea, cliente de correo electrónico, paquetes de ofimática y muchos más.
 Tails se basa en la red de anonimato de Tor para proteger nuestra privacidad en línea aumentado así los niveles de seguridad.
 4. Investigue cuál de las distribuciones Linux requiere menos recursos (especifique los recursos) e investigue bajo que Kernel está basado (de internet)
Puppy Linux
Similar a la anterior, Puppy es otra de las distribuciones más ligeras que podemos encontrar. Esta es capaz de funcionar en cualquier ordenador con 128 MB de RAM y un procesador a 233Mhz. Además, podemos instalarla en solo 512 MB de espacio en el disco duro. Si no tenemos mucho más espacio libre, también podemos configurarla para que todos los datos se guarden en una memoria externa que podremos llevar a cualquier parte.
Sobre el Kernel
Puppy usa el kernel monolítico Linux de Unix. El núcleo se ubica entre el hardware de la computadora y las aplicaciones de software de nivel superior. La versión más nueva del núcleo a menudo funciona mejor con hardware más nuevo y viceversa.
5- Describa brevemente cuales son los 5 principales comandos de configuración de una red en Linux (en ReVa)
Hostname: Permite consultar y configurar el nombre del equipo.
Route: Permite gestionar las rutas estáticas.
Ipconfig: Permite configurar los dispositivos adaptadores de red
Depmod: Con la opción -a, inicia el soporte de módulos.
Modprobe: Prueba un módulo (que existe el archivo, que la versión es correcta, etc.) y lo inserta en el núcleo si todo es correcto.
Insmod: Inserta en el núcleo un determinado módulo.
Rmiíiod: Desinstala un determinado módulo del núcleo.
Ismod: Muestra un listado con los módulos cargados actualmente.
Bibliografía:
Página ReVa
Intranets de gestión de Red- Francisco Macia Pérez, Juan Amntonio Gil Martínez-Abarca- Carlos Monllor Pérez
Página E-libro
Petersen, Richard. Linux: manual de referencia (6a. ed.), McGraw-Hill Interamericana, 2009. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/bibliouamericanasp/detail.action?docID=3196489.
Created from bibliouamericanasp on 2018-09-25 08:23:01.
Sitios Web

https://www.solvetic.com/page/recopilaciones/s/profesionales/mejores-distribuciones-linux
https://www.redeszone.net/2017/10/16/distribuciones-linux-ligeras-pequenas/

jueves, 13 de septiembre de 2018

Servidores WEB



Trabajo de investigación: Programación Web
1    Buscar las principales ventajas y desventajas de apache no menos de 4.

Ventajas:
·         Modular.
·         Código abierto.
·         Multi-plataforma.
·         Extensible.
·         Popular (fácil conseguir ayuda/soporte).
Desventajas:
·         Formatos de configuración no estándar.
·         No cuenta con una buena administración.
·         Falta de integración.
·         Está escrito por Geeks, para Geeks.
Buscar una comparativa (benchmark)entre servidores apache vs iis que ABARQUE (uso, estabilidad, velocidad, capacidad y otras métricas que sean destacable )
Uso
Prueba de rendimiento

Conclusión
En esta prueba, Apache fue significativamente más rápido que IIS tanto en tiempo de latencia como de respuesta en todas las categorías
Prueba de CPU

Incidentes o vulnerabilidades de seguridad de los servidores apache
Vulnerabilidades que podrían permitir a un atacante remoto efectuar denegaciones de servicio en el servidor Apache Tomcat u obtener información confidencial del mismo.
Además, la otra vulnerabilidad descubierta podría permitir la reutilización de sesiones de usuario, al existir un error en el seguimiento de cierres de conexión existentes. Se ha asignado el identificador CVE-2018-8037 para esta vulnerabilidad.
Permite saltearse los controles de autenticación basados en certificados X509 en caso de que se use http/2. Se insta a quienes utilicen esta funcionalidad de Apache actualizar a la versión 2.4.23 o posterior.
fallo en el tratamiento de peticiones entubadas la cual podría permitir la obtención de información sensible. Afectando a las versiones 6.0.0 a 6.0.52, 7.0.0 a 7.0.76, 8.0.0.RC1 a 8.0.42, 8.5.0 a 8.5.12 y 9.0.0.M1 a 9.0.0.M18.
La segunda afecta a los conectores HTTP para versiones 8.5.x en adelante donde introduce una regresión en el tratamiento del envío de archivos cuando se completa rápidamente. Afecta a versiones 8.5.0 a 8.5.12 y 9.0.0.M1 a 9.0.0.M18.
Y la ultima es del tito de tratamiento de un frame HTTP/2 GOAWAY para una conexión donde no cierra los flujos asociados con esa conexión que estaban esperando un WINDOW_UPDATE antes de permitir que la aplicación escriba más datos.