Computer Science/Network

Computer Science/Network

[Network] 로드 밸런싱 (Load Balancing)

로드 밸런싱 (Load Balancing) 로드 밸런싱은 분산식 웹 서비스로, 네트워크 트래픽이나 어플리케이션의 요청을 여러 서버에 균등하게 분배하는 프로세스를 의미한다(= Scale-out). 즉, Load Balancer를 클라이언트와 서버 사이에 두고, 부하가 일어나지 않도록 여러 서버에 분산시켜주는 방식이다. 서비스를 운영하는 사이트의 규모에 따라 웹 서버를 추가로 증설하면서 로드 밸런서로 관리해주면 웹 서버의 부하를 해결할 수 있다. Scale-up & Scale-out Scale-up : 하드웨어의 성능을 올리는 것 Scale-out : 여러 대의 서버가 나눠서 일하도록 만드는 것 로드 밸런싱의 주요 목적 서버의 부하 분산 시스템의 가용성과 신뢰성 향상 응답 시간 줄이기 L4 로드 밸런싱 & ..

Computer Science/Network

[Network] TSL/SSL HandShake

TSL/SSL HandShake 클라이언트와 서버 간에 안전한 연결을 설정하기 위한 과정으로 TLS(Transport Layer Security) 또는 SSL(Secure Sockets Layer) 프로토콜에서 사용된다. TLS는 SSL의 후속 버전으로, SSL 보다 안전하고 강력한 암호화 기능을 제공한다. TLS/SSL HandShake 과정 클라이언트 Hello 클라이언트가 서버에게 연결을 시작하기 위해 "client hello" 메시지를 보낸다. 이 메시지에는 클라이언트의 TLS/SSL 버전, 지원하는 암호화 알고리즘, 압축 방식 등의 정보가 포함된다. 서버 Hello 서버는 "client hello" 메시지를 받고, "server hello" 메시지를 생성하여 클라이언트에게 보낸다. 이 메시지에는..

Computer Science/Network

[Network] HTTP & HTTPS

HTTP와 HTTPS는 웹에서 데이터를 전송하는데 사용되는 프로토콜이다. HTTP (Hypertext Transfer Protocol) 인터넷에서 웹 페이지, 이미지, 동영상 등의 리소스를 전송하기 위한 통신 규약 클라이언트(웹 브라우저)와 서버 간에 요청(request)과 응답(response)을 주고받는 방식으로 동작 암호화되지 않은 텍스트 기반 프로토콜이므로 데이터 전송 과정에서 보안에 취약하다. 요청과 응답의 내용이 암호화되지 않기 때문에 중간에 제3자가 데이터를 도청하거나 조작할 수 있는 위험이 있다. 따라서, 민감한 정보를 전송하는 경우 보안 상의 문제가 발생할 수 있다. HTTPS (Hypertext Transfer Protocol Secure) HTTP의 보안 문제를 해결하기 위해 나온 프..

Computer Science/Network

[Network] 대칭키 & 비대칭키

