OSI 7 Layer
컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것입니다.
L1 - Physical Layer
이더넷 케이블, 네트워크 카드 같은 하드웨어 장치들을 의미합니다
이 계층에서의 통신은 비트의 흐름으로 되어 있습니다.
전압의 크기차이로 (GROUND를 기준으로 전압의 크기를 나눔 기준보다 높으면 1 낮으면 0 )
비트를 구분합니다.
이 비트를 이해하기 위한 장치를 네트워크 카드라고 합니다.
네트워크 카드는 케이블(이더넷 케이블)에서 주고받는 데이터를 처리하는 데 이 데이터의 기본 단위를 프레임이라고 합니다.
네트워크 프레임
데이터 통신에서 전송되는 기 단위로, 네트워크에서 데이터를 패킷 단위로 분할하여 전송하는 과정에서 사용됩니다. 프레임은 일련의 비트로 구성되며, 헤더, 페이로드(데이터)(, 트레일러)로 구성됩니다.
송신자는 데이터를 프레임으로 분할하여 네트워크를 통해 전송하고, 수신자는 프레임을 재조립하여 원래 데이터로 복구합니다.
L2 - Data Link Layer
하드웨어의 특징들에 따라 달라지는 구조를 가지는 계층을 말합니다.
이 계층은 물리적인 연결 위에 구축되며, 데이터를 프레임이라는 작은 블록으로 분할하고 전송합니다.
-
프레임 동기화 : 송신자와 수신자 사이에서 프레임의 시작과 끝을 동기화하여 송신자가 전송하는 데이터를 수신자가 올바르게 인식하고 해석할 수 있도록 보장하는 중요한 단계입니다.
- 동기화 방법으로는 bit string synchronization(시작을 알리기 위한 고유한 비트 시퀀스 전송)와 자리 동기화(특정한 비트 위치를 기준으로 프레임의 시작을 식별하는 방법) 이 있습니다.
-
오류 감지 : 프레임 전송 중 발생한 오류를 검출합니다. (CRC)
-
흐름 제어 : 송/수신자간의 데이터 흐름을 조절하여 네트워크 혼잡을 방지하고 데이터의 손실을 최소화합니다.
- Stop-and-Wait : 데이터 전송 후 수신 확인 신호(ACK)를 기다림으로써 송신자는 다음 데이터를 전송하기 전에 수신 확인을 받아야 합니다.
- 슬라이딩 윈도우 : 수신자는 송신자로부터 받을 수 있는 데이터의 양을 미리 알려주고, 송신자는 해당 윈도우 내에서만 데이터를 전송할 수 있습니다.
-
링크 관리 : 물리적인 연결이 설정되고 링크에 필요한 자원을 할당합니다.
L3 - Network Layer
비교적 하드웨어에 독립적인 layer 입니다.
네트워크 간의 데이터 전송을 관리하고 경로 선택과 패킷 전달 등의 역할을 수행합니다.
- 패킷 전달 : 송신자로부터 수신자까지 전달하는 역할을 합니다. 경로 선택은 라우팅 알고리즘에 의해 이루어집니다.
- 라우팅 : 송신자가 수신자에게 패킷을 전달하기 위해 사용되는 경로 선택 프로세스입니다. 라우팅 테이블을 사용하여 네트워크 상의 다양한 목적지에 대한 경로 정보를 저장하고 이를 기반으로 패킷을 전달합니다
- 흐름 제어
- 패킷 분할 및 조립
- 주소할당 : 각 호스트 및 라우터에 고유한 주소를 할당하는 역할을 합니다. IP주소는 L3계층에서 사용됩니다.
L4 - Transport Layer
데이터를 보내는 방식을 결정하는 layer입니다. 우리가 일반적으로 많이 접하게되는 TCP/UDP에 대한 방식이 여기에서 결정됩니다.
L4가 담당하는 기능들은 다음과 같습니다.
- 연결 설정과 해제
- 데이터 분할 및 조립
- 흐름 제어
- 오류 검출 및 복구
- 다중화 및 역다중화
이와 관련한 내용은 여기에서 확인 바랍니다.
L5 - Session Layer
- 세션 관리: L5는 응용 프로그램 간의 세션을 설정, 유지 및 종료하는 기능을 제공합니다. 세션은 통신이 시작되고 종료되는 동안의 상호 작용을 나타내며, 동기화, 대화 제어, 체크포인트 등의 기능을 포함합니다.
L6 - Presentation Layer
- 데이터 형식 변환: L6는 데이터의 형식 변환과 암호화, 압축 등의 데이터 변환 기능을 제공합니다. 이 계층은 응용 프로그램이 서로 다른 데이터 형식을 사용하더라도 상호 운영이 가능하도록 데이터를 변환하고, 데이터의 표현 방식에 대한 협상을 수행합니다.
L7 - Application Layer
- 응용 프로그램 서비스: L7은 최종 사용자에게 제공되는 응용 프로그램 서비스를 담당합니다. 이 계층은 네트워크 상에서 동작하는 다양한 응용 프로그램들을 지원하며, 이메일, 웹 브라우저, 파일 전송, 동영상 스트리밍 등과 같은 서비스를 제공합니다.