2013년 9월 23일 월요일

TCP/IP 직렬 회선 인터넷 프로토콜과 점대점 프로토콜의 개요와 기초

SLIP과 PPP 비교
  • SLIP(직렬 회선 인터넷 프로토콜, Serial Line Internet Protocol)과 PPP(점대점 프로토콜, Point-to-Point Protocol)는 2계층 기술이 존재하지 않고 물리 계층 링크에서 직접 운영되는 TCP/IP 구현에게 2계층 연결 기능을 제공한다.
  • PPP는 SLIP보다 복잡하지만 기능이 막강하기 때문에 더 많이 쓰인다.
  • 두 장비 간의 연결에 쓰이도록 설계됐다.

직렬 회선 인터넷 프로토콜
    • SLIP은 IP 데이터그램을 위한 2계층 프레이밍 서비스를 제공하지만 기타 다른 기능은 전혀 제공하지 않는다.
  • SLIP 데이터 프레이밍 방법과 일반 동작
    • 데이터그램을 바이트로 나눈다
    • 데이터그램의 맨 마지막 바이트 다음에 END 문자(192)를 보낸다. 더 나은 구현에서는 첫 바이트 이전에도 END 문자를 보낸다
    • 전송할 데이터그램에 들어 있는 192 값을 갖는 1바이트를 219 220 값을 갖는 2바이트로 치환한다.
    • 데이터 그램을 한 바이트씩 보낸다.
    • 즉, 3계층에서 받은 데이터(보통 IP 데이터그램)를 END 문자로 감싸고 필요할 경우 특수 문자를 치환함으로써 프레이밍 하는 것이다.
  • SLIP의 문제와 한계
    • 표준화된 데이터그램 크기 명세 없음
    • 에러 탐지와 정정 방법 없음
    • 제어 메시지 전송 없음
    • 유형 식별 안됨 (헤더가 없으므로)
    • 주소 탐색 방법 없음
    • 압축 지원 안함
    • 보안 기능 없음

