[혼공네트] Chapter 06~07. 네트워크 심화 (6~7주차)

한샛코드·2025년 2월 14일
0
post-thumbnail

06. 와이어샤크를 이용한 프로토콜 분석

프로토콜 분석

ℹ️ 와이어샤크(wireshark) - 널리 사용되는 패킷 캡처 프로그램
ℹ️ 최신버전의 와이어샤크는 이곳에서 다운받을 수 있음

ipv4-fragmentation.pcapng

  • IPv4 패킷의 헤더를 볼 수 있으며, 송·수신지 IP 주소와 플래그 등을 확인할 수 있음
    • 송신지 주소는 10.0.0.1 이며, 수신지 주소는 10.0.0.2임
    • 플래그의 2번째 비트는 0 이고 (단편화를 허용), 3번째 비트는 1임 (단편화된 패킷이 남아있음)
    • 타입 필드는 8, 코드 필드는 0임 (해당 패킷은 ICMP 프로토콜을 사용함)

07-1. 안정성을 위한 기술

가용성

ℹ️ 안정성 - 특정 기능을 언제든 균일한 성능으로 수행할 수 있는 특징

  • 가용성(availability) - 컴퓨터 시스템이 특정 기능을 실제로 수행할 수 있는 시간의 비율
    • 즉, 가용성은 전체 사용 시간 중(업타임+다운타임)에서 정상적인 사용 시간(업타임)의 비율
    • 일반적으로 안정적이라고 평가받는 시스템은 99.999%(파이브 나인스) 이상을 목표로 함
  • 결함 감내(fault tolerance) - 문제가 발생하더라도 기능할 수 있는 능력
    • 가용성을 높이려면 다운타임을 낮추어야 하는데, 다운타임 원인을 원천적으로 차단하기는 어려움
    • 즉, 문제가 발생하지 않도록 하는 것이 아닌, 문제가 발생하더라도 계속 기능할 수 있도록 설계함

이중화

ℹ️ 이중화/다중화단일 장애점(SPOF)을 최대한 없애는 것을 목표로 하여, 가용성을 높일 수 있음

  • 이중화 - 컴퓨터 시스템을 이중으로 두는 기술
    • 단일 장애점(Single Point Of Failure) - 문제가 발생할 경우, 시스템 전체가 중단될 수 있는 대상
  • 이중화 구성 방식
    1. 액티브/스텐바이 - 한 사스템은 가동하고, 다른 시스템은 대기 상태로 두는 이중화 구성 방식
      • 페일오버(failover) - 액티브 상태의 시스템에 문제가 생겨 스텐바이 시스템이 자동으로 가동
      • 안전한 구성 방식이지만, 성능상에 이점이 없음
    2. 액티브/엑티브 - 두 시스템 모두 가동 상태로 두는 이중화 구성 방식
      • 성능상에 이점은 있지만, 한 시스템에 문제가 발생 시 다른 시스템에 부하가 급증할 수 있음
  • 티밍(teaming)/본딩(bonding) -> 이중화를 넘어, 다중화로 구성할 수도 있음
    • NIC를 이중화/다중화하여 더욱 뛰어난 성능을 보유한 하나의 인터페이스로 보이게하는 기술

로드 밸런싱

1️⃣ 트래픽(traffic) - 주어진 시점에 특정 노드를 경유한 패킷의 양
2️⃣ 이중화/다중화 하였더라도, 특정 서버에 과도한 트래픽이 몰리면 여러 문제가 발생할 수 있음

  • 로드 밸런싱(load balancing) - 트래픽을 고르게 분배하기 위한 기술
    • 로드 밸런서에 의해 수행되며, 이는 L4스위치나 L7스위치 및 일반 호스트도 역할 수행이 가능함
      • 로드 밸런서는 이중화/다중화된 서버와 클라이언트 사이에 위치함
      • 클라이언트는 로드 밸런서에 요청을 보내고, 로드 밸런서는 해당 요청을 각 서버에 분배함
  • 로드 밸런싱 알고리즘 - 부하가 균등하게 분산되도록 부하 대상을 선택하는 방법
    1. 라운드 로빈 알고리즘(round robin) - 서버를 돌아가며 부하를 전달하는 방법
    2. 최소 연결 알고리즘(least connection) - 연결이 적은 서버부터 우선적으로 부하를 전달하는 방법
  • 각 알고리즘에 가중치 개념을 사용하여 가중치가 더 높은 서버에 더 많은 부하를 받도록 할 수도 있음

07-2. 안정성을 위한 기술

암호와 인증서

1️⃣ 암호화(encryption) - 원문 데이터를 알아볼 수 없는 형태로 변환하는 것
2️⃣ 복호화(decryption) - 암호화된 데이터를 원문 데이터로 변환하는 것 (되돌리는 것)

대칭 키 암호화 방식과 공개 키 암호화 방식

  1. 대칭 키 암호화(symmetric key cryptography) - 암호화와 복호화에 동일한 키를 사용하는 방식
    • 동일한 키를 사용하므로, 키가 유출되면 보안상 큰 문제가 발생할 수 있음
  2. 비대칭 키 암호화(asymmetric; 공개 키 암호화) - 암호화와 복호화에 사용하는 키가 다른 방식
    • 공개 키(public key)로 암호화하고, 개인 키(private key)로 복호화 함
    • 하나의 키로 다른 키를 유추할 수 없음
  3. 세션 키(session key) - 공개 키로 대칭 키를 암호화하고, 개인 키로 대칭 키를 복호화한 키

