1. OSI의 개념
OSI는 Open Systems Interconnection의 약어에서 알 수 있듯, Interconnection(상호연결)을 위한 것이다.
따라서, OSI 7계층은 통신의 과정을 7단계로 나눈 것이다.
1.1. OSI 학습의 필요성
OSI는 1980년대 초에 도입된 개념으로, 이미 표준으로 채택된지 40년이나 되었다.
더군다나 일반적으로, 인터넷 이용자들의 네트워크는 TCP/IP 기반한다.
그런데 굳이 OSI 7계층의 개념에 대한 공부가 필요한 이유는 OSI의 단순성에서 기인한다.
7개의 OSI 계층은 각각 고유한 기능과 서비스를 담당하며, 이에 대한 학습을 통해 통신의 흐름을 이해할 수 있고, 문제를 해결하는 데 도움이 된다.
ex) 이메일 전송
A가 B에게 이메일을 전송한다.
ㄱ. 7계층의 SMTP를 통해 6계층으로 전송
ㄴ. 6계층에서 이메일 메시지가 압축되어 5계층으로 전송
ㄷ. 5계층에서 발신자와 서버 간의 통신을 설정하여 통신 세션 시작하고 4계층으로 전송
ㄹ. 4계층에서 데이터 분할 후 3계층으로 전송
ㅁ. 3계층에서 세그먼트를 데이터 패킷으로 나누고 2계층으로 전송
ㅂ. 2계층에서 데이터 패킷이 프레임으로 분할되고 1계층으로 전송
ㅅ. 1계층에서 데이터는 비트 스트림으로 바뀌고 케이블 등을 통해 B의 1계층으로 전송
ㅇ. B의 1계층에서 7계층까지 위의 과정이 역순으로 진행
위의 과정에서 우리는 데이터가 송신자의 7계층에서 1계층으로, 수신자의 1계층에서 7계층으로 간다는 것을 알 수 있다.
이런 데이터의 흐름을 이해한다면, 통신 중 문제가 생겼을 때 어느 계층에서 문제가 생겼는지 빠르게 파악할 수 있다.
2. OSI의 7계층 단계
7계층 | Application Layer 애플리케이션 계층 |
6계층 | Presentation Layer 프레젠테이션 계층 |
5계층 | Session Layer 세션 계층 |
4계층 | Transport Layer 트랜스포트 계층 |
3계층 | Network Layer 네트워크 계층 |
2계층 | DataLink Layer 데이터링크 계층 |
1계층 | Physical Layer 피지컬 계층 |
(정보처리기사 공부 시절, 7계층을 단순 암기할 때 앞의 영문만 따서 APS-TND-P, '아파서 티내다, 피로'..로 기억한 적이 있다...)
2.1 애플리케이션 계층(=응용 계층)
애플리케이션 계층은 OSI 모델의 최상위 계층으로, 사용자 상호작용을 위한 프로토콜을 정의하여,
네트워크의 애플리케이션과 이를 사용하는 최종 사용자 간의 통신을 설정한다.
쉽게 말해, 이 계층은 데이터를 전송할 수 있는 프로토콜을 제공하는 것이 핵심인 것이다.
이메일, 원격 파일 전송 등의 다양한 Application을 지원하기에 Application 계층이라 여기면
된다.
2.2 프레젠테이션 계층(=표현 계층)
프레젠테이션은 첫째로, 애플리케이션 데이터를 네트워크 형식으로 '표현'한다.
따라서 syntax(구문) 계층이나 translation(번역)계층이라 불리기도 한다.
둘째로, 데이터를 전송하기 전에 암호화/복호화를 진행하여 데이터의 전송의 안전성을 향상한다.
셋째로, 데이터 전체의 크기를 줄이기 위해 7계층에서 수신한 데이터를 압축한다.
2.3 세션 계층
세션 계층은 통신 개체 간의 통신 세션을 설정한다. 통신이 진행되는 동안 세션을 열고,
통신이 끝나면 세션을 닫는다.
또한, 통신 중 체크포인트를 설정할 수 있는데, 통신이 도중에 중단되면, 마지막 체크포인트를
기점으로 통신을 재개할 수 있다.
세션 계층에서는 여러 통신 방식을 제공하는데, Simplex(단방향, ex 라디오),
Half_Duplex(반이중, ex 핸드토키), Full Duplex(전이중, ex 통화) 등이 있다.
2.4 트랜스포트 계층(=전송 계층)
상위 계층에서 받은 데이터를 세그먼트 단위로 분해한다.
그외에 전송 계층에서 수행하는 핵심적인 기능 2가지가 있는데,
첫째로, 흐름 제어(Flow Control)가 있다. 흐름 제어는 데이터 전속 속도 조절을 의미한다.
만약 A와는 통신 장치는 100의 속도로 데이터를 송수신할 수 있고,
B라는 통신 장치는 60이라는 속도로 데이터를 송수신할 수 있을 때,
100의 속도로 데이터를 보낸다면 문제가 발생할 것이다.
따라서 데이터 전송 시에는 네트워크 연결을 고려하여 속도를 제어할 필요가 있다.
둘째로, 오류 제어(Error Control)가 있다.
오류 제어는 데이터의 완전성을 보장하기 위한 오류 검사 기능을 말한다.
불완전한 데이터의 경우, 이 계층은 시스템에 데이터를 다시 보낼 것을 요청한다.
2.5 네트워크 계층
상위 계층에서 세그먼트 단위의 계층을 받은 것을 패킷 단위로 분해한다.
또한, 라우팅 기능을 처리한다. 효율적인 데이터 전송을 위한 최적의 경로를 선택하는 것이다.
여기서 최적의 경로란, 목적지까지 가장 안전하고, 짧은 거리로 보내는 것이다.
그밖에 흐름제어, 오류제어, 혼잡제어를 실시하는데, 혼잡 제어(Congestion Control)의 경우,
데이터의 양이 너무 많을 경우에 데이터의 양이 네트워크나 라우터의 처리 성능을 뛰어넘는
경우를 위한 제어 기능이다. 혼잡 상황이 지속되면 시스템이 다운되고, 데이터의 전송이 불가해질 것이다.
2.6 데이터링크 계층
상위 계층에서 패킷 단위로 받은 데이터를 프레임 단위로 분해한다.
데이터링크 계층은 직접 연결되어 있는 네트워크나, 동일한 네트워크 아키텍처를 통해 동작하는
두 노드 사이에서 데이터를 전송한다.
2계층은 MAC(Media Access Control)과 LLC(Logical Link Control)이라는 2개의 서브 계층으로 구분된다.
MAC 계층은 케이블과 같은 네트워크 연결 매체를 통해 전송되는 데이터 프레임을 캡슐화한다.
이런 데이터 전송에 실패하게 되거나 손상된 데이터가 전송된다면, 그때 LLC에서 패킷의 재전송을 돕는다.
2.7 피지컬 계층(=물리 계층)
상위 계층에서 프레임 단위로 받은 데이터를 비트로 전환한다. 1과 0의 숫자로 데이터를 전송하는 것이다.
이때에 전기적, 기계적 인터페이스를 이용하여 통신 케이블 등으로 데이터를 전송하게 된다.
이 계층에서는 오로지 데이터의 전송 그자체에만 집중이 되어있다.
위에서 줄곧 언급되었던 Control의 기능을 이곳에서는 배제하는 셈이다.
3. 데이터 전송 방식
3.1 직렬 전송과 병렬 전송
구분 | 직렬 전송 (Serial transmission) |
병렬 전송 (Parallel transmission) |
정의 | 한 문자의 각 비트 열을 하나의 전송 선로를 통해 순차적으로 전송 | 한 문자를 이루는 각 비트가 각각의 전송로를 통해 한꺼번에 전송 |
특징 | 시프트 레지스터를 이용하여 병렬을 직렬화한 후 송신한다. 동기 전송 방식의 요구이다. |
송수신 문자 간격을 식별하는 스트로브 신호와 BUSY 신호로 다음 문자의 송신 시기를 결정한다. |
장점 | 전송 에러가 적고, 장거리에 적합하다. 통신 회선 설치 비용이 저렴하다. |
단위 시간에 다량의 데이터를 빠른 속도로 전송할 수 있다. |
단점 | 전속 속도가 느리다. | 전송 길이가 길어지면 에러 발생 가능성이 높다. 통신 회선 설치 비용이 크다. |
3.2 비동기 방식과 동기 방식
구분 | 비동기 방식 (Asynchronous method) |
동기 방식 (Synchronous method) |
정의 | 한 번에 한 문자씩 전송하는 방식 (한 문자를 전송할 때마다 동기화된다.) |
전송할 데이터를 여러 블록으로 나누어 블록 단위로 전송하는 방식 |
전송 단위 | 문자 단위의 비트 블록 | 프레임(문자 중심, 비트 중심) |
에러 검출 | 패리티 비트 | CRC |
오버헤드 | 문자당 고정된 크기 | 프레임당 고정된 크기 |
전송 속도 | 저속(2,000bps 이하) | 고속(2,000bps 이상) |
전송 효율 | 낮음(휴기 간격 발생) | 높음(휴지 간격 없고, 채널 할당 시간 공백 없음) |
장점 | 동기화가 단순하고 비용 측면에서 유리하다. | 원거리 전송에 적합하다. |
단점 | 문자당 2~3비트의 오버헤드가 발생할 수 있다. 프레임 에러가 발생할 가능성이 있다. |
에러 발생 확률이 높다. 별도의 하드웨어 장치가 필요하므로 많은 비용이 요구된다. |
'보안 > 개념' 카테고리의 다른 글
SMTP 프로토콜 총정리 (0) | 2023.12.04 |
---|---|
HTTP 프로토콜 총정리 (3) | 2023.12.02 |
TCP/IP 4계층 총정리 (0) | 2023.12.01 |
네트워크 토폴로지 총정리 (0) | 2023.11.30 |
네트워크 총정리(PAN, LAN, Duplex, 회로교환, 패킷교환 등) (2) | 2023.11.29 |