🖥️ CS/네트워크

    [네트워크] DNS

    ✔️ DNS란 무엇인가? 도메인 이름 시스템(DNS)은 사람이 읽을 수 있는 도메인 이름(예:nayoungs.tistory.com)을 머신이 읽을 수 있는 IP 주소(예:211.249.222.33)로 변환한다. 이러한 DNS는 어떻게 등장하게 되었을까? 네트워크 안에서 호스트를 식별하기 위한 목적으로 IP 주소를 사용한다. 사람의 경우, 숫자보다 문자를 사용하는 것이 더 편하므로 도메인 이름을 이용하여 호스트를 식별한다. 도메인 이름을 사용하는 경우에도 최종적으로 IP 주소를 알고 있어야 상대방과 연결이 가능하므로, 네트워크에서 도메인이나 호스트 이름을 숫자로 된 IP 주소로 해석해 주는 TCP/IP 네트워크 서비스인 DNS가 등장하게 되었다. 다시 한번 설명하자면, DNS의 정의는 TCP/IP 상에서 ..

    [네트워크] 로드밸런싱(Load Balancing)

    ✔️ 로드 밸런싱(Load Balancing) 로드밸런싱이란, 네트워크 또는 서버에 가해지는 로드를 분산해주는 기술이다. 둘 이상의 CPU 혹은 저장 장치와 같은 컴퓨터 자원들에게 작업을 나눠주는 것을 의미한다. 로드 밸런싱의 필요성 로드 밸런싱은 여러 대의 서버를 두고 서비스를 제공하는 분산 처리 시스템에서 필요한 기술이다. 서버가 단 하나만 존재할 때, 수천만 명의 사람들이 동시에 서버에 접속하면 어떻게 될까? 하나의 서버는 부하를 감당하지 못할 수도 있을 것이고, 결국 정상적인 서비스가 불가능 해질 것이다. 이를 해결하는 방식에는 2가지가 있다. Scale-up : 서버 자체의 성능을 높이는(확장하는) 것이다. 비유하자면 CPU가 i3인 컴퓨터를 i7으로 업그레이드하는 것과 같다. Scale-out..

    [네트워크] TLS/SSL HandShake

    ✔️ HTTPS를 사용한 안전한 웹 인터넷은 안전한 통신을 위해 암호화를 진행하게 되는데, 암호화란 일반적인 평문(text)를 알아볼 수 없도록 암호문으로 만드는 과정이다. 암호문을 상대에게 전달하고, 상대는 이를 다시 복호화하여 평문으로 확인할 수 있다. 이와 같은 과정을 웹 브라우저와 웹 서버에게 사용하는 기술이 바로 HTTPS(Hypertext Transfer Protocol Secure)이다. HTTPS는 SSL(Secure Socket Layer) / TLS(Transport Layer Security) 전송기술을 사용한다. TCP, UDP와 같은 일반적인 인터넷 통신에 안전한 계층(layer)를 추가하는 방식을 말하며, 이러한 기술을 구현하기 위해 웹 서버에 설치하는 것이 SSL/TLS 인증서..

    [네트워크] HTTP와 HTTPS

    ✔️ HTTP란? HTTP는 HyperText Transfer Protocol의 약자로, 클라이언트/서버 모델을 따라 데이터를 주고 받기 위한 프로토콜이다. 인터넷 상에서 자원을 주고 받을 때 사용하는 통신 규약으로, 80번 포트를 사용한다. 따라서 HTTP 서버가 80번 포트에서 요청을 기다리고 있으며, 클라이언트는 80번 포트로 요청을 보내게 된다. HTTP의 구조 HTTP은 애플리케이션 레벨(OSI 7계층)의 프로토콜로, TCP/IP 위에서 작동한다. 또한, HTTP는 상태를 가지고 있지 않는 Stateless 프로토콜이며 Method, Path, Version, Headers, Body 등으로 구성된다. 그러나 HTTP는 평문 데이터(텍스트)를 전송하는 프로토콜이므로, 누군가 네트워크에서 신호를 ..

    [네트워크] 대칭키와 공개키

    암호화와 복호화에 사용하는 암호키가 같은 지 다른 지에 따라, 암호화 기법이 대칭키 기법과 비대칭키 기법으로 나뉘어진다. ✔️ 대칭키(Symmetric Cryptography) 대칭키 암호는 암호화와 복호화에 동일한 대칭키(암호키)를 사용하는 알고리즘이다. 송신자가 키를 통해 평문을 암호화(Encryption)하여 암호문을 보내면, 수신자는 동일한 키를 이용하여 암호문을 복호화(Decryption)하여 평문을 만드는 원리이다. 대표적인 알고리즘 : DES, 3DES, AES, SEED, ARIA, MASK 등 장점 공개키 암호화 방식에 비해 암호화 및 복호화 속도가 빠르다. 키 크기가 상대적으로 작다. 암호 알고리즘 내부구조가 간단하여 시스템 개발 환경에 용이하다. 대용량 Data 암호화에 적합하다. 단..

    [네트워크] TCP/IP 흐름제어 & 혼잡제어

    📌Index TCP 통신이란? 흐름 제어 Stop and Wait Sliding Window 혼잡 제어 AIMD (Additive Increase/Multiplicative Decrease) Slow Start(느린 시작) Fast Retransmit(빠른 재전송) Fast Recovery(빠른 회복) 기술질문/예상질문 ✔️ TCP 통신이란? 흐름제어와 혼잡제어에 대해 알아보기 앞서, TCP 통신를 보고 넘어가자. TCP 통신이란 네트워크 통신에서 신뢰적인 연결 방식을 의미한다. TCP는 기본적으로 reliable network를 보장할 수 있도록 하는 프로토콜로, network congestion avoidance algorithm을 사용한다. 🔎 Unreliable vs Reliable Unrelia..

    [네트워크] UDP(User Datagram Protocol)

    ✔️ UDP란? User Datagram Protocol의 약자로, 데이터를 데이터그램(Datagram) 단위로 처리하는 프로토콜이다. TCP와는 다르게 데이터를 패킷으로 나누고 반대편에서 재조립하는 과정을 거치지 않으며, 수신지에서 제대로 받든 받지 않든 상관하지 않고 데이터를 보내기만 한다. 즉, 비연결형, 신뢰성 없는 전송 프로토콜로, 데이터그램 단위로 쪼개면서 전송을 해야하기 때문에 전송 계층에 속한다. 또한 목적지에 도달하려고 하지만 에러가 날 수도 있고, 재전송이나 순서 뒤바뀜에 대한 대처는 애플리케이션에서 처리해주어야 한다. 그러나 UDP는 속도가 빠르다. 별도의 연결도 필요하지 않고, TCP 처럼 ACK 메세지를 통해 확인을 받거나 하는 작업이 없기 때문에 TCP보다 빠르며, 이러한 속도의..

    [네트워크] TCP 3 way handshake & 4 way handshake

    ✔️ TCP(Transmission Control Protocol)란 TCP는 네트워크 계층 중 전송 계층(4계층)에서 사용하는 프로토콜로서, 장치들 사이에 논리적인 접속을 성립(establish)하기 위하여 연결을 설정하여 신뢰성을 보장하는 연결형 서비스이다. TCP의 특징 인터넷 상에서 데이터를 메세지의 형태(세그먼트라는 블록 단위)로 보내기 위해 IP와 함께 사용하는 프로토콜이다. 연결형 서비스로, 가상 회선 방식을 제공한다. 3-way handshaking 과정을 통해 연결을 설정하고, 4-way handshaking을 통해 연결을 해제한다. (데이터를 전송하기 전에 논리적 연결이 설정되는데, 이를 가상회선이라고 한다, UDP는 데이터그램 교환 방식) 흐름제어 및 혼잡제어를 제공한다. 흐름 제어 ..

    [네트워크] TCP/IP 4계층 모델

    네트워크 전송 시 데이터 표준을 정리한 것이 OSI 7계층이었다면, 이 이론을 실제로 사용하는 인터넷 표준으로, 각종 기능을 계층화하고 복수의 프로토콜을 조합하여 실현시킨 것이 TCP/IP 4계층이다. TCP/IP 모형은 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신 규약(프로토콜)의 모음으로, 각 계층은 담당하는 위치마다 처리 역할을 구분해 진행함으로 서로 간의 간섭을 최소화하여 사용의 편리성을 높인다. 상위 계층인 TCP는 메세지나 파일들을 좀 더 작은 패킷으로 나누어 인터넷을 통해 전송하는 일과, 수신된 패킷들을 원래의 메세지로 재조립하는 일을 담당한다. 반면, 하위 계층의 IP는 각 패킷의 주소 부분을 처리하며 패킷들이 목적지에 정확하게 도달할 수 있게 한다. TCP/IP 4계층..

    [네트워크] OSI 7계층

    통신 기술의 도입과 통신 기능의 확장을 쉽게 하기 위해 프로토콜을 몇 개의 계층으로 나누는 것을 계층화라고 하며, 통신 기능을 7 계층으로 분류하여 각 계층마다 프로토콜을 규정한 규격을 OSI 모델이라 한다. OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 그렇다면 이와 같이 7 계층으로 나누는 이유는 무엇일까? 통신이 일어나는 과정을 단계 별로 알 수 있으며, 특정한 곳에서 이상이 생기면 해당 단계만 수정할 수 있기 때문이다. PC방에서 오버워치를 하는데 연결이 끊겼다. 어디에 문제가 있는지 확인해 보자. 모든 PC에 문제가 있다면, 라우터의 문제(3계층 네트워크 계층)이거나 광랜을 제공하는 회사의 회선 문제(1계층 물리 계층)일 가능성이 높다. 한 PC만 문제가 있다..

    [네트워크] 서브넷 마스크와 서브넷팅 계산

    📌INDEX 서브넷 마스크 Prefix 서브넷팅 서브넷팅 계산 ✔️ 서브넷 마스크 ip 주소체계의 network id와 host id를 서브넷 마스크를 통해 변경하여 네트워크 영역을 분리 또는 합체 시키는 개념으로, 네트워크를 분리하는것을 서브넷팅(subnetting), 합치는 것을 슈퍼넷팅(supernetting) 이라고 한다. 이때, IP주소 첫 비트부터 어디까지가 네트워크 부분인가를 알려주는 역할을 하며, 네트워크 부분은 1, 호스트 부분은 0로 나타낸다. 서브넷팅은 서브넷 마스크를 이용하여 host id를 network id로 변환 가능 슈퍼넷팅은 서브넷 마스크를 이용하여 network id를 host id로 변환 가능 서브넷 마스크의 형태는 ip주소와 같이 32bit의 2진수로 되어있으며, 8b..

    [네트워크] IP(Internet Protocol)

    📌INDEX IP의 이해 IP 주소 체계 IP 주소 A 클래스 B 클래스 C 클래스 IP 주소 각 클래스별 정리 ✔️ IP의 이해 네트워크에 접속되어 있는 각 컴퓨터에는 고유한 식별 번호가 부여되어야 정확한 데이터 송수신이 가능하다. 인터넷에 연결되어 있는 모든 컴퓨터에게 고유의 주소를 부여하게 되는데 이를 IP 주소(IP Address)라고 하며, 8비트 크기의 필드 4개를 이용하여 구성한 32비트(4바이트) 논리 주소이다. xxx.xxx.xxx.xxx, 즉 163.152.19.114처럼 .(점)으로 구분한 10진수 형태 네 개로 구성된다. 한 바이트가 가질 수 있는 10진수는 0~255이므로, IP주소의 값은 0.0.0.0에서 255.255.255.255까지이다. ✔️ IP 주소 체계 IP주소는 네트..

728x90