HTML, CSS, JS, 웹, 네트워크 19

STP, HSRP, Ether Channel

회선 다중화(기기간을 연결할때, 2개 이상의 회선을 사용하는 기술)에서는 루프(패킷이 무한히 순환하게 되는 문제)가 발생할 수 있다. STP는 스위치 사이에서 최적의 경로를 알고리즘으로 선택하고, 루프를 트리 구조로 변경하여 루프가 생기지 않게 된다. 이로써 루프가 발생하는 토폴로지에서는, 루프의 원인이 될 수 있는 회선 하나를 물리적으로 끈다.STP에는 크게 6가지 종류가 있다.CST : 기본적으로 사용되며 표준이다PVST : cisco 장비에서만 사용할 수 있으며, VLAN별로 최적화를 한다.PVST+ : cisco 장비에서만 사용할 수 있으며, CST와 호환되고, PVST를 개선했다.RSTP : STP를 기반으로 빠르며, 표준이다.PVRST : cisco 장비에서만 사용할 수 있으며, RSTP보다 ..

NAT, FrameRelay, Tunneling

NAT은 Network Address Translation으로, 사설 ip를 공인 ip로 변경하는 서비스이다. 이 서비스는 가정용 공유기에 대부분 탑재 되어있으며, NAT이 있으면 여러가지 장점이 있다.- NAT은 한 ip를 여러 기기가 사용할 수 있어, 경제적이다- 근래에 ipv4주소가 부족해지면서, NAT이 공인 ip주소의 수를 줄여주는 역할을 할 수 있다- NAT은 하나의 장치로 데이터가 나가기 때문에 방화벽을 구축하기 쉽다NAT은 IP masquerading 방식으로 동작한다. 이 동작 방식은 하나의 공인 ip뒤에 여러 사설 ip를 할당하는 기법이다.NAT에는 여러 종류가 있다.- Static NAT(정적 NAT) : 공인 ip와 사설 ip를 1:1 방식으로 변환한다.- Dynamic NAT(동적..

Server, PPP, WLAN

서버는 클라이언트(사용자)에게 정보나 서비스를 제공하는 컴퓨터다.패킷트레이서의 서버는 아래와 같은 기능을 제공한다.HTTP : 웹 데이터를 전송하는데 사용된다DHCP(v6) : IP를 동적으로 자동 할당하는데 사용된다(T)FTP : 파일을 전송하는데 사용된다DNS : 도메인을 IP등으로 변환하는데 사용된다AAA : 보안 정보를 인증하는데 사용된다SYSLOG : 로그를 기록하는데 사용된다NTP : 시간 정보를 제공하는데 사용된다EMAIL : 이메일 서비스를 제공하는데 사용된다IoT : IoT 기기를 제어하는데 사용되며, HTTP를 기반으로 이루어진다VM Management : VM을 관리하는데 사용된다HTTP는 Hyper Text Transfer Protocol의 약자로, 웹 데이터를 서로 주고받는데 사용..

VLAN, Inter-VLAN, VTP, Port-Security

VLAN은 논리적으로 영역을 구분해서 각각의 장치가 같은 VLAN에서만 통신하게 구성하는 기능이다. VLAN을 사용하면 아래와 같은 장점이 있다.- 같은 장비지만, 논리적으로 분리하여 사용할 수 있음- 네트워크 관리가 용이해짐- 보안이 강화됨- 트래픽이 분리되어 효율성이 증가함VLAN은 VLAN Database에서 VLAN 정보를 관리한다. 아래 명령어로 VLAN Database를 확인할 수 있다.Switch#show vlan briefVLAN은 포트 모드를 설정하여 알맞게 설정할 수 있다.- Access Mode : 하나의 VLAN만 속하며, PC 등을 연결할때 사용한다- Trunk Mode : 여려 VLAN이 속하며, 스위치끼리 연결할때 사용한다Trunk Mode에서는 여러 VLAN을 사용할 수 있다..

네트워크 기초 정리

네트워크는 다양한 노드(외부와 통신이 가능한 모든 기기, 컴퓨터, 핸드폰, 공유기 등)들이 링크(노드를 잇는 선, 물리적일 수도 있고 가상일 수도 있음)로 연결되어 데이터를 주고 받는 구조이다.네트워크는 규모에 따라 4가지로 나눌 수 있다.PAN(Personal Area Network) : 개인이 소유한 기기에서 통신이 이루어지는 매우 작은 규모의 네트워크 (예: Wi-Fi, Bluetooth, USB 등)LAN(Local Area Network) : 한 건물에서 통신이 이루어지는 작은 규모의 네트워크 (예: 오피스 LAN, 아파트 LAN 등)MAN(Metropolitan Area Network) : 한 도시나 지역에서 통신이 이루어지는 큰 규모의 네트워크 (예: 강서구 네트워크, 서울시 네트워크)WAN..

NAT, PAT

NAT은 Network Address Translation으로, 사설 ip를 공인 ip로 변경하는 서비스이다. 이 서비스는 가정용 공유기에 대부분 탑재 되어있으며, NAT이 있으면 여러가지 장점이 있다.- NAT은 한 ip를 여러 기기가 사용할 수 있어, 경제적이다- 근래에 ipv4주소가 부족해지면서, NAT이 공인 ip주소의 수를 줄여주는 역할을 할 수 있다- NAT은 하나의 장치로 데이터가 나가기 때문에 방화벽을 구축하기 쉽다NAT은 IP masquerading 방식으로 동작한다. 이 동작 방식은 하나의 공인 ip뒤에 여러 사설 ip를 할당하는 기법이다.NAT에는 여러 종류가 있다.- Static NAT(정적 NAT) : 공인 ip와 사설 ip를 1:1 방식으로 변환한다.- Dynamic NAT(동적..

Express(Middleware, Router)

미들웨어는 클라이언트의 요청에 응답하기 전에 거쳐가는 함수다. 미들웨어는 app.use로 설정할 수 있다.미들웨어에는 크게 3가지 종류가 있다.1. 애플리케이션 레벨 미들웨어전체 애플리케이션에서 동작하게 설정된 미들웨어다.const express = require('express');const app = express();app.use((req, res) => {});2. 예외 처리 미들웨어요청을 처리하는 중 문제가 생기면 호출되는 미들웨어다. 애플리케이션과 다르게 인자가 4개가 필요하다.const express = require('express');const app = express();app.use((err, req, res, next) => {});3. 내장 미들웨어자주 호출되는 미들웨어는 expr..

Express(Cookie, Session)

Express 프레임워크에서는 cookie와 session기능을 사용할 수 있다. 우선 쿠키와 세션은 비슷한 원리로 작동되지만, 보안성등에서 차이가 있다.쿠키는 브라우저 내에 저장되는 데이터이다. 이 쿠키는 브라우저가 자유롭게 수정하는 것이 가능하기 때문에 위변조가 매우 쉽다. 쿠키는 주로 로그인 상태 유지 등에 쓰인다. (왜 내 쿠키는 추적용이지...)세션은 쿠키의 이런 단점을 보완하여 서버 내에서 저장하여 위변조가 불가능하게 하는 기술이다. 이 세션은 민감한 정보여도 브라우저에서 접근할 수 없기 때문에(암호화 됨) 안전하다.(다만 키를 너무 쉬운 걸로 설정하면 위험하다.)Express에서는 cookie는 cookie-parser로, session은 express-session으로 설정할 수 있다.np..

Express, pug

Express 프레임워크는 Node.js에서 사용되는 웹 프레임워크이다. (프레임워크는 특정 분야에서 개발하는데 매우 유용한 툴이다)Express 프레임워크는 npm으로 설치가 가능하다.밑에서 부터는 Express 프레임워크를 사용해서 /의 get요청을 받고 응답하는 예제이다.우선 라이브러리를 설치해야한다. 다음 명령어로 설치할 수 있다.npm install express그 다음 라이브러리를 불러와야 한다. 둘 중 원하는 걸 사용하면 되나, package.json에 type이 모듈로 정의된 경우 두 번째 건 사용할 수 없다.import express from 'express'const express = require('express');그 다음 express를 사용하기 위한 앱을 하나 불러온다.const..

Node.js

Node.js는 구글의 V8엔진을 사용한 자바스크립트 언어 중 하나이다. 다만 웹 브라우저에서 동작하는 자바스크립트는 html을 다루기 위해 DOM객체를 지원하지만, Node.js는 웹 브라우저가 목적이 아니라서 document같은 객체는 동작하지 않는다.Node.js를 쓰기 위해서는 여러 과정이 필요하다. 우선 Node.js 홈페이지에 들어가서 Node.js파일을 다운 받는다.그 다음 터미널에서 원하는 프로젝트에 들어간 후, 다음 명령어를 실행한다.npm init그러면 json 파일이 생성되면서, 그 폴더는 Node.js작업 폴더가 된다.기본적인 문법은 이전에 다룬 웹 js랑 같다.(var, let, for 등등) 따라서 모듈을 위주로 설명하겠다.그러나 Node.js는 require나 import로 n..