[혼공네트]6주차_Chap06~07 정리

임지·2025년 8월 20일
0

혼공네트

목록 보기
7/7

1. 와이어샤크 사용해보기

1-1. 화면 구조 이해

1) 패킷 목록

  • 패킷 번호, 전송된 시간, 송/수신지 주소, 사용된 프로토콜, 패킷의 길이와 부가정보를 확인할 수 있다.

2) 특정 패킷의 정보 확인

  • 특정 패킷의 이더넷 프레임 정보, IP 패킷 정보, TCP 패킷 정보, HTTP 패킷 정보를 확인할 수 있다. (사진은 TCP 패킷이라 TCP까지만)

3) 실제 데이터

  • 실제 데이터가 16진수로 표현
  • 특정 헤더에 마우스를 가져다대면 헤더가 나타내는 데이터의 위치를 나타낸다.

1-2. 필터링

2. 안정성을 위한 기술

2-1. 가용성, 이중화&다중화

1) 가용성

  • 전체 시간 중 특정 기능을 언제든 균일한 성능으로 수행할 수 있는 시간의 비율
  • 시스템의 안정성을 수식화
  • 업타임 / (다운타임+업타임) : 99.999%이상을 목표로 함
  • 원천적으로 문제 발생의 원인을 막을 수는 없으므로, 시스템의 결함 감내력을 높이는 것이 중요

2) 이중화

  • 물리적 장비나 프로그램을 2개씩 두는 것
  • 단일 장애점(SPOF)을 없애기 위함
  • 액티브/스탠바이 : 하나는 가동 / 하나는 대기, 다른 하나에 이상이 생기면 그때 가동 (페일 오버)
  • 액티브/액티브 : 둘 다 가동, 다른 하나에 이상이 생기면 한 쪽에 부하가 쏠림

3) 다중화

  • 물리적 장비나 프로그램을 2개 이상 두는 것
  • 단일 장애점(SPOF)을 없애기 위함
  • 티밍(윈도우)과 본딩(리눅스)
    : 여러 개의 네트워크 인터페이스 (NIC)를 이중화/다중화해서 안정적인 성능을 보이는 하나의 NIC처럼 보이도록 함

2-2. 로드 밸런싱

1) 트래픽

  • 주어진 시점에 특정 노드를 경유한 패킷의 양
  • 트래픽이 하나의 서버에 쏠리면 성능 저하, 트래픽을 잘 분산시키는 것이 중요

2) 로드 밸런서

  • 부하(로드)를 분산시키는(밸런서) 장치나 소프트웨어
    : 장치의 대표적인 예로는 L4 스위치, L7 스위치
    : 소프트웨어의 대표적인 예로는 Nginx 등

3) 로드 밸런싱 알고리즘

  • 라운드 로빈 알고리즘 : 단순히 서버를 돌아가면서
  • 최소 연결 알고리즘 : 응답 시간이 짧은 서버를 우선적으로
  • 가중치 : 가중치값이 높을 수록 더 많은 패킷을 전달

2-3. 포워드 프록시, 리버스 프록시

1) 포워드 프록시

  • 클라이언트와 오리진 서버 중간에 위치한 중간 서버
  • 클라이언트가 선택한 메세지 전달 대리자
  • 캐시 저장, 클라이언트 암호화 접근 제한

2) 리버스 프록시(=게이트웨이)

  • 아웃 바운드 연결(클라이언트 측에서 전송한 요청)에 대해서는 오리진 서버 역할,
  • 해당 요청을 변환해서 진짜 오리진 서버에게 전달
  • 캐시 저장, 로드 밸런서 동작 등

⭐ 2-4. 키를 통한 암호화

1) 대칭 키 암호화

  • 암호화 & 복호화에 동일한 키를 사용
  • 대칭 키 유출 시 보안에 문제
  • 빠른 속도

2) 공개 키 암호화 (=비대칭 키 암호화)


출처 : https://www.rapidsslonline.com/ssl/difference-between-public-and-private-key/

  • 암호화 & 복호화에 다른 키를 사용
  • 공개되어있는 공개 키, 공개되지 않은 개인 키
  • A와 B가 있다면, A는 B에게 공개 키를 요구하고, 해당 키로 암호화한 뒤, B는 개인 키로 복호화한다.

