맨위로가기

프로토콜 스택

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

프로토콜 스택은 하위 계층에서 상위 계층으로 갈수록 추상화 수준이 높아지는 구조로, 컴퓨터 간의 통신을 위해 사용되는 프로토콜들의 집합이다. 물리적인 연결을 처리하는 하위 계층과 애플리케이션 수준의 데이터 교환을 처리하는 상위 계층으로 구성되며, 인터넷 프로토콜(IP)과 같은 인터네트워킹 프로토콜을 사용하여 서로 다른 네트워크 간의 통신을 가능하게 한다. 프로토콜 스택은 미디어, 전송, 애플리케이션의 세 가지 주요 섹션으로 나뉘며, 운영 체제는 이들 간의 인터페이스를 제공한다. 스패닝 계층은 서로 다른 하위 계층 기술 간의 상호 운용성을 제공하며, 인터넷 프로토콜 스택에서 인터넷 프로토콜 제품군은 데이터그램의 글로벌 라우팅을 위한 최선형 서비스를 정의하는 스패닝 계층을 구성한다.

더 읽어볼만한 페이지

  • 네트워크 프로토콜 - UUCP
    UUCP는 유닉스 시스템 간 파일 복사, 원격 명령 실행, 이메일 및 유즈넷 뉴스 전송을 위한 프로토콜 및 프로그램 모음으로, 초기 인터넷 확장에 중요한 역할을 했으나 TCP/IP 기반 서비스 보편화로 사용이 감소했다.
  • 네트워크 프로토콜 - 프레임 릴레이
    프레임 릴레이는 LAN 간 또는 WAN 종단점 간 데이터 전송을 위한 고속 패킷 교환 방식 통신 프로토콜로, X.25 프로토콜을 간소화하여 속도를 높이고, 영구 가상 회선을 통해 안정적인 연결을 제공하며, 서비스 품질 설정을 통해 프레임 우선순위를 지정할 수 있었으나, 현재는 다른 기술에 밀려 사용이 감소하고 있다.
프로토콜 스택
프로토콜 스택
프로토콜 스택 또는 프로토콜 스위트통신 프로토콜의 모음
상세 정보
설명네트워크 프로토콜 계층의 모음
관련 모델OSI 모델
역할사용자 응용 프로그램을 직접 지원하는 서비스 제공 (데이터베이스 액세스, 이메일, 파일 전송 등)

2. 일반적인 프로토콜 스택 설명

프로토콜 스택은 여러 통신 프로토콜 모듈을 계층(Layer) 또는 묶음(Suite) 형태로 구성한 것이다. 각 프로토콜은 스택 내에서 특정 목적을 가지고 설계되며, 이러한 모듈화는 설계와 평가를 용이하게 한다. 각 프로토콜 모듈은 상하위 모듈과 통신하며, 이를 통해 프로토콜이 계층적으로 쌓이는 구조를 가진다. 최하위 계층 프로토콜은 하드웨어와 상호작용하고, 상위 계층으로 올라갈수록 다양한 기능이 추가된다. 사용자 애플리케이션은 최상위 계층하고만 상호작용한다. (OSI 참조 모델 참조)

일반적으로 프로토콜 스택은 하위 계층에서 상위 계층으로 갈수록 추상화 수준이 높아진다. 하위 계층은 물리적인 연결(예: 무선, 유선)을 처리하고, 상위 계층은 애플리케이션 수준의 데이터 교환을 처리한다. 서로 다른 네트워크에 있는 컴퓨터 간의 통신을 위해 인터네트워킹 프로토콜(예: 인터넷 프로토콜)이 사용된다.

2. 1. 프로토콜 스택의 작동 방식

컴퓨터 ''A'', ''B'', ''C''를 예로 들어 프로토콜 스택의 작동 방식을 설명한다. ''A''와 ''B''는 무선으로 연결되어 있고, ''B''와 ''C''는 유선으로 연결되어 있다고 가정한다.

  • A에서 C로 데이터 전송 과정:

