반응형
목차
- OSI 모델
- 데이터 플로/하위 계층(Data Flow/Lower Layer)
- 1~4계층
- 애플리케이션/상위 계층(Application/Upper Layer)
- 5~7계층
- 데이터 플로/하위 계층(Data Flow/Lower Layer)
- 개발자와 네트워크 엔지니어가 계층을 바라보는 방식
OSI 모델
Open Systems Interconnection(OSI) 모델은 통신 또는 텔레커뮤니케이션 시스템의 기능을 레이어라고 하는 7가지 범주로 표준화하는 개념적 프레임워크입니다. 각 레이어에는 고유한 책임이 있으며 바로 위와 아래의 레이어와 통신합니다.
데이터 플로/하위 계층(Data Flow/Lower Layer)
- Physical Layer(1계층)
물리적 계층은 OSI(개방형 시스템 상호 연결) 모델에서 첫 번째이자 가장 낮은 계층입니다. 전송 매체의 물리적 특성을 다루며 장치 및 미디어의 하드웨어 및 전기적 사양에 기여합니다. 다음은 물리 계층의 특징은 다음과 같습니다.
- 하드웨어 사양
이 계층은 플러그 및 소켓의 설계, 전압 레벨, 케이블 사양과 같은 하드웨어 기능에 대한 세부 정보를 제공합니다. - 데이터 전송
물리적 계층은 물리적 매체를 통해 소스 장치의 물리적 계층에서 대상 장치의 물리적 계층으로 비트(0 및 1) 형식의 데이터를 전송합니다. 이 전송은 네트워크 유형에 따라 전기 신호, 광 신호 또는 전파의 형태로 이루어질 수 있습니다. - 물리적 특성
물리적 계층은 전송 매체의 길이, 물리적 구조 및 기타 다양한 속성과 같은 전송 매체의 특성을 정의합니다. - 장치와 전송 매체 간의 인터페이스
이 계층은 장치와 전송 매체 간의 인터페이스를 제공합니다. 여기에는 컴퓨터의 네트워크 카드 등을 통해 장치가 매체에 연결하는 방법이 포함됩니다. - 전송 모드
물리적 계층은 또한 단면, 반이중 또는 전이중과 같은 전송 모드를 정의합니다. - 신호 생성
물리적 계층은 디지털 데이터를 네트워크를 통해 전송하기에 적합한 신호로 변환하는 역할을 담당합니다.
물리적 계층은 물리적 매체를 통해 원시 비트 스트림을 전송하는 수단을 제공하고 관리하지만, 오류 수정이나 패킷 시퀀싱은 처리하지 않는다는 점에 유의할 필요가 있습니다. 이러한 책임은 OSI 모델의 상위 계층에서 처리합니다.
- 하드웨어 사양
- Data Link Layer(2계층)
데이터 링크 계층은 OSI(개방형 시스템 상호 연결) 모델의 두 번째 계층입니다. 직접 연결된 두 노드 간에 안정적인 링크를 제공하며 물리적 주소 지정 및 물리적 매체를 통해 데이터를 송수신하는 방법의 관리를 담당합니다. 주요 특징은 다음과 같습니다.
- 프레임 생성
데이터 링크 계층은 네트워크 계층에서 패킷을 가져와 동기화, 대상 주소 및 오류 감지를 위한 헤더 및 트레일러 정보를 포함하는 데이터 단위인 프레임으로 캡슐화합니다. - 물리적 주소 지정(MAC 주소 지정)
프레임을 네트워크의 대상에게 전송할 때 데이터 링크 계층은 프레임의 헤더에 하드웨어 대상 주소(MAC 주소)를 추가합니다. 또한 프레임 헤더에 자체 하드웨어 주소를 추가하여 수신자가 프레임이 어디에서 왔는지 알 수 있도록 합니다. - 오류 감지 및 수정
데이터 링크 계층은 물리적 계층에서 발생할 수 있는 오류를 감지하고 수정할 수 있습니다. 데이터 링크 계층은 순환 중복 검사(CRC)와 같은 기술을 사용하여 오류를 감지합니다. 데이터 링크 계층의 일부 프로토콜은 오류 정정 기능도 지원합니다. - 흐름 제어
데이터 링크 계층은 느린 수신자가 빠른 발신자에게 압도당하지 않도록 데이터 흐름을 제어하는 데 도움을 줍니다. - 액세스 제어
두 개 이상의 장치가 동일한 링크에 연결되어 있는 경우, 특정 시점에 어떤 장치가 링크를 제어할 수 있는지 결정하기 위해 데이터 링크 프로토콜이 필요합니다. - 프로토콜
데이터 링크 계층에서 작동하는 프로토콜에는 이더넷, Wi-Fi, PPP(지점 간 프로토콜) 등 여러 가지가 있습니다.
실제로 더 일반적으로 사용되는 TCP/IP 모델에서 데이터 링크 계층의 책임은 일반적으로 링크 계층(네트워크 인터페이스 계층이라고도 함)에서 처리한다는 점을 기억하세요.
- 프레임 생성
- Network Layer(3계층)
네트워크 계층은 OSI(개방형 시스템 상호 연결) 모델의 세 번째 계층입니다. 주로 다른 네트워크를 통한 라우팅을 포함한 패킷 포워딩을 담당합니다. 다음은 네트워크 계층의 주요 특징입니다.
- 논리적 주소 지정(IP 주소 지정)
네트워크의 모든 디바이스에는 디바이스의 네트워크 인터페이스에 할당된 논리적 주소(일반적으로 IP 주소)가 있습니다. 이러한 주소는 네트워크 계층에서 각 패킷의 출처와 대상을 식별하는 데 사용됩니다. - 라우팅
네트워크 계층은 데이터가 발신자에서 수신자로 이동하는 경로를 결정합니다. 네트워크 상태, 서비스 우선순위 및 기타 요인에 따라 다른 경로를 선택할 수 있습니다. 라우터는 네트워크 계층에서 작동합니다. - 패킷화
네트워크 계층은 전송 계층에서 데이터 세그먼트를 가져와 헤더를 추가하여 패킷을 생성한 다음 이 패킷을 데이터 링크 계층으로 보냅니다. 헤더에는 소스 및 대상 IP 주소와 기타 유용한 정보가 포함됩니다. - 디캡슐화
패킷이 목적지에 도착하면 네트워크 계층은 헤더 정보를 제거하고 목적지 IP 주소를 확인한 후 나머지 캡슐화된 데이터를 전송 계층으로 전달합니다. - 조각화 및 재조립
패킷이 너무 커서 한 조각으로 전송할 수 없는 경우, 네트워크 계층은 패킷을 조각이라고 하는 작은 조각으로 나눌 수 있습니다. 이러한 조각은 목적지에 도착하면 재조립됩니다. - 오류 처리 및 진단
네트워크 계층은 특정 유형의 오류를 처리하고 추적 경로와 같은 진단 기능을 수행할 수 있습니다. - 프로토콜
네트워크 계층에서 작동하는 프로토콜의 몇 가지 예로는 IP(인터넷 프로토콜), ICMP(인터넷 제어 메시지 프로토콜), IGMP(인터넷 그룹 관리 프로토콜)가 있습니다.
실제로 더 일반적으로 사용되는 TCP/IP 모델에서는 네트워크 계층의 책임이 일반적으로 인터넷 계층에서 처리된다는 점을 기억하세요.
- 논리적 주소 지정(IP 주소 지정)
- Transport Layer(4계층)
전송 계층은 OSI(개방형 시스템 상호 연결) 모델의 네 번째 계층입니다. 네트워크를 통한 엔드투엔드 통신을 담당합니다. 여기에는 데이터가 오류 없이 올바른 순서로 전달되도록 하는 것이 포함됩니다. 다음은 전송 계층의 주요 특징입니다.
- 세분화 및 재조립
전송 계층은 세션 계층에서 데이터를 가져와서 세그먼트라고 하는 작은 단위로 나눕니다. 각 세그먼트에는 시퀀스 번호가 할당되므로 목적지에 도착하면 올바르게 재조립할 수 있습니다. - 연결 제어
전송 계층은 연결 지향형 또는 무연결형일 수 있습니다. 연결 지향 전송은 네트워크 연결을 설정하고 데이터 전송을 관리한 다음 연결을 종료합니다. TCP(전송 제어 프로토콜)는 연결 지향 프로토콜의 한 예입니다. UDP(사용자 데이터그램 프로토콜)와 같은 비연결 전송은 연결을 설정하지 않으며 전송을 보장하지 않습니다. 단지 데이터를 전송할 뿐입니다. - 흐름 제어
전송 계층은 빠른 발신자가 느린 수신자를 압도하는 것을 방지하기 위해 장치 간의 데이터 전송 속도를 관리합니다. - 오류 확인
전송 계층은 일반적으로 체크섬이라는 프로세스를 통해 오류 검사를 담당합니다. 전송 계층은 수신된 패킷에 오류가 있는지 확인하고, 오류가 감지되면 패킷을 재전송하도록 요청합니다. - 멀티플렉싱
전송 계층은 멀티플렉싱도 지원하므로 각 디바이스의 여러 애플리케이션 프로세스가 네트워크를 통해 동시에 통신할 수 있습니다. - 프로토콜
가장 일반적인 전송 계층 프로토콜은 TCP와 UDP입니다. 다른 예로는 SCTP(스트림 제어 전송 프로토콜) 및 DCCP(데이터그램 혼잡 제어 프로토콜)가 있습니다.
TCP/IP 모델에서 전송 계층의 기능은 대부분 동일하게 유지되며 동일한 이름의 계층에서 처리됩니다.
- 세분화 및 재조립
애플리케이션/상위 계층(Application/Upper Layer)
- Session Layer(5계층)
세션 계층은 OSI(개방형 시스템 상호 연결) 모델의 다섯 번째 계층입니다. 이 계층은 애플리케이션 간의 세션 설정, 관리 및 종료를 담당합니다. 여기서 '세션'은 두 애플리케이션 사이에 일정 기간 동안 존재하는 영구적인 연결을 의미합니다. 다음은 세션 계층의 주요 특징입니다.
- 세션 설정, 관리 및 종료
세션 계층은 애플리케이션 간에 세션을 설정하고, 세션 내에서 데이터 교환을 관리한 다음, 세션이 더 이상 필요하지 않으면 세션을 종료합니다. 여기에는 세션 ID를 설정하고, 전송할 차례를 추적하고, 세션을 종료할 시기를 결정하는 작업이 포함될 수 있습니다. - 세션 체크포인트 및 복구
세션 레이어는 데이터 스트림에 체크포인트를 삽입하여 전송이 중단될 경우 마지막 체크포인트 이후의 데이터만 재전송하면 되도록 할 수 있습니다. - 전이중 작동
세션 계층은 전이중 또는 양방향 작동을 허용하고 반이중 또는 단방향 작동도 관리합니다. - 멀티플렉싱
세션 계층은 단일 세션 내에서 여러 데이터 스트림을 관리할 수도 있습니다. 이를 멀티플렉싱이라고 합니다. - 프로토콜
OSI 모델에서 세션 계층은 특정 프로토콜에 직접 연결되어 있지는 않지만, 유사한 기능과 연관된 일부 프로토콜에는 NFS(네트워크 파일 시스템), SQL(구조화된 쿼리 언어), RPC(원격 프로시저 호출) 및 NetBIOS가 있습니다.
한 가지 주목할 점은 실제로 더 일반적으로 사용되는 TCP/IP 모델에서는 세션 계층의 기능이 일반적으로 애플리케이션 계층에서 처리되거나 때로는 전송 계층에서 처리된다는 점입니다. 따라서 모든 네트워킹 프로토콜에 OSI 모델의 세션 레이어에 직접 대응하는 레이어가 있는 것은 아닙니다.
- 세션 설정, 관리 및 종료
- Presentation Layer(6계층)
프레젠테이션 계층은 OSI(개방형 시스템 상호 연결) 모델의 여섯 번째 계층입니다. 이 계층은 네트워크의 번역기 역할을 하며 데이터 번역 및 코드 형식을 담당합니다. 다음은 프레젠테이션 계층의 주요 특징입니다.
- 데이터 번역
프레젠테이션 계층은 애플리케이션과 네트워크 간에 데이터를 번역합니다. 여기에는 애플리케이션 형식과 네트워크 형식으로 데이터를 변환하는 작업이 포함됩니다. 예를 들어, 텍스트인 데이터는 ASCII에서 EBCDIC으로 변환될 수 있습니다. - 데이터 암호화 및 복호화
프레젠테이션 계층은 안전한 데이터 전송을 위한 암호화 및 암호 해독도 담당합니다. 즉, 일반 텍스트 데이터를 전송하기 전에 암호 텍스트로 변환한 다음 목적지에 도착하면 다시 일반 텍스트로 변환합니다. - 데이터 압축
데이터를 압축하여 전송하기 쉽도록 더 작게 만들고 목적지에 도착하면 압축을 해제할 수 있습니다. - 데이터 서식
프레젠테이션 계층은 네트워크로 연결된 컴퓨터 간에 데이터를 교환하는 데 사용되는 형식을 결정합니다. 데이터가 표현되고 변환되는 방식을 협상하고 관리할 수 있습니다. - 프로토콜
프레젠테이션 계층에서 작동하는 프로토콜에는 TLS(전송 계층 보안), SSL(보안 소켓 계층), ASCII, EBCDIC, TIFF, GIF, PICT, JPEG, MPEG, MIDI 등을 비롯한 여러 가지 프로토콜이 있습니다.
실제로 더 일반적으로 사용되는 TCP/IP 모델에서는 프레젠테이션 계층의 기능이 일반적으로 애플리케이션 계층에서 처리된다는 점을 기억하세요. 프레젠테이션 계층은 OSI 모델의 개념에 가깝기 때문에 많은 네트워킹 구현에서 특정 프로토콜이나 기능과 항상 직접적으로 일치하지는 않습니다.
- 데이터 번역
- Application Layer(7계층)
애플리케이션 계층은 OSI(개방형 시스템 상호 연결) 모델의 일곱 번째이자 최상위 계층입니다. 네트워크와 사용자의 소프트웨어 애플리케이션 사이의 인터페이스를 제공하여 사용자가 네트워크와 상호 작용할 수 있도록 합니다.다음은 애플리케이션 계층의 주요 특징입니다.
- 애플리케이션과의 인터페이스
애플리케이션 계층은 소프트웨어 애플리케이션 및 네트워크 서비스에 대한 데이터 및 인터페이스를 표시하는 역할을 담당합니다. 이메일, 파일 전송, 웹 브라우징과 같은 서비스를 제공합니다. - 프로토콜
웹 브라우징을 위한 HTTP(하이퍼텍스트 전송 프로토콜), 파일 전송을 위한 FTP(파일 전송 프로토콜), 이메일을 위한 SMTP(단순 메일 전송 프로토콜), 도메인 이름을 IP 주소로 확인하는 DNS(도메인 이름 시스템) 등 여러 가지 주요 프로토콜이 애플리케이션 계층에서 작동합니다. - 데이터 생성
이메일, 웹 페이지 요청, 네트워크를 통해 전송되는 파일 등 데이터가 생성되는 계층입니다. 그런 다음 데이터는 프레젠테이션 계층으로 전달되어 네트워크를 통해 전송할 수 있도록 준비됩니다. - 세션 관리
애플리케이션 계층은 세션 관리에도 도움이 됩니다. 예를 들어 웹 서비스에 로그인할 때 애플리케이션 계층은 세션을 추적하여 여러 페이지를 탐색할 때 로그인 상태를 유지할 수 있도록 합니다. - 서비스 광고
애플리케이션이 네트워크 서비스를 광고하거나 검색할 수 있도록 합니다. 예를 들어 이메일 클라이언트와 같은 네트워크 애플리케이션을 열면 애플리케이션 레이어가 이메일 서버를 찾아서 연결을 설정하는 데 도움을 줍니다. - 보안
네트워크를 통한 데이터 전송의 첫 번째 액세스 지점이므로 보안도 이 계층에서 관리됩니다. 인증 및 데이터 무결성 검사는 종종 이 계층에서 이루어집니다.
OSI 모델은 유용한 개념적 프레임워크를 제공하지만 모든 네트워크 프로토콜이 이 7계층 구조를 엄격하게 준수하는 것은 아닙니다. 많은 실제 사례에서는 OSI의 프레젠테이션 계층과 세션 계층을 애플리케이션 계층으로 축소한 TCP/IP 모델이 사용됩니다.
OSI 모델은 다양한 네트워크 기능이 작동하고 상호 작용하는 방식을 이해하고 설명하는 데 도움이 됩니다. 하지만 실제로는 많은 네트워크 프로토콜이 OSI 모델을 엄격하게 준수하지 않는다는 점에 유의할 필요가 있습니다. 실제로 더 일반적으로 사용되는 모델은 OSI 모델의 7계층을 4계층으로 압축한 TCP/IP 모델입니다.
- 애플리케이션과의 인터페이스
개발자와 네트워크 엔지니어가 계층을 바라보는 방식
개발자와 네트워크 엔지니어는 모두 OSI 모델 또는 TCP/IP 모델의 계층과 상호 작용하지만, 일반적으로 서로 다른 역할과 책임을 반영하여 서로 다른 방식으로 상호 작용합니다.
- 개발자가 바로보는 계층
개발자는 일반적으로 모델의 상위 계층, 특히 전송 계층 이상에 관심을 갖습니다. 개발자는 HTTP(애플리케이션 계층), TCP 또는 UDP(전송 계층)와 같은 프로토콜을 사용하는 코드를 작성합니다. 이들은 데이터가 네트워크를 통해 어떻게 패키징되고 전송되는지 이해해야 하지만, 하위 계층의 관심사인 데이터가 물리적으로 전송되는 방식에 대한 세부 사항은 신경 쓸 필요가 없는 경우가 많습니다. 개발자는 특정 IP 주소에 바인딩하는 서버 소프트웨어와 같이 IP 주소 또는 서브넷과 직접 상호 작용하는 코드를 작성하는 경우에도 네트워크 계층과 상호 작용할 수 있습니다. - 네트워크 엔지니어가 바라보는 계층
반면에 네트워크 엔지니어는 일반적으로 모델의 하위 계층, 특히 네트워크 계층 이하에 더 관심이 많습니다. 네트워크 엔지니어는 라우터 및 스위치와 같은 하드웨어(네트워크 및 데이터 링크 계층)와 케이블 및 신호 전송(물리적 계층)을 다루는 등 네트워크를 설계하고 유지 관리하는 업무를 담당합니다. 네트워크 엔지니어는 네트워크에서 데이터가 라우팅되고 전달되는 방식과 물리적 및 MAC 주소 지정이 어떻게 작동하는지 이해해야 합니다. 네트워크 엔지니어는 특히 스택의 모든 계층에서 고려해야 할 수 있는 네트워크 보안이나 서비스 품질(QoS)과 같은 문제를 다룰 때 상위 계층도 어느 정도 고려해야 합니다.
요약하면, 개발자와 네트워크 엔지니어 모두 네트워크 통신의 원리를 이해해야 하지만, 일반적으로 서로 다른 스택 계층과 상호 작용하며 집중하는 영역이 다릅니다. OSI 모델 또는 TCP/IP 모델은 서로 다른 추상화 수준에서 작업하는 경우에도 네트워크 운영을 이해하고 논의하는 데 사용할 수 있는 공유 언어와 프레임워크를 제공합니다.
이번에는 계층에 대한 전체적인 시각과 특징에 대해 알아보았고 다음 포스팅에서 다른 네트워크 모델과 비교하여 조금 더 가시성 있게 포스팅해보도록 하겠습니다.
반응형
'Network > Network 이론' 카테고리의 다른 글
[Network 이론] 네트워크 연결의 종류 (0) | 2023.05.20 |
---|---|
[Network 이론] OSI 모델과 TCP/IP 모델 비교 (0) | 2023.05.17 |
[Network 이론] 네트워크란 (0) | 2023.05.16 |
[Natwork 이론] 임시 무선 네트워크 연결 (ad-hoc) (0) | 2023.03.17 |
[Network 이론] DNS와 DNSSEC (0) | 2023.03.11 |