CS/네트워크 13

DNS서버

DNS란 Domain Name Service의 약자로서, 컴퓨터가 인식할 수 있는 IP주소와 사람이 기억하기 쉬운 도메인이름을 서로 치환해주는 서비스. DNS의 네가지 서버 1. DNS recursor 클라이언트로 부터 요청을 받는 서버. 이미 처리한 적이 있는 주소의 경우 캐시를 통해 빠르게 응답 2. Root nameserver 요청받은 host이름의 TLD서버의 위치를 알려준다 (.com .net 최상위 확장자 서버의 dns위치를 알려준다) * .com이 top 래밸인 이유? 맨뒤 도메인이름(.com .net .kr 등)의 개수는 많지 않지만 앞에 도메인이름은 무수히 많다. 따라서 시작부터 적은수의 분기를 타기위해 뒤에서부터 계층적으로 도메인이름은 구성되어 있다. 3. TLD server 요청받은..

CS/네트워크 2023.09.10

java를 이용한 소켓프로그래밍

TCP IP 소켓 프로그래밍 - TCP IP 프로그래밍을 통한 통신 실습 - client에서 데이터를 주고, server에서 받고, 다시 server에서 데이터를 주고 client에서 데이터를 받는 순서 예시코드 TcpServer.java package clip18; import java.io.*; import java.net.ServerSocket; import java.net.Socket; import java.time.LocalTime; public class TcpServer { public static void main(String[] args) { ServerSocket serverSocket = null; try { serverSocket = new ServerSocket(8888); Sy..

CS/네트워크 2023.06.13

네트워크 방화벽이란

방화벽이란? 외부 사용자들이 내부 내트워크에 접근하지 못하게 하는 네트워크 방어도구. 방화벽의 종류 1. 패킷 필터링 1.1 패킷 필터링이란 ? : 라우터에서 행해지는 필터링. 발신지의 IP/protocal/port/패킷등에 조건을 걸어 허용된 ip등 만을 접속하게 해주는 방화벽 기법 1.2 장점 : 별도의 방화벽 필요없이 라우터만으로 방화벽을 설정할 수 있다는 장점이 있다. 2. 어플리케이션 프록시 방화벽 2.1 어플리케이션 프록시 방화벽이란 ? : 어플리케이션 게이트웨이를 통한 방법. 2.2 프록시란? : 사설 통신망의 사용자가 공중 통신망을 간접적으로 엑세스할 수 있도록 한 네트워크 서버 3. 웹방화벽 3.1 웹서버 앞에 위치하여 외부로 부터 들어오는 HTTP/HTTPS트래픽을 감시. 악의적인 공..

CS/네트워크 2023.03.30

HTTP(HTTP 1,2,3, HTTPS)

HTTP란? 인터넷 상에서 정보를 주고받는 규칙 및 프로토콜 HTTP/1.0 - 하나의 연결당 하나의 요청만 처리하도록 설계 - RTT(패킷이 목적지에 도달하고 다시 출발지로 돌아오기 까지 걸리는 시간)이 증가함 - 이를 해결하기위해 이미지 스플리팅, 코드압축, Base64인코딩 등의 기법을 사용 * 이미지 스플리팅 : 이미지가 합쳐있는 하나의 이미지를 다운로드 받는것 * 코드압축 : 코드의 빈칸, 개행을 없애는 것 * base64인코딩 : 64진법 문자열로 인코딩 하는 방법. 이미지에 대한 서버에 HTTP요청을 할 필요 없어짐. 하지만 크기가 커진다. * 인코딩 : 정보의 형태나 형식을 표준화, 보안, 처리속도향상, 저장공간 절약을 위해 다른 형태나 형식으로 변환하는 것 HTTP/1.1 - Keep-a..

CS/네트워크 2023.01.24

TCP/IP(Transmission Control Protocol)

정의 - 네트워크에서 사용되는 통신 프로토콜의 집합 - 네트워킹 범위에 따라 네게의 추상화된 계층으로 구성 - OSI계층과 비교를 통한 그림 계층별 설명 1. 에플리케이션 계층 - 응용프로그램이 사용되는 계층. 웹서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공하는 층 - FTP : 장치와 장치간 파일을 전송하는데 사용하는 프로토콜 - SSH : 보안되지 않는 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜 - HTTP : WWW을 위한 네트워크통신의 기초이자 웹사이트를 이용하는데 사용되는 프로토콜 - SMTP : 전자메일전송을 위한 인터넷 표준 통신 프로토콜 2. 전송계층 - 송신자와 수신자를 연결하는 통신서비스 제공 - 어플리케이션과 인터넷 계층사이의 데이터가 전달..

CS/네트워크 2023.01.23

네트워크 토폴로지(topology)

네트워크 토폴로지 - 노드가 어떻게 배치되어 있는지에 대한 방식 및 연결 형태 - 병목현상을 올바르게 해결하기 위해 알아야 함 * 병목현상(bottle nect) : 전체시스템의 성능이나 용량이 하나의 구성요소로 제한받는 현상. 서비스에서 이벤트를 열었을 때 트래픽이 많이 생기고 그 트래픽을 잘 관리하지 못하면 병목현상이 생겨 사용자는 웹사이트로 갈 수 없음. 트리토폴로지 - 계층형 토폴로지, 트리형태로 배치한 네트워크 구성 - 노드의 추가삭제가 쉬우며 특정노드에 트래픽이 집중될 때 하위노드에 영향 버스토폴로지 - 중앙회선 하나에 여러개의 노드가 연결되어 공유하는 네트워크 구성. 근거리통신망(LAN)에서 사용함 - 설치비용이 적고 신뢰성이 우수하며 중앙통신회선에 노드를 추가하거나 삭제하기 쉬움 - 스푸핑..

CS/네트워크 2023.01.22

네트워크, 처리량, 대역폭

네트워크란? 노드와 링크가 서로 연결되어 있거나 연결되어 있지 않은 집합체 처리량, 대역폭, 지연시간 - 처리량(throughtput) : 링크를 통해 전달되는 단위시간당 데이터(bits per second) - 대역폭(bandwidth) : 주어진 시간동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수 - 지연시간 : 요청이 처리되는 시간, 메시지가 두 장치사이를 왕복하는데 걸리는 시간

CS/네트워크 2023.01.22

IPV4, IPV6

IPV4 - 전세게에서 사용된 첫 인터넷 프로토콜(인터넷 주소를 만드는 규칙, 체계) - 주소를 만드는 규칙 * (주소용량) = (8bit 씩 4묶음) = (8bit.8bit.8bit.8bit) = (32bit) * (각 묶음은 8bit 이므로 각 묶음은 2^8=256개의 숫자를 나타낼 수 있음) = (0~255) = (000.000.000.000) * 따라서 총 (2^8)^4 = 2^32개의 주소를 만들 수 있음 - 주소 부여 : 네트워크 크기나 호스트의 수에 따라 클래스가 나뉘고 클래스에 따라 IPV6 - IPV4의 주소부족 문제를 해결하기 위해 만들어짐 - 주소를 만드는 규칙 * (주소용량) = (16bit 씩 8묶음) = (16bit.16bit.16bit.16bit.16bit.16bit.16bit..

CS/네트워크 2022.12.03

사설 IP, 공인 IP의 차이

공인 IP - 인터넷 사용자의 로컬 네트워크를 식별하기 위해 ISP가 제공하는 IP주소 - 공용 IP주소라고도 불리우며 외부에 공개돼 있는 IP주소(전세계에서 유일한 IP주소) - 외부에 공개되어 있기에 인터넷에 연결된 다른 PC로 부터 접근이 가능하다. 따라서 방화벽과 같은 보안설정을 해 주어야 한다. 사설 IP - 일반 가정이나 회사 내 등에 할당된 네트워크 IP주소 - 라우터(공유기)등을 통해서 로컬 네트워크 PC나 장치에 할당된다.

CS/네트워크 2022.12.03