OSI 7계층은 서로 다른 회사가 만든 컴퓨터끼리도 통신할 수 있도록, 통신에 필요한 일을 일곱 층으로 나눠 국제 표준으로 정한 기준 모델입니다. 아래부터 물리·데이터 링크·네트워크·전송·세션·표현·응용 계층이고, 보낼 때는 층마다 머리글을 붙이고(캡슐화) 받을 때는 같은 층이 그 머리글을 벗깁니다.
통신을 한 덩어리로 만들면 선 하나를 바꿔도 전체를 고쳐야 하고, 회사마다 방식이 달라 서로 이어지지 않습니다. 층으로 나누면 각 층은 제 일만 하고, 한 층을 바꿔도 다른 층은 그대로입니다. 아래 그림은 데이터 하나가 일곱 층을 내려가며 싸이고, 받는 쪽에서 다시 풀리는 과정을 보여 줍니다.
1일곱 층과 하는 일
| 층 | 이름 | 단위 | 대표 프로토콜 | 하는 일 |
|---|---|---|---|---|
| 7 | 응용(application) | 데이터 | HTTP·FTP·SMTP | 프로그램이 네트워크를 쓰는 창구 |
| 6 | 표현(presentation) | 데이터 | JPEG·MPEG·ASCII | 데이터의 꼴을 바꾼다 — 코드 변환·압축·암호화 |
| 5 | 세션(session) | 데이터 | NetBIOS | 대화를 열고 닫는다. 동기점으로 끊긴 곳부터 다시 |
| 4 | 전송(transport) | 세그먼트 | TCP·UDP | 프로그램 사이 끝에서 끝까지 전달. 포트 번호·오류와 흐름 제어 |
| 3 | 네트워크(network) | 패킷 | IP·ICMP | IP 주소로 길을 고른다(라우팅) |
| 2 | 데이터 링크(data link) | 프레임 | HDLC·PPP·이더넷 | 이웃한 장비까지 프레임을 넘긴다. MAC 주소·오류 검출 |
| 1 | 물리(physical) | 비트 | RS-232C | 비트를 전기·빛 신호로 바꾼다. 단자·전압 규격 |
아래층부터 앞 글자를 따 '물·데·네·전·세·표·응'으로 외웁니다. 5~7층의 단위는 자료에 따라 메시지라고도 씁니다.
오류를 살피는 일은 두 층에 있습니다. 데이터 링크 계층은 이웃 장비 사이 구간마다, 전송 계층은 끝에서 끝까지 살핍니다.
2캡슐화 — 내려가며 붙이고 올라가며 벗긴다
보내는 쪽에서 데이터는 7층에서 1층으로 내려가며 층마다 필요한 정보를 머리글(header)로 붙입니다. 이것이 캡슐화(encapsulation)입니다. 전송 계층은 포트 번호를 붙여 세그먼트를, 네트워크 계층은 IP 주소를 붙여 패킷을 만듭니다. 데이터 링크 계층은 앞에 다음 장비의 MAC 주소, 뒤에 오류 검사 값(FCS, Frame Check Sequence)을 붙여 프레임을 만들고, 물리 계층이 이것을 비트로 보냅니다.
받는 쪽은 1층에서 7층으로 올라가며, 각 층이 상대편의 같은 층이 붙인 머리글을 읽고 벗깁니다(역캡슐화, decapsulation).
중간 장비는 필요한 층까지만 벗겨 봅니다. 라우터는 3층까지 열어 IP 주소로 길을 고른 뒤 새 프레임으로 싸서 보냅니다. 스위치·브리지는 2층의 MAC 주소로 넘길 곳을 고르고, 허브·리피터는 1층에서 받은 비트를 그대로 넘깁니다.
3데이터 링크 계층의 HDLC
HDLC(High-level Data Link Control)는 데이터 링크 계층에서 두 장비가 프레임을 주고받는 비트 중심 프로토콜입니다. 프레임 짜임은 아래와 같고, 그림의 2층 머리글과 꼬리가 앞뒤 칸입니다.
| 플래그 | 주소 | 제어 | 정보 | FCS | 플래그 |
|---|---|---|---|---|---|
| 01111110 | 받을 곳 | 프레임 종류 | 위층의 데이터 | 오류 검사 값 | 01111110 |
제어 칸이 프레임 종류를 가르고, 링크를 쓰는 방식은 동작 모드 셋으로 나뉩니다. 주국(primary)은 링크를 관리하는 쪽, 종국(secondary)은 지시를 받는 쪽입니다.
| 무엇 | 이름 | 하는 일 |
|---|---|---|
| 프레임 종류 | 정보 프레임(I) | 위층의 데이터를 싣는다 |
| 감독 프레임(S) | 오류 제어·흐름 제어를 알린다 | |
| 비번호 프레임(U) | 링크를 맺고 끊거나 모드를 정한다 | |
| 동작 모드 | 정규 응답 모드(NRM) | 주국이 허락해야 종국이 보낸다 |
| 비동기 응답 모드(ARM) | 종국이 허락 없이 보내지만 링크 관리는 주국이 한다 | |
| 비동기 균형 모드(ABM) | 두 국이 대등하게 아무 때나 보내고 관리한다 |
예제
다음 다섯 장면이 어느 계층의 일인지 먼저 골라 보세요.
(가) 스위치가 프레임의 받는 쪽 MAC 주소를 보고 그 장비가 꽂힌 단자로만 내보냅니다.
(나) 라우터가 받는 곳 IP 주소를 보고 다음 라우터를 고릅니다.
(다) 받은 세그먼트를 번호대로 맞추고, 빠진 것을 다시 보내 달라고 합니다.
(라) 보내기 전에 파일을 압축하고 암호화합니다.
(마) 큰 파일을 받다 끊기자, 마지막 동기점부터 다시 받습니다.
답을 정했으면 아래 표로 맞춰 보세요.
| 무엇을 보고 일하나 | 계층 | 장면 |
|---|---|---|
| MAC 주소와 프레임 | 데이터 링크(2) | (가) |
| IP 주소와 패킷 | 네트워크(3) | (나) |
| 프로그램 사이 세그먼트의 차례 | 전송(4) | (다) |
| 두 프로그램의 대화와 동기점 | 세션(5) | (마) |
| 데이터의 꼴 | 표현(6) | (라) |
(가)와 (나)를 가르는 기준은 주소의 종류입니다. 바로 옆 장비를 가리키는 MAC 주소면 2층, 끝 목적지를 가리키는 IP 주소면 3층입니다.
시험 포인트
- 필기: 계층 이름과 차례(아래부터 물·데·네·전·세·표·응), 단위(1 비트 · 2 프레임 · 3 패킷 · 4 세그먼트), 장비(허브·리피터 1, 스위치·브리지 2, 라우터 3)를 짝짓게 합니다. HDLC는 2계층이고 플래그는 01111110입니다. 오류 제어는 데이터 링크(구간마다)와 전송(끝에서 끝까지) 두 층에 다 있습니다. 표현 계층(압축·암호화)과 세션 계층(대화·동기점)을 바꿔 놓은 보기도 나옵니다.
- 실기: HDLC(High-level Data Link Control)를 이름으로 씁니다. 프레임 종류는 정보 프레임(I-Frame), 감독 프레임(S-Frame), 비번호 프레임(U-Frame)이고, 동작 모드는 정규 응답 모드(NRM, Normal Response Mode), 비동기 응답 모드(ARM, Asynchronous Response Mode), 비동기 균형 모드(ABM, Asynchronous Balanced Mode)입니다.
확인 문제
1. 전송 계층(transport layer)이 하는 일로 알맞은 것을 고르세요.
- ① 공장 장비를 잇는 케이블의 단자 모양과 전압을 정합니다.
- ② 한 컴퓨터에 도착한 데이터를 포트 번호로 가려, 영상 통화 앱과 메신저 앱에 따로 건넵니다.
- ③ 이웃한 두 장비 사이에서 프레임의 처음과 끝에 01111110을 붙입니다.
- ④ 보낸 쪽의 글자 코드를 받는 컴퓨터가 읽는 꼴로 바꿉니다.
정답
②입니다. 전송 계층은 보낸 프로그램에서 받는 프로그램까지 전달을 맡고, 한 컴퓨터 안의 어느 프로그램인지를 포트 번호로 가립니다.
- ① 단자와 전압은 물리 계층(1층)의 규격입니다.
- ③ 프레임과 플래그는 데이터 링크 계층(2층)의 일입니다. 01111110은 HDLC 프레임의 플래그입니다.
- ④ 데이터의 꼴을 바꾸는 것은 표현 계층(6층)입니다.
2. 다음 (가)~(라)에 맞는 이름을 쓰세요. (가)는 영문 약어와 원어를, (나)~(라)는 한글 이름과 영문을 함께 쓰세요. 답을 끝까지 쓴 뒤 정답을 펼치세요.
- (가) 2층에서 두 장비가 프레임을 주고받는 비트 중심 규칙으로, 프레임의 처음과 끝에 01111110을 두는 프로토콜
- (나) (가)의 프레임 가운데, 위층이 보낸 데이터를 실어 나르는 프레임
- (다) 데이터를 싣지 않고 '잘 받았다'·'잠깐 멈춰라'·'다시 보내라'를 알리는 프레임
- (라) 데이터 차례를 세지 않고, 링크를 맺고 끊거나 동작 모드를 정하는 데 쓰는 프레임
정답
받는 답: (가) HDLC(High-level Data Link Control) · (나) 정보 프레임(I-Frame) · (다) 감독 프레임(S-Frame) · (라) 비번호 프레임(U-Frame)
(가)의 실마리는 '2층'과 플래그 01111110입니다. 세 프레임은 무엇을 싣느냐로 가릅니다 — 데이터를 실으면 정보, 오류·흐름 제어를 알리면 감독, 링크를 맺고 모드를 정하면 비번호 프레임입니다.
- 같은 이름의 다른 꼴: (나)~(라)를 한글 이름만, 또는 I·S·U 글자만 쓴 꼴 — 문제가 한글 이름과 영문을 함께 쓰라고 했습니다.
- 틀리는 꼴 (가)에 PPP: 같은 2층 프로토콜이지만, 문제의 실마리인 플래그 01111110과 세 가지 프레임 종류는 HDLC를 가리킵니다.
- 틀리는 꼴 (다)와 (라)를 바꿔 쓴 꼴: '다시 보내라' 같은 오류·흐름 제어는 감독 프레임이 알립니다. 비번호 프레임은 링크를 맺고 끊는 데 씁니다.
3. 공장의 중앙 제어기 한 대와 장비 여러 대가 HDLC로 이어져 있습니다. (가)~(다)에 맞는 동작 모드의 이름을 한글 이름과 영문 약어, 원어로 함께 쓰세요. 답을 끝까지 쓴 뒤 정답을 펼치세요.
- (가) 제어기가 차례로 불러 줄 때만 각 장비가 데이터를 보낼 수 있습니다.
- (나) 각 장비는 불러 주지 않아도 데이터를 보내지만, 링크를 맺고 끊고 오류를 수습하는 일은 제어기만 합니다.
- (다) 제어기를 빼고 두 장비를 1 대 1로 이었더니, 어느 쪽이든 아무 때나 보내고 링크도 함께 관리합니다.
정답
받는 답: (가) 정규 응답 모드(NRM, Normal Response Mode) · (나) 비동기 응답 모드(ARM, Asynchronous Response Mode) · (다) 비동기 균형 모드(ABM, Asynchronous Balanced Mode)
가르는 기준은 둘입니다. 종국이 허락을 받아야 보내는가(받으면 NRM), 두 쪽이 대등한가(대등하면 ABM)입니다. (나)는 허락 없이 보내지만 관리는 주국에 남아 있어 ARM입니다.
- 같은 이름의 다른 꼴: 약어만, 또는 한글 이름만 쓴 꼴 — 문제가 셋을 함께 쓰라고 했습니다.
- 틀리는 꼴 (나)에 비동기 균형 모드: 허락 없이 보내는 것은 같지만, 균형 모드는 링크 관리까지 두 쪽이 대등하게 합니다. (나)는 관리를 제어기만 합니다.
- 틀리는 꼴 (가)에 비동기 응답 모드: 비동기 응답 모드의 종국은 불러 주지 않아도 보냅니다.
4. 보내는 컴퓨터와 받는 컴퓨터 사이에 라우터가 하나 있습니다. 라우터를 지나며 새것으로 바뀌는 것과 그대로 가는 것을 바르게 짝지은 것을 고르세요.
- ① 바뀜: 받는 곳 IP 주소 · 그대로: 데이터 링크 머리글
- ② 바뀜: 데이터 링크 머리글과 FCS · 그대로: 받는 곳 IP 주소
- ③ 바뀜: 전송 계층의 포트 번호 · 그대로: FCS
- ④ 바뀜: 없음 — 라우터는 받은 비트를 그대로 넘긴다
정답
②입니다. 라우터는 3층까지 벗겨 받는 곳 IP 주소를 읽고 길을 고른 뒤, 다음 구간의 장비에 맞는 새 데이터 링크 머리글과 FCS를 붙여 보냅니다. 끝 목적지를 가리키는 IP 주소는 바꾸지 않습니다.
- ① 거꾸로입니다. 데이터 링크 머리글은 이웃 장비를 가리켜 구간마다 바뀌고, 끝 목적지인 IP 주소는 그대로입니다.
- ③ 포트 번호는 4층 머리글에 있습니다. 라우터는 3층까지만 열어 보므로 건드리지 않고, 머리글이 바뀌면 FCS도 다시 계산합니다.
- ④ 받은 비트를 그대로 넘기는 것은 1층 장비인 허브의 일입니다.