컴퓨터 및 사용자 간 파일 공유는 효율적이고 편리하게 데이터를 교환하고 소통하는 데 도움이 됩니다. 다양한 방법으로 네트워크를 통해 파일을 공유할 수 있습니다. 예를 들어 서버 및 컴퓨터에서 SMB 또는 NFS 프로토콜을 사용할 수 있습니다. NAS (네트워크에 연결된 저장소) 장치도 SMB 및 NFS를 통해 파일을 공유하는 데 사용됩니다.
NFS 대 SMB 비교를 읽어서 귀하의 경우에 무엇을 사용해야 하는지와 어떤 프로토콜을 선택해야 하는지 이해하십시오.
SMB 프로토콜이란 무엇입니까?
SMB (Server Message Block)는 네트워크를 통해 공유된 데이터에 액세스하는 파일 공유 프로토콜입니다. 이는 LAN (로컬 영역 네트워크)을 통해 파일에 액세스하기 위해 Windows 환경에서 널리 사용됩니다. 1983년에 IBM에 의해 개발되었으며, 이후에 마이크로소프트가 이 프로토콜을 흡수하고 지금은 윈도우에서 내장된 SMB 지원을 제공합니다. 이 프로토콜은 계속 발전하고, 최신 SMB 버전은 v.3.1.1입니다.
때로는 CIFS 용어가 SMB와 혼동됩니다. CIFS는 SMP 방언으로, 즉, 마이크로소프트에 의해 SMB v1의 구현입니다. 자세한 내용은 이 CIFS vs SMB 비교를 읽어보십시오.
NFS 프로토콜이란 무엇입니까?
NFS (Network File System)는 UNIX 기반 및 리눅스 운영 체제용 파일 공유 프로토콜입니다. 이름과는 달리, NFS는 파일 시스템이 아닙니다. NFS 프로토콜은 원래 1984년에 Sun Microsystems에 의해 개발되었습니다.
- NFS 버전 1은 Sun이 내부 용도로 사용되었지만 출시되지 않았습니다.
- NFS v2는 기본 파일 공유 기능을 제공했습니다.
- NFS v3는 변수 크기 처리와 향상된 오류 보고를 지원하지만 NFS v2 클라이언트와 호환되지 않습니다.
- NFS v4는 인터넷 공학 작업군(IETF)에서 개발된 최신 NFS 버전입니다. 병렬 파일 액세스를 지원하며 이 버전에서 보안이 개선되었습니다. NFS v2 및 NFS v3과의 하위 호환성이 있습니다. NFS v4는 Kerberos 인증을 지원합니다.
NFS vs Samba – 주요 차이점
Samba는 Linux에 SMB 서버를 설치하기 위한 무료 소프트웨어 구현입니다. Samba에는 SMB 클라이언트가 포함되어 있지 않습니다. Linux에서 SMB 클라이언트를 얻으려면 cifs-utils 패키지를 설치해야 합니다.
네트워크 프로토콜인 NFS는 소프트웨어 패키지(Samba)와 비교해서는 안 됩니다. 그러나 Windows용 NFS 구현에 대해 이야기할 때는 적절한 NFS 서버 및/또는 NFS 클라이언트 역할(우리의 작업에 따라)이 Windows에 설치되어야 합니다.
NFS vs SMB – 기능 개요
이 섹션에서는 7가지 다른 범주에서 SMB와 NFS의 기능을 비교합니다.
1. 네트워크 연결/사용된 포트
- SMB 및 NFS 공유 프로토콜은 OSI 모델의 응용 계층(계층 7)에서 작동하며 클라이언트-서버 아키텍처를 사용합니다.
- SMB는 세션을 설정해야 합니다(NFS는 필요하지 않음).
- SMB는 작동을 위해 표현 계층(계층 6)을 사용할 수도 있습니다.
- 이 두 프로토콜은 인터넷보다는 로컬 영역 네트워크(LAN)에서 작동하도록 최적화되어 있습니다. SMB 및 NFS 공유 프로토콜은 네트워크 주소 변환 및 라우팅에는 적합하지 않습니다.
- NFS는 포트 2049(TCP 및 UDP) 및 포트 111(TCP 및 UDP)을 사용합니다. TCP 111은 포트 매퍼에 의해 사용됩니다. TCP 1110 및 UDP 1110은 클러스터 및 클라이언트 상태에 사용됩니다. NFS 잠금 관리자는 TCP 4045 및 UDP 4045를 사용합니다.
- SMB는 NetBIOS 전송 없이 TCP 포트 445를 사용하며, TCP/IP를 직접 사용합니다(이것이 Windows 2000부터 시작된 SMB의 작동 방식입니다. 최신 SMB 버전도 포함됨). SMB는 NetBIOS over TCP/IP 위에서 실행하기 위해 TCP 139, UDP 137 및 UDP 138 포트를 사용합니다. NetBIOS는 세션 계층 프로토콜입니다(OSI 모델의 5계층에서 작동함) – 이는 Windows 2000 이전의 이전 SMB 구현에서 사용되었습니다.
2. 프린터 공유
SMB는 프린터 공유를 지원하여 원격 사용자가 네트워크를 통해 파일을 인쇄하는 특정 기계에 연결된 프린터를 사용할 수 있습니다. NFS 프로토콜은 프린터 공유 기능을 제공하지 않습니다. Linux는 네트워크 프린팅을 위한 다른 메커니즘을 가지고 있습니다.
3. 인증
A major difference between the NFS vs SMB protocols is how they authenticate.
- SMB는 사용자 및 그룹과 함께 ACL(액세스 제어 목록) 개념을 사용합니다. SMB는 선택된 사용자 및 그룹에 대한 공유 파일 액세스를 제공합니다(사용자 기반 인증). 권한을 유연하게 구성할 수 있습니다. 허용된 호스트에 대한 액세스를 구성하려면 방화벽을 사용할 수 있습니다.
- NFS는 전통적으로 허용된 IP 주소에 대한 액세스를 제공합니다. NFS는 호스트 기반 인증 시스템을 사용합니다 – NFS 공유에 액세스할 수 있는 호스트의 IP 주소를 활성화할 수 있습니다. 이 경우 허용된 기계의 각 사용자가 NFS 공유에 액세스할 수 있습니다.
소유권 및 Linux 스타일 권한은 NFS 프로토콜의 기능입니다. Linux는 UID(사용자 ID) 및 GID(그룹 ID)를 사용하고, Windows는 SID(보안 식별자)를 사용합니다.
Kerberos 지원은 NFS v4에서 인증 시스템을 강화하여 (선택된 사용자에게 액세스를 제공하는 기능을 개선하기 위해) 개선합니다.
4. 파일 공유 액세스
SMB에서는 파일 잠금이 필수이고 NFS에서는 추천입니다. 파일 잠금 메커니즘은 사용자가 열린 파일의 일관성을 보장하기 위해 사용됩니다. 잠금이 걸린 경우 다른 사용자는 파일이 닫힐 때까지 열린 파일에 데이터를 작성할 수 없습니다.
UNC 경로를 사용하여 SMB 파일 공유에 액세스할 수 있습니다.
Windows에서:
\\server\share\directory1\directory2
Linux에서:
smb://server/share/directory1/directory2
NFS 공유에 액세스하려면 내보내기 파일 시스템(EFS) 경로를 사용하고 다음 형식으로 입력하세요.
server:/directory1/directory2
5. 운영 체제의 지원 및 통합
NFS 프로토콜은 Linux에 최적화되어 있습니다. SMB는 Windows에 최적화되어 있으며 Windows에서 기본 파일 공유 프로토콜로 탁월한 통합을 제공합니다.
그러나 두 프로토콜 모두 Windows와 Linux에서 사용할 수 있습니다. SMB 클라이언트(cifs-utils) 또는 SMB 서버(Samba)를 Linux에 설치해야 SMB 프로토콜을 사용할 수 있습니다. Windows에서 NFS 클라이언트와/또는 서버를 사용하려면 추가 구성 요소(역할)로 설치해야 합니다.
NFS는 파일 액세스 시 대소문자를 구분하는 반면 SMB는 대소문자를 구분하지 않습니다. 이는 파일을 검색하는 방법과 파일 이름을 입력하는 방법에 영향을 미칩니다.
NFS 프로토콜은 공개 표준으로 누구나 구현할 수 있습니다.
6. 보안/암호화
- NFS 통신은 요청-응답 프로토콜(RPC)을 기반으로 하며 방화벽 없이는 위험합니다. NFS가 안전하지 않은 기본 UDP 프로토콜을 사용할 때 전체적인 보안 수준이 낮아집니다. NFS는 SSL을 기반으로 한 전송 계층 보안 프로토콜인 TLS를 사용한 암호화를 지원합니다.
- SMB는 NFS의 Kerberos 암호화보다 강력한 AES-256 암호화 표준을 사용한 종단 간 암호화를 지원합니다. SMB 1은 취약한 프로토콜로 간주되지만 최신 SMB 3 버전은 안전하며, SMB를 사용한 보안 수준이 NFS보다 우수합니다.
7. NFS 대 SMB 성능
NFS는 네트워크를 통해 작은 및 중간 크기의 파일(예: 약 1MB 이하의 파일)을 전송하는 데 더 나은 선택입니다. 큰 파일(예: 500MB 파일)을 전송할 때는 두 프로토콜의 성능이 유사합니다.
NFS는 암호화를 사용할 때 SMB보다 빠릅니다. SMB에서는 4MB 속도로 읽는 트랜잭션이 더 빠릅니다. 고 트래픽 부하는 데이터 전송 절차를 늦출 수 있습니다. NFS v.4.2에서 최대 대역폭이 증가되었음을 알 수 있습니다.
SMB 대 NFS: 비교 테이블
NFS 대 SMB 비교에서 주요 차이점을 요약할 수 있습니다.
SMB | NFS | |
환경 | Windows에서 기본 사용됩니다 | 주로 Linux 시스템에서 사용됩니다 |
인증 | 편리한 사용자 기반 인증 | 호스트 기반 인증이 주요 방법입니다 |
사용되는 포트 | TCP 445; TCP 139, UDP 137, 138 | TCP 2049, UDP 2049, TCP 111 및 UDP 111; TCP 1110, UDP 1110, TCP 4045, UDP 4045. |
암호화 및 보안 | 네 – Kerberos, AES-256 | 네 – Kerberos 및 TLS |
크로스 플랫폼 환경 | 지원됨 | 지원됨 |
파일 잠금 | 의무적 | 자문적 |
프린터 공유 | 예 | 아니오 |
리소스 액세스 | \\server\directory1\directory2 | server:/directory1/directory2 |
결론
NAS 장치에서 파일 공유 프로토콜로 NFS와 SMB 중 어떤 것을 선택할지는 네트워크 내 컴퓨터에서 주로 사용하는 운영 체제에 따라 달라지며, 다른 요소들도 고려됩니다. 두 프로토콜 모두 안정적이고 다양한 운영 체제에서 사용할 수 있습니다. 어떤 것을 선택하든 네트워크의 파일 공유를 사용할 때는 데이터를 백업하는 것이 중요합니다. NAKIVO Backup & Replication은 올인원 데이터 보호 솔루션으로, SMB 및 NFS 공유 데이터뿐만 아니라 가상 머신, 물리적 서버 및 Microsoft 365의 데이터를 보호하는 데 사용할 수 있습니다.