HDCL
장거리 통신망에서 사용되는 링크 레이어 프로토콜로 사용됩니다.
HDLC(High-level Data Link Control) 는 IBM에서 사용하는 SDLC(Synchronous data link control) 이후에 개발된 프로토콜로 프레임 릴레이, PPP, ATM 등 보다 먼저 개발되었습니다.
표준 HDLC는 하나의 네트워크 레이어 프로토콜만 전송할 수 있으나, 시스코에서 사용되는 HDLC는 IP, IPX, AppleTalk 등 복수개의 네트워크 3 계층 프로토콜을 동시에 전송할 수 있도록 변형된 것입니다.

시스코 라우터의 시리얼 인터페이스에서 별도로 지정하지 않으면 기본적으로 HDLC가 2계층 프로토콜로
사용됩니다.


다음과 같이 인터페이스에서 사용하는 HDLC와 ping으로 통신이 되는 것을 확인할 수 있습니다.
PPP(point to point protocol)
PPP(point to point)는 HDLC와 마찬가지로 연결되는 상대가 하나인 환경에서 사용되는 장거리 통신망용
링크레이어 프로토콜입니다. HDLC을 기반으로 하지만, 더욱 다양한 기능과 유연성을 제공하여 더욱 폭넓게
사용되고 있습니다.
도입 배경
- 호환성 문제: 시스코 HDLC는 시스코 장비들 간의 통신에는 효율적이었지만, 다른 제조사의 장비와의 호환성이 떨어졌습니다. 이는 다양한 네트워크 환경에서 시스코 장비를 사용하는 데 제약이 되었습니다.
- 기능 부족: 시스코 HDLC는 기본적인 링크 계층 기능만 제공하여, 다양한 네트워크 프로토콜 지원, 인증, 압축 등의 고급 기능을 사용하기 어려웠습니다.
- 표준화 부족: 시스코 HDLC는 표준화된 프로토콜이 아니었기 때문에, 새로운 기능을 추가하거나 확장하는 데 어려움이 있었습니다.
개요
PPP는 다양한 네트워크 프로토콜을 지원하고, 인증, 압축, 오류 검출 등의 기능을 제공하며, 표준화된
프로토콜이기 때문에 호환성이 뛰어나다는 장점을 가지고 있습니다.
PPP는 LCP(link control protocol)와 NCP(network control protocol)로 구성됩니다.
LCP는 PPP로 동작하는 두 장비 사이의 링크를 셋업하기 위하여 사용되며, 아래의 기능을 제공합니다.
1. 회선 품질 모니터링(LQM, link quality monitoring)
PPP는 프레임 수신측이 에러 없이 제대로 수신한 패킷 및 바이트 수를 상대에게 알려줄 수 있습니다.
이를 이용하여 송신측이 자신이 보낸 수와 상대가 제대로 받은 패킷의 수를 비교하여 손실률을 계산합니다.
이후 사전에 설정된 값 이상의 회선 에러가 발생하면 해당 링크를 다운시켜 라우팅 프로토콜로 하여금 더
좋은 경로를 선택할 수 있게 합니다.
2. 링크 루프 탐지
PPP 링크를 구성하는 DSU/CSU, 장거리 통신망 등에서 상대가 보내는 프레임을 목적지로 전송하지 않고
거꾸로 상대에게 전송할 수 있으며, 이를 루프(loop) 테스트라고 합니다. 주로 회선이나 장비가 제대로 동작하는지 확인하기 위해 특정한 장비에서 루프를 걸게 됩니다.
루프 테스트를 한후 다시 정상상태로 복귀시켜야 하는데 PPP가 LCP 메세지를 전송할 때 장비별로 고유한
매직 넘버를 포함시킵니다. 상대에게 수신한 메시지에 내가 보낸 매직 넘버가 있다면 이 메세지는 내가 보낸 것이 도중에 루프가 걸려 되돌아왔다는 뜻입니다.
3. 멀티링크(Multilink)
PPP 멀티링크(multilink) 기능을 사용하면 이더넷 스위치에서 사용하는 이더채널과 같이 여러 개의 회선을
하나의 회선처럼 사용할 수 있습니다.
4. 인증 (authentication)
PPP는 상대방을 인증(authentication)할 수 있는 기능이 있습니다. 인증방식으로는 PAP, CHAP 등이
있습니다.
PAP(password authentication protocol)은 이용자명과 암호를 평문으로 전송하기 때문에 보안성이
떨어집니다. 그러나 CHAP(challenge handshake authentication protocol)를 사용하면, 실제 암호는 전송되지 않고 암호를 이용해서 만든 코드값만 MD5 방식으로 전송됩니다.
CHAP를 사용하면 PAP보다 훨씬 보안성이 좋습니다.
PPP 기본 통신
PPP는 다른 레이어 2 프로토콜에는 없는 인증 기능으로 인하여 가장 많이 사용되는 프로토콜 중 하나입니다.
설정이 간단하고, 표준 프로토콜이기 때문에 전용선으로 라우터를 연결할 때 많이 사용됩니다.

