본문 바로가기

Programming/Network

웹사이트 접속 과정과 OSI 7계층 대응표

반응형
단계 설명 OSI 계층
1. URL 입력 및 DNS 조회 사용자가 웹사이트 주소를 입력하면 브라우저가 DNS 서버에 도메인 이름을 IP 주소로 변환 요청을 보냄 응용 계층 (7계층)
2. TCP 연결
(3-Way Handshake)
브라우저가 웹 서버와 연결을 맺기 위해 TCP 핸드셰이크 과정을 진행 전송 계층 (4계층)
3. HTTP/HTTPS 요청 전송 웹 서버에 GET 요청을 보내고 필요한 데이터를 요청 응용 계층 (7계층)
4. 서버 응답 및 데이터 전송 웹 서버가 HTML, CSS, JS 등의 데이터를 패킷으로 분할하여 전송 응용 계층 (7계층) → 전송 계층 (4계층) → 네트워크 계층 (3계층) → 데이터 링크 계층 (2계층)
5. 브라우저의 렌더링 받은 HTML, CSS, JS 파일을 해석하고 웹 페이지를 화면에 표시 응용 계층 (7계층)

각 과정별 OSI 계층 상세 분석

1. URL 입력 및 DNS 조회 (7계층 - 응용 계층)

  • 사용자가 브라우저에서 https://example.com을 입력하면, 브라우저는 DNS 서버에 도메인명을 IP 주소로 변환 요청을 보냄.
  • DNS는 응용 계층(7계층)에서 동작하는 프로토콜이며, UDP(전송 계층, 4계층) 를 사용하여 빠르게 IP 주소를 받아옴.

2. TCP 연결 (4계층 - 전송 계층)

  • 브라우저가 웹 서버와 통신하기 위해 TCP 3-Way Handshake를 수행.
    1. 클라이언트(브라우저)가 SYN 패킷을 보냄.
    2. 서버가 SYN-ACK 패킷을 응답.
    3. 클라이언트가 ACK 패킷을 보내면 연결 완료.
  • 이 과정은 전송 계층 (4계층) 에 해당하며, TCP를 사용하여 신뢰성 있는 연결을 보장.

3. HTTP/HTTPS 요청 전송 (7계층 - 응용 계층)

  • 브라우저는 웹 서버에 HTTP GET 요청을 보냄.
  • HTTPS를 사용할 경우, TLS/SSL 핸드셰이크 과정이 추가됨 (암호화).
  • 이 단계는 응용 계층 (7계층) 에 해당함.

4. 서버 응답 및 데이터 전송 (7계층 → 4계층 → 3계층 → 2계층)

  • 웹 서버가 HTML, CSS, JS 등의 데이터를 패킷으로 분할하여 클라이언트(브라우저)로 전송.
  • 이 과정은 아래처럼 여러 계층에서 이루어짐:
    1. 응용 계층 (7계층) → HTTP 응답을 생성.
    2. 전송 계층 (4계층) → TCP를 통해 데이터를 패킷으로 분할.
    3. 네트워크 계층 (3계층) → 패킷에 IP 주소를 붙여 인터넷을 통해 전송.
    4. 데이터 링크 계층 (2계층) → MAC 주소를 통해 실제 물리적인 네트워크 경로를 따라 데이터 전송.

5. 브라우저 렌더링 (7계층 - 응용 계층)

  • 받은 HTML, CSS, JS 파일을 해석하여 웹 페이지를 렌더링.
  • 사용자의 화면에 표시되도록 처리하는 과정은 응용 계층 (7계층) 에서 수행됨.

결론

🔹 DNS 조회 → 응용 계층 (7계층)
🔹 TCP 연결 → 전송 계층 (4계층)
🔹 HTTP 요청 & 응답 → 응용 계층 (7계층)
🔹 데이터 전송 → 전송 계층(4계층), 네트워크 계층(3계층), 데이터 링크 계층(2계층)
🔹 브라우저 렌더링 → 응용 계층 (7계층)

반응형