개요
이번 글에서는 네트워크의 규칙에 대해 이야기해보려고 한다.
- 이 글은 "모두의 네트워크"라는 책을 기반으로 내용을 작성할 예정이다.
프로토콜이란?
통신하기 위한 규칙을 프로토콜이라고 한다.
예를들어 프랑스인과 한국인이 대화를 한다면 처음에는 말이 통하지 않을 것이다. 하지만 서로 영어를 사용한다는 규칙을 정한다면 서로 대화할 수 있을 것이다.
데이터를 전송하기 위해서는 데이터를 전송할 때부터 상대방에게 도착할 때까지 지켜야 하는 독립적인 여러 규칙들을 거쳐야한다.
OSI 모델의 생성 배경
옛날에는 A사와 B사의 컴퓨터가 통신 할 수 없었던 상황도 종종 있었다. 통신을 하기 위해서는 표준 규격을 정해야만 했고, 이를 위해 ISO라는 국제표준화기구에서 OSI 모델이라는 표준 규격을 제정한 것이다.
OSI 모델이란?
네트워크 기술의 기본이 되는 모델이다.
데이터의 송/수신은 컴퓨터에서 컴퓨터로 데이터를 전송하는 것이다. 이때 컴퓨터 내부에서는 여러 가지 일을 하는데 이런 일을 7계층으로 나눠서한다.
통신할 때 데이터는 맨 위의 응용 계층에서 순차적으로 아래 계층으로 전달된다.
OSI 모델 - 각 계층의 역할
계층 | 이름 | 설명 |
7계층 | 응용 계층(애플리케이션 계층) | 이메일 & 파일 전송, 웹 사이트 조회 등 애플리케이션에 대한 서비스를 제공한다. |
6계층 | 표현 계층(프레젠테이션 계층) | 문자 코드, 압축, 암호화 등의 데이터를 변환한다. |
5계층 | 세션 계층 | 세션 체결, 통신 방식을 결정한다. |
4계층 | 전송 계층(트랜스포트 계층) | 신뢰할 수 있는 통신을 구현한다. |
3계층 | 네트워크 계층 | 다른 네트워크와 통신하기 위한 경로 설정 및 논리 주소를 결정한다. |
2계층 | 데이터 링크 계층 | 네트워크 기기 간의 데이터 전송 및 물리 주소를 결정한다. |
1계층 | 물리 계층 | 시스템 간의 물리적인 연결과 전기 신호를 변환 및 제어한다. |
OSI 모델 - 데이터 전송 과정
데이터를 전송하는 쪽(송신 측)은 데이터를 보내기 위해서 상위 계층에서 하위 계층으로 데이터를 전달한다. 데이터를 받는 쪽(수신 측)은 하위 계층에서 상위 계층으로 각 계층을 통해 전달된 데이터를 받게되는 것이다.
각 계층은 독립적이므로 데이터가 전달되는 동안에 다른 계층의 영향은 받지 않는다.
TCP/IP 모델
TCP/IP 모델은 OSI 계층을 4계층으로 바꿨다고 생각하면 이해하기 쉽다.
OSI 모델 <-> TCP/IP 모델 비교
OSI 모델 | TCP/IP 모델 |
응용 계층 | 응용 계층 |
표현 계층 | |
세션 계층 | |
전송 계층 | 전송 계층 |
네트워크 계층 | 인터넷 계층 |
데이터 링크 계층 | 네트워크 접속 계층 |
물리 계층 |
캡슐화와 역캡슐화
데이터를 보내려면 데이터의 앞부분에 전송하는 데 필요한 정보를 붙여서 다음 계층으로 보내야 한다. 이 정보를 헤더라고 하는데 헤더에는 데이터를 전달받을 상대방에 대한 정보도 포함되어 있다. 이처럼 헤더를 붙여 나가는 것을 캡슐화라고 하고, 데이터를 받는 쪽에서 헤더를 하나씩 제거하는 것을 역캡슐화라고 한다.
캡슐화와 역캡슐화의 흐름
1. 응용 계층에서는 웹 사이트를 접속하기 위한 요청 데이터가 만들어진다.
2. 해당 데이터는 전송 계층에 전달되는데 전송 계층에서 신뢰할 수 있는 통신이 이루어지도록 응용 계층에서 만들어진 데이터에 헤더를 붙인다.
3. 그리고 전송 계층에서 만들어진 데이터를 다른 네트워크와 통신하기 위해 네트워크 계층에서 헤더를 붙인다.
4. 네트워크 계층에서 만들어진 데이터에 물리적인 통신 채널을 연결하기 위해 데이터 링크 계층에서 헤더와 트레일러를 붙인다.
- 트레일러란 데이터를 전달할 때 데이터의 마지막에 추가하는 정보를 말한다.
위의 과정들을 통해 캡슐화의 과정이 끝나고, 데이터 링크 계층에서 만들어진 데이터는 최종적으로 전기 신호로 변환돼서 수신 측에 도착한다.
6. 수신 측에서는 데이터 링크 계층에서 추가된 헤더와 트레일러를 제거한다.
7. 수신 측 네트워크 계층에서는 네트워크 계층의 헤더를 제거한다.
8. 수신 측 전송 계층에서는 전송 계층의 헤더를 제거한다.
9. 모든 헤더가 제거된 데이터가 수신 측에 도착하게 된다.
위의 과정들을 통해 역캡슐화의 과정이 끝나고 데이터가 수신 측에 최종적으로 도착하게 되는 것이다.
'네트워크' 카테고리의 다른 글
[네트워크] 데이터 링크 계층과 이더넷 (0) | 2022.04.12 |
---|---|
[네트워크] 리피터와 허브 (0) | 2022.04.12 |
[네트워크] 케이블의 종류와 구조 (0) | 2022.04.08 |
[네트워크] OSI 모델 1계층 - 물리 계층 (0) | 2022.04.08 |
[네트워크] 네트워크 첫걸음 (0) | 2022.04.05 |