Post

[모두의 네트워크]8장 네트워크 전체 흐름

데이터 전달과 처리

컴퓨터 →스위치 A →라우터 A →라우터 B →스위치 B →웹 서버
192.168.1.10 192.168.1.1
172.16.0.1
192.168.10.1
172.16.0.2
 192.168.10.5
응용 계층
전송 계층
네트워크 계층
데이터 링크 계층
물리 계층
데이터 링크 계층
물리 계층
네트워크 계층
데이터 링크 계층
물리 계층
네트워크 계층
데이터 링크 계층
물리 계층
데이터 링크 계층
물리 계층
응용 계층
전송 계층
네트워크 계층
데이터 링크 계층
물리 계층
  • 위 예시는 총 세 개의 네트워크로 구성되어 있다.
    • 192.168.1.0/24, 172.16.0.0/16, 192.168.10.0/24

컴퓨터

응용 계층 → 전송 계층 → 네트워크 계층 → 데이터 링크 계층 → 물리 계층

  1. 웹 브라우저에 URL을 입력하고 엔터 키를 누른다.
    1. 이전에 3-way 핸드셰이크를 완료해 연결이 확립되어 있어야 한다.
  2. HTML 데이터를 얻기 위해 응용 계층에서 HTTP 메세지를 보낸다.
  3. 전송 계층에서 TCP 헤더를 붙여 세그먼트를 만든다.
    1. 출발지 포트 번호는 well-known 포트가 아닌 1025번 이상의 포트 번호 중 무작위로 선택된다(3500번으로 가정).
    2. 목적이 포트 번호는 HTTP이므로 80번이다.
  4. 네트워크 계층에서 세그먼트에 IP 헤더를 붙여 IP 패킷을 만든다.
    1. IP 헤더에는 출발지 IP 주소와 목적지 IP 주소가 포함된다.
  5. 데이터 링크 계층에서 IP 패킷에 이더넷 헤더와 트레일러를 붙여 이더넷 프레임을 만든다.
    1. 이더넷 헤더에는 목적지, 출발지, 라우터 A, 컴퓨터의 MAC 주소가 포함된다.
    2. 트레일러는 데이터의 무결성을 보장하는 데 사용한다.
  6. 물리 계층에서 이를 전기 신호로 변환해 네트워크로 전송한다.
    1. 변환 과정에 랜 카드가 사용된다.

스위치 A

물리 계층 → 데이터 링크 계층 → 물리 계층

  1. 물리 계층에서 전기 신호로 변환된 데이터를 스위치 A로 전송한다.
  2. 데이터 링크 계층에서 이더넷 헤더와 트레일러를 붙인 뒤 물리 계층으로 전달한다.
    1. 이더넷 헤더에는 목적지, 출발지, 라우터 A, 컴퓨터의 MAC 주소가 포함된다.
  3. 물리 계층에서 이를 전기신호로 변환하고, 전기 신호는 케이블을 통해 라우터 A로 전송한다.

라우터 A와 라우터 B

물리 계층 → 데이터 링크 계층 → 네트워크 계층 → 데이터 링크 계층 → 물리 계층

라우터 A

  1. 물리 계층에서 스위치 A로부터 온 데이터의 전기 신호가 라우터 A에 도착한다.
  2. 데이터 링크 계층에서 라우터 A는 이더넷 프레임의 목적지 MAC 주소와 자신의 MAC 주소를 비교한다.
    1. 주소가 같으면 이더넷 헤더와 트레일러를 분리하고(역캡슐화) 네트워크 계층에 전달한다.
  3. 네트워크 계층에서 라우터는 자신의 라우팅 테이블과 목적지 IP 주소를 비교한다.
    1. 라우팅 테이블에서 목적지 IP 주소의 경로를 알 수 있으면 라우팅을 할 수 있다.
    2. 출발지 IP 주소 192.168.1.10을 라우터의 외부 IP 주소인 172.16.0.1로 변경하고 데이터 링크 계층으로 전달한다.
  4. 데이터 링크 계층에서 이더넷 헤더와 트레일러를 붙이고 물리 계층으로 전송한다.
    1. 이더넷 헤더에는 목적지, 출발지, 라우터 A, 라우터 B의 MAC 주소가 포함된다.
  5. 물리 계층에서 데이터를 전기 신호로 변환해 네트워크로 전달한다.

