Network/Internet

OSI 7계층

whale in milktea 2023. 3. 9. 22:22

참고문헌: 

https://ko.wikipedia.org/wiki/OSI_%EB%AA%A8%ED%98%95

https://www.ibm.com/docs/ko/aix/7.1?topic=networks-

 

OSI(Open Systems Interconnection) 모형과 OSI 7계층

1970년대 말, ISO와 CCITT 2개이 국제 표준화 기구는 발전해가는 네트워크 모델의 안정성과 효율성을 확보하기 위해 네트워킹 모델을 정의하는 문서를 제작했다. 1970년대 이전에는 소수의 컴퓨터 간의 네트워크 통신이 주된 형태였기 때문에 대규모의 네트워크 형태가 되었을 때 여러 문제가 발생했다.

 

1. 호환성 : 통신규격과 프로토콜이 각 컴퓨터마다 달랐다.

2. 확장성 : 컴퓨터와 단말기 간의 점대점 연결에 초점이 맞춰졌기에, 다양한 형태의 네트워크를 호환하지 못했다.

3. 병목현상 : 초기 네트워크는 중앙집중적으로 관리되었기 때문에 데이터의 병목현상과 의존성이 점차 심화되었다.

4. 보안 : 계층없이 통합적으로 네트워크 통신이 이뤄졌기 때문에 데이터의 오류, 유실, 해킹의 문제가 발생했다.

 

 

출처 : https://www.ibm.com/docs/ko/aix/7.1?topic=networks-

 

OSI 7계층의 목적

OSI 7계층은 프로토콜을 기능별로 나누고, 하위 계층이 상위 계층에 영향을 주지 않으면서 기능을 제공하기 위한 단순화 및 책임의 분화를 목적으로 한다. 일반적으로 하위 계층은 하드웨어로, 상위 계층은 소프트웨어로 구현된다.

 

 

1. 물리 계층 (Physical Layer) : 네트워크의 물리적인 연결과 전기 신호 변환 등과 관련된 기능을 담당하며, 비트를 전송하기 위해 물리적인 매체와 통신 프로토콜을 사용한다.

ex) 프로토콜 : Ethernet, Wi-Fi / 기기 : 네트워크 케이블

 

2. 데이터 링크 계층 (Data Link Layer) : 오류 검출 및 수정, 흐름 제어, 매체 액세스 제어 등 데이터 전송의 신뢰성을 보장한다. 이 계층은 프레임을 전송하여 물리 계층에서 발생할 수 있는 오류를 검출하고, 필요한 경우 복구하는 기능을 맡는다.

ex) 프로토콜 : HDLC(High-Level Data Link Control, 기기 : 스위치

 

3. 네트워크 계층 (Network Layer) : 데이터 패킷의 라우팅, 패킷 전달 및 경로 선택을 담당한다. 이 계층은 주소 지정, 패킷 분할 및 조립, 라우팅 테이블 관리 등을 수행하여 패킷을 목적지까지 전달하게 된다.

ex) 프로토콜: IP (Internet Protocol), 기기: 라우터

 

4. 전송 계층 (Transport Layer) : 호스트 간의 데이터 전송 서비스를 제공한다. 이 계층은 데이터의 신뢰성과 효율성을 보장하기 위해 오류 복구, 흐름 제어, 혼잡 제어 등을 처리하며, 대표적인 프로토콜로는 TCP (Transmission Control Protocol)가 있다

ex) 프로토콜: TCP (Transmission Control Protocol), UDP (User Datagram Protocol)

 

5. 세션 계층 (Session Layer) : 통신 세션의 설정, 유지 및 종료를 관리한다. 이 계층은 데이터 전송을 위한 동기화, 체크포인팅, 로그인 등의 기능을 제공한다.

ex) 프로토콜: SSL/TLS (Secure Sockets Layer/Transport Layer Security)

 

6. 표현 계층 (Presentation Layer) : 데이터의 표현 형식을 변환하고, 암호화, 압축, 인코딩 등을 처리한다. 이 계층은 응용 계층으로부터 받은 데이터를 표준 형식으로 변환하거나, 받은 데이터를 응용 계층으로 전달하기 전에 해독하고 복호화한다.

ex) 프로토콜: JPEG, MPEG

 

7. 응용 계층 (Application Layer) : 최종 사용자에게 서비스를 제공하는 계층으로, 웹 브라우저, 이메일 클라이언트, 파일 전송 등과 같은 응용 프로그램과 상호 작용하는 계층이다. 이 계층은 사용자 인터페이스를 제공하고, 네트워크 서비스에 접근하기 위한 인터페이스를 제공하며, HTTP 프로토콜과 같은 응용 프로토콜이 사용될 수 있다.

ex) 프로토콜: HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol)