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