네트워크

모두의 네트워크 - 8장. 네트워크의 전체 흐름 살펴보기

토리쟁이 2023. 1. 25. 18:53

<랜 카드에서의 데이터 전달과 처리>

 

OSI 모델에서 각 계층의 역할

  • 응용 계층: 애플리케이션 등에서 사용하는 데이터를 송수신하는데 필요
  • 전송 계층: 목적지에 데이터를 정확하게 전달하는데 필요
  • 네트워크 계층: 다른 네트워크에 있는 목적지에 데이터를 전달하기 위해 필요
  • 데이터 링크 계층: 랜에서 데이터를 송수신하기 위해 필요
  • 물리 계층: 데이터를 전기 신호로 변환하는데 필요

 

 

 

 

웹 사이트 접속 과정

 

 

네트워크의 구성

 

위와 같은 구성의 네트워크가 있다고 가정해보자.

이 구성은 3개의 네트워크로 이루어져 있다.

(192.168.1.0/24, 172.16.0.0/16, 192.168.10.0/24)

 

 

이 네트워크에서 컴퓨터가 웹 사이트에 접속하려고 할 때, OSI 모델의 각 계층에서 어떠한 일이 일어나는지 살펴보자.

 

 

OSI 모델로 나타낸 네트워크 구성

 

위 사진은 그 위에 있던 네트워크 구성도를 보고 데이터의 흐름을  OSI 모델로 나타낸 것이다.

크게보면 컴퓨터 - 스위치A - 라우터A - 라우터B - 스위치B - 웹 서버로 데이터가 이동하며, 각각의 네트워크 기기에서 OSI 모델의 계층 간의 이동이 일어난다.

 

 

 

 

 

 

컴퓨터의 데이터가 전기신호로 변환되는 과정(캡슐화)

웹에 접속할 때는 OSI 모델의 상위 계층부터 캡슐화가 이루어진다.

 

각 계층에서의 캡슐화 과정

 

 

1. 웹 브라우저에 URL 입력

 

2. 3-way 핸드셰이크를 수행하여 연결 확립

 

3. 응용 계층 - GET 메서드 HTTP 요청

 

4. 전송 계층 -  TCP 헤더를 붙여 데이터 캡슐화 => 세그먼트

(TCP헤더에는 목적지의 애플리케이션을 식별하는 포트 번호 존재)

(출발지 포트번호: 웹 브라우저의 포트 번호는 1025번 이상인 랜덤 포트에서 무작위로 선택됨)

(목적지 포트 번호: HTTP이므로 80번)

 

5. 네트워크 계층 - IP 헤더를 붙여 데이터 캡슐화 => IP 패킷

(IP 헤더에는 출발지, 목적지 IP 주소 존재)

 

6. 데이터 링크 계층 - 이더넷 헤더와 트레일러를 붙여 데이터 캡슐화 => 이더넷 프레임

(이더넷 헤더에는 출발지, 목적지 MAC 주소 존재)

 

7. 물리 계층 - 랜 카드를 이용하여 데이터를 전기 신호로 변환

 

 

 

 

 

 

 

 

 

<스위치와 라우터에서의 데이터 전달과 처리>

 

스위치에서의 데이터 전달과 처리

  • 스위치는 데이터 링크 계층에서 동작하는 네트워크 기기이다.
  • 따라서 물리 계층에서 데이터를 받아 데이터 링크 계층까지 이동하고(역캡슐화)
  • 다시 물리계층으로 내려가서 다음 기기(라우터)에 데이터를 전기 신호로 변환하여 전송(캡슐화)

 

 

 

 

 

 

 

라우터에서의 데이터 전달과 처리

 

라우터의 역캡슐화

 

 

라우터의 캡슐화

 

 

  • 라우터는 네트워크 계층에서 동작하는 네트워크 기기이다.
  • 따라서 물리 계층에서 데이터를 받아 네트워크 계층까지 이동하고 (역캡슐화)
    • 데이터 링크 계층에서는 이더넷 프레임의 목적지 MAC 주소와 자신의 MAC 주소 비교
      • 주소가 같을 경우 => 역캡슐화 진행
    • 네트워크 계층에서는 IP 패킷의 목적지 IP 주소와 자신의 라우팅 테이블 비교하여 라우팅
      • 다시 하위 계층으로 내려가는 캡슐화 때는, 출발지 주소를 라우터의 외부 IP주소로 변경
  • 다시 물리계층으로 내려가서 다음 기기(라우터)에 데이터를 전기 신호로 변환하여 전송(캡슐화)

 

 

 

 

 

 

 

 

<웹 서버에서의 데이터 전달과 처리>

 

 

 

 

웹 서버에서의 데이터 전달과 처리

 

1. 데이터가 전기 신호로 웹 서버에 도착

 

2. 데이터 링크 계층에서 이더넷 프레임의 MAC 주소와 자신의 MAC 주소 비교

    주소가 같을 경우, 이더넷 헤더와 트레일러를 분리(역캡슐화)하여 네트워크 계층에 전달

 

3. 네트워크 계층에서는 목적지 IP 주소와 웹 서버의 IP 주소 비교

    주소가 같을 경우, IP 헤더를 분리(역캡슐화)하고 전송 계층에 전달

 

4. 전송 계층에서는 목적지 포트 번호를 확인하여 어떤 애플리케이션으로 전달해야되는지 판단하고 TCP 헤더를 분리(역캡슐화)하여 응용 계층에 전달

 

 

 

이 포스팅에서 다룬 내용은 요청 한 번에 대한 과정이다.

이 다음에는 요청을 받은 웹 서버가 컴퓨터로 응답을 보내야 한다.

 

 

 

 

+) 정적 라우팅 VS 동적 라우팅

 

정적 라우팅

  • 관리자가 미리 라우팅 테이블에 경로를 수동으로 추가
  • 목적지까지의 경로를 고정하거나 목적지까지의 경로가 하나로 한정되는 경우에 사용
  • 소규모 네트워크에서 사용
  • 라우팅 정보가 교환되지 않아 대역폭에 대한 부담이 적음
  • 보안 유지에 좋음
  • 장애 발생시 대처가 번거로움

 

 

동적 라우팅

  • 네트워크 변경을 자동으로 감지하여 라우팅 테이블을 업데이트하는 방식
  • 네트워크 장애시 라우터끼리 정보를 교환하여 최적의 경로로 전환하는 기능을 함
  • 대규모 네트워크에서 사용(대규모는 정적 라우팅 지원X)