네트워크 물리계층부터 응용계층까지 전체적으로 어떻게 동작하는지 알아보자.
계층 | 역할 |
---|---|
응용 계층 | 애플리케이션에서 사용하는 데이터 송수신 |
전송 계층 | 목적지에 데이터를 정확하게 전달하는 방식 결정 |
네트워크 계층 | 다른 네트워크에 있는 목적지에 데이터 전달 |
데이터 링크 계층 | 랜에서 데이터 송수신 |
물리 계층 | 데이터를 전기신호로 변환 |
그림은 192.168.1.0/24
172.16.0.0/16
192.168.10.0/24
총 3개의 네트워크로 구성되어 있다.
그림을 바탕으로 컴퓨터A
에서 웹서버
까지 데이터가 도착하는 과정을 살펴보자.
과정을 살펴보기 이전에 3-way-handshake
를 통해 연결이 수립되었다고 가정한다.
1️⃣ 웹브라우저에서 검색창에 URL을 입력하고 enter를 누른다.
2️⃣ 데이터가 전송 계층에 전달된다.
TCP 헤더
가 붙는다.목적지 포트번호
는 HTTP 프로토콜을 사용한 통신이기 때문에 80번
이다.TCP 헤더
를 가진 데이터를 세그먼트
라고 한다.3️⃣ 데이터가 네트워크 계층에 전달된다.
IP 헤더
가 붙는다.IP 헤더
를 가진 데이터를 IP 패킷
이라고 한다.4️⃣ 데이터가 데이터 링크 계층으로 전달된다.
이더넷 헤더
가 붙는다.이더넷 헤더
를 가진 데이터를 이더넷 프레임
이라고 한다.5️⃣ 물리 계층에서 데이터가 전기 신호로 변환되어 네트워크를 통해 스위치 A로 전송된다.
1️⃣ 스위치 A의 물리 계층, 데이터 링크 계층을 거쳐 다시 물리 계층에서 데이터를 전기 신호로 변환해 라우터 A로 전송한다.
라우터 A
에 도달한다.1️⃣ 라우터 A는 데이터 링크 계층에서 이더넷 프레임의 목적지 MAC 주소와 자신의 MAC 주소를 비교한다.
2️⃣ 네트워크 계층에 전달해 라우팅 테이블과 목적지 IP 주소를 비교한다.
3️⃣ 출발지 IP 주소(192.169.1.10)를 라우터 외부 IP 주소(172.16.0.1)로 변경한다.
4️⃣ 데이터 링크 계층, 물리 계층를 타고 데이터를 전기 신호로 변환해 라우터 B로 전송한다.
1️⃣ 라우터 B는 데이터 링크 계층에서 이더넷 프레임의 목적지 MAC 주소와 자신의 MAC 주소를 비교한다.
2️⃣ 네트워크 계층에 전달해 라우팅 테이블과 목적지 IP 주소를 비교한다.
3️⃣ 출발지 IP 주소(172.16.0.1)를 라우터 내부 IP 주소(192.168.10.1)로 변경한다.
4️⃣ 데이터 링크 계층, 물리 계층를 타고 데이터를 전기 신호로 변환해 스위치 B로 전송한다.
1️⃣ 스위치 B의 물리 계층, 데이터 링크 계층을 거쳐 다시 물리 계층에서 데이터를 전기 신호로 변환해 웹서버로 전송한다.
1️⃣ 웹서버는 데이터 링크 계층에서 이더넷 프레임의 목적지 MAC 주소와 자신의 MAC 주소를 비교한다.
2️⃣ 네트워크 계층에서 목적지 IP 주소와 웹서버의 IP 주소를 비교한다.
3️⃣ 목적지 포트 번호를 확인하고 어떤 애플리케이션으로 전달해야 하는지 판단한다.
4️⃣ 데이터가 웹서버의 응용 계층에 도달한다.
라우팅은 패킷을 목적지까지 최적의 경로를 통해 전송하는 것을 말한다. 라우팅에는 정적 라우팅과 동적 라우팅 두 종류가 있다.
관리자가 미리 라우팅 테이블에 경로를 수동으로 추가하는 방법
네트워크 변경을 자동으로 감지해 라우팅 테이블을 업데이트하거나, 네트워크 장애가 발생했을 경우 라우터끼리 정보를 교환해 최적의 경로로 전환하는 방법