PPP 스택(계속)

Download Report

Transcript PPP 스택(계속)

컴퓨터네트워크
- 점 대 점 접근 : PPP -
충북대학교 컴퓨터교육과
박 찬 교수
2012년 4월 10일
12 장 점 대 점 접근 : PPP
• 12.1 점 대 점 프로토콜
• 12.2 PPP 스택
2
12.1 점 대 점 프로토콜
• 점 대 점 접근(point-to-point access)
– 네트워크에서 두 개의 장치가 전용선으로 연결된 경우
• 점 대 점 프로토콜(PPP; point-to-point protocol)
– 점 대 점 접근을 위해 사용되는 프로토콜
3
점 대 점 프로토콜(계속)
• 프레임 형식
– PPP는 HDLC의 한 형식을 사용
4
점 대 점 프로토콜(계속)
• 프레임 형식
–
–
–
–
–
–
Flag 필드 : PPP 프레임의 경계를 구분(01111110)
Address 필드 : HDLC의 브로드캐스팅 주소 사용(11111111)
Control 필드 : HDLC의 U-프레임을 사용(11000000)
Protocol 필드 : 데이터 필드에 무엇이 저장되어 있는지 정의
Data 필드 : 사용자 데이터 또는 다른 정보 저장
Frame check sequence(FCS) 필드 : 2바이트 또는 4바이트의
CRC
5
점 대 점 프로토콜(계속)
• 천이 상태
6
점 대 점 프로토콜(계속)
• 천이 상태
– 정지(Idle)상태 – 링크가 이용되고 있지 않는 상태
– 설정(Establishing)상태
• 통신을 시작하는 상태
• 양쪽 단말간 옵션에 대한 협상
– 인증(Authentication)상태
• 선택사항으로 필요한 경우에만 사용
– 네트워킹(Networking)상태
• 제어 및 데이터 패킷 교환가능 상태
– 종료(Terminating)상태
• 링크를 해제하는 상태
7
12.2 PPP 스택
• PPP는 링크 제어 프로토콜, 인증 프로토콜, 네트워크 제
어 프로토콜을 사용
• 프로토콜 스택
8
PPP 스택(계속)
•
•
•
•
링크 제어 프로토콜(LCP; link control protocl)
링크의 설정, 유지, 해제 담당
선택사항 협상기능 제공
프레임에 캡슐화된 LCP패킷
9
PPP 스택(계속)
• LCP 필드
–
–
–
–
코드(code) : LCP 패킷 종류
ID : 요청의 대한 해당 응답을 찾는데 사용되는 값
길이 : LCP 패킷 전체 길이
정보 : LCP 패킷에 필요한 정보
10
PPP 스택(계속)
• LCP 패킷과 코드
Code
Packet Type
Description
0116
Configure-request Contains the list of proposed options and their values
0216
Configure-ack
Accepts all options proposed
0316
Configure-nak
Announces that some options are not acceptable
0416
Configure-reject
Announces that some options are not recognized
0516
Terminate-request
Requests to shut down the line
0616
Terminate-ack
Accepts the shut down request
0716
Code-reject
Announces an unknown code
0816
Protocol-reject
Announces an unknown protocol
0916
Echo-request
A type of hello message to check if the other end is alive
0A16
Echo-reply
The response to the echo-request message
0B16
Discard-request
A request to discard the packet
PPP 스택(계속)
• 구성 패킷
–
–
–
–
–
양 단말간의 선택 사항을 협상
구성 요청(configure-request)
구성 확인 응답(configure-ack)
구성 부정 응답(configure-nak)
구성 거부(configure-reject)
12
PPP 스택(계속)
• 구성 요청
– 연결 시작을 원하는 단말은 다른 쪽에 여러 개의 0과 다른 선택
사항을 가진 구성 요청 메시지를 전송
– 모든 선택사항들은 한 패킷으로 협상이 종료
• 구성 확인 응답
– 구성 요청 패킷에 있는 모든 선택 사항을 수신기에서 수용할때
구성 확인 응답을 전송
– 요청된 모든 선택사항을 반복
13
PPP 스택(계속)
• 구성 부정 응답
– 모든 선택사항을 인식하였으나 일부 값이 생략되거나 수정되어
야 할 경우 구성 부정 응답을 전송
• 구성 거부
– 일부 선택사항이 인식되지 않을때 인식되지 않은 선택사항을 표
시하여 구성 거부를 전송
14
PPP 스택(계속)
• 링크 종료 패킷
– 양 단말의 연결을 종료 하는데 상요
– 종료 요청(terminate-request)
– 종료 확인 응답(terminate-ack)
15
PPP 스택(계속)
• 링크 감시와 디버깅 패킷
– 코드 거부(code-reject) : 패킷 안에 인식할 수 없는 코드를 가진
패킷을 수신하였을 때 코드 거부 패킷을 전송
– 프로토콜 거부(protocol-reject) : 패킷 안에 인식할 수 없는 프로
토콜을 가진 패킷을 수신하였을 때 프로토콜 거부 패킷을 전송
– 에코 요청(echo-request) : 링크를 감시하기 위해 전송, 링크가
제대로 동작하는지 알기 위해
– 에코 응답(echo-reply) : 에코 요청의 응답
– 폐기 거부(discard-reject) : 루프백(loopback) 시험의 일종으로
송신기가 자신의 루프백 상황을 검사하기 위해 사용
16
PPP 스택(계속)
• 선택 사항
– 두 단말간에 이루어지는 협상
Option
Default
Maximum receive unit
1500
Authentication protocol
None
Protocol field compression
Off
Address and control field compression
Off
PPP 스택(계속)
• 인증 프로토콜
– 자원 접근을 원하는 사용자 신원 증명
– 패스워드 인증 프로토콜(PAP; Password Authentication
Protocol)
– 챌린지 핸드셰이크 인증 프로토콜(CHAP; Challenge Handshake
Authentication Protocol)
18
PPP 스택(계속)
• PAP(Password Authentication Protocl)
– 2단계 처리 절차
– 사용자 이름과 패스워드 전달
– 유효성 확인 후 연결 허용 또는 거부
19
PPP 스택(계속)
• PAP 패킷
– PPP 프레임에 캡슐화
– 프로토콜 필드 값(C02316)
– 인증 요구(authentication-request) : 사용자가 이름, 패스워드를
전송하는데 사용
– 인증 확인 응답(authentication-ack) : 시스템이 접근을 허용할 때
사용
– 인증 부정 응답(authentication-na) : 시스템이 접근을 거부할 때
사용
20
PPP 스택(계속)
• PAP 패킷
21
PPP 스택(계속)
• CHAP(Challenge Handshake Authentication Protocol)
– 3-way handshake 인증 프로토콜
– 시스템이 챌린지 패킷을 사용자에게 전송
– 사용자는 챌린지 값과 사용자의 자체 패스워드를 받아들이는 함
수를 적용하여 결과를 생성 후 시스템에 전송
– 시스템은 챌린지 값과 사용자 패스워드 값을 같은 함수 값에 적
용하여 일치하면 접근을 허용
22
PPP 스택(계속)
• CHAP(Challenge Handshake Authentication Protocol)
23
PPP 스택(계속)
• CHAP 패킷
–
–
–
–
–
–
PPP 프레임에 캡슐화
프로토콜 필드값(C22316)
챌린지(challenge) : 시스템이 챌린지 값을 전송하는데 사용
응답(response) : 사용자가 계산 결과를 전송할 때 사용
성공(success) : 시스템에 접근을 허용할 때 사용
실패(failure) : 시스템에 접근을 거부할 때 사용
24
PPP 스택(계속)
• CHAP 패킷
25
PPP 스택(계속)
• 네트워크 제어 프로토콜(NCP; Network Control
Protocol)
– 링크가 설정되고 인증이 성공적으로 이루어지면 네트워킹 상태
가됨
– 이때 NCP(Network Control Protocol)를 사용
– NCP는 네트워크층 프로토콜(IP, IPX, AppleTalk등)에서 오는 데이
터를 PPP 프레임에 캡슐화를 함
26
PPP 스택(계속)
• 인터네트워크 프로토콜 제어 프로토콜(IPCP;
Internetwork Protocol Control Protocol)
– IP 패킷에 대해 네트워크 연결 성정 또는 종효하는 패킷들의 집
합
– PPP 프레임에 캡슐화된 IPCP 패킷(프로토콜 필드 값 802116)
27
PPP 스택(계속)
• IPCP 패킷을위한 코드 값
Code
IPCP Packet
01
Configure-request
02
Configure-ack
03
Configure-nak
04
Configure-reject
05
Terminate-request
06
Terminate-ack
07
Code-reject
PPP 스택(계속)
• 예제
– PPP 연결이 임의의 네트워크층 패킷을 전송할 때
29