본문 바로가기
프로그래밍/이론

PPP - Point to Point Protocol

by 사악신 2012. 1. 11.
PPP 는 OSI 참조모델(2012/01/09 - [프로그래밍/서버관리] - OSI 7계층) 중 데이터링크(2계층)에서 동작한다. PPP Frame 은 다음과 같다.


상기 그림에서 Information 영역을 Protocol + Data 로 세분화하지 않으면 HDLC 의 프레임과 동일하다. 프로토콜에 따라 다음과 같은 값을 가지게된다.


간략하게 보면 다음과 같다.



LCP(Link Control Protocol) 는 링크의 수립, 유지, 종료를 담당한다.



PAP 와 CHAP 는 인증프로토콜이다. PAP 의 경우 clear text 로 계정과 암호를 보내기 때문에 보안상 취약하다. 따라서 MD5 로 해싱하여 처리하는 CHAP 방식이 많이 사용된다.



NCP 는 서로 다른 망계층 프로토콜로 데이터를 전달할 수 있도록한다. 만약, IP 프로토콜을 사용하기 원한다면 NCP 로 IPCP 를 사용하면 된다. PPP 링크와 관련된 주요 상태를 정리하면 다음과 같다.

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

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

Authenticate : 협상에 따라 생략 가능

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

Terminate : 해제


PPP 연결 절차는 다음과 같다.
(이하 예제는  http://sol9501.blog.me/70106935444http://sol9501.blog.me/70107024006  의 내용을 발췌하였다.)


1. LCP 를 사용하여 PPP 연결에 필요한 최대 허용 프레임 길이와 인증과정에서 사용할 인증 프로토콜의 종류 등을 PPP 단말과 서버간에 협상한다.
2. LCP 단계에서 결정된 프로토콜(PAP or CHAP)을 사용하여 인증절차를 수행한다.
3. 인증 성공 후, IPCP 를 사용하여 네트워크계층 프로토콜에 대한 설정값을 할당한다.
4. 상기 과정이 모두 성공하면 IP 와 같은 네트워크계층 프로토콜을 PPP 의 Payload 로 담아 전송한다.


각, 단계를 예를 들어 살펴보면~ 먼저, PPP 연결 옵션 협상...


1. Client 는 자신의 인증프로토콜로 PAP 와 CHAP 를 사용할 수 있으며 최대 수신 가능 프레임 길이(MRU)가 1500임을 PPP 서버에게 메시지를 보낸다.
2. PPP 서버는 인증프로토콜로 CHAP 가 불가능하다고 메시지를 보낸다.
3. Client 는 인증프로토콜로 PAP 를 사용하고 MRU 를 1500 으로 할 것을 PPP 서버에게 메시지를 보낸다.
4. PPP 서버는 MRU를 1500이 아닌 1492로 하도록 비승인 메시지를 보낸다.
5. Client 는 인증프로토콜로 PAP 를 사용하고 MRU 를 1492로 하겠다고 메시지를 보낸다.
6. PPP 서버는 해당 요청을 수락한다.



그리고 IPCP 에 의한 주소할당 및 패킷 전송...


1~6. 생략
7. 단말은 Configuration Request 를 최초 송신.
8. NAS는 자신의 IP 주소가 실린 IPCP Configuration-req 를 보낸다.
9. NAS는 해당 타입 중 Primary/Secondary NMNS 는 제공하지 않는다고 알림.
10. 단말은 8에 대한 응답한다.
11. 단말은 9에서 거부한 Primary/Secondary NMNS 를 제외하고 나머지 부분을 0으로 채워서 보낸다.
12. NAS는 11의 응답으로 해당 주소를 채워 Configure-NAK 메시지를 보낸다.
13. 단말은 12의 요청을 승인할 경우 그 내용을 다시 NAS 에게 보낸다.
14. NAS는 13의 응답으로 모든 설정을 승인한다는 메시지를 보낸다.
15. IP 패킷 송신



반응형

'프로그래밍 > 이론' 카테고리의 다른 글

포트 I/O  (0) 2014.04.18
x86 CPU 메모리맵  (0) 2014.04.17
ArcGIS 측지기준계  (0) 2013.07.11
OSI 7계층  (1) 2012.01.09
HTTP 1.1 규격 참고 링크  (0) 2012.01.04

댓글