OSI 7계층이란?
- OSI 7계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것
OSI 7계층을 나눈 이유
- 통신이 일어나는 과정을 단계적으로 파악할 수 있기 때문
- 흐름을 한눈에 알아보기 쉬우며, 사람들이 이해하기 쉽다.
- 7단계 중 특정한 곳에 이상이 생길 시 다른 단계를 건들지 않고
이상이 생긴 단계만 고칠 수 있기 때문이다.
1계층 ⇒ 물리계층(Physical Layer)
- 주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송
- 통신 단위는 비트이며 이것은 1과 0으로 나타내지는, 전기적으로 On, Off 상태
- 데이터를 전달만 할 뿐 전송(또는 받으려는)하려는
데이터가 무엇인지 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않는다.
- 단지 전기적인 신호로 변환해서 주고받는 기능만 할 뿐
- 대표적인 장비로는 통신 케이블, 리피터, 허브 등이 있다.
- ⇒ 케이블, 리피터, 허브를 통해 데이터 전송
2계층 ⇒ 데이터 링크계층(DataLink Layer)
- 물리계층을 통해 송수신 되는 정보의 오류와 흐름을 관리하여
안전한 정보의 전달을 수행할 수 있도록 돕는 역할을 한다.
- 통신에서의 오류도 찾고 재전송도 하는 기능을 가지고 있는 것
- 전송 단위를 프레임이라고 한다.
- 대표적인 장비로는 브리지, 스위치 등이 있다. (여기서 MAC주소를 사용)
- ⇒ 브릿지나 스위치를 통해 MAC주소를 가지고 물리계층에서 받은 정보를 전달
⇒ 포인트 투 포인트(Point to Point)간 신뢰성 전송을 보장하기 위한 계
3계층 ⇒ 네트워크 계층(Network Layer)
- 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)이다.
- 여기에 사용되는 프로토콜의 종류도 다양하고, 라우팅하는 기술도 다양한다.
- 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 것이 이 계층의 역할
- 대표적인 장비는 라우터이며, 2계층의 장비 중 스위치라는 장비에 라우팅 기능을 장착한 Layer 3 스위치도 있다. (여기서 IP주소를 사용)
- 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 하는 계층
- 라우팅, 흐름 제어, 세그멘테이션(segmentation/desegmentation)
오류 제어, 인터네트워킹(Internetworking) 등을 수행
- 논리적인 주소 구조(IP), 곧 네트워크 관리자가 직접 주소를 할당하는 구조를 가지며, 계층적(hierarchical)
⇒ 주소 부여(IP), 경로 설정(Route)
4계층 ⇒ 전송 계층(Transport Layer)
- 통신을 활성화하기 위한 계층, 보통 TCP 프로토콜을 이용하며
포트를 열어서 응용프로그램들이 전송을 할 수 있게 한다.
- 종단 간 신뢰성 있고 정확한 데이터 전송을 담당
- 송신자와 수신자 간의 신뢰성있고 효율적인 데이터를 전송하기 위하여 오류검출 및 복구, 흐름제어와 중복검사 등을 수행
- 데이터 전송을 위해서 Port 번호를 사용함.(대표적인 프로토콜로 TCP와 UDP가 있음)
- 전송 계층에서 데이터 단위는 세그먼트(Segment)
세션 계층(Session Layer)
- 데이터가 통신하기 위한 논리적인 연결을 말한다. (통신을 위한 대문)
- 세션 설정, 유지, 종료, 전송 중단 시 복구 등의 기능이 있다.
- 통신 장치 간 상호작용 및 동기화를 제공
- 연결 세션에서 데이터 교환과 에러 발생 시의 복구를 관리
- 동시 송수신 방식, 반이중 방식, 전이중 방식의 통신과 함께
체크 포인팅과 유휴, 종료, 다시 시작 과정 등을 수행
⇒ 패킷 생성(Assembly/Sequencing/Deassembly/Error detection/Request repeat/Flow control) 및 전송
표현 계층(Presentation Layer)
- 데이터를 어떻게 표현할지 정하는 역할을 하는 계층
- 데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화 한다.
- 표현 계층은 세가지의 기능을 갖고 있습니다.
- 송신자에서 온 데이터를 해석하기 위한 응용계층 데이터 부호화, 변화
- 수신자에서 데이터의 압축을 풀수 있는 방식으로 된 데이터 압축
- 데이터의 암호화와 복호화(MIME 인코딩이나 암호화 등의 동작이 표현계층에서 이루어짐. EBCDIC로 인코딩된 파일을 ASCII 로 인코딩된 파일로 바꿔주는 것이 한가지 예임)
⇒ 사용자의 명령어를 완성 및 결과 표현. (포장/압축/암호화)
응용 계층(Application Layer)
- 최종 목적지로서 HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있다.
- 사용자와 가장 밀접한 계층으로 인터페이스 역할
- 응용 프로세스 간의 정보 교환을 담당 (직접 관계하여 응용 서비스를 수행)
- ex) 전자메일, 인터넷, 동영상 플레이어 등
⇒ 네트워크 소프트웨어 UI 부분, 사용자의 입출력(I/O) 부분