1. A (상위 계층): C로 데이터를 보내라는 요청을 받으면, B를 통해 C에 도달할 수 있음을 인지한다. 무선 프로토콜(예: IEEE 802.11)에 데이터 패킷을 B로 전송하도록 지시한다.

2. A (하위 계층): 상위 계층의 지시에 따라 데이터 패킷을 B로 전송한다.

3. B (하위 계층): A로부터 받은 패킷을 상위 계층으로 전달한다.

4. B (상위 계층): 패킷의 최종 목적지가 C임을 확인하고, 유선 프로토콜(예: 점대점 프로토콜)을 사용하여 C로 데이터를 보낸다.

5. C (하위 계층): B로부터 받은 패킷을 상위 계층으로 전달한다.

6. C (상위 계층): 자신이 최종 목적지임을 확인하고, 데이터를 상위 프로토콜 또는 애플리케이션으로 전달한다.

이처럼 각 컴퓨터의 프로토콜 스택에서 상위 계층과 하위 계층은 서로 협력하여 데이터를 목적지까지 안전하게 전달한다. 상위 계층은 데이터 전송 경로를 결정하고, 하위 계층은 실제 데이터 전송을 담당한다.

이때, A와 B는 무선 통신을, B와 C는 유선 통신을 사용하지만, 각 통신 방식에 맞는 프로토콜만 사용될 뿐, A에서 C로 데이터를 전송하기 위해 별도의 복잡한 프로토콜(슈퍼 프로토콜)을 만들 필요가 없다. 대신, 인터네트워킹 프로토콜(예: 인터넷 프로토콜)을 사용하여 서로 다른 네트워크에 있는 A와 C가 통신할 수 있다.

실제 구현에서 프로토콜 스택은 미디어, 전송, 애플리케이션의 세 가지 주요 섹션으로 나뉜다. 운영 체제나 플랫폼은 보통 두 개의 인터페이스를 갖는데, 하나는 미디어 계층과 전송 계층 사이에, 다른 하나는 전송 계층과 애플리케이션 사이에 존재한다.

  • 미디어-전송 인터페이스: 전송 프로토콜 소프트웨어가 특정 미디어 및 하드웨어 유형을 사용하는 방식을 정의하며, 장치 드라이버와 관련이 있다.
  • 예시: Microsoft Windows 및 DOS 환경에서 ODI 및 NDIS
  • 애플리케이션-전송 인터페이스: 애플리케이션 프로그램이 전송 계층을 사용하는 방식을 정의한다.
  • 예시: Unix 계열 환경의 Berkeley 소켓 및 System V STREAMS, Microsoft Windows용 Winsock

2. 2. 프로토콜 스택의 계층 분할

실제 구현에서 프로토콜 스택은 미디어(매체), 전송, 애플리케이션의 세 가지 주요 섹션으로 나뉜다. 특정 운영 체제나 플랫폼은 종종 두 개의 잘 정의된 소프트웨어 인터페이스를 갖는다. 하나는 미디어 계층과 전송 계층 사이에 있고, 다른 하나는 전송 계층과 애플리케이션 사이에 있다.

미디어-전송 인터페이스는 전송 프로토콜 소프트웨어가 특정 미디어 및 하드웨어 유형을 사용하는 방식을 정의하며 장치 드라이버와 관련이 있다. 예를 들어, 이 인터페이스 수준은 TCP/IP 전송 소프트웨어가 네트워크 인터페이스 컨트롤러와 통신하는 방식을 정의한다. 이러한 인터페이스의 예로는 Microsoft Windows 및 DOS 환경에서 ODI 및 NDIS가 있다.

애플리케이션-전송 인터페이스는 애플리케이션 프로그램이 전송 계층을 사용하는 방식을 정의한다. 예를 들어, 이 인터페이스 수준은 웹 브라우저 프로그램이 TCP/IP 전송 소프트웨어와 통신하는 방식을 정의한다. 이러한 인터페이스의 예로는 Unix 계열 환경의 Berkeley 소켓 및 System V STREAMS, 그리고 Microsoft Windows용 Winsock이 있다.