점대점 프로토콜 개요와 기본
    • PPP는 프로토콜이라고 불리며 TCP/IP의 일부라고 인식되지만 사실은 프로토콜 슈트에 가깝다. 왜냐하면 PPP의 동작은 여러 개별 프로토콜에서 정의한 절차에 근거를 두고 있기 때문이다. 표준에서 그렇게 부르지는 않지만 PPP의 구성 요소를 PPP의 하위 프로토콜로 간주하는 시각도 있다.
  • 개발과 표준화
    • IETF는 PPP를 완전히 처음부터 만드는 대신 ISO의 상위 수준 데이터 링크 제어 프로토콜에 기반을 두고 만들기로 결정
    • HDLC는 동기식 데이터 연결 제어 프로토콜에서 유래한 프로토콜
    • PPP의 개발자는 프레이밍 구조와 기타 여러 기능을 HDLC에서 가져옴
  • 기능과 구조
    • PPP는 TCP/IP의 네트워크 인터페이스 계층(링크 계층)에 속함
    • PPP의 동작은 특정한 순서를 따르며 다중단계 연결수립(Link Establishment) 과정(선택적으로 인증을 포함함)을 포함
  • 장점과 이익
    • SLIP의 단일 END 문자 방식보다 훨씬 포괄적인 프레이밍 방식
    • 단일 링크에서 여러 3계층 프로토콜을 다중화할 수 있는 캡슐화 프로토콜 명세 제공
    • 각 프레임 헤더에 순환 잉영 검사(CRC, cyclic redundancy check) 코드를 삽입하여 각 전송 프레임의 에러를 탐지
    • 링크 인자(허용되는 최대 프레임 크기 포함) 협상을 위한 안정적인 방식
    • 데이터그램 전송이 일어나기 전에 링크를 테스트하고, 링크 품질을 모니터링 하는 방법 제공
    • 여러 인증 프로토콜을 이용해 연결을 인증할 수 있음
    • 압축, 암호화, 링크 통합(두 장비가 여러 물리 링크를 마치 하나의 고성능 링크인 것처럼 사용할 수 있게 함)과 같은 추가 선택 기능을 지원함
    • 주요 장점은 확장성
    • PPPoe(PPP over Ethernet)와 PPPoA(PPP over ATM)같이 PPP에서 파생된 프로토콜도 개발
  • PPP 주요 구성 요소
    • PPP 캡슐화 방법
      • 캡슐화 하기 위한 특수 프레임 포맷(HDLC의 프레이밍에 기반함)을 정의
      • PPP 프레임은 크기가 작음
      • 대역폭 효율과 처리 속도를 극대화하기 위해 적은 수의 필드만을 포함
    • 링크 제어 프로토콜(LCP, Link Control Protocol)
      • 장비간 링크의 수립, 유지, 종료를 책임
    • 네트워크 제어 프로토콜(NCP, Network Control Protocol)
  • PPP 기능 그룹
    • LCP 지원 프로토콜
    • LCP 선택적 기능 프로토콜
  • 일반 동작
    • 링크 수립과 구성
      • 두 장비는 링크의 운영을 관리하는 데 필요한 인자에 동의해야 함
      • LCP는 이 절차를 시작하며 필요할 경우 지원 프로토콜의 도움을 받음
    • 링크 동작
      • 장비들은 링크를 사용하여 데이터그램을 전송
      • 각 장비는 3계층 데이터그램을 캡슐화하여 1계층으로 송신
      • 필요할 경우 압축(CCP)과 같은 기능을 위해 선택적으로 특수 프로토콜을 이용
    • 링크 종료
  • PPP 링크 수립과 단계
    • 링크 비활성화 단계
    • 링크 수립 단계
    • 인증 단계
    • 네트워크 계층 프로토콜 단계
    • 링크 개방 단계
    • 링크 종료 단계

  • PPP 표준
    • PPP 단계
단계/상태 단계 요약 LCP 링크 상태 NCP 링크 상태 상태 이동 요구 조건 -> 다음단계
링크 비활성화 기본 상태. 물리 계층이 연결되지 않음 닫힘 닫힘 물리 계층 연결 성공 -> 링크 수립
링크 수립 물리 계층이 연결됨. LCP가 기본 링크 구성을 수행함 닫힘 닫힘 협상성공 -> 인증
협상 실패 -> 링크 종료
인증 기본 링크가 열렸으며, 열림 닫힘 선택적으로 장비 인증을 할 수 있음 열림 닫힘 인증 성공 또는 인증이 필요 없는 경우 -> 네트워크 계층 프로토콜
링크 비활성화 ->링크 종료
네트워크 계층 프로토콜 LCP 링크 내에서 하나 이상의 NCP가 NCP 링크를 개방함 열림 닫힘 모든 NCP가 열림 -> 링크 개방
링크 개방 링크가 열리고 정상적으로 동작함 열림 열림 링크 오류 또는 폐쇄 요청 -> 링크 종료
링크 종료 LCP 링크가 닫힘 열림 열림 -> 링크 비활성화

    • PPP 표준
