Computer Network Project

웹 아키텍처 및 네트워크 프로토콜 분석

본 페이지는 도메인 네임 해석(DNS)부터 물리 계층의 데이터 전송까지, 웹 기반 통신 프로토콜의 핵심 메커니즘을 종합적으로 시각화하고 증명하는 프로젝트 랜딩페이지입니다.

1. 핵심 웹 통신 프로토콜 스택

🌐 DNS (도메인 네임 시스템)

인간이 식별하기 쉬운 문자열 형태의 도메인 주소를 컴퓨터가 라우팅할 수 있는 IP 주소 체계로 맵핑하는 분산 데이터베이스 시스템입니다.

  • 재귀적 질의(Recursive Query) 작동
  • A, CNAME, MX, TXT 레코드 분석
  • 전 세계 13개의 루트 네임서버 노드 구조

🤝 TCP / 3-Way Handshake

전송 계층(Layer 4)에서 종단 간 연결을 설정하여 패킷 손실을 방지하고 신뢰성 있는 바이트 스트림 통신을 보장하는 절차입니다.

  • SYN, SYN-ACK, ACK 플래그 교환
  • 흐름 제어(Sliding Window) 및 혼잡 제어
  • 정상 종료를 위한 4-Way Handshake

🔒 HTTPS (TLS / SSL 보안 암호화)

애플리케이션 계층 데이터를 통과시키기 전, 대칭키 및 공개키 암호화 방식을 결합하여 무결성, 기밀성, 인증을 제공하는 보안 통신 규격입니다.

  • CA(인증 기관)를 통한 웹서버 공개키 검증
  • TLS Handshake를 통한 세션키 생성
  • 중간자 공격(MITM) 및 데이터 변조 차단

2. 엔드투엔드(End-to-End) 요청 처리 흐름

1

브라우저 URL 파싱 & HSTS 확인

입력된 문자열 스키마를 판별하고, 이전에 보안 접속 내역이 있다면 HTTP 요청을 강제로 HTTPS로 변환(HSTS 적용)합니다.

2

다계층 DNS 네임 래졸루션

브라우저 캐시 → OS Hosts 파일 → 로컬 DNS 서버 조회 순으로 탐색하며, 없을 경우 루트(. ) 서버부터 시작하는 반복적 질의를 수행해 IP 주소를 확보합니다.

3

커널 수준의 소켓 오픈 및 TCP 연결

확보한 대상 IP 주소와 목적지 포트(HTTP: 80, HTTPS: 443)를 이용해 OS 커널단에서 TCP 3-Way Handshake 세션을 엽니다.

4

TLS 세션 암호화 핸드셰이크

서버로부터 SSL/TLS 인증서를 받아 유효성을 체크하고, 디피-헬먼 또는 RSA 알고리즘 기반으로 통신에 사용할 대칭 세션키를 안전하게 교환합니다.

5

HTTP 요청 패킷 송신 및 파이프라이닝

암호화 통로 위로 브라우저가 정의한 HTTP Header(메서드, 쿠키, User-Agent 등)와 Body 스트림을 분할해 서버로 인캡슐레이션 전송합니다.

6

서버 사이드 프로세싱 및 DOM 브라우저 렌더링

웹 서버(GitHub Pages, Nginx 등)가 요청을 받아 200 OK 상태 코드와 함께 HTML/CSS 정적 자원을 반환하며, 브라우저는 DOM 트리를 생성해 화면에 최종 렌더링합니다.

3. 네트워크 계층별 매핑 데이터 구조

우리가 빌드한 웹 사이트가 전송될 때 각각의 데이터 단위(PDU)가 하향식으로 캡슐화되는 논리적 구조입니다.

계층 (Layer) 데이터 단위 (PDU) 주요 프로토콜 역할 및 장비
L7. 응용 계층 Data / Message HTTP, DNS, FTP, SMTP 사용자 인터페이스 및 네트워크 서비스 제공 (웹 브라우저)
L6. 표현 계층 Data TLS, SSL, JPEG, ASCII 데이터 암호화, 복호화 및 포맷 압축/인코딩 변환
L5. 세션 계층 Data RPC, NetBIOS, SSH 응용 프로세스 간의 대화 유지 및 동기화 제어
L4. 전송 계층 Segment TCP, UDP 종단간(End-to-End) 신뢰성 있는 데이터 전송 및 포트 주소 관리
L3. 네트워크 계층 Packet IP, ICMP, ARP 최적의 경로 제어(Routing) 및 논리적 IP 주소 부여 (라우터)
L2. 데이터 링크 계층 Frame Ethernet, Wi-Fi 물리적 인접 노드 간 신뢰성 있는 데이터 전송 (스위치, MAC 주소)
L1. 물리 계층 Bit (0, 1) Ethernet 전선, 광케이블 전기적, 기계적 신호로 비트 스트림을 실어 나름 (허브, 리피터)

4. 프로젝트 기능 실습: 가상 DNS 레코드 조회기

도메인 이름을 입력하고 조회 버튼을 누르면 내부 자원 레코드(RR) 장부에서 매핑된 값을 시뮬레이션하여 보여줍니다.