MyCloud
OSI 7계층 모델과 TCP/IP 프로토콜 본문
OSI Reference Model은 네트워크 통신 과정을 7개의 계층으로 구분한 산업 표준 참조 모델입니다.
자세히 알아보기 전에 먼저 계층 구조가 어떤 것인지, 적용하면 어떤 점이 좋은지를 알 필요가 있습니다.
계층 구조(Layered)는 네트워크 뿐만 아니라 운영체제 등 다양한 분야에서 적용되는데,
계층 구조를 사용하는 목적은 분할 정복(Divide and Conquer) 때문입니다.
어떠한 복잡한 문제를 해결하고자 할 때, 나누어 생각하면 쉽게 해결할 수 있는 것 입니다.
또한, 계층 구조의 특징은 위, 아래 층으로만 이동할 수 있다는 점입니다.
건너뛰어 한번에 맨위 또는 아래로 갈 수 없습니다.
OSI 7 Layered Model
초창기의 네트워크는 각 컴퓨터마다 시스템이 달랐기 떄문에
하드웨어와 소프트웨어의 논리적인 변경없이 통신할 수 있는 표준 모델이 나타나게 되었습니다.
OSI 참조 모델은 위의 그림과 같이 7개의 층으로 이루어져 있습니다.
1계층 : 물리계층 (Physical Layer)
물리계층은 OSI 모델의 최하위 계층에 속하며, 상위 계층에서 전송된 데이터를
물리 매체(허브, 라우터, 케이블 등)를 통해 다른 시스템에 전기적 신호를 전송하는 역할을 합니다.
즉, 기계어를 전기적 신호로 바꿔서 와이어에 실어주는 것 입니다.
2계층 : 링크계층 (Link Layer)
링크계층은 네트워크 기기들 사이의 데이터 전송을 하는 역할을 합니다.
시스템 간의 오류 없는 데이터 전송을 위해 패킷을 프레임으로 구성하여 물리계층으로 전송합니다.
3계층 : 네트워크계층 (Network Layer)
네트워크계층은 기기에서 데이터그램(Datagram)이 가는 경로를 설정해주는 역할을 합니다.
라우팅 알고리즘을 사용하여 최적의 경로를 선택하고 송신측으로부터 수신측으로 전송합니다.
이때, 전송되는 데이터는 패킷 단위로 분할하여 전송한 후 다시 합쳐집니다.
4계층 : 전송계층 (Transport Layer)
전송계층은 프로세스 사이의 데이터 이동을 책임지는 역할을 합니다.
데이터가 오류없이 도착하도록 해야하기 때문에
에러를 체크하고 데이터의 순서를 맞추는 작업이 진행됩니다.
대표적으로 TCP와 UDP 프로토콜이 여기에 해당합니다.
5계층 : 세션계층 (Session Layer)
세션계층은 프로그램 계층 간의 제어구조를 제공하기 위해 여러 작업을 수행합니다.
설정을 유지, 동기화, 포인트체크 등
6계층 : 표현계층 (Presentation Layer)
표현계층은 송신측과 수신측 사이에서 데이터의 형식(png, jpg, jpeg...)을 정해줍니다.
받은 데이터를 전달, 암호화, 압축의 과정을 통해 올바른 표준방식으로 변환합니다.
7계층 : 응용계층 (Application Layer)
응용계층은 사용자와 바로 연결되어 있으며 응용 SW를 도와주는 계층입니다.
사용자로부터 정보를 입력받아 하위 계층으로 전달하고 하위 계층에서 전송한 데이터를 사용자에게 전달합니다.
파일 전송, DB, 메일 전송 등 여러가지 응용 서비스를 네트워크에 연결해주는 역할을 합니다.
Internet Protocol Stack
하지만 실제 사용되는 인터넷 프로토콜은 OSI 참조 모델을 완전히 따르지 않습니다. (말그대로 참조 모델일 뿐)
인터넷 프로토콜 스택(Internet Protocol Stack)은 현재 대부분 TCP/IP를 따릅니다.
TCP/IP는 OSI 참조 모델과 달리 표현계층, 세션계층을 응용계층에 다 포함시키고 있습니다.
데이터는 위의 그림과 같이 단계 별로 헤더를 붙여 전송하며 이를 데이터 캡슐화라고 합니다.
(Data → Segment → Datagram → Frame)
각 계층별 프로토콜 정리
OSI 모델과 TCP/IP 계층을 비교하면서 각 계층별 대표적인 프로토콜을 표로 정리했습니다.
'Knowledge > Network' 카테고리의 다른 글
TCP와 UDP 비교 정리 (1) | 2016.06.09 |
---|---|
네트워크 전송기기 정리 (0) | 2016.04.19 |
네트워크 전달방식 비교 (Packet switching, Circuit switching) (1) | 2016.04.17 |
프로토콜(Protocol)이란? (0) | 2016.04.01 |
네트워크에 대한 이해 (0) | 2016.03.24 |