OSI 7계층 모델
- 국제표준화기구 ISO에서 개발한 모델
- 각각의 계층별 프로토콜 데이터 단위를 맞추기 위해 상위 계층에서 하위 계층으로 내려갈수록 캡슐화, 하위계층에서 상위계층으로 올라갈수록 역캡슐화 진행
7계층을 나누는 이유
- 통신이 일어나는 과정을 단계별로 알 수 있다. (계층별 역할 분담)
- 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문이다.
1) 물리 (Physical)
- 리피터, 케이블, 허브 등
단지 데이터 전기적인 신호로 변환해서 주고받는 기능을 진행하는 공간
데이터 송수신 역할만 진행
디지털 비트를 전기/무선/광 신호로 변환
- PDU: bit
- 프로토콜: 모뎀, RS-232 등
2) 데이터 링크 (Data Link)
- 브릿지, 스위치 등
물리 계층으로 송수신되는 정보를 관리하여 안전하게 전달되도록 도와주는 역할
- 네트워크 계층에서 전달받은 정보에 프레임 헤더/트레일러를 추가해 기기간 논리적 전송로를 정하는 법 규정
- 물리 계층을 통해 전달 받은 정보의 정보 전송 오류 감지
Mac 주소를 통해 통신
프레임에 Mac 주소를 부여하고 에러검출, 재전송, 흐름제어를 진행
- PDU: Frame
- 프로토콜: MAC, LAN 등
3) 네트워크 (Network)
- 라우터, IP
데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능
라우터를 통해 이동할 경로 선택 => IP 주소 지정 => 해당 경로에 따라 패킷 전달
- 기기 간 연결을 위한 주소/경로 정하는 법 규정
- 최적 경로 설정, 패킷 정보 전송 등
라우팅, 흐름 제어, 오류 제어, 세그먼테이션 등을 수행
- 여러 개의 노드를 거칠 때마다 경로를 찾는 역할
- 전송 계층에서 전달받은 정보를 적당한 크기로 쪼개고 각각에 헤더 추가 => 패킷 생성
- 각각의 헤더는 논리주소 포함
- PDU: Packet
- 프로토콜: IP, ICMP 등
4) 전송(Transport)
-
노드 간 신뢰성 있고 정확한 정보 전송 담당
-
네트워크 계층의 패킷 전송 제어
- 패킷 재전송, 에러복구, 흐름제어 등
-
실질적인 정보 전송과 논리적 연결 사이 다리 역할
-
PDU: Segment
-
프로토콜: TCP, UDP
TCP와 UCP 프로토콜을 통해 통신 활성화
포트를 열어두고, 프로그램들이 전송할 수 있도록 제공
-
TCP: 신뢰성, 연결지향적
-
UDP: 비신뢰성, 비연결성, 실시간
5) 세션(Session)
- API, Socket
- 데이터가 통신하기 위한 논리적 연결
- TCP/IP 세션을 만들고 없애는 책임
포트번호
를 기반으로 통신 세션을 구성하고, 상호작용과 동기화 제공
- 연결 세션에서 에러 복구, 데이터 교환을 담당
- 프로토콜: SSH TLS 등
6) 표현(Presentation)
- JPEG, MPEG, PNG 등
- 송/수신측 간의 데이터 형식 정의
- 데이터 표현에 대한 독립성 제공, 암호화 역할
- 수신 데이터 변환/검색/암호화/압축 => 올바른 방식으로 변환
- 파일 인코딩, 명령어 포장/압축/암호화
7) 응용(Application)
- HTTP, SMTP, FTP, DNS 등
- 최종 목적지: 응용 프로세스와 직접 관계, 일반적인 응용 서비스 수행
- 사용자와 직접 상호작용: 사용자 인터페이스, 전자우편, 데이터베이스 관리 등의 서비스 제공
TCP/IP 4계층 모델과 비교
- OSI 모델은 장비개발과 통신 자체에 대한 표준을 정의, TCP/IP 프로토콜 사용
- OSI 모델은
표준
과 학습도구
로써 의의가 있다
- TCP/IP 모델은 실무적인 통신 기술을 구현하는데 의미를 가짐
공통점
- 계층별 역할
- 캡슐화, 프로토콜 사용
- 통신 역할
- 다중화, 역다중화
차이점
- OSI 모델 역할을 기반으로 각 계층을 구성하고, TCP/IP 모델 프로토콜의 집합을 기반으로 구성됨
- 전체적인 통신전반에 대한 표준화 방식이 OSI 모델, TCP/IP 모델은 데이터 전송에 특화됨
예상 Q. OSI 7 계층으로 나누는 이유는?
A. 통신 과정을 단계적으로 파악할 수 있고 트러블 슈팅을 용이하게 해주며 독립적인 계층으로 나누었을 경우 각 계층이 독립적으로 발전할 수 있습니다. 마치 자동차의 타이어를 교체하는 것처럼 다양한 유형의 프로토콜에 적용할 수 있습니다.
출처
2023-CS-Study github
Tech Interview