라우터 B

  1. 물리 계층에서 라우터 A로부터 보내진 전기 신호가 라우터 B에 도착한다.
  2. 데이터 링크 계층에서 라우터 B는 이더넷 프레임의 목적지 MAC 주소와 자신의 MAC 주소를 비교한다.
    1. 주소가 같으면 이더넷 헤더와 트레일러를 분리하고(역캡슐화) 네트워크 계층에 전달한다.
  3. 네트워크 계층에서 라우터는 자신의 라우팅 테이블과 목적지 IP 주소를 비교한다.
    1. 라우팅 테이블에서 목적지 IP 주소의 경로를 알 수 있으면 라우팅을 할 수 있다.
    2. 출발지 IP 주소 172.16.0.1을 라우터의 내부 IP 주소인 192.168.10.1로 변경하고 데이터 링크 계층으로 전달한다.
  4. 데이터 링크 계층에서 이더넷 헤더와 트레일러를 붙이고 물리 계층으로 전송한다.
    1. 이더넷 헤더에는 목적지, 출발지, 라우터 B, 웹 서버의 MAC 주소가 포함된다.
  5. 물리 계층에서 데이터를 전기 신호로 변환해 네트워크로 전달한다.

스위치 B

  1. 물리 계층에서 라우터 B가 보낸 전기 신호를 스위치 B가 받는다.
  2. 데이터 링크 계층에서 이더넷 헤더와 트레일러를 붙인 뒤 물리 계층으로 전달한다.
    1. 이더넷 헤더에는 목적지, 출발지, 라우터 B, 웹 서버의 MAC 주소가 포함된다.
  3. 물리 계층에서 이를 전기신호로 변환하고, 전기 신호는 케이블을 통해 웹서버로 전송한다.

웹 서버

물리 계층 → 데이터 링크 계층 → 네트워크 계층 → 전송 계층 → 응용 계층

  1. 물리 계층에서 스위치 B로부터 전기 신호로 변환된 데이터가 전달된다.
  2. 데이터 링크 계층에서 이더넷 프레임의 목적지 MAC 주소와 자신의 MAC 주소를 비교한다.
    1. 주소가 같으면 이더넷 헤더와 프레일러를 분리하고 네트워크 계층에 전달한다.
  3. 네트워크 계층에서 목적지 IP 주소와 웹 서버의 IP 주소가 같은지 비교한다.
    1. 주소가 같으면 IP 헤더를 분리하고 전송 계층에 전달한다.
  4. 전송 계층에서 목적지 포트 번호를 확인해 어떤 애플리케이션으로 보내야 하는지 판단한다.
    1. 그 뒤 TCP 헤더를 분리해 응용 계층에 전달한다.
  5. 응용 계층에 데이터가 도착한다.

정작 라우팅과 동적 라우팅

  • 라우팅: 패킷을 목적지 컴퓨터까지 보낼 때 최적의 경로로 설정해주는 과정

정적 라우팅

  • 관리자가 라우팅 테이블에 경로를 수동으로 추가하는 방법
  • 목적지까지의 경로를 고정하거나, 경로가 하나로 한정되는 경우 사용
  • 소규모 네트워크에서 사용
  • 라우팅 정보가 교환되지 않아 대역폭 부담이 적고 보안이 좋다.
  • 경로에 장애가 발생하면 다른 경로로 우회할 수 없어 관리자가 직접 설정을 변경해야 한다.

동적 라우팅

  • 네트워크 변경을 자동으로 감지해 라우팅 테이블을 업데이트한다.
  • 네트워크에 장애가 발생 시 라우터끼리 정보를 교환해 최적의 경로로 전환한다.
  • 대규모 네트워크에서 사용
This post is licensed under CC BY 4.0 by the author.