암호화🔒& 복호화🔓 암호화: 원래의 데이터를 알 수 없게 만들거나 숨기는 과정 대칭키 (Symmetric Key) 암호화와 복호화에 동일한 키를 사용하는 암호화 방식 대표적인 대칭키 알고리즘으로는 DES(Data Encryption Standard), AES(Advanced Encryption Standard), 3DES(Triple Data Encryption Standard) 등이 있다. 장점: 암호화와 복호화가 빠르고 효율적이다. 단점: 키를 안전하게 전달하고 관리하는 것이 어려우며, 통신하는 모든 사용자가 동일한 키를 공유해야 한다. 비대칭키 (Asymmetric Key) 공개키(public key)와 개인키(private key)라는 서로 다른 두 개의 키를 사용하는 암호화 방식 (공개키 암호화..

Computer Science/Network

[Network] UDP (User Datagram Protocol)

UDP (User Datagram Protocol) 데이터를 데이터그램 단위로 처리하는 프로토콜 비연결 지향적인 프로토콜로 연결 설정 및 해제 과정이 없다. 전송 중 손실된 패킷을 재전송하지 않으므로 신뢰성이 낮다. 신뢰성을 보장하지 않기 때문에, 전송 속도가 빠르다. TCP와 UDP가 생긴 이유 IP의 한계 IP는 인터넷에서 데이터를 패킷 단위로 전송하는 기본 프로토콜이지만, IP는 비연결형 프로토콜로서 데이터의 신뢰성이 낮고, 데이터의 순서를 보장하지 않는다. 또한, IP는 데이터 전송에 대한 흐름 제어나 혼잡 제어와 같은 기능을 제공하지 않고, 오류가 발생하면 ICMP 에서 알려 주기만하고 처리해주지 않는다. TCP와 UDP가 오류를 해결하는 법 TCP : 데이터의 분실, 중복, 순서의 뒤바낌 등을..

Computer Science/Network

[Network] TCP/IP 흐름제어 & 혼잡제어

TCP/IP 계층 TCP/IP 계층은 현재 인터넷에서 사용되는 통신 방법이다. 1계층 : Network Access Layer OSI 7계층의 물리계층과 데이터 링크 계층에 해당 물리적인 주소로 MAC 을 사용 LAN, 패킷망 등에 사용 2계층 : Internet Layer OSI 7계층의 네트워크 계층에 해당 통신 노드 간의 IP패킷을 전송하는 기능과 라우팅 기능 프로토콜 - IP, ARP, RARP 3계층 : Transport Layer OSI 7계층의 전송 계층에 해당 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당 프로토콜 - TCP, UDP 4계층 : Application Layer OSI 7계층의 세션 계층, 표현 계층, 응용 계층에 해당 TCP/UDP 기반의 응용 프로그램을..

Computer Science/Network

[Network] TCP 3 & 4 way handshake

TCP (Transmission Control Protocol) TCP는 연결 지향적인 프로토콜로 세그먼트 전송 전에 연결을 설정하고 연결 종료 시 연결을 해제한다. 또한, 데이터 전송 시 세그먼트의 전송 여부를 확인하고 손실된 패킷을 재전송하므로 데이터의 정확성과 완정성이 보장된다. 이때 사용되는 전송 방식이 3-way handshake(연결) 와 4-way handshake(해제) 이다. 3-way handshake 1단계(SYN) : 서버와의 연결을 위해 SYN(Synchronize) 플래그가 설정된 TCP 패킷을 전송하여 연결을 확인한다. SYN 플래그는 클라이언트가 연결을 초기화하는데 사용되는 플래그이다. 클라이언트는 시퀀스 번호를 무작위로 선택하여 패킷에 포함시킨다. 2단계(SYN+ACK) :..

Computer Science/Network

[Network] OSI 7 계층

OSI 7 계층 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델 네트워크 통신이 일어나는 과정을 7단계로 나눈 것 통신이 일어나는 과정을 단계별로 알 수 있고, 이상이 생긴 단계만 수정하면 된다. 1계층 : 물리계층 (Physical Layer) 비트(bit)를 프로토콜 단위로 사용 데이터 전송에 필요한 물리적 매체를 다루는 계층 케이블, 광섬유, 무선 신호 등과 같은 물리적인 매체를 통해 데이터를 전송하는 과정에서 신호의 송수신 방법, 전송 속도, 전기 신호의 강도와 주파수 등과 같은 물리적인 특성을 다룬다. 데이터의 전송 방식에 따라서 전송되는 신호의 크기, 샘플링 속도, 채널 대역폭 등도 결정되는 경우가 있다. 물리 계층에서 사용되는 장비와 기술 리피터 (Repeater) : 데이터 신호를..

dbssk
'Computer Science/Network' 카테고리의 글 목록