본문 바로가기
network/network-basic

PPP(Point-to-Point Protocol) 프로토콜

- Layer2 미디어 타입 
. serial - HDLC,PPP 등 이며 주소 체계가 없어 보내면 무조건 연결된 디바이스로 통신 하는 구조

. ethenet - fastethernet,ethernet ... 등 이며 주소가 있기때문에 특정 주소를 가진 디바이스와 통신이 가능하다.

- Serial 미디어 타입 종류
. SLIP - 비표준 방식으로 serial 구간에서 프레임만 쪼개서 보내는 방식이다.
상위 데이에 end(1100 0000) 으로 추가 하여 프레임을 확인 하며 해더가 존재 하지 않는다.

. HDLC - SLIP와 달리 해더 부분이 추가 되었지만 프로토콜 타입이 명시되지 않아 멀티프로세싱이 불가능 하다. cisco가 변형 한 형태의 HDLC도 있는데, 기존 HDLC와 틀리게 프로토콜 타입이 명시 되어 있지만 표준이 아니기 때문에 기존 HDLC와 호환 되지 않는다.

. PPP - HDLC에서 발전 되어 생겨난 프로토콜 HDLC에 비하여 많은 기능이 추가됨

- PPP 3가지 구성 요소

. 시리얼(직력) 링크간에서 데이타 그램을 프레임화 또는 캡슐화
-> HDLC 방식에 기초하여 프레임화 기법을 사용 한다.

. 서로 다른 망계층 프로토콜이 가능

. 링크를 새설하고 구성하고 시험함

- PPP 설정 단계
1)LCP협상 - 압축,인증유무 판단 암호화를 진행 한다.

2)인증 - 인증 유무에 따라 인증을 처리 한다. 인증 방식에는 chap,pap방식 등이 있다.

3)NCP- 데이터를 포워딩 한다.
NCP 는 서로 다른 망계층 프로토콜로 데이터를 전달할 수 있도록한다.
만약, IP 프로토콜을 사용하기 원한다면 NCP 로 IPCP 를 사용하면 된다

- PPP링크와 관련된 주요 상태들

Dead -> Establish        ->    Authentication -> Network -> Open-> Termination->Dead
(휴면)    (링크개설/설정)       (인증)              (망계층구성)  (사용)    (링크해제)     (휴면)

Dead : 하위 물리계층에서 아무런 변화가 없을 때의 휴면 상태

Link Establish : 물리계층에서 캐리어 검출 등에 따라 시작

Authenticate : 협상에 따라 생략 가능

Network : 적절한 NCP 프로토콜 실행됨

Terminate : 해제



- PPP암호화 방식
. PAP : 2way 방식으로 인증 되며 평문으로 암호가 전달 된다.

. CHAP : 3way방식으로 md5로 hash된 정보가 전달 된다. 


- Cisco 라우터 PPP설정 


// 별도 설정이 없을 경우에는 Encapsulation 방식이 HDLC로 연결 되어 있다.
R1#show interfaces serial 1/0
Serial1/0 is up, line protocol is up
  Hardware is M4T
  MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation HDLC, crc 16, loopback not set
  Keepalive set (10 sec)
  Restart-Delay is 0 secs
...

// 위와 같은 라우터 2대가 serial로 연결되어 있는 환경에서 R1의 인터페이스를 ppp Encapsulation로 변경 한다.
R1(config)#interface serial 1/0
R1(config-if)#encapsulation ppp     
// 인터페이스의 상태가 PPP encapsulation으로 변경 된 것을 확인 할 수 있다.

R1#show interfaces serial 1/0
Serial1/0 is up, line protocol is up
  Hardware is M4T
  MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec,
     reliability 255/255, txload 1/255, rxloa
  Encapsulation PPP, LCP Open
  Open: CDPCP, crc 16, loopback not set
  Keepalive set (10 sec)

//  한쪽만 PPP인경우 아래와 같이 패킷이 확인 된다 .PPP를 사용 하기 위해 연결된 디바이스에게 
// request 를 하여 요청을 하는 것이다.

// 같은 방법으로 상대 장비도 ppp로 변경후 확인 할 수 있다.
R2(config)#interface serial 1/0
R2(config-if)#encapsulation ppp     
R2#show interfaces serial 1/0
Serial1/0 is up, line protocol is up
  Hardware is M4T
  MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec,
     reliability 255/255, txload 1/255, rxloa
  Encapsulation PPP, LCP Open
  Open: CDPCP, crc 16, loopback not set
  Keepalive set (10 sec)

// 패킷 샘플링시 아래와 같이 ACK 응답과 echo 를 서로 주고 받으면서 링크가 활성화 될 수 있다.
// 상위 프로토콜에 따라 CDPCP,IPCP등으로 프로토콜이 표기 된다.


// 인증을 위해 아래와 같이 설정 한다 이때 연결할 장비의 계정을 생성하여 해당 계정의 비밀번호로 인증 할 
// 수 있도록 한다.

R1(config)#username R2 password cisco
R1(config-if)#ppp authentication chap

 // 이때 상대 장비는 설정이 안될 경우 인증이 되지 않는다

R2(config-if)#
*Mar  1 00:16:16.343: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial1/0, changed state to down

//R2도 설정을 하는데 이때는 R1이 인증을 해야 하기 때문에 R1의 유저를 추가 한다.
R2(config)#username R1 password cisco
R2(config-if)#ppp authentication chap

// 패킷을 확인 하면 연결이 되었다는것을 확인 할 수 있다.
// chap방식인증은 challange 에 자신의 호스트 이름과 hash된 데이터를 보내어 상대 장비에 인증 하게 된다.

// 아래와 같이 hash된 정보와 호스트 정보를 확인 하여 인증 하는것을 확인 할 수 있다.






 



반응형