OSI(Open Systems Interconnection)
- 네트워크 통신을 7개의 계층으로 나누어 정의한 모델
- 네트워크 통신에서의 각 기능을 추상화하고 계층화하여 네트워크 기술을 설계, 관리, 이해하는 데 도움된다.
❔ 유래
- 국제 표준화 기구(ISO)에서 개발한 네트워크 통신 모델
- 다양한 제조업체와 통신 기술자들이 함께 표준을 개발하는 데 사용됐다.
- 다양한 네트워크 기술과 프로토콜이 서로 호환되도록 설계됐다.
❔ 원리
- 상위 계층에서 하위 계층으로 데이터를 전달하고, 하위 계층에서 상위 계층으로 오류 및 상태 정보를 전파한다.
- 각 계층은 자신의 역할에만 집중하여 서로 간섭 없이 통신을 수행한다.

출처 : http://www.a24s.com/data/jeongbotongsinhakseub/jbts/contents/ch2-4.htm
OSI 모델의 7개의 계층
물리 계층 (Physical Layer)
- 물리 계층은 데이터를 전기 신호, 광 신호 또는 무선 신호 등의 물리적인 형태로 변환하여 전송하는 역할
- 데이터를 비트 단위로 나누어 전송하고, 물리적인 매체를 통해 이진 데이터의 전송을 관리한다.
- ex. Ethernet 케이블, Wi-Fi 신호, 광섬유 케이블 등의 물리적인 통신 매체가 사용된다.
데이터 링크 계층 (Data Link Layer)
- 데이터 링크 계층은 물리 계층에서 전송된 데이터를 프레임(frame)으로 나누어 관리하고, 오류 검출과 재전송을 수행한다.
- 각 프레임에는 송신자와 수신자의 주소인 MAC(Media Access Control) 주소가 포함되어 있다.
- ex. 이더넷 프로토콜은 데이터 링크 계층에서 작동하며, 프레임 단위로 데이터를 전송한다.
네트워크 계층 (Network Layer)
- 네트워크 계층은 데이터 패킷(packet)의 경로 선택과 라우팅을 담당합니다. 이를 통해 패킷이 목적지로 전송될 수 있도록 한다.
- IP(Internet Protocol) 주소를 사용하여 호스트 간의 통신을 관리하고, 패킷을 전송할 경로를 결정한다.
- ex. 인터넷 프로토콜(IP)은 네트워크 계층에서 작동하며, 패킷의 목적지를 결정하여 데이터를 전달한다.
전송 계층 (Transport Layer)
- 전송 계층은 데이터를 송수신하는 프로세스 간의 연결을 설정하고, 데이터의 전달과 오류 복구를 처리한다.
- TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol) 프로토콜이 여기에 속하며, 데이터의 전송을 담당한다.
- ex. 웹 브라우저와 웹 서버 간의 HTTP 통신은 전송 계층에서 TCP를 사용하여 데이터를 전송한다.
세션 계층 (Session Layer)
- 세션 계층은 데이터 교환을 관리하고 동기화하는 역할을 한다.
- 세션을 설정, 유지 및 종료하여 데이터 통신의 흐름을 관리한다.
- 프로세스 간의 대화를 설정하고 종료하는 것을 담당한다.
- ex. 웹 서버와 데이터베이스 서버 간의 연결을 설정하고 세션을 유지하여 데이터베이스에 쿼리를 전송하는 과정이 세션 계층에서 처리된다.
표현 계층 (Presentation Layer)
- 표현 계층은 데이터의 형식을 변환하고 압축, 암호화하는 등의 역할을 한다.
- 데이터를 응용 프로그램이 이해할 수 있는 형태로 변환한다.
- 데이터의 압축, 암호화, 문자 인코딩 등의 처리가 표현 계층에서 수행된다.
- ex. 이미지나 음성 데이터의 압축, 암호화된 데이터의 해독이 표현 계층에서 처리된다.
응용 계층 (Application Layer)
- 응용 계층은 최종 사용자가 네트워크 서비스에 접근할 수 있도록 한다.
- 이메일, 웹 브라우저, 파일 전송 등의 서비스를 제공한다.
- 사용자 인터페이스를 제공하고, 서비스 요청을 처리하여 네트워크 상의 응용 프로그램과 상호 작용한다.
- ex. 웹 브라우저를 통한 웹 페이지 열기, 이메일 클라이언트를 통한 이메일 송수신 등의 기능이 응용 계층에서 처리된다.
간단 요약
- OSI 모델의 예시로는 웹 브라우저를 통해 웹 페이지에 접속하는 과정을 들 수 있다.
- 사용자가 브라우저를 통해 URL을 입력하면, 응용 계층에서 HTTP 프로토콜을 사용하여 요청을 생성한다.
- 이 요청은 표현, 세션, 전송, 네트워크, 데이터 링크, 그리고 물리 계층을 거쳐 서버로 전송되고, 서버에서는 반대의 계층을 통해 응답을 전송한다.
- 이러한 과정에서 각 계층은 데이터를 캡슐화하고 필요한 처리를 수행하여 통신을 완료한다.
'CS' 카테고리의 다른 글
시간 복잡도 (0) | 2024.04.15 |
---|---|
캐시 메모리(Cache Memory) (0) | 2024.04.11 |
가비지 컬렉션(Garbage Collection) (0) | 2024.04.09 |
Call by Value vs. Call by Reference (0) | 2024.04.08 |
오버플로우(Overflow) (0) | 2024.04.05 |