Skip to main content

[Network] Chapter 8. 네트워크의 전체 흐름 살펴보기

모두의 네트워크 책을 읽고 공부한 노트입니다.




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

  • OSI 모델과 하는 일
    계층 설명
    물리 계층 데이터를 전기 신호로 변환한다
    데이터 링크 계층 LAN에서 데이터를 송수신한다
    네트워크 계층 다른 네트워크에 있는 목적지에 데이터를 전달한다
    전송 계층 목적지에 데이터를 정확하게 전달한다
    응용 계층 애플리케이션 등에서 사용하는 데이터를 송수신하는데 필요하다

  • 살펴볼 예시 네트워크의 구성
    • 192.168.1.10 컴퓨터 → 스위치A
    • → 라우터A 172.16.0.1172.16.0.2 라우터B
    • → 스위치B → 웹 서버 192.168.10.5



컴퓨터의 데이터가 전기 신호로 변환되는 과정 #

  • 응용 계층
    • 3-way handshake가 완료되어 연결이 확립되었다고 가정한다.
    • 컴퓨터에서 웹 브라우저를 이용해서 웹 서버의 웹 사이트에 접속하기 위해 요청을 보낸다.
    • 웹 서버에 있는 html 데이터를 얻어야 하므로 GET /index.html HTTP/1.1 ~1과 같은 HTTP 메시지를 보낸다.
  • 전송 계층
    • TCP 헤더가 붙는다. 이것이 붙은 데이터를 세그먼트라고 한다.
    • 여기에는 출발지 포트 번호와 목적지 포트 번호가 들어 있다.
    • 출발지 포트 번호(웹 브라우저)는 잘 알려진 포트가 아닌 포트(1025번 이상) 중에서 무작위로 선택된다.
    • 목적지 포트번호는 HTTP이므로 80번 포트가 된다.
  • 네트워크 계층
    • IP 헤더가 붙는다. 이것이 붙은 데이터를 IP 패킷이라고 한다.
    • 여기에는 출발지 IP 주소와 목적지 IP 주소가 붙는다.
  • 데이터 링크 계층
    • 이더넷 헤더가 붙는다. 이것이 붙은 데이터를 이더넷 프레임이라고 한다.
    • 여기에는 출발지 MAC 주소와 목적지 MAC 주소가 붙는다.
  • 물리 계층
    • 전기신호로 변환하여 네트워크로 전송한다.
    • 전기신호로 변환하는 장비는 랜 카드이다.



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

스위치 #

  • 물리 계층 → 데이터 링크 계층 → 물리 계층
    • 컴퓨터의 데이터가 전기 신호로 변환되어 전달된다.
    • 데이터를 전기 신호로 변환하여 전송한다.

라우터 #

  • 물리 계층 → 데이터 링크 계층 → 네트워크 계층 → 데이터 링크 계층 → 물리 계층
    • 전기 신호가 전달된다.
    • 데이터 링크 계층에서 목적지 MAC 주소와 자신의 MAC 주소를 비교한다. 주소가 같으면 이더넷 헤더와 트레일러를 분리하는 역캡슐화를 수행한다.
    • 네트워크 계층에서 라우팅 데이블과 목적지 IP주소를 비교한다.
    • 라우팅을 한다. 현재 출발지 IP 주소(192.168.1.10)를 라우터의 외부 IP 주소(172.16.0.1)로 변경한다.
    • 그런 다음 데이터 링크 계층에서 라우터B로 보내기 위해서 이더넷 헤더와 트레일러를 붙인다.
    • 물리 계층에서 데이터를 전기 신호로 변환하고 네트워크로 전달한다.

(반대로 라우터에서 스위치로 가는 과정은 생략)



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

  • 물리 계층
    • 스위치B로부터 전기 신호로 변환된 데이터가 전달된다.
  • 데이터 링크 계층
    • 목적지 MAC 주소와 자신의 MAC 주소를 비교한다. 주소가 같으면 이더넷 헤더와 트레일러를 분리하고 네트워크 계층에 전달한다.
  • 네트워크 계층
    • 목적지 IP 주소와 자신의 IP 주소를 비교한다. 주소가 같으면 IP 헤더를 분리하고 전송 계층에 전달한다.
  • 전송 계층
    • 목적지 포트 번호를 확인해서 어떤 애플리케이션으로 전달해야 되는지 판단하고, TCP 헤더를 분리해서 응용 계층에 전달한다.
  • 응용 계층
    • 웹 서버의 응용 계층에 GET /index.html HTTP/1.1 ~1 HTTP 메시지가 전달된다.