R1(config-if)# interface s0/0/0
R1(config-if)# encapsulation ppp
R2(config-if)# interface s0/0/0
R2(config-if)# encapsulation ppp

R1에서 PPP 설정을 하자 R2와 프로토콜이 맞지 않아서 R1,R2 모두 인터페이스가 다운되었다가
R2도 PPP 설정을 해주자 다시 인터페이스가 활성화 되었습니다.
인캡슐레이션(레이어 2 프로토콜)을 HDLC에서 PPP로 변경하면서 다운 되었다가 다시 활성화 된것 입니다.



PPP를 연결하고 라우팅 테이블을 보면 /32 서브넷 마스크를 가진 경로가 나타납니다.
점대점 연결에서는 두 개의 호스트만이 통신하므로 각 호스트는 서로의 IP 주소를 정확하게 알고 있기 때문에
/32 서브넷 마스크(255.255.255.252)로 설정하여 사용합니다.
PPP 인증
1. PAP
PAP는 양방향 핸드셰이크(two-way handshake) 방식을 사용하여 다음과 같은 절차로 인증을 수행합니다:
- 인증 요청: 클라이언트는 PPP 세션을 설정할 때 사용자 이름과 비밀번호를 평문으로 서버에 전송합니다.
- 인증 응답: 서버는 수신한 자격 증명을 확인하고, 일치하면 인증 승인(Acknowledgment)을, 일치하지 않으면 인증 거부(Negative Acknowledgment)를 클라이언트에게 반환합니다.
이러한 방식은 설정과 구현이 간단하지만, 자격 증명이 암호화되지 않은 상태로 전송되기 때문에 보안 취약점이 존재합니다.
구성 명령
username <username> password <password>
로컬 라우터가 PPP 피어를 인증하기 위해 사용하는 사용자 이름 및 비밀번호입니다.
피어가 PAP 사용자 이름 및 비밀번호를 전송하면 로컬 라우터는 해당 사용자 이름과 비밀번호가
로컬에서 구성되었는지 확인합니다.일치하는 결과가 있으면 피어가 인증됩니다.
PPP pap sent-username <username> password <password>
아웃바운드 PAP 인증을 활성화합니다.로컬 라우터는 ppp pap sent-username 명령에 의해 지정된 사용자 이름 및 비밀번호를 사용하여 원격 디바이스에 자신을 인증합니다.다른 라우터에는 위에서 설명한 username 명령을 사용하여 구성된 것과 동일한 사용자 이름/비밀번호가 있어야 합니다.
단방향 인증을 사용하는 경우 이 명령은 통화를 시작하는 라우터에서만 필요합니다.양방향 인증의 경우 이 명령은 양쪽에서 구성해야 합니다.


명령어 정리
● R1(config)# user R2 pass 1234
- 의미: 라우터 R1이 PPP 인증 과정에서 사용할 사용자 이름과 비밀번호를 정의합니다.
- 설명:
- user R2: 상대 라우터(R2)의 사용자 이름.
- pass 1234: 해당 사용자 이름과 연결된 비밀번호.
- 역할: R2에서 PAP(Point-to-Point Protocol Authentication) 인증을 요청할 때 사용됩니다. 상대방 인증 요청에 응답할 사용자 이름과 비밀번호를 제공하는 역할을 합니다.
● R1(config-if)# enc ppp
- 의미: PPP(Point-to-Point Protocol)를 이 인터페이스의 캡슐화 프로토콜로 설정.
- 설명:
- 기본적으로 Serial 인터페이스는 HDLC(High-Level Data Link Control)를 사용합니다.
- encapsulation ppp 명령을 통해 HDLC 대신 PPP를 사용하도록 전환합니다.
● R1(config-if)# ppp authentication pap
- 의미: PAP(Password Authentication Protocol)를 사용하여 PPP 인증을 설정.
- 설명:
- ppp authentication pap는 R1이 상대방(R2)로부터 인증 요청을 받을 때 PAP를 사용하도록 지시합니다.
- PAP는 비밀번호를 평문으로 전송하는 방식으로, 보안 수준이 낮지만 설정이 간단합니다.
- 역할:
- 인증 프로세스에서 R1은 R2에게 user R2 pass 1234를 기반으로 인증을 요구합니다.
● R1(config-if)#ppp pap sent R1 pass 1234
- 의미: R1이 PAP 인증 요청에 응답할 때 사용할 사용자 이름과 비밀번호를 설정.
- 설명:
- R1: R1의 사용자 이름.
- pass 1234: 해당 사용자 이름에 대한 비밀번호.
- 역할:
- R2가 R1에게 인증 요청을 보낼 경우, R1은 R1과 1234를 사용해 자신의 신원을 인증합니다.
2. CHAP
CHAP 배경
CHAP(Challenge Handshake Authentication Protocol)(RFC 1994에 정의됨)는 3방향 핸드셰이크를 통해 피어의 ID를 확인합니다. 다음은 CHAP에서 수행되는 일반적인 단계입니다.
- LCP(Link Control Protocol) 단계가 완료되고 두 디바이스 간에 CHAP가 협상되면 인증자가 피어에 챌린지 메시지를 보냅니다.
- 피어는 단방향 해시 함수(MD5(Message Digest 5))를 통해 계산된 값으로 응답합니다.
- 인증자는 예상 해시 값의 자체 계산에 대해 응답을 확인합니다. 값이 일치하면 인증에 성공합니다. 그렇지 않으면 연결이 종료됩니다.
이 인증 방법은 인증자 및 피어에게만 알려진 "비밀"에 따라 달라집니다. 비밀은 링크를 통해 전송되지 않습니다. 인증은 단방향이지만, 상호 인증을 위해 동일한 암호 세트를 사용하여 양방향으로 CHAP를 협상할 수 있습니다.
CHAP 동작

