맨위로가기

직렬 회선 인터넷 프로토콜

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

1. 개요

직렬 회선 인터넷 프로토콜(SLIP)은 표준 TCP/IP 데이터그램을 수정하여 직렬 통신 링크를 통해 전송하는 프로토콜이다. 데이터그램 경계를 구분하기 위해 특수 문자 END를 사용하고, END 또는 ESC 문자를 전송해야 할 경우 이스케이프 시퀀스로 변환한다. SLIP는 오류 감지 기능을 제공하지 않으며, CSLIP(Compressed SLIP)는 헤더 압축을 통해 SLIP의 성능을 향상시킨다. SLIP는 1980년대 3COM UNET TCP/IP 구현에서 유래되었으며, 릭 아담스에 의해 4.2BSD에 추가되어 널리 사용되었다.

더 읽어볼만한 페이지

  • 논리적 연결 제어 - PPPoE
    PPPoE는 이더넷을 통해 PPP 연결을 설정하는 네트워크 프로토콜로, DSL과 같은 광대역 환경에서 클라이언트-서버 모델로 동작하며, 사용자의 컴퓨터를 ISP에 연결하는 데 사용되고, 디스커버리 및 PPP 세션 단계를 거쳐 연결을 설정하며 전 세계에서 널리 쓰인다.
  • 논리적 연결 제어 - 점대점 프로토콜
    점대점 프로토콜(PPP)은 두 노드 간 직접 연결을 설정하고 관리하며 다양한 네트워크 계층 프로토콜을 지원하는 데이터 링크 계층 프로토콜이다.
  • 링크 프로토콜 - 프레임 릴레이
    프레임 릴레이는 LAN 간 또는 WAN 종단점 간 데이터 전송을 위한 고속 패킷 교환 방식 통신 프로토콜로, X.25 프로토콜을 간소화하여 속도를 높이고, 영구 가상 회선을 통해 안정적인 연결을 제공하며, 서비스 품질 설정을 통해 프레임 우선순위를 지정할 수 있었으나, 현재는 다른 기술에 밀려 사용이 감소하고 있다.
  • 링크 프로토콜 - 데이터 링크 계층
    데이터 링크 계층은 물리적 링크를 통해 연결된 호스트 간 데이터 프레임 전송을 담당하며, 주소 지정, 통신 경로 설정, 오류 제어, 흐름 제어 등의 서비스를 제공하여 데이터 전송의 신뢰성을 높이는 OSI 네트워크 아키텍처의 계층이다.
직렬 회선 인터넷 프로토콜
설명
개요
유형프로토콜
계층인터넷 계층
포트해당 사항 없음

2. 설명

SLIP는 표준 TCP/IP 데이터그램을 직렬 회선에서 전송하기 위해 사용되는 간단한 프로토콜이다.

SLIP는 오류 감지 기능을 제공하지 않아, 상위 계층 프로토콜에 의존한다. 이 때문에 오류 발생 가능성이 높은 환경에서는 자체적으로 안정적인 통신을 보장하기 어렵다.

SLIP 이스케이프 문자는 일부 모뎀 연결에서 Hayes 명령 집합을 이스케이프하는 데에도 사용되어, 바이너리 데이터를 모뎀을 통해 전달할 수 있게 했다.

'''압축 SLIP'''(CSLIP)는 RFC1144에서 정의된 SLIP의 개선 버전으로, 현재 대부분의 SLIP 구현에서 지원된다.

2. 1. 프레이밍

SLIP는 표준 TCP/IP 데이터그램을 다음과 같이 수정한다.

  • 바이트 스트림에서 데이터그램 경계를 구분하는 특수한 "END" 바이트를 추가한다.
  • 전송할 데이터에 END 바이트가 있는 경우, 대신 두 바이트 시퀀스 ESC, ESC_END를 전송한다.
  • 데이터에 ESC 바이트가 있는 경우, 두 바이트 시퀀스 ESC, ESC_ESC를 전송한다.
  • 프로토콜의 변형은 패킷을 END로 시작하고 종료할 수 있다.


다음은 각 특수 문자에 대한 표이다.

16진 값10진 값8진 값축약형설명
0xC0192300END프레임 종료
0xDB219333ESC프레임 이스케이프
0xDC220334ESC_END변환된 프레임 종료
0xDD221335ESC_ESC변환된 프레임 이스케이프


2. 2. 문자 변환 테이블

SLIP는 표준 TCP/IP 데이터그램을 다음과 같이 수정한다.

  • 바이트 스트림에서 데이터그램 경계를 구분하는 특수한 "END" 바이트를 추가한다.
  • 전송할 데이터에 END 바이트가 있는 경우, 대신 두 바이트 시퀀스 ESC, ESC_END를 전송한다.
  • 데이터에 ESC 바이트가 있는 경우, 두 바이트 시퀀스 ESC, ESC_ESC를 전송한다.
  • 프로토콜의 변형은 패킷을 END로 시작하고 종료할 수 있다.


16진수10진수8진수약어설명
0xC0192300END프레임 종료
0xDB219333ESC프레임 이스케이프
0xDC220334ESC_END변환된 프레임 종료
0xDD221335ESC_ESC변환된 프레임 이스케이프



