OSI 7계층
2021. 7. 17. 10:06ㆍ네트워크
OSI 7계층
- OSI(Open System Interconnection) 7계층은 ISO에서 개발한 다양한 계층의 프로토콜을 모두 합한 프로토콜 스택이다.
- '프로토콜 스택' 혹은 '스택'은 이러한 계층들로 구성되는 프로토콜 시스템이 구현된 시스템을 가리킨다.
- 프로토콜 스택은 하드웨어나 소프트웨어 혹은 둘의 혼합으로 구현될 수 있으며, 일반적으로 하위계층은 하드웨어로, 상위계층은 소프트웨어로 구현될 수 있다.
- 각 계층은 하위 계층의 기능만을 이용하고, 상위 계층에게 기능을 제공한다.
목적
- 서로 다른 시스템 간의 상호 접속하기 위한 개념 규정
- OSI규격을 개발하기 위한 범위 지정
- 관련 규정을 적합성을 조절하기 위한 공통적 기반 제공
1. 물리 계층(Physical Layer)
- 네트워크의 기본 네트워크 하드웨어 전송 기술을 이룬다.
- 네트워크의 높은 수준의 기능의 논리 데이터 구조를 기초로 하는 필수 계층이다.
- 디지털 데이터를 전기적 신호로 변환해 입출력을 담당한다.
- 전송 단위: Bit
- 주요 장비: 허브, 리피터
- 프로토콜: RS-232C 등
2. 링크 계층(Data Link Layer)
- 물라계층의 그대로의 데이터를 신로할 수 있는 링크로 변환한다.
- 포인트 투 포인트(Point to Point) 간(인접한) 신뢰성있는 전송을 보장하기 위한 계층으로 CRC 기반의 오류 제어와 흐름 제어가 필요하다.
- 전송 과정에서 데이터 에러의 검출 및 회복, 흐름제어를 조절하여 링크의 효율성 향상
- 주소 값은 물리적으로 할당 받는데, 이는 네트워크 카드가 만들어질 때부터 맥 주소(MAC address)가 정해져 있다는 뜻이다.
- 데이터 링크 계층의 가장 잘 알려진 예는 이더넷이다.
- 데이터 전송 단위: Frame
- 주요 장비: 스위치(L2), 브릿지, 랜카드
- 프로토콜: HDLC, LAPB, PPP, LLC 등
3. 네트워크 계층(Network Layer)
- 송신측에서 수신측까지 packet을 안전하게 전달하기 위한 계층
- 시스템간 네트워크 연결을 관리하는 기능, 데이터 교환 기능
- 여러개의 노드를 거칠때마다 경로를 찾아주는 역할을 하는 계층으로 다양한 길이의 데이터를 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적, 절차적 수단을 제공한다.
- 네트워크 계층은 라우팅, 흐름 제어, 세그멘테이션(segmentation/desegmentation), 오류 제어, 인터네트워킹(Internetworking) 등을 수행한다.
- 논리적인 주소 구조(IP), 곧 네트워크 관리자가 직접 주소를 할당하는 구조를 가지며, 계층적(hierarchical)이다.
- 데이터 전송 단위: Datagram(Packet)이다.
- 주요 장비: 라우터, 스위치(L3)
- 프로토콜: IP, ARP, RARP, ICMP, IGMP 등
4. 전송 계층(Transport Layer)
- 양 끝단(End to end)의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해 주어, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해준다.
- 서로 다른 호스트에서 동작하는 애플리케이션 프로세스들 간의 논리적 통신을 제공한다.
- 시퀀스 넘버 기반의 오류 제어 방식을 사용한다.
- 전송 계층은 특정 연결의 유효성을 제어하고, 일부 프로토콜은 상태 개념이 있고(stateful), 연결 기반(connection oriented)이다.
- 데이터 전송 단위: Segment이다.
- 주요 장비: 게이트웨이
- 프로토콜: TCP. UDP
5. 세션 계층(Session Layer)
- 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다.
- 응용 간의 대화 제어 담당
- 동기점을 이용한 효율적 데이터 복구
- 동시 송수신 방식(duplex), 반이중 방식(half-duplex), 전이중 방식(Full Duplex)의 통신과 함께, 체크 포인팅과 유휴, 종료, 다시 시작 과정 등을 수행한다.
- 이 계층은 TCP/IP 세션을 만들고 없애는 책임을 진다.
6. 표현 계층(Presentation Layer)
- 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어 준다.
- 암호화, 코드 변환, 데이터 압축
- MIME 인코딩이나 암호화 등의 동작이 이 계층에서 이루어진다.
7. 응용 계층(Application Layer)
- 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다.
- 일반적인 응용 서비스는 관련된 응용 프로세스들 사이의 전환을 제공한다.
출처
https://liveyourit.tistory.com/186
https://github.com/WeareSoft/tech-interview/blob/master/contents/network.md#osi-7%EA%B3%84%EC%B8%B5
'네트워크' 카테고리의 다른 글
GET메서드 & POST메서드 (0) | 2021.09.21 |
---|---|
CORS(Cross Origin Resource Sharing) (0) | 2021.09.21 |
HTTP와 HTTPS의 동작과정 (0) | 2021.09.16 |
HTTP 요청/ 응답 Header (0) | 2021.09.15 |
TCP 와 UDP (0) | 2021.07.17 |