본문으로 이동

넷웨어 코어 프로토콜

위키백과, 우리 모두의 백과사전.

넷웨어 코어 프로토콜(NetWare Core Protocol, NCP)은 노벨의 일부 제품에서 사용되는 네트워크 프로토콜이다. 이 프로토콜은 주로 노벨 네트웨어 클라이언트-서버 운영 체제와 연관되어 있으며, 원래는 주로 MS-DOS 클라이언트 스테이션을 지원했지만, 나중에 마이크로소프트 윈도우, 맥 OS의 역사, 리눅스, 윈도우 NT, Mac OS X, 다양한 유닉스 플랫폼에 대한 지원이 추가되었다.[1]

NCP는 파일, 인쇄, 디렉토리, 클럭 동기화, 메시징, 원격 명령 실행 및 기타 네트워크 서비스 기능에 접근하는 데 사용된다. 원래는 IPX/SPX 프로토콜 스택의 쉬운 네트워크 구성과 작은 메모리 공간을 활용했다. 1991년부터 TCP/IP 구현이 가능해졌다.[1]

노벨 eDirectory디렉토리 서비스 트리 내 서버 간의 데이터 변경을 동기화하는 데 NCP를 사용한다.

기술 정보

[편집]

원래 IPX/SPX 서버 구현은 노벨 네트웨어 플랫폼에서만 제공되었으며 현재는 구식이다. TCP/IP 구현은 TCP/UDP 포트 524를 사용하며 이름 해결을 위해 SLP에 의존한다.

IPX/SPX 네트워크에서 NCP 작동을 위해 IPX 프로토콜이 패킷 유형 필드를 17로 설정하여 사용되었다. 워크스테이션(클라이언트 스테이션) 측에서는 IPX 소켓 번호 0x4003이 사용되었고, 서버 측에서는 소켓 번호 0x0451이 사용되었다.

NCP PDU는 다음과 같은 구조를 가진다:

옥텟 필드
2 NCP 유형
1 시퀀스 번호
1 연결 번호, 하위 옥텟
1 작업 번호
1 연결 번호, 상위 옥텟
1 완료 코드 (응답 패킷에만 해당)
1 연결 상태 (응답 패킷에만 해당)
var 데이터

NCP 유형 필드는 작업 유형을 결정한다:[2]

의미
0x1111 서비스 연결 생성
0x2222 서비스 요청
0x3333 서비스 응답
0x5555 서비스 연결 파괴
0x7777 버스트 모드 전송
0x9999 요청 처리 중 (서버 사용 중)

개별 요청은 시퀀스 번호(모듈로 256)로 식별된다. 연결 번호는 서버의 개별 클라이언트 스테이션 연결을 식별한다. 버전 2.x까지의 노벨 네트웨어 서버는 최대 255개의 연결을 지원했으며 연결 번호는 1옥텟만 차지했다. 나중에는 2옥텟으로 확장되었다. 작업 번호는 요청에서 3, 응답에서 1이다. 데이터 필드는 개별 서비스를 구별하는 NCP 함수 번호 옥텟으로 시작한다.