SLIP는 8 데이터 비트, 패리티 비트 없음, EIA 하드웨어 흐름 제어 또는 CLOCAL 모드(3선 널 모뎀) UART 작동 설정의 직렬 포트 구성이 필요하다.

SLIP는 오류 감지를 제공하지 않으며, 이를 위해 상위 계층 프로토콜에 의존한다. 따라서 SLIP는 품질이 좋지 않은 전화 접속 연결과 같이 오류가 발생하기 쉬운 링크에서는 자체적으로 만족스럽지 않다.

SLIP 이스케이프 문자는 일부 모뎀 연결에서 Hayes 명령 집합을 이스케이프하는 데에도 필요했으므로, 일부 문자를 명령으로 인식하는 모뎀을 통해 바이너리 데이터를 전달할 수 있었다.

2. 3. 요구 환경

SLIP는 8 데이터 비트, 패리티 비트 없음, EIA 하드웨어 흐름 제어 또는 CLOCAL 모드(3선 널 모뎀) UART 작동 설정의 직렬 포트 구성이 필요하다.

2. 4. 한계

SLIP 자체는 오류 감지를 제공하지 않으며, 이를 위해 상위 계층 프로토콜(TCP 등)에 의존한다. 따라서 SLIP는 품질이 좋지 않은 전화 접속 연결과 같이 오류가 발생하기 쉬운 링크에서는 자체적으로 만족스럽지 않다.[1]

SLIP 이스케이프 문자는 일부 모뎀 연결에서 Hayes 명령 집합을 이스케이프하는 데에도 필요했으므로, 일부 문자를 명령으로 인식하는 모뎀을 통해 바이너리 데이터를 전달할 수 있었다.[1]

3. CSLIP (Compressed SLIP)

헤더 데이터 압축을 사용하는 SLIP의 변형을 '''압축 SLIP''' ('''CSLIP''')라고 부른다.[4] CSLIP에서 사용되는 압축 알고리즘은 반 야콥슨 TCP/IP 헤더 압축으로 알려져 있다.[5] CSLIP는 패킷의 데이터 페이로드에 영향을 미치지 않으며, 전송에 사용되는 직렬 회선 모뎀에 의한 압축과는 무관하다. 이는 전송 제어 프로토콜 (TCP) 헤더를 20 바이트에서 7바이트로 줄여준다. CSLIP는 사용자 데이터그램 프로토콜 (UDP) 데이터그램에는 영향을 미치지 않는다.

CSLIP는 RFC 1144에서 정의된 SLIP의 개선 버전으로, 현재 대부분의 SLIP 구현은 CSLIP를 지원한다.

4. 역사

SLIP의 "비표준"인 RFC 1055는 1980년대 3COM UNET TCP/IP 구현에서 유래되었다. 릭 아담스는 1984년 4.2BSD에 SLIP을 추가했고, 이는 "빠르게 확산되었다". RFC가 발표될 당시(1988년) SLIP은 "전용 직렬 링크에서 일반적으로 사용되며, 다이얼업 목적으로도 사용되기도 한다"고 설명하고 있다.[6]

"slattach"(slip에 연결하기 위한 명령)를 포함하는 마지막 FreeBSD 버전은 2011년에 출시된 FreeBSD 7.4이다. 매뉴얼에서는 CSLIP에 대한 자동 협상이 존재한다고 주장한다. FreeBSD 버전은 4.3BSD에서 상속되었다.[7]

리눅스는 이전에 SLIP 및 KISS (TNC)에 동일한 코드 베이스를 사용했다. 분리는 커널 git 기록(Linux-2.6.12-rc2, 2005) 시작 전에 발생했다.[8] SLIP 드라이버는 비 ASCII 문자를 처리할 수 없는 모뎀을 수용하기 위해 특별한 "6비트" 이스케이프 모드를 제공한다.[9] Linux slattach 명령(독립적으로 작성됨)은 CSLIP 지원을 자동 감지하는 기능도 갖추고 있다.[10]

참조

[1] 뉴스 Internet Q&A http://www.nytimes.c[...] 1996-05-31
[2] 뉴스 The Executive Computer; For Befuddled Newcomers, Easier Access https://www.nytimes.[...] 1994-05-08
[3] 간행물 "Requirements for an Internet Standard Point-to-Point Protocol" IETF RFC
[4] 서적 Understanding TCP/IP (Chapter 4.2 Compressed SLIP) https://www.oreilly.[...]
[5] 웹사이트 Compressing TCP/IP Headers for Low-Speed Serial Links http://tools.ietf.or[...] 1990-02
[6] 웹사이트 RFC 1055: Nonstandard for transmission of IP datagrams over serial lines: SLIP https://datatracker.[...] 1988-06-01
[7] 웹사이트 slattach(8) https://man.freebsd.[...]
[8] 웹사이트 History for mkiss.c https://github.com/t[...] 2023-05-13
[9] 웹사이트 drivers/net/slip/Kconfig https://github.com/t[...] 2023-05-13
[10] 문서 slattach Linux



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

문의하기 : help@durumis.com