인증서와 디지털 서명

  • 공개 키 인증서(public key certificate) - 공개 키와 공개 키의 유효성을 입증하기 위한 전자 문서
    • 인증 기관(CA; Certification Authorify)이라는 제3의 기관에서 발급함
  • 클라이언트는 서명 값(signature)을 통해 인증서를 검증할 수 있음
    • 서명 값은 인증서 내용에 대한 해시 값(지문)을 CA의 개인 키로 암호화하는 방식으로 만들어짐
  • 디지털 서명 - 개인 키로 암호화된 메시지를 공개 키로 복호화함으로써 신원을 증명하는 절차
    1. 클라이언트에서는 서버로부터 서명 값이 붙은 인증서를 전달 받고, 서명 값과 인증서를 분리함
    2. 서명 값을 CA의 공개 키로 복호화 및 인증서에 대한 해시 값을 구하고, 이 둘을 비교함

HTTPS: SSL과 TLS

  • SSL(Secure Socket Layer) / TLS(Transport Layer Security) - 인증과 암호화를 수행하는 프로토콜
  • HTTPS(HTTP over TLS) - SSL/TLS를 사용하는 프로토콜이며, HTTP 메시지를 안전하게 전달함
  • TLS 핸드셰이크 - 암호화 통신을 위해 키를 교환하고, 인증서 송수신과 검증이 이루어짐
    • ClientHello - 암호화된 통신을 위해 서로 맞추어야 할 정보를 제시하는 메시지
      • 지원되는 TLS 버전, 암호 스위트, 키를 만들기 위해 사용할 클라이언트 난수 등이 포함됨
        • 암호 스위트(cipher suite) - 사용 가능한 암호화 방식 및 해시 함수
    • ServerHello - 제시된 정보들을 선택하는 메시지
      • 선택된 TLS 버전, 암호 스위트, 키를 만들기 위해 사용할 서버 난수 등이 포함됨
    • Certificate / CerificateVerify - 각각 인증서와 검증을 위한 디지털 서명
      • 클라이언트는 해당 값을 바탕으로 공개 키를 검증할 수 있음

07-3. 무선 네트워크

전파와 주파수

  • 전파(radio wave) - 약 3kHz부터 3THz 사이의 진동수를 갖는 전자기파
    • 우리 생활 곳곳에는 인공적으로 만들어진 전파도 있고, 자연적으로 만들어진 전파도 있음
    • 여러 전파 신호를 구분하기 위해 통신에서 사용되는 전파에는 주파수 대역을 미리 정해놓음

와이파이와 802.11

  • IEEE 802.11 - 오늘날 LAN 환경에서의 무선통신 규격
    • 해당 표준에서는 대부분 2.4GHz5GHz 대역을 사용함
    • 뒤에 알파벳을 붙여 다양한 규격을 표현함
    • 버전에 따라 전송 속도, 대역폭, 전송가능한 거리, 변조 방식이 달라짐
  • 와이파이(Wi-Fi) - IEEE 802.11 표준을 따르는 무선 LAN 기술
    • 실제로는 와이파이 얼라이언스라는 비영리 단체의 브랜드 이름임
    • 와이파이의 각 세대는 각기 다른 IEEE 802.11 표준 구격을 준수함
  • 채널(Channel) - 2.4GHz 및 5GHz 주파수 대역의 하위 주파수 대역
    • 같은 대역을 사용하더라도 서로 신호를 간섭하지 않도록 하기 위함

AP와 서비스 셋

  • AP(Access Point) - 무선 통신 기기들을 연결하여 무선 네트워크를 구성하는 장치
    • 인프라스트럭처 모드 - AP를 경유하여 통신이 이루어지는 무선 네트워크 통신 방식
  • 서비스 셋(Service Set) - 무선 네트워크를 이루는 AP와 여러 장치의 집합
    • 서비스 셋 식별자(SSID; Identifier) - 무선 네트워크를 구분짓는 수단이자 고유한 이름
  • AP는 비컨 프레임(beacon frame)이라는 브로드케스트 메시지로 불특정 다수에게 자신을 알림
    • 비컨 프레임에는 SSID와 AP의 MAC 주소 등이 포함되어 있음

숙제

기본 숙제

  1. 다음은 호스트 A와 B 간의 쓰리 웨이 핸드셰이크 과정에서 호스트 A가 호스트 B에게 전송한 첫 번째 SYN 세그먼트의 일부입니다. 쓰리 웨이 핸드셰이크상에서 호스트 B가 호스트 A에게 전송할 다음 세그먼트의 Acknowledgement number(raw)는 무엇일까요?
    • Acknowledgement number는 확인 응답 번호로, 즉 raw가 붙은 날 것이므로 Sequence number(raw) 에 1을 더한 3588415413
  2. 다음 그림은 두 호스트가 TLS 1.3 핸드셰이크를 수행하는 과정을 나타낸 그림 일부입니다. 괄호 안에 들어갈 TLS 관련 메시지로 알맞은 말을 골라보세요.
    • ServerHello - ClientHello를 통해 받은 정보(TLS 버전, 암호 스위트 등)를 선택함

회고

(라고 했지만 최종 회고에 적을게요)

profile
개발도 하고 요리도 하는 노근본 개발자

0개의 댓글

관련 채용 정보