애플토크
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
애플토크(AppleTalk)는 1984년 애플에서 개발된 근거리 통신망(LAN) 프로토콜로, 매킨토시 컴퓨터에 표준으로 탑재되었다. 초기에는 매킨토시의 시리얼 포트를 이용한 LocalTalk를 물리 계층으로 사용했으며, 이후 이더넷, 토큰 링 등 다양한 물리 계층을 지원했다. AppleTalk는 자체적인 주소 설정 및 이름 확인 프로토콜을 통해 사용 편의성을 높였지만, TCP/IP가 주류가 되면서 쇠퇴하여 macOS 10.6에서 지원이 종료되었다. 주요 프로토콜로는 AARP, AFP, DDP, NBP 등이 있으며, 타사 솔루션 및 다양한 운영체제에서 지원되기도 했다.
더 읽어볼만한 페이지
- 네트워크 운영체제 - 시스코 IOS
시스코 IOS는 시스코 시스템즈의 네트워크 장비 운영체제로, 라우터용으로 개발되어 다양한 하드웨어 기능과 네트워킹 프로토콜에 적응하며 CLI를 통해 네트워크 기능을 제어 및 관리할 수 있도록 설계되었고, IOS XR, IOS XE 등 후속 운영 체제가 등장했다. - 네트워크 운영체제 - OpenWrt
OpenWrt는 무선 라우터와 같은 임베디드 장치용 리눅스 기반 자유 소프트웨어 펌웨어로, opkg 패키지 관리 시스템을 통한 기능 확장과 사용자 정의가 가능하며 LEDE 포크 프로젝트와의 재통합을 거쳐 발전해왔다. - 애플의 소프트웨어 - 아이튠즈
아이튠즈는 애플이 개발한 멀티미디어 플랫폼이자 디지털 미디어 플레이어 소프트웨어로, 초기에는 음악 재생 및 관리에 집중했으나 이후 기능이 확장되어 macOS Catalina부터는 개별 앱으로 기능이 분리되었고 윈도우에서는 'Apple 기기' 앱에 관련 기능이 통합되었다. - 애플의 소프트웨어 - 사파리 (웹 브라우저)
사파리는 애플이 개발한 웹 브라우저로, 2003년 처음 출시되어 웹킷 엔진을 기반으로 빠른 속도와 웹 표준 지원을 제공하며, macOS, iOS, iPadOS 등에서 기본 브라우저로 사용된다. - 네트워크 프로토콜 - UUCP
UUCP는 유닉스 시스템 간 파일 복사, 원격 명령 실행, 이메일 및 유즈넷 뉴스 전송을 위한 프로토콜 및 프로그램 모음으로, 초기 인터넷 확장에 중요한 역할을 했으나 TCP/IP 기반 서비스 보편화로 사용이 감소했다. - 네트워크 프로토콜 - 프레임 릴레이
프레임 릴레이는 LAN 간 또는 WAN 종단점 간 데이터 전송을 위한 고속 패킷 교환 방식 통신 프로토콜로, X.25 프로토콜을 간소화하여 속도를 높이고, 영구 가상 회선을 통해 안정적인 연결을 제공하며, 서비스 품질 설정을 통해 프레임 우선순위를 지정할 수 있었으나, 현재는 다른 기술에 밀려 사용이 감소하고 있다.
애플토크 | |
---|---|
기본 정보 | |
![]() | |
개발자 | 애플 컴퓨터 |
출시일 | 1985년 |
하드웨어 | 로컬토크, 기타 |
2. 역사
AppleTalk는 TCP/IP와는 전혀 다른 네트워크 프로토콜이었다. 초기 TCP/IP는 복잡한 설정이 필요했지만, AppleTalk는 "케이블을 연결하면 바로 사용할 수 있는" 네트워크였다.[23] AppleTalk 지원 기기는 전원 투입 또는 네트워크 연결 시 자동으로 주소와 머신 이름을 할당받고, 네트워크 상의 파일 서버나 프린터를 발견할 수 있었다. 이러한 자동 설정 방식은 TCP/IP보다 앞선 기술이었지만, 네트워크 부하가 크다는 단점이 있었다.
매킨토시 등장 초기, WYSIWYG를 구현하기 위해 화면 표시 해상도는 72dpi였고, QuickDraw를 사용하여 스케일 가능한 이미지를 표현했다. 초기 매킨토시에서는 화면 표시 연산이 가능했지만, 인쇄용으로는 72dpi가 부족하여 프린터 내에 별도의 MPU와 메모리가 필요했다. 이로 인해 프린터 가격이 상승했고, 워크 그룹에서 프린터를 공유하기 위해 신속한 네트워크 구축이 필요했다. 이에 따라 매킨토시에 표준 탑재된 시리얼 포트의 RS-422를 물리 매체로 한 LAN 프로토콜인 AppleTalk가 등장하게 되었다. Apple IIGS에도 LocalTalk가 탑재되었다.
최초의 AppleTalk는 1984년에 개발되었다. 1989년에는 더 큰 네트워크 환경을 위한 확장판인 AppleTalk Phase 2가 공개되었다.
이후 인터넷이 보급되면서 TCP/IP가 주류가 되었고, AppleTalk와 TCP/IP를 공존시켜야 할 필요성이 생겼다. 사용자와 관리자는 양립을 위한 복잡한 설정을 해야 했고, 프로토콜 구조가 달라 일반적인 라우터로는 다른 네트워크에 연결할 수 없어 AppleTalk 대응 라우터가 필요했다. MacIP이나 IPTalk처럼 IP를 AppleTalk로, 또는 AppleTalk를 IP로 캡슐화하는 기술도 있었지만, 현재는 사용되지 않는다.
시간이 지나면서 TCP/IP도 자동 설정 프로토콜(DHCP)이 등장하는 등 발전했다. 현재 Apple 제품은 AppleTalk의 자동 설정과 유사한 기능을 TCP/IP 상에서 구현하고 네트워크 부하를 줄인 Bonjour를 탑재하고 있다.
Mac OS 8.5부터 서버 브라우징에 TCP/IP 기반 SLP이 채택되었고, Mac OS X v10.2부터는 Bonjour로 전환되었다. 프린터 공유는 AppleTalk의 PAP가 사용되었지만, Mac OS X부터는 LPR, IPP, SMB (CIFS) 등도 이용 가능하게 되었다. 파일 공유는 AFP over TCP로 전환되었다.
Mac OS X v10.4에서는 NBP를 통한 AFP 서버 브라우징은 가능했지만, 파일 서버 접속은 AFP over TCP만 가능했다. Mac OS X v10.5에서는 AppleTalk 프린터 사용만 가능했고, Mac OS X v10.6에서 AppleTalk 지원이 완전히 종료되었다.
2. 1. AppleNet (1983)
1983년 1월, 애플 리사 컴퓨터가 출시된 후, 애플은 해당 컴퓨터를 위한 근거리 통신망(LAN) 시스템 개발에 상당한 노력을 기울였다. '''애플넷'''(AppleNet)으로 알려진 이 시스템은 기본적인 제록스 XNS 프로토콜 스택[1]을 기반으로 했지만, 제록스의 2.94Mbit/s 이더넷 대신 자체 제작한 1Mbit/s 동축 케이블 시스템에서 실행되었다. 애플넷은 1983년 초에 발표되었으며, 리사와 애플 II를 위한 애플넷 카드 플러그인의 목표 가격은 500USD로 정해져 정식으로 소개되었다.당시에는 이더넷, 토큰 링, 이코넷, ARCNET을 포함한 초기 LAN 시스템들이 막 시장에 출시되고 있었다. 이것은 1983년 5월 애너하임에서 열린 전국 컴퓨터 회의(NCC)와 같은 전시회를 지배하며 당시 주요 상업적 노력의 주제였다. 모든 시스템이 시장에서 우위를 차지하기 위해 경쟁했지만, 이때조차 이더넷의 광범위한 수용은 사실상의 표준이 될 것임을 시사했다.[2] 스티브 잡스는 이 전시회에서 구르샤란 시두에게 "네트워킹이 왜 인기를 얻지 못했는가?"라는 질문을 던졌다.
4개월 후인 10월에 애플넷은 취소되었다. 당시 애플은 "애플은 네트워킹 시스템을 만드는 사업을 하지 않는다는 것을 깨달았다. 우리는 애플넷을 자체적으로 구축하고 사용했지만, 만약 출시했다면 새로운 표준이 등장하는 것을 보았을 것이다."라고 발표했다. 1월에 잡스는 대신 IBM의 토큰 링을 지원할 것이라고 발표했는데, 이는 "몇 달 안에" 출시될 것으로 예상했다.
2. 2. AppleBus (1984)
이 기간 동안 애플은 매킨토시 컴퓨터 개발에 몰두하고 있었다. 개발 과정에서 엔지니어들은 더 저렴하고 흔한 UART 대신 Zilog 8530 직렬 제어 칩(SCC)을 사용하여 직렬 포트 연결을 제공하기로 결정했다.[3] SCC는 UART보다 약 5USD 더 비쌌지만, 최대 250킬로비트/초 (또는 추가 하드웨어로 더 높은 속도)의 훨씬 빠른 속도를 제공했으며, IBM의 Bisync와 같은 여러 기본적인 네트워킹 유사 프로토콜을 내부적으로 지원했다.SCC는 여러 장치를 포트에 연결할 수 있게 해주기 때문에 선택되었다. 유사한 SCC를 갖춘 주변 장치는 내장된 프로토콜을 사용하여 통신할 수 있었고, 동일한 버스의 다른 주변 장치와 데이터를 교차 배치했다. 이렇게 하면 컴퓨터 뒷면에 더 많은 포트가 필요 없게 되었고, 더 복잡한 장치를 지원하기 위한 확장 슬롯을 제거할 수 있었다. 초기 컨셉은 '''AppleBus'''로 알려졌으며, 현대의 USB와 유사한 방식으로 호스트 매킨토시가 "단순" 장치를 폴링하는 시스템을 구상했다.
2. 3. AppleTalk Personal Network (1985)
매킨토시 팀은 레이저라이터와 기타 자원을 공유하기 위해 매킨토시, 레이저라이터, 파일 서버 시스템을 갖춘 매킨토시 오피스를 구상했다. 그러나 1983년 말, IBM의 토큰 링은 출시되지 못했고, 1985년 10월에야 출시되었다.[4]잡스의 질문은 시두에게 애플버스 하드웨어를 기반으로 하는 새로운 네트워킹 시스템 개발을 이끌도록 했다. 이 시스템은 사용자가 직접 설치하고 구성할 수 있으며, 고정된 네트워크 주소가 필요 없는 진정한 플러그 앤 플레이 네트워크였다.
1984년 초, "새로운" 애플버스가 발표되었고,[5] 매킨토시나 리사에서 직렬 포트에 연결된 작은 상자를 통해 연결되었으며, 케이블로 다음 컴퓨터에 연결되었다. 애플 II 및 애플 III용 어댑터도 발표되었다.[6] 애플은 애플버스 네트워크가 토큰 링 시스템 내에서 하나의 노드로 연결될 수 있다고 발표했지만, 자세한 작동 방식은 불분명했다.
1985년 초 출시 직전에 AppleBus는 '''AppleTalk'''로 이름이 변경되었고, '''AppleTalk 개인 네트워크'''로 판매되었다.
물리 계층에는 몇 가지 제한이 있었다. 속도는 230.4 kbit/s, 최대 거리는 약 304.80m, LAN당 노드는 32개였다. 그러나 기본 하드웨어가 Mac에 내장되어 노드 추가 비용은 어댑터 상자당 약 50달러였다. 이더넷이나 토큰 링 카드가 수백, 수천 달러였던 것에 비하면 저렴했다. 또한 전체 네트워킹 스택은 약 6 kB의 RAM만 필요해 모든 Mac에서 실행 가능했다.
AppleTalk의 느린 속도는 비용을 더욱 절감했다. RS-422의 균형 잡힌 송수신 회로 대신 AppleTalk 케이블은 단일 공통 전기적 접지를 사용해 속도를 약 500 kbit/s로 제한했지만, 하나의 전선을 제거하여 일반 3선 케이블을 사용할 수 있었다. 어댑터는 "자동 종단"되도록 설계되어 네트워크 끝 노드는 마지막 커넥터를 연결하지 않아도 되었다. 전선을 루프로 연결하거나 허브가 필요하지 않았다.
이 시스템은 향후 확장을 위해 설계되었다. 주소 지정 시스템으로 LAN에서 255개 노드까지 확장 가능했고(당시에는 32개), "브리지"(라우터)를 사용해 LAN을 더 큰 컬렉션으로 상호 연결할 수 있었다. "존"을 통해 브리지 연결된 인터넷 내에서 장치를 주소 지정할 수 있었다. AppleTalk는 처음부터 모든 기본 물리적 링크와 함께 사용하도록 설계되었으며, 몇 년 안에 물리 계층은 AppleTalk 프로토콜과 구별하기 위해 '''LocalTalk'''로 이름이 변경되었다.
AppleTalk의 주요 장점은 유지 관리가 필요 없다는 것이었다. 장치를 네트워크에 연결하려면 어댑터를 컴퓨터에 꽂고 케이블을 다른 어댑터의 사용 가능한 포트에 연결하면 되었다. AppleTalk 네트워크 스택은 네트워크 주소를 협상하고, 컴퓨터에 사람이 읽을 수 있는 이름을 할당하며, 네트워크에 있는 다른 컴퓨터의 이름과 유형 목록을 컴파일하여 사용자가 선택기를 통해 장치를 탐색할 수 있도록 했다. AppleTalk는 사용하기 쉬워 여러 대의 Mac이 같은 방에 있으면 임시 네트워크가 생성되는 경향이 있었다.[7] 애플은 이를 광고에 사용하여 비행기 안 두 좌석 사이에서 네트워크가 생성되는 모습을 보여주었다.[8]
매킨토시 등장 당시 WYSIWYG를 실현하기 위해 1 포인트 = 1 픽셀이 되는 72dpi를 화면 표시 해상도로 사용했고, 스케일 가능한 이미지를 표현하기 위해 QuickDraw를 이용했다.
초기 매킨토시에서 화면 표시용 연산은 본체 MPU (68000)와 메모리로 실현 가능했다. 그러나 인쇄용으로는 72dpi가 부족했고, 프린터 내에 본체와 동등 이상의 MPU와 메모리가 필요했다.
이 때문에 프린터 가격이 높아 워크 그룹에서 프린터를 공유하기 위해 신속하게 네트워크 환경을 구축할 필요가 있었다. 그리하여 매킨토시에 표준 탑재된 시리얼 포트의 RS-422를 물리 매체로 한 LAN 프로토콜로 등장하게 되었다. 덧붙여, Apple IIGS에도 LocalTalk가 탑재되어 있다.
2. 4. PhoneNet과 타사 어댑터
BMUG가 설계하고 1987년 파라론(Farallon)에서 폰넷(PhoneNET)으로 상용화한 대체 어댑터는 주목할 만한 사례였다. 이는 기본적으로 애플의 둥근 커넥터 대신 일반적인 전화 잭을 가진 애플 커넥터의 대체품이었다. 폰넷을 사용하면 일반 전화선을 사용하여 애플토크 네트워크를 연결할 수 있었고, 약간의 추가 작업만으로도 아날로그 전화와 애플토크를 단일 4심 전화 케이블에서 실행할 수 있었다.다른 회사들은 SCC의 외부 클럭을 읽어 더 높은 전송 속도(최대 1Mbit/s)를 지원하는 기능을 활용했다. 이러한 시스템에서 외부 어댑터는 자체 클럭을 포함하고 이를 사용하여 SCC의 클럭 입력 핀에 신호를 보냈다. 가장 잘 알려진 시스템은 센트람(Centram)의 '''플래시토크(FlashTalk)'''로, 768kbit/s로 작동했으며, TOPS 네트워킹 시스템과 함께 사용하기 위한 것이었다.[9] 유사한 솔루션으로는 850kbit/s의 '''데이나토크(DaynaTalk)'''가 있었는데, 이 제품은 컴퓨터와 일반 LocalTalk/PhoneNet 박스 사이에 연결되는 별도의 박스를 사용했다. 데이나는 또한 다른 데이나 PC 카드와 통신할 때 최대 1.7Mbit/s로 작동하는 PC 확장 카드도 제공했다.[10][11]
2. 5. AppleTalk over Ethernet (1987)
애플이 상업 및 교육 시장으로 확장하면서, 기존 네트워크 환경에 애플토크를 통합해야 할 필요성이 생겼다. 이러한 조직들 중 상당수는 이미 매우 비싼 이더넷 인프라에 투자한 상태였고, 매킨토시를 이더넷에 직접 연결할 방법이 없었다. 애플토크는 애플토크 서브넷(subnet)을 상호 연결하기 위한 프로토콜 구조를 포함하고 있었고, 그 해결책으로, 이더넷을 로컬토크 서브넷 간의 백본(backbone)으로 사용하기 위해 이더토크(EtherTalk)가 처음 개발되었다. 이를 위해 조직들은 로컬토크-to-이더넷 브리지를 구매해야 했고, 애플은 이러한 제품을 제3자에게 위탁하여 생산하도록 했다.[1] Hayes를 비롯한 여러 회사와, 키네틱스(Kinetics)와 같은 몇몇 신생 기업들이 이에 대응했다.이더넷을 사용한 것을 EtherTalk라고 부른다. LLC에 의해 AppleTalk의 패킷을 캡슐화하는 데이터 링크 계층 프로토콜을 '''ELAP'''(EtherTalk Link-Access Protocol)라고 한다.
현재 AppleTalk가 사용된다면, 이 EtherTalk가 많을 것이다.
2. 6. LocalTalk, EtherTalk, TokenTalk, and AppleShare
1987년, 이더넷이 토큰 링과의 표준 경쟁에서 확실한 우위를 점하면서, 애플은 이더넷 물리 계층을 통해 애플토크 프로토콜을 구현한 '''이더토크 1.0'''을 출시했다. 이더토크는 매킨토시 II와 함께 출시되었는데, 이 컴퓨터는 확장 슬롯을 가진 애플의 첫 번째 매킨토시 중 하나였다. 운영 체제에는 사용자가 네트워킹에 사용할 물리적 연결(내장 또는 이더토크)을 선택할 수 있는 새로운 네트워크 제어판이 포함되어 있었다. 출시 당시에는 3Com과 Kinetics에서 제공하는 이더넷 인터페이스 카드를 기계의 누버스 슬롯에 꽂아 사용할 수 있었다. 새로운 네트워킹 스택은 LAN당 최대 255개의 노드를 허용했다. 이더토크 출시와 함께 AppleTalk Personal Network는 '''로컬토크'''로 이름이 변경되었다. 토큰 링은 나중에 동일한 네트워크 제어판과 기본 소프트웨어를 사용하는 유사한 '''토큰토크''' 제품으로 지원되었다. 시간이 지남에 따라 많은 타사 회사들이 이러한 동일한 드라이버를 사용하는 호환 이더넷 및 토큰 링 카드를 출시했다.직접적인 이더넷 연결을 가진 매킨토시의 등장은 이더넷과 로컬토크의 호환성 문제를 더욱 심화시켰다. 새 매킨토시와 구형 매킨토시가 있는 네트워크는 서로 통신할 수 있는 방법이 필요했다. 이는 로컬토크에만 연결되는 레이저라이터와 통신하려는 이더넷 매킨토시 II의 네트워크처럼 간단할 수 있었다. 애플은 처음에 언급된 로컬토크-이더넷 브리지 제품에 의존했지만, 1987년 말까지 130,000개의 이러한 네트워크가 사용되었다. AppleTalk는 당시 세계에서 가장 많이 사용되는 네트워킹 시스템이었으며, 다른 어떤 벤더보다 3배 이상 많은 설치 수를 기록했다.
1987년은 또한 512 kB 이상의 RAM을 가진 모든 매킨토시에서 실행되는 전용 파일 서버인 AppleShare 제품이 출시된 해이기도 했다. 일반적인 AppleShare 기계는 외부 SCSI 하드 드라이브가 장착된 Mac Plus였다. AppleShare는 1980년대 후반에 노벨 네트웨어와 마이크로소프트의 MS-Net에 이어 3위 네트워크 운영 체제였다.[12]
이더넷을 사용한 것을 EtherTalk라고 부른다. LLC에 의해 AppleTalk의 패킷을 캡슐화하는 데이터 링크 계층 프로토콜을 '''ELAP'''(EtherTalk Link-Access Protocol)라고 한다.
토큰 링을 사용한 것을 TokenTalk라고 부른다. LLC에 의해 AppleTalk의 패킷을 캡슐화하는 데이터 링크 계층의 프로토콜을 '''TLAP''' (TokenTalk Link-Access Protocol)라고 한다.
2. 7. AppleTalk Phase II (1989)
1989년에 애플토크는 '''애플토크 페이즈 II'''로 중요한 재설계를 거쳤다. 페이즈 II는 여러 면에서 이전 버전(페이즈 I이라고 불린 적은 없음)을 보다 일반화하려는 시도로 볼 수 있다. 이제 LAN은 255개 이상의 노드를 지원할 수 있었고, 존(zone)은 더 이상 물리적 네트워크와 연관되지 않고 단순히 노드를 구성하는 데 사용되는 완전히 가상적인 구조였다.[1] 예를 들어, 이제 조직 내의 모든 프린터를 나열하는 "프린터" 존을 만들 수 있었고, 동일한 장치를 "2층" 존에 배치하여 물리적 위치를 나타낼 수도 있었다. 페이즈 II에는 또한 기본 상호 네트워킹 프로토콜에 대한 변경 사항이 포함되어 "수다스러운" 특성을 줄였는데, 이는 이전에 광역 네트워크를 통해 브리징된 네트워크에서 심각한 문제였다.[1]이 시점에서 애플은 다양한 통신 제품을 개발 중이었으며, 이 중 다수가 애플토크 페이즈 II와 함께 발표되었다. 여기에는 이더토크 및 토큰토크에 대한 업데이트, IBM PC용 애플토크 소프트웨어 및 로컬토크 하드웨어, A/UX 운영 체제가 레이저라이터 및 기타 네트워크 리소스를 사용할 수 있도록 하는 애플의 이더토크, 그리고 Mac X.25 및 MacX 제품이 포함되었다.[1]
2. 8. TCP/IP와의 공존 및 쇠퇴
AppleTalk 초기부터 사용자들은 매킨토시를 TCP/IP 네트워크 환경에 연결하고 싶어했다. 1984년, 스탠퍼드 대학교의 빌 크로프트는 SEAGATE(스탠퍼드 이더넷-AppleTalk 게이트웨이) 프로젝트의 일환으로 DDP에 캡슐화된 IP 패킷 개발을 개척했다. SEAGATE는 Kinetics에 의해 LocalTalk-to-Ethernet 브리지에서 추가 라우팅 옵션으로 상용화되었다. 몇 년 후, MacIP는 SEAGATE 코드에서 분리되어 IP 패킷이 LocalTalk 네트워크를 통해 라우팅되는 사실상의 방법이 되었다. 1986년까지 컬럼비아 대학교는 Unix, TCP/IP, AppleTalk 환경의 더 높은 통합을 허용하는 Columbia AppleTalk Package(CAP)의 첫 번째 버전을 출시했다. 1988년, 애플은 적절한 이더넷 하드웨어를 갖춘 컴퓨터에서 Mac이 TCP/IP를 지원할 수 있도록 하는 시스템인 MacTCP를 출시했다. 그러나 이는 많은 LocalTalk 장비를 갖춘 Mac에서 IP를 지원해야 하는 많은 대학들에게 문제를 남겼다. 곧 LocalTalk-to-Ethernet 브리지에 MacIP 지원을 포함하는 것이 일반화되었다.[13] MacTCP는 1994년까지 클래식 Mac OS의 표준 부분이 되지 않았으며,[13] 이 시점에는 SNMP 및 PPP도 지원했다.1990년대 초, Mac은 급속히 확장되는 인터넷의 주요 클라이언트였다. 널리 사용된 잘 알려진 프로그램 중에는 Fetch, Eudora, eXodus, NewsWatcher, 그리고 NCSA 패키지, 특히 NCSA 모자이크[13]와 그 후손인 넷스케이프 네비게이터가 있었다.[13] 또한 Mac이 인터넷 콘텐츠를 호스팅할 수 있도록 해주는 여러 서버 제품이 등장했다. 이 기간 동안 Mac은 전체 마이크로컴퓨터 시장 점유율이 비교적 작았음에도 불구하고 다른 플랫폼보다 약 2~3배 더 많은 클라이언트를 인터넷에 연결했다.[13]
LAN 및 WAN 모두에 IP를 사용하는 방향으로 세계가 빠르게 전환되면서, 애플은 증가하는 머신 그룹에서 두 개의 점점 더 구식인 코드 베이스를 유지하는 것은 물론 PowerPC 기반 머신의 도입에도 직면했다. 이는 Unix 표준 STREAMS에서 적응된 완전히 새로운 코드 베이스에서 MacTCP와 AppleTalk를 모두 재구현하는 Open Transport 노력으로 이어졌다. 초기 버전에는 문제가 있었고 얼마 동안 안정화되지 않았다.[13] 그 무렵, 애플은 결국 실패로 돌아간 코플랜드 노력에 깊이 관여하고 있었다.
AppleTalk는 TCP/IP와는 전혀 다른 것이다. 초기 TCP/IP는 사용자와 관리자의 복잡한 설정을 필요로 했던 반면, AppleTalk는 "케이블을 연결하면 바로 사용할 수 있는" 네트워크였다[23]。하지만 기본적인 프레임워크가 전혀 달라서 상호 호환성이 없다. TCP/IP (IPv4)가 32비트의 IP 주소로 개체를 식별하는 반면, AppleTalk에서는 24비트 (16비트의 네트워크부와 8비트의 노드 주소)를 사용했다.
AppleTalk 지원 기기는 전원 투입 시 또는 네트워크 연결 시 브로드캐스트 신호를 보내 자동으로 주소와 머신 이름을 할당한다. 또한 네트워크 상의 파일 서버나 프린터를 발견할 수 있다. 즉, AppleTalk만의 네트워크에서는 사용자는 아무런 설정을 하지 않고 연결하는 즉시 파일 공유나 인쇄를 할 수 있었다. 이처럼 사용자의 손을 거치지 않는 자동 설정 방식은 TCP/IP보다 앞서 있었다. 하지만 이러한 기능 구현을 위해 네트워크에 큰 부하를 주었다.
이윽고 인터넷이 보급되어 연결에는 TCP/IP를 사용하는 것이 주류가 되면서 AppleTalk와 TCP/IP를 공존시킬 필요성이 생겨났다. 그 결과 사용자와 관리자는 양립을 위한 복잡한 설정을 할 수 밖에 없었다. 또한, TCP/IP와 프로토콜 구조가 다르기 때문에 일반적인 라우터로는 다른 네트워크에 연결할 수 없어, AppleTalk 대응 라우터를 준비해야 했다.
한편, TCP/IP도 시대와 함께 기술이 발전하여, 자동 설정 프로토콜이 등장하게 되었다. DHCP 프로토콜은 AppleTalk의 AARP와 NBP를 힌트로 개발되었다고 한다.
현재 Apple의 제품은 Bonjour를 탑재하고 있다. 이는 AppleTalk의 자동 설정과 유사한 기능을 TCP/IP 상에서 구현하며, 더욱 네트워크 부하를 줄인 것이다.
Mac OS X v10.2부터 Bonjour(당시 Rendezvous)의 등장으로 현재 주류 프로토콜인 TCP/IP 상에서 동등하거나 그 이상의 기능을 실현하게 되면서 AppleTalk의 기능은 점차 축소되었고, Mac OS X v10.5에서는 프린터를 사용할 수 있는 정도가 되었으며, Mac OS X v10.6에서 완전히 사라졌다.
이후에는 TCP/IP가 주류가 되면서 AppleTalk 자체에는 큰 발전이 보이지 않았고, TCP/IP와 AppleTalk를 공존시키는 방식이 일반화되었다. IP를 AppleTalk로 캡슐화하는 MacIP나, 이와 반대로 AppleTalk를 IP로 캡슐화하는 IPTalk도 있었지만, 현재는 사용되지 않는다.
서버의 브라우징에는 AppleTalk의 NBP가 사용되었지만, Mac OS 8.5부터 TCP/IP 기반의 SLP도 채택되었으며, 더 나아가 Mac OS X v10.2부터 Bonjour로 전환되었다.
프린터 공유는 AppleTalk의 PAP가 사용되었지만, Mac OS X부터 LPR, IPP, SMB (CIFS) 등도 이용할 수 있게 되었다. AirMac 베이스 스테이션 및 Time Capsule에서는 USB로 연결된 프린터에 대해 네트워크를 통해 인쇄할 수 있는 기능이 있는데, 이는 IP 기반의 인쇄이며 AppleTalk는 사용되지 않는다.
파일 공유는 AFP over TCP로 전환되었다. 한자 토크 7.5.5에 Open Transport J-1.1.2 이후를 설치하면 AFP over TCP를 사용할 수 있다.
Mac OS X v10.4에서는 NBP를 통한 AFP 서버의 브라우징은 가능했지만, 파일 서버에의 접속은 AppleTalk가 아닌 AFP over TCP만 가능해졌다. Mac OS X v10.5에서는 AppleTalk 프린터의 사용이 가능할 뿐이며, 그 외의 기능은 거의 남아 있지 않다. Mac OS X v10.6에서 AppleTalk 지원이 종료되었다.
2. 9. 레거시 및 영향
넥스트 인수 및 Mac OS X 개발 이후, AppleTalk는 완전히 레거시 시스템이 되었다. Mac OS X는 기존 AppleTalk 장치(특히 레이저 프린터, 파일 공유) 지원을 포함했지만, 당시 흔했던 대체 연결 솔루션(특히 프린터용 USB)으로 인해 수요가 제한되었다. 애플이 해당 제품 범주를 포기하고 모든 신규 시스템을 IP 기반으로 전환하면서 AppleTalk는 점차 쇠퇴했다. 2009년 Mac OS X v10.6에서 AppleTalk 지원이 macOS 라인에서 최종 제거되었다.[14]AppleTalk의 퇴출에도 불구하고, 사용 편의성과 IP 라우팅을 결합한 네트워킹 솔루션에 대한 요구는 여전했다. 애플은 AirPort 라우터 도입부터 제로 구성 네트워킹 시스템 개발, 그리고 그 구현체인 Rendezvous(Bonjour로 개명)에 이르기까지 많은 노력을 기울였다. 2020년, macOS 11 Big Sur에서 AppleTalk 지원이 완전히 제거되었다.
AppleTalk의 발전 과정은 다음과 같다:
- 1984년: 최초의 AppleTalk 개발
- 1989년: 대규모 네트워크 환경을 위한 확장판인 AppleTalk Phase 2 공개
- 이후: TCP/IP가 주류가 되면서 AppleTalk 자체의 큰 발전은 없었고, TCP/IP와 AppleTalk를 공존시키는 방식이 일반화됨. MacIP(AppleTalk로 IP 캡슐화), IPTalk(IP로 AppleTalk 캡슐화) 등이 있었으나 현재는 사용되지 않음.
서버 브라우징에는 AppleTalk의 NBP가 사용되었으나, Mac OS 8.5부터 TCP/IP 기반 SLP이 채택되었고, Mac OS X v10.2부터 Bonjour로 전환되었다.
프린터 공유에는 AppleTalk의 PAP가 사용되었지만, Mac OS X부터는 LPR, IPP, SMB (CIFS) 등도 사용 가능하게 되었다. AirMac 베이스 스테이션 및 Time Capsule은 USB 연결 프린터의 네트워크 인쇄 기능을 제공하는데, 이는 IP 기반 인쇄이며 AppleTalk는 사용되지 않는다.
파일 공유는 AFP over TCP로 전환되었다. 한자 토크 7.5.5에 Open Transport J-1.1.2 이상을 설치하면 AFP over TCP를 사용할 수 있었다.
Mac OS X v10.4에서는 NBP를 통한 AFP 서버 브라우징은 가능했지만, 파일 서버 접속은 AFP over TCP만 가능했다. Mac OS X v10.5에서는 AppleTalk 프린터 사용만 가능했고, 그 외 기능은 거의 남지 않았다. Mac OS X v10.6에서 AppleTalk 지원이 종료되었다.
3. 프로토콜
AppleTalk는 OSI 모델을 엄격히 준수하는 프로토콜 계층 구조를 가지고 있다. 초기 LAN 시스템과 달리 제록스 XNS 시스템을 기반으로 하지 않았지만, 자동 구성 기능과 사용자 친화적인 인터페이스를 제공하여 사용 편의성을 높였다.
AppleTalk는 ''AppleTalk 주소 확인 프로토콜''(AARP)과 ''이름 바인딩 프로토콜''(NBP)이라는 두 가지 자동 구성 프로토콜을 통해 네트워크 설정 과정을 간소화했다. AARP는 각 장치에 고유한 네트워크 주소를 자동으로 할당하고, NBP는 이 주소를 사용자가 이해하기 쉬운 이름으로 변환하여 네트워크 상의 서비스를 쉽게 찾고 사용할 수 있도록 했다.
AppleTalk 주소는 4바이트(2바이트 네트워크 번호, 1바이트 노드 번호, 1바이트 소켓 번호)로 구성되며, 네트워크 번호는 라우터에서, 노드 번호는 AARP를 통해 자동으로 할당된다. 소켓 번호는 애플리케이션 레벨 프로토콜에서 동적으로 할당되어 다양한 서비스를 유연하게 지원한다.
NBP는 서비스 이름을 주소로 변환하여, 서비스를 다른 장치로 이동하거나 동일 장치에서 여러 서비스 인스턴스를 실행하는 경우에도 사용자 접근성을 유지한다. 이는 DNS의 A 레코드와 달리 서비스와 장치 이름을 분리하여 관리하는 방식으로, Kerberos나 Active Directory와 같은 최신 프로토콜에서도 유사한 방식을 사용한다.
하지만 AppleTalk는 TCP/IP와는 전혀 다른 프레임워크를 가지고 있어 상호 호환성이 없었다. 초기 TCP/IP가 복잡한 설정이 필요한 반면, AppleTalk는 자동 설정 기능을 제공했지만, 네트워크 부하가 크다는 단점이 있었다.
인터넷이 보급되면서 TCP/IP가 주류가 되었고, AppleTalk와 TCP/IP를 공존시키기 위한 복잡한 설정이 필요하게 되었다. 또한, 일반적인 라우터로는 다른 네트워크에 연결할 수 없어 AppleTalk 대응 라우터를 별도로 준비해야 했다.
이후 TCP/IP도 자동 설정 프로토콜(DHCP)이 개발되면서 AppleTalk의 자동 설정 기능과 유사한 기능을 제공하게 되었고, Bonjour를 통해 네트워크 부하를 줄이면서도 자동 설정 기능을 구현하게 되었다.
사용자 관점에서 보면, 파일 공유를 위한 AFP와 인쇄를 위한 PAP가 대표적이지만, 실제로는 더 많은 프로토콜이 조합되어 동작한다. 네트워크 계층의 DDP와 AARP가 AppleTalk의 기본 조건을 구성하며, 다른 프로토콜들은 이들 위에서 동작한다.
IPTalk는 IP 위에서 AppleTalk 패킷을 캡슐화하는 프로토콜로, AppleTalk over IP를 의미한다. 자세한 내용은 IPTalk를 참조한다.
3. 1. 주요 프로토콜
OSI 모델을 엄격히 준수하여 프로토콜을 계층화했다. 초기 LAN 시스템들과는 달리, 제록스 XNS 시스템을 사용하지 않았다. 대신, 자동 구성 프로토콜인 ''AppleTalk 주소 확인 프로토콜''(AARP)과 ''이름 바인딩 프로토콜''(NBP)을 통해 자동으로 네트워크 주소를 생성하고 사용자가 읽기 쉬운 이름과 주소를 매핑하도록 지원했다.[15][16]AARP와 NBP는 "컨트롤러" 장치(라우터)를 통해 수동 설정도 가능하게 하여, 더 큰 네트워크 환경에서 효율성을 높였다. 이러한 기능들은 AppleTalk를 사용하기 쉬운 네트워킹 시스템으로 만들었다.
AppleTalk 주소는 4바이트(2바이트 네트워크 번호, 1바이트 노드 번호, 1바이트 소켓 번호)로 구성되었다. 네트워크 번호는 라우터에서 얻고, 노드 번호는 동적으로 자동 할당되었으며, 소켓 번호는 애플리케이션 프로토콜에 따라 동적으로 할당되었다.
서비스는 사용자가 쉽게 식별하고 충돌 가능성을 최소화할 수 있는 긴 ''이름''으로 제공되었다. NBP는 이 이름을 주소로 변환하여 서비스를 다른 기기로 이동해도 사용자 접속에 문제가 없도록 보장하고, 동일 기기에서 여러 서비스 인스턴스를 호스팅할 수 있게 했다.
DNS의 ''A 레코드''와 달리, NBP는 서비스와 기기 이름을 분리하여 서비스 이동 시에도 사용자가 계속 접근할 수 있도록 했다. Kerberos 및 Active Directory와 같은 최신 프로토콜은 DNS SRV 레코드를 사용하여 AppleTalk 모델과 유사하게 서비스를 식별한다.
AppleTalk의 주요 프로토콜은 다음과 같다.
프로토콜 | 설명 | 계층 | 비고 |
---|---|---|---|
AARP | AppleTalk 주소와 링크 계층 주소 변환[17] | 네트워크 계층(3계층) | ARP와 유사 |
DDP | 데이터그램 전송[17] | 네트워크 계층(3계층) | OSI 네트워크 계층 대응 |
RTMP | 라우팅 정보 유지[17] | 전송 계층(4계층) | |
AEP | 네트워크 노드 도달 가능성 테스트[17] | 전송 계층(4계층) | |
NBP | AppleTalk 이름 관리[17] | 전송 계층(4계층) | 동적 분산 시스템 |
ZIP | 네트워크 번호와 존 이름 연결[17] | 세션 계층(5계층) | |
ATP | 신뢰성 있는 요청/응답 교환 | 전송 계층(4계층) | 최초의 신뢰성 있는 전송 계층 프로토콜 |
PAP | 포스트스크립트 프린터 통신[17] | 세션 계층(5계층) | ATP 기반, 자동 흐름 제어 제공 |
ASP | ATP 기반 중간 계층 프로토콜 | 세션 계층(5계층) | 명령어 응답 요청, 대역 외 상태 쿼리, 비동기 주의 메시지 제공 |
ADSP | TCP 스타일 연결 지향 전송 | 세션 계층(5계층) | 연결 거부 가능, 반 개방 연결 없음, 주의 메시지 시스템 포함 |
AFP | 애플셰어 파일 서버 통신 | 프리젠테이션 계층(6계층) / 애플리케이션 계층(7계층) | 사용자 인증, HFS 파일 시스템 작업 제공 |
AURP | AppleTalk 라우팅을 WAN으로 확장 | 전송 계층(4계층) | RFC1504 |
MacIP | IP 패킷 캡슐화 | IP over AppleTalk | |
타임로드 프로토콜 | 시각 동기화 프로토콜 | 멜버른 대학교 개발 |
3. 2. OSI 모델과의 관계
OSI 모델 | AppleTalk 계층 |
---|---|
응용 계층 | AFP |
프레젠테이션 | AFP |
세션 | ZIP, 애플토크 세션 프로토콜 (ASP), 애플토크 데이터 스트림 프로토콜 (ADSP) |
전송 | 애플토크 트렌젝션 프로토콜 (ATP), AEP, 네임 바인딩 프로토콜 (NBP), 라우팅 테이블 유지보수 프로토콜 (RTMP) |
네트워크 | 데이터그램 전송 프로토콜 (DDP) |
데이터 링크 | 이더넷 링크 접근 프로토콜 (ELAP), 로컬토크 링크 접근 프로토콜 (LLAP), 토큰토크 링크 접근 프로토콜 (TLAP), 광섬유 분배 데이터 인터페이스 (FDDI) |
물리 | 로컬토크 드라이버, 이더넷 드라이버, 토큰 링 드라이버, FDDI 드라이버 |
4. 물리 계층 및 데이터 링크 계층
로컬토크 링크 접근 프로토콜 (LLAP)
토큰토크 링크 접근 프로토콜 (TLAP)
FDDI
이더넷 드라이버
토큰 링 드라이버
FDDI 드라이버