3) 인증서

  • 공개 키의 유효성을 입증하는 전자문서
  • 생성일자, 조작여부, 유효기간 등을 포함함
  • CA(인증 기관)에서 발급

4) 디지털 서명

  • CA는 인증서 발급 시 디지털 서명을 함께 붙임
  • 인증서의 보증을 의미
  • 인증서를 해시함수에 넘기고, 이 해시 값을 CA의 개인 키로 암호화 한 값


출처 : https://m.upbitcare.com/academy/education/blockchain/94

  1. 클라이언트는 전달받은 인증서와 디지털 서명에 대해 각각 다른 행동을 취한다.
    1-1. 디지털 서명 : CA의 공개 키를 통해 복호화
    1-2. 인증서 데이터 : 해시함수를 통해 암호화
  2. 두 값을 비교하여 인증서의 보증 여부를 확인

2-5. HTTPS

1) HTTPS

  • 대칭 키 암호화, 공개 키 암호화를 기반으로 작동하는 SSL, TLS를 기반으로 하는 프로토콜
  • HTTP보다 보안성을 강화
    1. TCP 쓰리 웨이 핸드 셰이크, 2. TLS 핸드 셰이크, 3. 암호화된 메세지 송수신의 순서로 메세지를 주고받음

2) TLS 핸드 셰이크

  1. ClientHello
    : 클라이언트 측에서 암호화된 통신을 위해 서로 맞춰볼 TLS 버전, 암호 스위트(암호화 방식, 해시 함수) 등을 제시

  2. ServerHello
    : 서버 측에서 클라이언트가 제시한 TLS 버전, 암호 스위트 등을 선택
    : 이때, Sertificate 메세지와 CertificateVerify 메세지를 함께 보냄 (인증서의 보증 여부를 클라이언트가 확인할 수 있도록)

  3. Finished
    : TLS 핸드셰이크의 마지막을 의미
    : TLS 1.3부터는 Finished와 동시에 암호화된 메세지를 전송

3. 무선 네트워크

3-1. 전파와 와이파이

1) 주파수

  • 주파수 대역을 나눠 사용함으로써 통신 간 간섭이 없도록 함
  • 주파수는 채널이라고 불리는 하위 주파수 대역으로 한 번 더 나뉘어짐
    : 같은 주파수 대역 내에서의 간섭을 줄이기 위함

2) 와이파이

  • 특정 IEEE 802.11 표준을 따르는 무선 LAN 기술
  • 해당 표준을 따르고, 다른 제품과의 호환성을 확인할 수 있게 하는 인증마크
  • 주로 2.4GHz , 5GHz 대역을 사용

3-2. AP와 서비스 셋

1) AP

  • 무선 네트워크 내에서 통신을 중개
  • AP를 사용하는 통신 방식을 인프라스트럭처 모드라고도 함
  • AP는 수시로 브로드캐스트 메세지 비컨 프레임을 전송해 자신의 존재를 알림

2) 서비스 셋

  • 무선 네트워크를 이루는 장치들의 집합
  • 서비스 셋을 구분하기 위해 SSID를 사용
    : 대표적인 SSID는 와이파이 이름

연습 문제 풀이

기본 숙제

  • 379p 1번
    : 3588415413
    : 첫 번째 SYN 세그먼트의 순서 번호(raw)에 1을 더한 값이 두 번째 SYN+ACK 세그먼트의 응답 번호가 된다.

  • 407p 2번

추가 숙제

  • 와이어샤크에서 실제 TCP/UDP 패킷 확인해보기

  • TCP 패킷

TCP 패킷에서 송/수신지 포트번호와, 순서번호&응답번호, 플래그(ACK비트:1) 등을 확인할 수 있다.

  • UDP 패킷

UDP 패킷에서 송/수신지 포트번호와 체크섬, UDP 페이로드 값을 확인할 수 있다.
(특히 수신지 포트번호 443은 잘 알려진 포트번호인 HTTPS의 포트번호임.)

0개의 댓글