- 인터페이스에서 encapsulation ppp 명령을 실행합니다.
- 두 라우터에서 CHAP 인증 사용 ppp authentication chap 명령을 실행합니다.
- 사용자 이름 및 비밀번호를 구성합니다. 이를 위해 username username password password명령, 여기서 usernameis는 피어의 호스트 이름입니다. 다음 사항을 확인합니다.
- 비밀번호는 양쪽 끝에서 동일합니다.
- 라우터 이름과 비밀번호는 대/소문자를 구분하기 때문에 정확히 동일합니다.
CHAP 특징
- 안전성: 비밀번호가 평문으로 전송되지 않고 해시되어 전송되므로 보안성이 높습니다.
- 주기적인 인증: 연결이 유지되는 동안 주기적으로 인증을 요구하여 보안성을 강화할 수 있습니다.
- 다양한 환경에서 사용: PPP뿐만 아니라 RADIUS, Diameter 등 다양한 인증 프로토콜에서도 사용됩니다.
CHAP 장점
- 높은 보안성: 해시 함수를 사용하여 비밀번호를 암호화하여 중간에 가로채기가 어렵습니다.
- 주기적인 인증: 연결 중에도 주기적으로 인증을 요구하여 보안성을 더욱 강화할 수 있습니다.
- 넓은 활용 범위: 다양한 네트워크 환경에서 사용될 수 있습니다.
CHAP 단점
- 복잡성: PAP에 비해 구현이 복잡합니다.
- 성능 오버헤드: 인증 과정에 시간이 소요되어 성능에 영향을 줄 수 있습니다.
CHAP 활용분야
- 원격 접속: VPN, PPP 등 원격 접속 환경에서 사용자 인증에 사용됩니다.
- 네트워크 장비 관리: 네트워크 장비에 접속할 때 사용자 인증에 사용됩니다.
- 무선 네트워크: 무선랜에서 사용자 인증에 사용됩니다.
CHAP 실습




CHAP 인증 설정을 디버깅으로 확인해보겠습니다. 다음과 같이 debug ppp authentication으로
디버깅 설정을 하고 R1의 S0/0/0 인터페이스를 셧다운 시켰다가 다시 활성화 시키겠습니다.


CHAP 설정은 잘되었는데 제가 원하는 결과가 안나오고 있습니다. 이 부분은 확인후 다시 수정하겠습니다.
참고 자료
● 이성철·피터전 공저 「네트워크 입문」
● Cisco 지점간 프로토콜
https://www.cisco.com/c/en/us/td/docs/net_mgmt/prime/network/3-8/reference/guide/ppp.html#wp1043751
Point-to-Point Protocol
Point-to-Point Protocol
www.cisco.com
● Cisco PPP PAP(Password Authentication Protocol) 구성 및 문제 해결
https://www.cisco.com/c/ko_kr/support/docs/wan/point-to-point-protocol-ppp/10313-config-pap.html
PPP PAP(Password Authentication Protocol) 구성 및 문제 해결
PPP(Point-to-Point Protocol)는 현재 두 가지 인증 프로토콜을 지원합니다.PAP(Password Authentication Protocol) 및 CHAP(Challenge Handshake Authentication Protocol) 입니다. 둘 다 RFC 1334에 지정되며 동기 및 비동기 인터페
www.cisco.com
● Cisco PPP CHAP 인증 구성 및 이해
PPP CHAP 인증 구성 및 이해
이 문서에서는 CHAP(Challenge Handshake Authentication Protocol)가 3방향 핸드셰이크를 통해 피어의 ID를 확인하는 방법에 대해 설명합니다.
www.cisco.com
● Cisco PPP(CHAP 또는 PAP) 인증 문제 해결
PPP(CHAP 또는 PAP) 인증 문제 해결
PPP(Point-to-Point Protocol) 인증 문제는 전화 접속 링크 장애의 가장 일반적인 원인 중 하나입니다.
www.cisco.com
'Network > 라우터' 카테고리의 다른 글
ACL (Access Control List) - 표준형 (0) | 2025.01.27 |
---|---|
동적 라우팅 OSPF (4) - 다중 영역 (0) | 2025.01.26 |
동적 라우팅 OSPF (3) - 다중 영역 (0) | 2025.01.23 |
동적 라우팅 OSPF (2) - 단일 영역 (0) | 2025.01.19 |
동적 라우팅 OSPF (1) (0) | 2025.01.18 |