OSI 7 계층
OSI 7 계층은 데이터가 네트워크를 통해 이동하는 과정을 7단계로 나누어 쉽게 설명하는 모델입니다. OSI 7 계층 모델은 다음과 같이 구성 돼 있습니다.
복잡하게만 보이는 데이터 전송 과정을 이 모델로 나누어 보면 이해하기 수월해집니다. 그리고 이 모델은 다음과 같이 나뉘기도 합니다.
이런 계층 분류는 계층의 역할과 목표에 따른 것입니다. 데이터 플로 계층은 데이터를 상대에게 잘 전달하는 역할을 가지고 있습니다. 그리고 상위 계층은 사용자나 응용 프로그램과 상호작용하여 데이터를 보내고 받는 역할을 하게 됩니다.
각 계층별 특징
1. 물리(Physical) 계층
물리 계층은 OSI 7계층의 첫 번째 계층으로 물리적 연결과 관련된 정보를 전달합니다. 주로 전기적, 물리적인 특징을 다루며 Bits를 주고 받습니다. 물리 계층 장비는 들어온 전기 신호를 그대로 잘 전달하는 것을 목적으로 하므로 전기 신호가 장비에 들어오면 이 전기 신호를 재생성해 내보냅니다. 이 장비는 주소의 개념이 없어 전기 신호가 들어온 포트를 제외하고 모든 포트에 같은 전기 신호를 전송합니다.
주요 장비: 허브(Hub), 리피터(Repeater), 케이블(Cable), 커넥터(Connector) 등
2. 데이터 링크(Data Link) 계층
데이터 링크는 두 번째 계층 즈로 전기 신호를 모아 정보를 처리합니다. 물리 계층과는 달리 전기 신호를 정확히 전달하기 보다는 주소 정보를 정의하고 통신이 원활히 하는 데 초점이 맞춰져 있습니다. 때문에 출발지와 도착지 주소를 확인하고 자신에게 보낸 것이 맞는지, 또는 자신이 처리해야 하는지에 대해 검사한 후 데이터 처리를 수행합니다.
이 계층에서는 전기 신호를 모아 데이터 형태로 처리하므로 데이터에 대한 에러를 탐지하거나 고치는 역할을 수행합니다. 신뢰할 수 있는 현대 물리 계층과 달리 과거에는 신뢰할 수 없는 미디어를 이용해 통신하는 경우도 많았기에 데이터 링크 계층에서 통해 에러를 탐지하고 고치거나 재전송했다고 합니다. 현대 이더넷 기반 네트워크 2계층에서는 에러를 탐지하는 역할만 수행하고 있습니다.
주소 체계의 등장은 일대 일 통신에서 일대 다수 통신이 가능해졌다는 뜻이 됩니다. 이 때문에 무작정 데이터를 전송하지 않고, 받는 사람이 현재 데이터를 받을 수 있는지 확인하는 작업부터 진행합니다. 이를 플로 컨트롤(Flow Control)이라고 부릅니다. 이에 대한 방식은 다음에 자세히 다뤄보겠습니다.
이 계층에서는 MAC 주소라는 체계를 사용합니다.
주요 장비: 네트워크 인터페이스 카드(Network Interface Card), 스위치(Switch)
3. 네트워크(Network) 계층
네트워크 계층에서는 데이터 링크 계층에서 물리적 MAC 주소 체계를 사용하는 것처럼 논리적 IP 주소 체계를 사용합니다. MAC 주소가 보통은 고정돼 있는 것에 반해 IP 주소는 사용자가 환경에 맞게 변경해 사용할 수 있습니다. IP 주소의 체계는 여기에 정리해 두었습니다.
이 계층 장비는 네트워크 주소 정보를 이용해 자신이 속한 네트워크와 원격지 네트워크를 구분할 수 있고 원격지 네트워크로 가려면 어디로 가야 하는지 경로를 지정할 수 있습니다. 네트워크 계층에서 사용하는 장비인 라우터는 IP 주소를 사용해 최적의 경로를 찾아 해당 경로로 패킷을 전송하는 역할을 합니다.
주요 장비: 라우터(Router)
4. 트랜스포트(Transport) 계층
물리 계층에서 네트워크 계층까지 담당하는 역할이 신호와 데이터를 올바른 위치로 보내고 실제 신호를 만들어 보낸다면, 트랜스포트(전송) 계층은 해당 데이터들이 실제로 정상적으로 잘 보냈졌는가를 확인하는 역할을 합니다. 데이터를 패킷으로 나누어 전송하는 패킷 네트워크는 전송 중 패킷이 유실되거나 순서가 바뀌는 경우가 생기기도 합니다. 이 문제를 해결하기 위해 패킷이 유실되거나 순서가 바뀌었을 때 바로 잡아주는 역할을 이 계층이 담당합니다.
패킷을 분할할 때 패킷 헤더에는 보내는 순서와 받는 순서를 적어 통신합니다. 따라서 패킷이 유실됐다면 재전송을 요청하고 순서가 바뀌더라도 바로 잡을 수 있습니다. 패킷에 보내는 순서를 명시한 것이 시퀸스 번호(Sequence Number)이고 받는 순서를 나타낸 것이 ACK 번호(Acknowledgement Number)입니다. 이 뿐만 아니라 장치 내의 많은 어플리케이션을 구분할 수 있도록 포트 번호(Port Number)를 사용해 상위 애플리케이션을 구분합니다.
트랜스포트 계층의 로드 밸런서는 시퀸스와 ACK 번호를 이용해 부하를 분산하고, 방화벽은 보안 정책을 수립해 패킷을 통과, 차단하는 기능을 수행합니다.
주요 장비: 로드 밸런서, 방화벽
5. 세션(Session) 계층
양 끝단의 응용 프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리하고 작업 완료 후에는 이 연결을 끊는 역할을 합니다. 흔히 부르는 '세션'을 관리한다고 하는데, TCP/IP 세션을 만들고 없애며, 에러로 중단된 통신에 대한 에러 복구와 재전송을 수행합니다. 이를 위해 API(Application Programming Interface)를 사용합니다.
6. 프레젠테이션(Presentation) 계층
표현 방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기 위해 데이터 형식을 JEPG나 PDF처럼 정의하고, 애플리케이션 계층에서 받은 데이터를 적절한 형식으로 변환하거나 압축하는 역할을 수행합니다. 데이터의 압축, 암호화, 인코딩, 형식 변환 등의 과정을 처리해 서로 다른 시스템 간에 호환성 있는 데이터를 교환 가능하게 만들어줍니다.
7. 애플리케이션(Application) 계층
애플리케이션 프로세스를 정의하고 애플리케이션 서비스를 수행합니다. 여기에는 네트워크 소프트웨어의 UI(User Interface)처럼 사용자가 직접 상호작용하는 소프트웨어나 서비스뿐만 아니라 이메일, 파일 전송, 웹 브라우징 등 응용 프로그램도 포함됩니다. 즉, 사용자의 요청에 따라 데이터를 생성, 조작, 제어하고, 응용 프로그램 간 메시지를 전송하는 역할을 합니다.
'면접 대비 기초 지식' 카테고리의 다른 글
[면접 대비 기초] 05. IPv4와 IPv6 주소 체계 (0) | 2023.12.04 |
---|---|
[면접 대비 CS 기초] 5. DNS (0) | 2023.11.27 |
[면접 대비 CS 기초] 04. 포트(Port) (2) | 2023.11.27 |
[면접 대비 CS 기초] 03. 인터넷 통신을 위한 체계 - TCP/IP, UDP (0) | 2023.11.24 |
[면접 대비 CS 기초] 01. 운영체제(Operating System, OS) (0) | 2023.09.03 |