SMB(Server Message Block)는 네트워크 상에서 파일, 프린터, 직렬 포트 등의 자원을 공유하기 위해 사용되는 애플리케이션 계층 프로토콜입니다. 주로 Windows 시스템 간 파일 공유에 널리 사용되며, 클라이언트-서버 모델 기반으로 동작합니다.
SMB는 원래 IBM에 의해 개발되었고, 이후 Microsoft가 이를 확장하여 Windows OS에 통합하면서 널리 퍼지게 되었습니다. 현재는 다양한 운영체제에서 사용되며, 특히 Linux/Unix에서는 Samba라는 구현체를 통해 SMB 프로토콜을 지원합니다.
SMB는 클라이언트-서버 모델로 동작합니다. 클라이언트가 서버에게 특정 자원(파일, 프린터 등)에 대한 작업을 요청하면, 서버는 이를 처리하여 결과를 응답합니다.
이 과정은 SMB의 여러 명령어(예: NT_CREATE, READ, WRITE, CLOSE)를 통해 이뤄지며, 실제로는 패킷 단위로 복잡한 통신이 이뤄집니다.
SMB 통신은 여러 종류의 명령어로 구성됩니다.
| 명령어 | 설명 |
|---|---|
NEGOTIATE | SMB 버전 협상 |
SESSION_SETUP | 사용자 인증 과정 |
TREE_CONNECT | 공유 리소스에 대한 연결 요청 |
CREATE | 파일 또는 디렉토리 열기 |
READ/WRITE | 파일 읽기 및 쓰기 |
CLOSE | 열린 파일 핸들 종료 |
LOGOFF | 세션 종료 |
이러한 명령어들은 SMB의 각 동작을 세부적으로 제어합니다.
SMB는 전송 계층으로 주로 다음 두 가지를 사용합니다.
기업 환경에서는 반드시 Kerberos + Signed SMB 조합을 권장합니다.
smbd: 파일 및 프린터 공유 서비스 제공nmbd: NetBIOS 이름 서비스 제공winbindd: Windows 사용자/그룹 정보 통합실제 구성 예시
# /etc/samba/smb.conf
[공유폴더]
path = /srv/share
read only = no
valid users = user1 SMB(Server Message Block)는 로컬 네트워크에서 자원 공유를 간편하게 만들어 주는 강력한 프로토콜입니다. Windows 기반 네트워크 환경에서 표준처럼 활용되고 있으며, Samba를 통해 리눅스 환경에서도 융합 운용이 가능합니다.
그러나 SMB는 버전별 보안 이슈가 존재하기 때문에, 항상 최신 버전 사용과 보안 설정 강화가 필요합니다. 특히 기업 환경에서는 방화벽 설정, 접근 제어 정책, 인증 방식 등을 종합적으로 고려하여 안전하게 운용해야 합니다.
요양원 선택 전 반드시 확인해야 할 체크리스트를 공개합니다. 공식 평가 자료 조회법, 방문 시 확인…
공공기관 채용 비리의 실태와 피해 지원자의 대응법을 정리했습니다. 채용 비리 신고 방법, 공익신고자 보호제도, 취준생…
주식 손실을 세금 절약에 활용하는 합법적 방법을 공개합니다. 해외주식 손익통산, ISA 계좌 활용, 연금계좌 절세까지…
배달이 예상 시간보다 크게 늦으면 취소·환불을 요청할 수 있습니다. 배달앱별 지연 취소 방법과 잘못 배달됐을…
통신비 절약의 핵심은 요금제 최적화입니다. 내 데이터 사용량 확인법, 알뜰폰 전환 비교, 위약금 없이 요금제…