네트워크 제어 프로토콜

네트워크 제어 프로토콜 또는 네트워크 컨트롤 프로토콜(Network Control Protocol, NCP)은 1970년대에서 1980년대 초까지 사용된 컴퓨터 망의 통신 프로토콜이었다. 현대 인터넷의 전신인 아파넷의 호스트 컴퓨터에서 실행되는 프로토콜 스택의 전송 계층을 제공했다.

NCP는 초기 아파넷에서 사용된 전송 계층 프로토콜인 전송 제어 프로토콜(TCP)에 앞섰다. NCP는 두 개의 포트 번호를 활용하는 단방향 프로토콜로, 양방향 통신을 위해 두 개의 연결을 설정했다. 각 응용 계층 애플리케이션 또는 프로토콜에는 홀수 및 짝수 포트가 예약되었다. TCP와 UDP의 표준화로 인해 애플리케이션당 두 개의 단방향 포트를 사용하는 대신 하나의 이중 포트를 사용하게 되었다.

이름에 대한 혼란은 아파넷에서 작업했던 엔지니어들 사이에서도 존재했다. 원래는 프로토콜 스택 전체에 대한 이름이 필요 없었으므로 존재하지 않았다. TCP 개발이 시작되었을 때, 그 전신에 대한 이름이 필요했고, 기존의 약어 'NCP'(원래 이 스택을 구현한 소프트웨어인 네트워크 제어 프로그램을 지칭)가 유기적으로 채택되었다. 결국, 그 약어의 원래 확장이 새로운 의미에 부적절하다는 것을 깨달았고, '네트워크 제어 프로토콜'이라는 새로운 의사-역두문자어가 다시 유기적으로, 공식적인 결정 없이 만들어졌다.

역사
아파넷에서 네트워크 내에서 사용되는 물리 계층, 데이터 링크 계층, 네트워크 계층의 프로토콜은 별도의 인터페이스 메시지 프로세서(IMP)에 구현되었다. 호스트는 일반적으로 다른 종류의 인터페이스를 사용하여 IMP에 연결했으며, 다른 물리적, 데이터 링크 및 네트워크 계층 사양을 가졌다. IMP의 기능은 로버트 칸이 작성한 BBN Report 1822의 호스트/IMP 프로토콜에 의해 명시되었다.

캘리포니아 대학교 로스앤젤레스(UCLA)의 레너드 클라인록의 후원 아래, 당시 UCLA 컴퓨터 과학 대학원생이었던 스티브 크로커는 네트워크 워킹 그룹(NWG)을 결성하고 이끌었다. 그는 존 포스텔 등과 함께 네트워크 제어 프로그램으로 알려진 호스트 간 프로토콜을 설계했으며, 이는 UCLA, 유타 대학교, SRI 인터내셔널의 엔지니어들과의 일련의 회의 끝에 1969년 아파넷의 초기 RFC 문서에서 개발되었다. 크로커는 "대부분의 개발은 웅장한 계획에 따라 진행되었지만, 프로토콜 설계와 RFC 생성은 대체로 우발적이었다"고 말했다. ARPA의 배리 웨슬러의 승인 후, 그는 특정 이국적인 요소들을 제외하도록 명령했다, 1970년 초에 로 최종 확정되었으며, 1970년 12월 15일에 아파넷의 모든 노드에 배포되었다.

NCP는 아파넷 네트워크 인터페이스를 체계화하여 쉽게 구축하고 더 많은 사이트가 네트워크에 참여할 수 있도록 했다. 이는 다른 아파넷 호스트 컴퓨터에서 실행되는 프로세스 간의 연결 및 흐름 제어를 제공했다. 원격 로그인 및 파일 전송과 같은 애플리케이션 서비스는 NCP 위에 구축되어 다른 호스트 컴퓨터와의 연결을 처리하는 데 사용되었다. NWG의 다른 참여자들은 이러한 애플리케이션 계층 프로토콜인 텔넷과 FTP를 개발했다.

하위 프로토콜 계층은 IMP-호스트 인터페이스에 의해 제공되었으므로, NCP는 본질적으로 아파넷 호스트 간 프로토콜(AHHP)과 초기 연결 프로토콜(ICP)로 구성된 전송 계층을 제공했다. AHHP는 두 호스트 간에 단방향, 흐름 제어 데이터 스트림을 전송하는 절차를 정의했다. ICP는 한 쌍의 호스트 프로세스 간에 이러한 스트림의 양방향 쌍을 설정하는 절차를 정의했다. 애플리케이션 프로토콜(예: FTP)은 NCP의 최상위 계층 인터페이스를 통해 네트워크 서비스에 접근했다. 이는 버클리 소켓 인터페이스의 선구자였다.

네트워크 제어 프로그램
네트워크 제어 프로그램(Network Control Program, 보통 NCP로 표기)은 아파넷의 네트워크 제어 프로토콜을 구현한 호스트의 소프트웨어 이름이었다.

거의 보편적으로 약어 NCP로 불렸다. 이는 나중에 프로토콜 스위트 자체를 지칭하는 데 사용되었다.

NCP는 멀틱스, TENEX, 유닉스, TOPS-10을 포함한 많은 운영체제용으로 작성되었으며, 일부 NCP는 현재에도 남아있다(물론 지금은 빈티지 컴퓨터 애호가들만이 사용한다).

TCP/IP로의 전환
TCP/IP 구현은 1970년대 후반에 시작되었다.
아파넷 전반에 걸친 광범위한 배포는 1981년에 본격적으로 시작되었고, 1982년 말 며칠 동안 백본 라우터는 대부분의 호스트에 대해 NCP 트래픽을 비활성화하여 전환 준비 상태를 테스트했다.

1983년 1월 1일, 플래그 데이로 알려진 이 날에 아파넷이 핵심 네트워킹 프로토콜을 NCP에서 더 유연하고 강력한 TCP/IP 프로토콜 스위트로 변경하면서 NCP는 공식적으로 폐기되었으며, 이는 현대 인터넷의 시작을 알리는 계기가 되었다.

"강제적인" 플래그 데이 전환에도 불구하고, 1983년 중반까지 일부 사이트에서는 NCP를 계속 사용했지만, 이는 백본 운영자의 허가를 받은 특별한 경우였고, 결국 모든 호스트는 TCP/IP로 전환되거나 제거되었다.

 같이 보기 

 프로토콜 전쟁

 내용주 

 각주 

출처


 더 읽어보기 



  (now offline, but a later version, which is almost identical to the original version, can be found here)
  (this does not seem to be online, but an early version, which is almost identical to the final version, can be found here)



 외부 링크 
 Network Control Program - 컴퓨터 역사 위키의 NCP 세부 정보
 SRI-NOSC - 완전한 V6 유닉스 NCP 소스
 일리노이 NCP 문서

분류:네트워크 프로토콜