번호 기능
0 사용자 객체 로그인
1 사용자 암호 변경
2 사용자-스테이션 세트 매핑
3 객체-번호 매핑
4 번호-객체 매핑
5 스테이션의 로그인 정보 가져오기
8 번호-그룹 이름 매핑
9 그룹 G의 멤버 세트 M 가져오기
10 로그인 영역 진입
12 네트워크 일련 번호 확인
13 네트워크 메시지 기록
14 디스크 사용률 가져오기
15 파일 정보 검색
16 파일 정보 설정
17 파일 서버 정보 가져오기
18 네트워크 일련 번호 가져오기
19 인터넷 주소 가져오기
20 객체 로그인
21 객체 연결 목록 가져오기
22 스테이션의 로그인 정보 가져오기
23 암호화 키 가져오기
24 객체 암호화 로그인
31 객체에서 연결 목록 가져오기
50 바인딩리 객체 생성
51 바인딩리 객체 삭제
52 객체 이름 변경
53 바인딩리 객체 ID 가져오기
54 바인딩리 객체 이름 가져오기
55 바인딩리 객체 검색
56 바인딩리 객체 보안 변경
57 속성 생성
58 속성 삭제
59 바인딩리 속성 보안 변경
60 속성 검색
61 속성 값 읽기
62 속성 값 쓰기
63 바인딩리 객체 암호 확인
64 바인딩리 객체 암호 변경
65 세트에 바인딩리 객체 추가
66 세트에서 바인딩리 객체 삭제
67 바인딩리 객체가 세트에 있는지 확인
68 바인딩리 닫기
69 바인딩리 열기
70 바인딩리 접근 수준 가져오기
71 바인딩리 객체 트러스티 경로 검색
72 바인딩리 객체 접근 수준 가져오기
73 호출 스테이션이 관리자인지 확인
74 바인딩리 객체 암호 암호화 확인
75 바인딩리 객체 암호 암호화 변경
76 객체 관계 목록
100 큐 생성
101 큐 파괴
102 큐 현재 상태 읽기
103 큐 현재 상태 설정
104 큐 작업 및 파일 생성
105 파일 닫기 및 큐 작업 시작
106 큐에서 작업 제거
107 큐 작업 목록 가져오기
108 큐 작업 항목 읽기
109 큐 작업 항목 변경
110 큐 작업 위치 변경
111 큐 서버를 큐에 연결
112 큐에서 큐 서버 분리
113 큐 작업 서비스
114 큐 작업 서비스 완료
115 큐 작업 서비스 중단
116 클라이언트 권한으로 변경
117 큐 서버 권한 복원
118 큐 서버 현재 상태 읽기
119 큐 서버 현재 상태 설정
120 큐 작업 크기 가져오기
150 현재 계정 상태 가져오기
151 계정 요금 제출
152 계정 보류 제출
153 계정 메모 제출
200 콘솔 권한 확인
201 파일 서버 설명 문자열 가져오기
202 파일 서버 날짜 및 시간 설정
203 파일 서버 로그인 비활성화
204 파일 서버 로그인 활성화
205 파일 서버 로그인 상태 가져오기
206 지워진 모든 파일 제거
207 트랜잭션 추적 비활성화
208 트랜잭션 추적 활성화
209 콘솔 브로드캐스트 설정
210 연결 번호 지우기
211 파일 서버 다운
212 파일 시스템 통계 가져오기
213 TTS 통계 가져오기
214 디스크 캐시 통계 가져오기
215 드라이브 매핑 테이블 가져오기
216 물리적 디스크 통계 가져오기
217 디스크 채널 통계 가져오기
218 연결 작업 정보 가져오기
219 연결 열린 파일 가져오기
220 파일을 사용하는 연결 가져오기
221 연결 및 파일별 물리적 레코드 잠금 가져오기
222 파일별 물리적 레코드 잠금 가져오기
223 연결별 논리적 레코드 가져오기
224 논리적 레코드 정보 가져오기
225 연결 세마포어 가져오기
226 세마포어 정보 가져오기
227 LAN 드라이버 구성 정보 가져오기
229 연결 사용 통계 가져오기
230 객체의 남은 디스크 공간 가져오기
231 파일 서버 LAN I/O 통계 가져오기
232 파일 서버 기타 정보 가져오기
233 볼륨 정보 가져오기

데이터 필드의 나머지 내용과 길이는 NCP 함수에 따라 달라진다.

클라이언트 측 구현

[편집]

각주

[편집]
  1. “Final Evaluation Report Novell, Incorporated NetWare 4.11 Server”. NATIONAL COMPUTER SECURITY CENTER. 1998년 6월 22일. 2023년 2월 8일에 확인함. , page 6
  2. “How to quickly identify error conditions with Ethereal”. 2003년 7월 15일. 2023년 2월 8일에 확인함. 

외부 링크

[편집]