그룹 RFC번호 표준 이름 설명
핵심 1570 PPP LCP 확장 LCP를 위한 두 가지 기능을 정의한다. 이들 기능은 장비가 서로를 식별하고, 상대방에게 현재 세션의 남은 시간을 알려주도록 한다.
1661 점대점 프로토콜 PPP의 기본 표준. PPP 구조와 일반 동작(링크 수립, 유지, 종료 절차 포함), LCP에 대한 세부 사항을 설명한다.
1662 PPP의 HDLC와 유사한 프레이밍 PPP 프레임을 위한 프레이밍 방법(HDLC에 기반함)을 정의한다. 이 표준은 주 PPP 표준인 RFC 1661을 보완한다.
LCP지원 1334 PPP 인증 프로토콜 두 가지 PPP 인증 프로토콜인 PAP와 CHAP를 정의한다. RFC 1994는 RFC 1334의 최신 버전이기는 하지만 PAP을 설명하지 않는다(그렇다고 해서 IETF가 PAP를 경시하는 것은 아니다)
1994 PPP 챌린지 핸드셰이크 인증 프로토콜 RFC 1334에 나온 CHAP 관련 정보를 갱신한다.
NCP 1332 PPP 인터넷 프로토콜 제어 프로토콜 IP용 NCP
1377 PPP OSI 네트워크 계층 제어 프로토콜 OSI 프로토콜 슈트의 네트워크 계층 프로토콜(예: CNLP, ES-IS, IS-IS)을 위한 NCP
1378 PPP AppleTalk 제어 프로토콜 AppleTalk 프로토콜용 NCP
1552 PPP 인터네트워킹 패킷 교환 제어 프로토콜 노벨 IPX 프로토콜용 NCP
2043 PPP SNA 제어 프로토콜 IBM의 Systems Network Architecture(SNA)용 NCP
2097 PPP 넷바이오스 프레임 제어 프로토콜 넷바이오스 프레임(NBF, NetBIOS Frames, 흔히 NetBEUI라고 부름)용 NCP
2472 PPP 위에서의 IP 버전 6 IPv6용 NCP인 IPv6 제어 프로토콜
기능 1962 PPP 압축 제어 프로토콜 PPP 링크로 전송되는 데이터를 압축하여 성능을 향상시키는 방법을 정의한다. 이 표준은 PPP 링크에서 두 장비가 어떻게 압축을 협상하는지 설명한다. 이 프로토콜은 실제 데이터 압축을 수행하는 여러 압축 알고리즘과 함께 쓰인다.
1968 PPP 암호 제어 프로토콜 PPP 링크로 전송되는 데이터를 암호화하여 성능을 향상시키는 방법을 정의한다. 이 표준은 두 장비가 어덯게 암호화를 협상하는지 설명한다. 이 프로토콜은 여러 암호화 알고리즘과 함께 쓰인다.
1989 PPP 링크 품질 모니터링 PPP 장비가 링크 품질에 대한 보고서를 생성하도록 하는 프로토콜을 정의한다.
1990 PPP 다중링크 프로토콜 PPP를 여러 결합된 링크 위에서 운영하는 방법을 정의한다. 이렇게 함으로써 두 장비는 여러 낮은 대역폭 링크를 하나의 높은 대역폭 가상 링크로 사용할 수 있다.
2125 PPP 대역폭 할당 프로토콜 / PPP 대역폭 할당 제어 프로토콜 PPP MP를 이용해 결합된 링크의 대역폭 할당을 관리하는 두 지원 프로토콜을 정의한다.
애플리케이션 1618 ISDN 위에서의 PPP PPP를 ISDN 링크에서 운영하는 방법을 설명한다.
1973 프레임 릴레이 위에서의 PPP PPP를 프레임 릴레이 위에서 전송할 수 있도록 2계층에서 수정해야 할 부분을 설명한다.
2290 PPP IPCP를 위한 모바일-IPv4 설정 옵션 모바일 IP를 지원하기 위해 PPP IPCP에서 바뀌어야 할 부분을 정의한다.
2364 AAL5 위에서의 PPP AAL5(ATM) 위에서의 PPP(PPPoA) 프레임을 보내는 방법을 정의한다.
2516 이더넷 위에서의 PPP를 전송하는 방법 이더넷 위에서의 PPP 프레임(PPPoE)을 캡슐화하는 기법을 정의한다.
2615 SONET/SDH 위에서의 PPP SONET/SDH 링크 위에서의 PPP 프레임을 캡슐화하는 방법을 설명한다.

댓글 없음:

댓글 쓰기