3. 프로토콜 스택의 예시

프로토콜 스택 및 해당 계층의 예시
프로토콜계층
HTTP응용 계층
TCP전송 계층
IP인터넷 계층 또는 네트워크 계층
이더넷링크 계층 또는 데이터 링크 계층
IEEE 802.3ab물리 계층



아미가 소프트웨어에서 사용되는 네트워크 프로토콜 스택


일반적인 프로토콜 스택의 예시는 위 표와 같다.

4. 스패닝 계층

스패닝 계층은 서로 다른 하위 계층 기술 간의 상호 운용성을 제공하는 계층이다. 데이비드 클라크는 공통 프로토콜 스택을 기반으로 하는 스패닝 계층의 중요성을 강조했다.[3] 스패닝 계층은 하위 계층의 차이를 해결하고, 다양한 서비스 또는 기술 간의 변환을 허용하도록 설계된다.

예를 들어, ''A'', ''B'', ''C'' 세 대의 컴퓨터가 있을 때, ''A''와 ''B''는 무선으로, ''B''와 ''C''는 유선으로 연결되어 있다고 가정해 보자. 각 연결은 해당 매체에 맞는 통신 프로토콜을 사용하므로, ''A''에서 ''C''로 직접 통신은 불가능하다. 이 문제를 해결하기 위해 네트워크 간 연결 프로토콜이 필요하며, 인터넷 프로토콜이 이러한 방식을 따른다.

''A''에서 ''C''로 데이터를 보내는 과정은 다음과 같다.

1. ''A''의 상위 프로토콜은 ''B''를 경유하여 ''C''로 도달할 수 있음을 인지하고, 무선 프로토콜에 ''B''로 데이터 패킷 전송을 지시한다.

2. ''A''의 하위 계층은 패킷에 통신에 필요한 정보를 추가하여 ''B''로 보낸다.

3. ''B''는 패킷을 상위 계층에 전달하고, 최종 목적지가 ''C''임을 확인한다.

4. ''B''의 상위 계층은 유선 프로토콜을 사용하여 ''C''로 패킷을 보낸다.

5. ''C''는 패킷을 상위 계층에 전달하고, 자신에게 온 데이터임을 확인 후 더 상위 계층(애플리케이션)에 데이터를 전달한다.

일반적으로 실제 프로토콜 스택은 이보다 더 복잡한 다층 구조를 가진다.

4. 1. 인터넷 프로토콜(IP)의 역할

인터넷 프로토콜 스택에서 인터넷 프로토콜 제품군은 계층 3에서 데이터그램의 글로벌 라우팅을 위한 최선형 서비스를 정의하는 스패닝 계층을 구성한다.[3] 인터넷은 이 스패닝 계층을 기반으로 하는 상호 운용 커뮤니티이다.

5. 한국의 프로토콜 스택 기술 현황

한국은 초고속 인터넷 인프라를 바탕으로 다양한 프로토콜 스택 기술을 활용하고 있다. 5G, 사물 인터넷(IoT) 등 차세대 통신 기술 개발에 적극적으로 투자하고 있다.

참조

[1] 웹사이트 What is a protocol stack? http://www.webopedia[...] WEBOPEDIA 1997-09-24
[2] 웹사이트 The OSI Model, Part 10. The Application Layer http://www.ika-reutt[...] Ika-Reutte 2010-01-09
[3] 서적 Interoperation, Open Interfaces, and Protocol Architecture National Research Council 1997
[4] 웹인용 What is a protocol stack? http://www.webopedia[...] WEBOPEDIA 1997-09-24
[5] 웹인용 The OSI Model, Part 10. The Application Layer http://www.ika-reutt[...] Ika-Reutte 2010-01-09



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com