<랜 카드에서의 데이터 전달과 처리>
OSI 모델에서 각 계층의 역할
- 응용 계층: 애플리케이션 등에서 사용하는 데이터를 송수신하는데 필요
- 전송 계층: 목적지에 데이터를 정확하게 전달하는데 필요
- 네트워크 계층: 다른 네트워크에 있는 목적지에 데이터를 전달하기 위해 필요
- 데이터 링크 계층: 랜에서 데이터를 송수신하기 위해 필요
- 물리 계층: 데이터를 전기 신호로 변환하는데 필요
웹 사이트 접속 과정
위와 같은 구성의 네트워크가 있다고 가정해보자.
이 구성은 3개의 네트워크로 이루어져 있다.
(192.168.1.0/24, 172.16.0.0/16, 192.168.10.0/24)
이 네트워크에서 컴퓨터가 웹 사이트에 접속하려고 할 때, 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주소로 변경
- 데이터 링크 계층에서는 이더넷 프레임의 목적지 MAC 주소와 자신의 MAC 주소 비교
- 다시 물리계층으로 내려가서 다음 기기(라우터)에 데이터를 전기 신호로 변환하여 전송(캡슐화)
<웹 서버에서의 데이터 전달과 처리>
웹 서버에서의 데이터 전달과 처리
1. 데이터가 전기 신호로 웹 서버에 도착
2. 데이터 링크 계층에서 이더넷 프레임의 MAC 주소와 자신의 MAC 주소 비교
주소가 같을 경우, 이더넷 헤더와 트레일러를 분리(역캡슐화)하여 네트워크 계층에 전달
3. 네트워크 계층에서는 목적지 IP 주소와 웹 서버의 IP 주소 비교
주소가 같을 경우, IP 헤더를 분리(역캡슐화)하고 전송 계층에 전달
4. 전송 계층에서는 목적지 포트 번호를 확인하여 어떤 애플리케이션으로 전달해야되는지 판단하고 TCP 헤더를 분리(역캡슐화)하여 응용 계층에 전달
이 포스팅에서 다룬 내용은 요청 한 번에 대한 과정이다.
이 다음에는 요청을 받은 웹 서버가 컴퓨터로 응답을 보내야 한다.
+) 정적 라우팅 VS 동적 라우팅
정적 라우팅
- 관리자가 미리 라우팅 테이블에 경로를 수동으로 추가
- 목적지까지의 경로를 고정하거나 목적지까지의 경로가 하나로 한정되는 경우에 사용
- 소규모 네트워크에서 사용
- 라우팅 정보가 교환되지 않아 대역폭에 대한 부담이 적음
- 보안 유지에 좋음
- 장애 발생시 대처가 번거로움
동적 라우팅
- 네트워크 변경을 자동으로 감지하여 라우팅 테이블을 업데이트하는 방식
- 네트워크 장애시 라우터끼리 정보를 교환하여 최적의 경로로 전환하는 기능을 함
- 대규모 네트워크에서 사용(대규모는 정적 라우팅 지원X)
'네트워크' 카테고리의 다른 글
모두의 네트워크 - 9장. 무선 랜 이해하기 (0) | 2023.01.25 |
---|---|
모두의 네트워크 - 7장. 응용 계층: 애플리케이션에 데이터 전송하기 (0) | 2023.01.24 |
모두의 네트워크 - 6장. 전송 계층: 신뢰할 수 있는 데이터 전송하기 (0) | 2023.01.23 |
모두의 네트워크 - 5장. 네트워크 계층: 목적지에 데이터 전달하기 (0) | 2023.01.22 |
모두의 네트워크 - 4장. 데이터 링크 계층: 랜에서 데이터 전송하기 (0) | 2023.01.21 |