- OSI 7계층2021년 10월 27일
- 루루개발자
- 작성자
- 2021.10.27.:05
반응형안녕하세요. 이번에는 OSI 7계층에 대해 알아보려고 합니다.
▣ OSI 7계층이 뭐야?
OSI 7계층은 국제표준화기구(ISO, International Organization for Standardization)에서 개발한 모델로 네트워크 통신 과정을 7계층으로 나눠 설명한 것입니다.
▣ 왜 7계층으로 나눈거지?
계층을 나눔으로 인해 각 계층은 독립적인 역할을 할 수 있습니다. 네트워크 통신에 문제가 발생했을 경우 어떤 계층에서 문제가 발생했는지 파악할 수 있고 이상이 생긴 계층만 고칠 수 있습니다.
▣ 7계층 종류는?
OSI 7계층은 다음과 같이 7계층으로 나뉘어 집니다.
Layer 7. 응용 계층 (Application Layer)
최상위 계층으로 애플리케이션(프로그램)이 네트워크에 접근할 수 있게 해주거나 프로토콜을 쉽게 사용할 수 있게 해주는 단계입니다. 사용자의 눈에 보여지는 부분이며 Outlook 프로그램으로 메일을 전송하는 행위가 해당 될 수 있습니다.
Layer 6. 표현 계층 (Presentation Layer)
전송하는 데이터의 인코딩 및 디코딩이 이루어지는 단계입니다. 데이터가 TXT 인지, JPG 인지, MP4 인지 구분하는 등의 역할을 합니다. 대표적인 프로토콜은 JPEG, MPEG, AFP 등이 있습니다.
Layer 5. 세션 계층 (Session Layer)
네트워크 상에서 통신 장치 간의 연결을 관리하고 연결을 유지시켜 주는 단계입니다. 통신 장치 간 포트 연결이 유효한지 확인하고 데이터를 동기화합니다. 대표적인 프로토콜은 SSH, TLS 등이 있습니다.
Layer 4. 전송 계층 (Transport Layer)
종단 대 종단(End to end)간 데이터를 전송하고 오류가 발생하면 재전송 하는 단계입니다. 쪼개져 있는 데이터들을 원래대로 합쳐서 보내는 역할을 담당하며, 송신측에서 받은 데이터가 수신측까지 손실 없이 전송되었는지 여부도 확인합니다. 데이터를 전송할 때 헤더에 송/수신지 포트번호를 포함하여 전송합니다. 대표적인 장비로는 게이트웨이 등이 있습니다. 대표적인 프로토콜은 TCP(통신단위 : Segment), UDP(통신단위 : Datagram), ARP 등이 있습니다.
Layer 3. 네트워크 계층 (Network Layer)
데이터를 목적지까지 가장 빠르고 안전하게 전달하는 단계, 즉 라우팅 단계입니다. 주소(IP)를 정하고 경로(Route)를 선택하고 패킷을 전달하는 것이 가장 핵심인 계층입니다. 통신 단위는 패킷이며, 대표적인 장비로는 라우터, L3 스위치 등이 있습니다. 대표적인 프로토콜은 IP, ICMP, IGMP 등이 있습니다.
Layer 2. 데이터 링크 계층 (Data Link Layer)
물리 계층으로 보낸 데이터 또는 물리계층에서 온 데이터의 오류를 감지하며 오류 발생 시 재전송을 하는 단계입니다. 데이터 링크 계층에서는 MAC 주소를 가지고 통신을 합니다. 통신 단위는 프레임이며, 대표적인 장비로는 브리지, 스위치 등이 있습니다.
Layer 1. 물리 계층 (Physical Layer)
최하위 계층으로 전기적, 기계적, 기능적인 특성을 이용해 통신 케이블 등으로 데이터를 전송하는 단계입니다. 이 계층에서는 데이터를 단지 전달만 할 뿐 에러에 대해 신경쓰지 않습니다. 통신 단위는 비트이며, 대표적인 장비로는 허브, 리피터 등이 있습니다.
▣ OSI 7계층 통신 과정이 어떻게 될까?
출발지에서 데이터가 나갈 때는 7계층 부터 1계층 까지 거치게 되고, 이 때 각 계층을 거칠 때마다 해당 계층에 해당 하는 정보를 하위 계층에 전달해줍니다. 목적지로 데이터가 들어갈 때는 1계층 부터 7계층 까지 거치게 되고, 이 때 해당 계층에 해당하는 정보를 읽고 제거한 다음 상위 계층으로 전달해줍니다. 그림으로 표현하면 다음과 같이 표현 할 수 있을 것 같습니다.
잘못된 부분이 있다면 댓글로 남겨주세요!
출처
반응형'IT 기타' 카테고리의 다른 글
github 에서 서명된 커밋 (gpg) 사용하기 (0) 2022.08.01 OAuth 2.0 에 대하여 (0) 2021.11.27 프로세스(Process)와 스레드(Thread) (1) 2021.10.25 런타임(Runtime) 이란? (2) 2021.10.25 클라이언트와 서버간에 RSA 암호화/복호화를 이용한 통신 과정 (0) 2021.09.18 다음글이전글이전 글이 없습니다.댓글