넷바이오스가 무엇인가요?
Netbois(네트워크 기본 입출력 시스템)는 원래 IBM과 Sytek이 사용자 소프트웨어가 LAN 리소스를 사용할 수 있도록 하는 API로 개발되었습니다. Netbois는 창립 이래로 다른 많은 네트워크 애플리케이션의 기반이 되었습니다. 엄밀히 말하면 Netbios는 네트워크 서비스에 접근하기 위한 인터페이스 표준입니다.
Netbios는 원래 IBM LAN용 네트워크 컨트롤러로 설계되었으며 특정 하드웨어를 통해 네트워크 운영 체제에 연결하는 데 사용되는 소프트웨어 계층입니다. Netbios는 프로그램이 Netbios 인터페이스를 사용하여 IBM 토큰링 구조를 작동할 수 있도록 확장되었습니다. Netbios는 일반적으로 Netbios 호환 LAN이라고 불리는 업계 표준으로 인정받고 있습니다.
이는 네트워크 프로그램이 서로 통신하고 데이터를 전송하는 일련의 방법을 제공합니다. 기본적으로 Netbios는 프로그램과 네트워크 세션을 허용합니다. 그 목적은 모든 종류의 하드웨어 속성에서 프로그램을 분리하는 것입니다. 또한 소프트웨어 개발자는 네트워크 오류 수정, 하위 수준 정보 주소 지정 및 라우팅을 개발해야 하는 부담을 덜 수 있습니다. Netbios 인터페이스를 사용하면 소프트웨어 개발자가 많은 작업을 수행할 수 있습니다.
Netbios는 프로그램과 LAN 운영 기능 간의 인터페이스를 표준화합니다. 이를 통해 프로그램은 OSI 모델의 어느 계층에 맞게 작성되었는지 구체화하여 프로그램을 다른 네트워크에 이식할 수 있습니다. Netbios LAN 환경에서 컴퓨터는 이름으로 시스템에 알려져 있습니다. 네트워크의 각 컴퓨터는 서로 다른 방식으로 컴파일된 영구 이름을 갖습니다. 이러한 이름은 아래에서 자세히 설명합니다.
Netbios 데이터그램이나 브로드캐스트 방식을 사용하여 Netbios LAN에 있는 PC들은 세션을 형성하여 서로 통신합니다. 세션을 통해 더 많은 정보를 전송하고 오류를 감지하고 수정할 수 있습니다. 의사소통은 일대일로 이루어집니다. 데이터그램 또는 브로드캐스트 방법을 사용하면 한 컴퓨터가 여러 다른 컴퓨터와 동시에 통신할 수 있지만 메시지 크기는 제한됩니다. 데이터그램이나 브로드캐스트 방법을 사용한 오류 감지 및 수정은 없습니다. 그러나 세션을 형성하지 않고도 데이터그램 통신은 가능하다.
이 환경의 모든 통신은 "네트워크 제어 블록"이라는 형식으로 NetBIOS에 제출됩니다. 메모리에서 이러한 블록의 할당은 사용자 프로그램에 따라 다릅니다. 이러한 "네트워크 제어 블록"은 도메인에 할당되며 각각 입력/출력용으로 예약되어 있습니다.
오늘날 환경에서 NetBIOS는 매우 일반적인 프로토콜입니다. 이더넷, 토큰 링 및 IBM PC 네트워크는 모두 NetBIOS를 지원합니다. 원래 버전에서는 프로그램과 네트워크 어댑터 간의 인터페이스로만 사용되었습니다. 이후 NetBIOS에는 전송형 기능이 추가되어 기능이 더욱 향상되었습니다.
NetBIOS에서는 연결 지향(tcp) 통신과 비연결(udp) 통신이 모두 지원됩니다. 브로드캐스트와 멀티캐스트를 지원하고 이름 지정, 세션 및 데이터그램이라는 세 가지 개별 서비스를 지원합니다.
[1.0.2] NetBIOS 이름
NetBIOS 이름은 네트워크의 리소스를 식별하는 데 사용됩니다. 프로그램은 이러한 이름으로 세션을 시작하고 종료합니다. 각각 고유한 NetBIOS 이름을 가진 여러 프로그램으로 단일 시스템을 구성할 수 있습니다. 응용 프로그램을 지원하는 각 PC에는 사용자가 정의하거나 내부 방법을 통해 얻은 NetBIOS 스테이션 이름도 있습니다.
NetBIOS에는 최대 16개의 영숫자가 포함될 수 있습니다. 문자 조합은 리소스 라우팅 네트워크 전체에서 고유해야 합니다. NetBIOS를 사용하는 PC가 네트워크에서 완전히 작동하려면 먼저 PC에 NetBIOS 이름을 등록해야 합니다. 클라이언트가 활성화되면 클라이언트는 해당 이름을 브로드캐스트합니다. 성공적으로 자신을 브로드캐스트하고 다른 사람과 동일한 이름이 없으면 클라이언트가 성공적으로 등록됩니다. 등록 프로세스는 다음과 같습니다.
1. 로그인 시 클라이언트는 자신과 NetBIOS 정보를 어디서나 6~10회 브로드캐스트하여 다른 네트워크 구성원이 해당 정보를 받을 수 있도록 합니다.
2. 클라이언트 A가 이미 이 이름을 사용하는 경우 클라이언트 A는 사용 중인 이름을 포함하여 자체 브로드캐스트를 게시합니다. 로그인한 클라이언트에게 모든 등록 시도를 중지하도록 요청합니다.
3. 등록에 반대하는 클라이언트가 없으면 로그인을 요청한 클라이언트가 등록 프로세스를 완료합니다.
NetBIOS 환경에는 고유 이름과 집합 이름이라는 두 가지 유형의 이름이 있습니다. 고유 이름은 네트워크 내에서 고유해야 합니다.
컬렉션의 이름은 네트워크 내에서 고유할 필요는 없습니다. 동일한 이름을 가진 모든 프로세스는 동일한 컬렉션에 속합니다. 각 NetBIOS 노드에는 현재 노드에서 사용되는 이름 테이블이 포함되어 있습니다.
NetBIOS 이름 지정에서는 NetBIOS 이름에 16자를 사용할 수 있습니다. Microsoft에서는 NetBIOS 이름에 15자만 사용할 수 있으며 16번째 문자는 NetBIOS 접미사입니다. NetBIOS 접미사는 Microsoft 네트워킹 소프트웨어에서 설치된 기능, 등록된 장치 및 서비스를 구별하는 데 사용됩니다.
[참고: smb와 nbt(tcp/ip를 통한 NetBIOS)는 서로 밀접하게 작동하며 둘 다 포트 137, 138 및 139를 사용합니다. 포트 137은 NetBIOS 이름 UDP, 포트 138은 NetBIOS 데이터그램 UDP, 포트 139는 NetBIOS 세션 tcp입니다. 자세한 NetBIOS 정보는 rhino9 웹사이트에 나열된 문서를 참조하세요.]
다음은 현재 사용되는 NetBIOS입니다. Microsoft Windows NT 접미사 테이블 기준. 접미사는 16진수입니다.
이름 번호 유형 사용법
================================= == ==================================
00U 워크스테이션 서비스
01 U 메신저 서비스
<\\_MSBROWSE_> 01 G 마스터 브라우저
03 U 메신저 서비스
06 U RAS 서버 서비스
1F U NetDDE 서비스
20 U 파일 서버 서비스
21 U RAS 클라이언트 서비스
22 U Exchange Interchange
23 U Exchange 저장소
24 U Exchange 디렉터리
30 U 모뎀 공유 서버 서비스
31 U 모뎀 공유 클라이언트 서비스
43 U SMS 클라이언트 원격 제어
44 U SMS 관리 원격 제어 도구
45 U SMS 클라이언트 원격 채팅
46 U SMS 클라이언트 원격 전송
4C U DEC Pathworks TCPIP 서비스
52 U DEC Pathworks TCPIP 서비스
87 U Exchange MTA
6A U Exchange IMC
BE U 네트워크 모니터 에이전트
BF U 네트워크 모니터 앱
03 U 메신저 서비스
00 G 도메인 이름
1B U 도메인 마스터 브라우저
p>
1C G 도메인 컨트롤러
1D U 마스터 브라우저
1E G 브라우저 서비스 선택
1C G 인터넷 정보 서버
00 U 인터넷 정보 서버
[2B] U Lotus Notes 서버
IRISMULTICAST [2F] G Lotus Notes
IRISNAMESERVER [ 33] G Lotus Notes p>
Forte_$ND800ZA [20] U DCA Irmalan 게이트웨이 서비스
고유(u): 이 이름에는 IP 주소가 하나만 할당되어 있습니다. 네트워크 장비에서는 이름이 여러 번 등록된 것처럼 보이지만 접미사가 고유하여 이름 전체가 고유하게 됩니다.
수집됨(g): 일반 컬렉션, 하나의 이름이 여러 IP 주소를 가질 수 있습니다.
Multiple Addressed(M): 이름은 고유하지만 동일한 컴퓨터에 여러 개의 네트워크 인터페이스가 있으므로 이 구성을 등록하도록 허용해야 합니다. 최대 주소 수는 25개입니다.
인터넷 컬렉션(I): WINDOSNT 도메인 이름을 작동하는 데 사용되는 그룹 이름의 특수 구성입니다.
도메인 이름(D): NT4.0에서 새로 도입되었습니다.
서버에 등록된 NETBIOS 이름과 서비스를 빠르게 찾아보려면 다음 명령을 사용하세요:
nbstat -a [ipaddress]
nbstat -a [host ]
[1.0.3] NetBIOS 세션
NetBIOS 세션 서비스는 사용자 프로그램에 연결 지향적이고 안정적인 완전한 이중 정보 서비스를 제공합니다. NetBIOS에서는 하나는 클라이언트 프로그램이고 다른 하나는 서버 프로그램이어야 합니다. NetBIOS 세션을 설정하려면 양 당사자의 예정된 협력이 필요합니다. 다른 프로그램이 호출 명령을 발행하기 전에 프로그램이 먼저 청취 명령을 발행해야 합니다. Listen 명령은 NetBIOS 이름 테이블(또는 Windows 서버)의 이름을 참조하고 세션의 다른 쪽 끝에서 원격 프로그램에 사용되는 이름도 참조합니다. 리스너가 듣고 있지 않으면 call 명령이 성공하지 못합니다. 호출이 성공하면 각 프로그램은 세션 설정 확인으로 세션 ID를 받습니다. 송신 및 수신 명령은 데이터를 전송하기 위해 작동합니다. 세션이 끝나면 각 프로그램은 일시 중지 명령을 실행합니다. LAN은 필요한 데이터를 전달할 만큼 충분히 빠른 것으로 가정되기 때문에 세션을 제공하기 위한 실제 흐름 제어는 없습니다.
[1.0.4] NetBIOS 데이터그램
데이터그램은 특정 위치로 전송되거나 그룹의 모든 구성원에게 전송되거나 전체 LAN에 브로드캐스트될 수 있습니다. 다른 데이터 서비스와 비교할 때 NetBIOS 데이터그램은 연결이 없고 신뢰할 수 없습니다. Send_Datagram 명령을 사용하려면 호출자가 대상 이름을 설정해야 합니다. 대상 이름이 그룹 이름인 경우 그룹의 각 구성원이 데이터를 받습니다. receive_Datagram 명령의 호출자는 데이터를 수신하는 로컬 이름을 결정해야 합니다. 실제 데이터 외에도 Receiver_Datagram은 보낸 사람의 이름도 반환합니다. NetBIOS가 데이터를 수신했지만 대기 중인 Receiver_Datagram 명령이 없으면 데이터가 삭제됩니다.
Send_Broadcast_Datagram 명령은 로컬 네트워크의 모든 NetBIOS 시스템에 정보를 보냅니다. NetBIOS 노드가 브로드캐스트 데이터를 수신하면 Receiver_Broadcast_Datagram 명령을 실행한 각 프로세스가 데이터를 수신합니다. 브로드캐스트 데이터가 수신될 때 이러한 명령이 실행되고 있지 않으면 데이터가 삭제됩니다.
NetBIOS를 사용하면 응용 프로그램이 다른 장치와의 세션을 설정할 수 있으므로 네트워크 전달자와 처리 프로토콜이 수신되고 다른 시스템으로 전송되는 요청을 처리할 수 있습니다. NetBIOS는 실제로 데이터를 조작하지 않습니다. NetBIOS 정의는 프로토콜 자체가 아니라 이러한 서비스에 도달하는 데 사용되는 프로토콜의 네트워크 인터페이스를 지정합니다. 역사적으로 NetBIOS는 NetBEUI(Network Extensions User Interface)라는 프로토콜과 함께 번들로 제공되었습니다. 인터페이스와 프로토콜의 조합은 때때로 혼란을 야기하지만 서로 다릅니다.
네트워크 프로토콜은 네트워크의 특정 서비스를 찾고 연결하는 방법을 하나 이상 제공합니다. 이는 일반적으로 노드 및 서비스 이름을 네트워크 주소(이름 확인)로 변환하여 수행됩니다. TCP/IP를 사용하여 연결을 설정하기 전에 NetBIOS 서비스 이름을 IP 주소로 확인해야 합니다. 대부분의 NetBIOS TCP/IP 구현에서는 브로드캐스트 또는 LMHOSTS 파일을 사용하여 이름 및 주소 확인을 완료합니다. Microsoft 환경에서는 WINS라는 NetBIOS 이름 서버를 사용할 가능성이 높습니다.
[1.0.5] NetBEUI 설명
NetBEUI는 네트워크 운영 체제에서 사용되는 NetBIOS 프로토콜의 향상된 버전입니다. NetBIOS에서 표준화되지 않은 전송 프레임을 표준화하고 추가적인 기능을 추가합니다. 전송 계층 드라이버는 Microsoft LAN Manager에서 자주 사용됩니다. NetBEUI는 OSILLC2 프로토콜을 구현합니다. NetBEUI는 IBM이 LanManger(LAN 운영자) 서버용으로 설계한 최초의 PC 네트워크 프로토콜 및 인터페이스입니다.
이 프로토콜은 나중에 Microsoft에서 네트워킹 제품의 표준으로 채택되었습니다. 이는 고급 소프트웨어가 NetBIOS 프레임 프로토콜을 통해 정보를 보내고 받는 방법을 지정합니다. 이 프로토콜은 표준 802.2 데이터 링크 프로토콜 계층에서 실행됩니다.
[1.0.6] NetBIOS 범위
NetBIOS 범위 ID는 TCP/IP(NBT라고 함) 모듈 위에 구축된 NetBIOS에 대한 추가 이름 지정 서비스를 제공합니다. NetBIOS 범위 ID의 기본 목적은 동일한 NetBIOS 범위 ID를 가진 노드에서 단일 네트워크의 NetBIOS 트래픽을 격리하는 것입니다. NetBIOS 범위 ID는 NetBIOS 이름에 추가된 문자열입니다. 두 호스트의 NetBIOS 범위 ID는 일치해야 합니다. 그렇지 않으면 두 호스트가 통신할 수 없습니다. NetBIOS 범위 ID를 사용하면 동일한 컴퓨터 이름을 가진 컴퓨터가 다른 범위 ID를 가질 수 있습니다. 범위 ID는 NetBIOS 이름의 일부이므로 이름을 고유하게 만듭니다.