TIL

모두의 네트워크를 읽고 요약 및 정리한 글 입니다.

8장: 네트워크의 전체 흐름 살펴보기

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

이번 장에서는 OSI 모델의 각 계층 간에 데이터가 전달되고 처리되는 전체 과정을 알아본다. 예를 들어 아래와 같이 구성된 네트워크는 192.168.1.0/24, 172.16.0.0/16, 192.168.10.0/24 총 세 개로 네트워크가 나뉘어 있다.

네트워크의 구성

지금까지는 OSI 모델의 각 계층에 대해서 알아보았다. 그리고 8장에서는 OSI 모델의 전체적인 관점으로 데이터가 어떻게 전달되고 처리되는지 알아본다. 특히 컴퓨터의 웹 브라우저에 URL을 입력할 때 부터 웹 서버에 도착할 때까지 이루어지는 OSI 모델의 캡슐화역캡슐화를 알아본다.

캡슐화의 과정은 아래와 같다. 네트워크는 위에 나온 네트워크를 참고하면 된다.

  1. 응용 계층에서 HTTP 프로토콜을 활용하여 HTTP 메시지를 보낸다.
  2. 이 메시지 데이터가 전송 계층으로 전달되고, 전송 계층에서 TCP 헤더가 붙는다. TCP 헤더에는 출발지 포트 번호목적지 포트 번호가 있어서 어떤 애플리케이션으로 데이터를 전송하는지 구분할 수 있다. 이 TCP 헤더를 가진 데이터를 세그먼트라고 한다.
  3. 그런 뒤 데이터가 네트워크 계층에 전달된다. 네트워크 계층에서는 전송받은 세그먼트에 IP 헤더를 붙인다. IP 헤더에는 출발지 IP 주소목적지 IP 주소에 대한 정보가 붙는다. 이렇게 IP 헤더가 붙은 데이터를 IP 패킷이라고 한다.
  4. IP 패킷을 데이터 링크 계층으로 전달한다. 데이터 링크 계층에서는 이더넷 헤더를 붙이고 이렇게 이더넷 헤더가 붙은 데이터를 이더넷 프레임이라고 한다.
  5. 마지막으로 데이터가 물리 계층에서 전기 신호로 변환되어 네트워크로 전송된다. 물리 계층에서 데이터를 전기 신호로 변환하는 장비를 랜 카드라고 한다.

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

위의 그림에서 스위치 A는 데이터 링크 계층에서 데이터를 전기 신호로 변환하여 라우터 A로 전송한다. 이렇게 스위치 A에서 데이터가 전기 신호로 변환되어 케이블을 통해 흘러가 라우터 A에 도착하면 라우터 A는 데이터 링크 계층에서 이더넷 프레임의 목적지 MAC 주소와 자신의 MAC 주소를 비교한다. 이 때 주소가 같으면 이더넷 헤더와 트레일러를 분리하는 역캡슐화를 수행한다. 다음으로 네트워크 계층에 전달하고 자신의 라우팅 테이블목적지 IP 주소를 비교한다.

라우터 A의 라우팅 테이블에서 목적지 IP 주소의 경로를 알 수 있으므로 라우팅을 할 수 있다. 따라서 현재 출발지 IP 주소를 192.16.1.10에서 라우터의 외부 IP 주소인 172.16.0.1로 변경한다. 그런 다음 데이터 링크 계층으로 전달하여 라우터 B로 보내지도록 이더넷 헤더와 트레일러를 붙인 후에 물리 계층에서 데이터를 전기 신호로 변환하여 네트워크로 전달한다. 그러면 데이터는 전기 신호 형태로 라우터 A에서 라우터 B로 전달된다.

데이터가 전기 신호로 변환되어 케이블을 통해 라우터 A에서 라우터 B에 도착하면 라우터 B는 이더넷 프레임의 목적지 MAC 주소와 자신의 MAC 주소를 비교한다. 주소가 같으면 이더넷 헤더와 트레일러를 분리하는 역캡슐화를 수행한다. 그다음 네트워크 계층으로 전달되면 자신의 라우터 테이블과 목적지 IP 주소를 비교한다. 목적지 IP 주소의 경로를 알 수 있으므로 라우팅을 할 수 있다. 그런 뒤 현재 출발지 IP 주소 172.16.0.1(라우터 A의 외부 IP 주소)을 라우터 B의 내부 IP 주소인 192.168.10.1로 변경한다. 그런 뒤 데이터 링크 계층에 전달하여 스위치를 전달되도록 이더넷 헤더와 트레일러(FCS)를 붙인 후 물리 계층에서 데이터를 전기 신호로 변환하여 네트워크로 전송한다.

스위치 B로 전달된 데이터는 웹 서버에 데이터를 전기 신호로 전달한다.

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

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

Leave a comment