Hệ thống tệp Internet chung (CIFS)

Hệ thống tệp Internet chung (CIFS) là gì?

Hệ thống tệp Internet chung - Common Internet File System, viết tắt là (CIFS) là một giao thức đã trở nên phổ biến vào khoảng năm 2000 khi các nhà cung cấp làm việc để thiết lập giao thức chia sẻ tệp dựa trên Giao thức Internet.

Ở thời kỳ đỉnh cao, CIFS được hỗ trợ bởi các hệ điều hành như Windows, Linux và Unix. CIFS đã sử dụng mô hình lập trình máy khách-máy chủ trong đó một chương trình máy khách thực hiện yêu cầu của một chương trình máy chủ - thường là trong một máy tính khác - để truy cập một tệp hoặc chuyển một thông điệp đến một chương trình chạy trong máy tính máy chủ. Máy chủ thực hiện hành động được yêu cầu và trả về phản hồi.

CIFS hiện được coi là lỗi thời vì hầu hết các hệ thống lưu trữ dữ liệu hiện đại đều sử dụng các giao thức chia sẻ tệp Server Message Block (SMB) 2.0 và 3.0 mạnh mẽ hơn. Đây là những nâng cấp lớn cho CIFS.

CIFS/SMB và Hệ thống tệp mạng (NFS) là hai giao thức chính được sử dụng trong các hệ thống lưu trữ gắn mạng (NAS).

CIFS so với NFS

Được phát triển bởi Sun Microsystems vào những năm 1980, NFS hiện được quản lý bởi Lực lượng Đặc nhiệm Kỹ thuật Internet. NFS ban đầu được sử dụng nhiều hơn trong hệ điều hành Unix và Linux, trong khi CIFS/SMB được sử dụng cho Windows. Nhưng hầu hết các nhà cung cấp NAS lớn hiện nay đều hỗ trợ cả hai giao thức.

NFS là một ứng dụng máy khách-máy chủ cho phép chia sẻ tệp minh bạch giữa các máy chủ, máy tính để bàn, máy tính xách tay và các thiết bị khác. Sử dụng NFS, người dùng có thể lưu trữ, xem và cập nhật tệp từ xa như thể họ đang ở trên máy tính của chính họ. Với CIFS/SMB, một chương trình máy khách yêu cầu một tệp từ một chương trình máy chủ nằm trên một máy tính khác và máy chủ phản hồi. Điều này làm cho CIFS trở thành một giao thức trò chuyện hơn NFS.

CIFS so với SMB 2.0, 3.0

Giao thức mạng lớp ứng dụng SMB đã xuất hiện từ những năm 1980. Được phát triển tại IBM, SMB cho phép máy tính đọc và ghi tệp qua mạng cục bộ. Mặc dù CIFS và SMB thường được sử dụng thay thế cho nhau, nhưng giao thức CIFS đã được Microsoft giới thiệu trong các hệ điều hành Windows đầu tiên như một phiên bản cập nhật của SMB.

CIFS đã sử dụng giao thức TCP / IP của internet và được coi là sự bổ sung cho các giao thức ứng dụng internet hiện có, chẳng hạn như Giao thức truyền tệp và HTTP. Tuy nhiên, CIFS được coi là một giao thức trò chuyện có lỗi và có vấn đề về độ trễ mạng. Giao thức cũng khó duy trì và không an toàn vì số lượng lớn các lệnh và lệnh con mà nó xử lý. Nó đã được thay thế khi Microsoft giới thiệu SMB trong Windows 2000, Windows XP, Windows Server 2003 và Windows Server 2003 R2. Các phiên bản cập nhật của giao thức sau đó đã được sử dụng trong Windows Vista, Windows Server 2008, Windows 7 và Windows Server 2008.

SMB 2.0, được giới thiệu trong hệ điều hành Windows vào năm 2006, cung cấp các cải tiến hiệu suất so với SMB 1.0 bằng cách giảm số lượng lệnh và lệnh con từ hơn 100 xuống còn 19. Đặc tả 2.0 đóng gói nhiều hành động vào một yêu cầu duy nhất - để giảm số lượng yêu cầu khứ hồi được thực hiện giữa máy khách và máy chủ - vì máy khách bây giờ có thể lưu trữ tất cả các thay đổi đối với tệp trước khi cam kết nó vào máy chủ.

SMB 3.0 được giới thiệu trong Windows 8 và Windows Server 2012, đồng thời ra mắt SMB Direct, SMB Multichannel và SMB Transparent Failover. Nó cũng giới thiệu các cơ chế bảo mật tốt hơn, chẳng hạn như mã hóa đầu cuối và thuật toán Tiêu chuẩn mã hóa nâng cao (AES).

SMB 3.1.1, có sẵn trong Windows 10 và Windows Server 2016, hỗ trợ mã hóa AES 128 GCM và AES 128 CCM cấp quân sự. Nó cũng sử dụng hàm băm SHA-512 để kiểm tra tính toàn vẹn trước khi xác thực.

Dự án Samba đóng một vai trò quan trọng trong việc làm cho SMB tương thích với Unix. Samba là một phần mềm triển khai miễn phí của các giao thức mạng CIFS / SMB hỗ trợ tên miền Microsoft Windows Server, Active Directory và tên miền Microsoft Windows NT. Với Samba, các hệ điều hành giống Unix có thể tương tác với Windows và cung cấp dịch vụ tệp và in cho các máy khách Windows.

So sánh CIFS, NFS và SMB.
So sánh các giao thức chia sẻ tệp CIFS, NFS và SMB.

Các tính năng của giao thức CIFS

Giao thức CIFS bao gồm một số tính năng như được Microsoft ghi lại:

  • Giao thông thông minh. Mặc dù giao thức CIFS thường được sử dụng trên giao thức hướng kết nối, nhưng nó cũng có thể sử dụng giao thức không kết nối.
  • Kết nối linh hoạt. Giao thức CIFS linh hoạt về kết nối máy khách/máy chủ. Một máy khách có thể kết nối với nhiều máy chủ và thậm chí có thể thực hiện nhiều kết nối với một máy chủ nếu cần.
  • Đàm phán tính năng. Phương ngữ của giao thức và các tính năng được hỗ trợ được thương lượng trên cơ sở từng kết nối.
  • Truy cập tài nguyên. Giao thức CIFS không giới hạn các loại tài nguyên mà máy khách có thể kết nối. Máy khách CIFS có thể đồng thời kết nối với các tệp được chia sẻ, đường ống được đặt tên, hàng đợi in và các tài nguyên khác.
  • Bối cảnh bảo mật. Giao thức CIFS không giới hạn máy khách trong việc sử dụng một ngữ cảnh bảo mật duy nhất. Nhiều ngữ cảnh bảo mật có thể được sử dụng qua một kết nối nếu cần.
  • Quyền truy cập tệp. Một máy khách CIFS có thể tương tác với nhiều tệp đồng thời. Ngoài ra, chia sẻ tệp là một chức năng của hệ điều hành máy chủ và CIFS không áp đặt khóa tệp. Điều này có nghĩa là nhiều máy khách có thể truy cập đồng thời một tệp.
  • Các giao thức phụ mở rộng. Giao thức CIFS cho phép sử dụng các giao thức phụ, có thể mở rộng chức năng.
  • Giao tiếp giữa quá trình đường ống được đặt tên. CIFS cho phép các đường ống được đặt tên được sử dụng như một đường dẫn giao tiếp giữa máy khách và máy chủ.
  • Khóa tệp và bản ghi và bộ nhớ đệm an toàn. Mặc dù giao thức CIFS cho phép nhiều máy khách truy cập đồng thời một tệp, nhưng giao thức này hỗ trợ khóa tệp và bản ghi cũng như bộ nhớ đệm tệp.
  • Các thuộc tính tệp, thư mục và ổ đĩa. Giao thức CIFS được thiết kế để nhận dạng và tôn trọng các thuộc tính đã được gán ở các cấp tệp, thư mục và ổ đĩa. Giao thức này cũng tương thích với danh sách kiểm soát truy cập Windows.
  • Thông báo thay đổi tệp và thư mục. Giao thức CIFS bao gồm một cơ chế thông báo cho máy khách khi có thay đổi được thực hiện đối với tài nguyên được chia sẻ. Ví dụ: một ứng dụng khách Windows truy cập thư mục được chia sẻ thông qua File Explorer, thường sẽ hiển thị chế độ xem hiện tại về nội dung của thư mục được chia sẻ vì tính năng này.
  • Các lệnh hàng loạt. Giao thức CIFS cho phép các tin nhắn được liên kết với nhau và xử lý theo trình tự.
  • Hỗ trợ hệ thống tệp phân tán. Hệ điều hành Windows Server hỗ trợ sử dụng hệ thống tệp phân tán (DFS), tạo ra một không gian tên toàn cầu có thể bao gồm tài nguyên trên nhiều máy chủ. Giao thức CIFS hỗ trợ đầy đủ tính năng DFS.
  • Vận chuyển cuộc gọi thủ tục từ xa. Giao thức CIFS hỗ trợ sử dụng các giao thức RPC như MS-RPCE và MS-RAP.
  • Xác minh tin nhắn. Ký tin nhắn có thể được sử dụng cùng với giao thức CIFS như một cách để đảm bảo rằng các tin nhắn không bị sửa đổi trong quá trình truyền.
  • Hỗ trợ tên tệp Unicode. Giao thức CIFS hỗ trợ bộ ký tự ASCII, hoặc Mã tiêu chuẩn Hoa Kỳ cho Trao đổi Thông tin; Tên tệp Unicode 8.3; và tên tệp dài.

Công dụng của CIFS

Giao thức CIFS là nguồn gốc của giao thức SMB thế hệ hiện tại được sử dụng để chia sẻ tệp trong hệ thống Windows. SMB được sử dụng rộng rãi để truy cập các tệp và thư mục trên mạng Windows.

Mặc dù giao thức CIFS có lẽ thường được liên kết với Microsoft, nhưng có các phiên bản mã nguồn mở của giao thức có sẵn. Samba - bộ tương tác Windows cho Linux và Unix - bao gồm một máy khách SMB/CIFS. Giao thức CIFS / SMB đôi khi cũng được sử dụng để cung cấp cho các bộ chứa kết nối với các tài nguyên được chia sẻ.

CIFS hoạt động như thế nào?

Khi một máy khách CIFS cần giao tiếp với máy chủ CIFS, hành động hầu như luôn được bắt đầu ở cấp độ ứng dụng. Ví dụ: người dùng có thể mở Windows File Explorer và cố gắng truy cập thư mục được chia sẻ.

Đối với bước đầu tiên trong việc truy cập tài nguyên được chia sẻ, máy khách thiết lập một phiên NetBIOS với máy chủ, sử dụng một phiên TCP song công hoàn toàn qua Cổng 139. Sau đó, các thông báo CIFS có thể được truyền qua phiên này.

Với phiên NetBIOS tại chỗ, máy khách và máy chủ thực hiện một quá trình đàm phán trong đó họ xác định phương ngữ nào sẽ được sử dụng. Quá trình đàm phán này được bắt đầu bởi khách hàng bằng lệnh Lệnh này truyền hiệu quả đến máy chủ một danh sách các phương ngữ mà máy khách hiểu. Máy chủ phản hồi bằng phương ngữ mà nó sẽ sử dụng. Phương ngữ này phải là phương ngữ được hỗ trợ bởi cả máy khách và máy chủ.SMB_COM_Negotiate

Một khi máy khách và máy chủ đồng ý về một phương ngữ, máy khách sẽ truyền thông tin xác thực - thường là tên người dùng và mật khẩu - đến máy chủ và được cung cấp mã định danh duy nhất (UID). Khi máy khách truyền thông tin xác thực của mình, nó cũng gửi một danh sách các khả năng của nó. Bước này là cần thiết ngay cả khi máy chủ không yêu cầu xác thực.

Trên các hệ thống hiện đại, quá trình xác thực thường được xử lý bởi Active Directory. Tuy nhiên, xác thực không phải là chức năng trực tiếp của giao thức CIFS. Do đó, các cơ chế xác thực khác, chẳng hạn như RADIUS, cũng có thể được sử dụng. CIFS cũng có thể được sử dụng để chia sẻ tệp trong môi trường nhóm làm việc. Vì một nhóm làm việc thiếu cơ chế xác thực tập trung, quá trình xác thực sẽ sử dụng tài khoản người dùng cục bộ trên các máy tính của nhóm làm việc.

Nếu xác thực thành công, máy chủ sẽ trả về UID được chỉ định cho máy khách. Bây giờ khách hàng truyền tên Quy ước Đặt tên chung của cổ phiếu mà nó muốn đính kèm. Máy chủ kiểm tra để đảm bảo rằng tên chia sẻ hợp lệ và máy khách có các quyền cần thiết. Nếu các kiểm tra này thành công, máy khách sẽ được cấp quyền truy cập vào chia sẻ và sau đó có thể bắt đầu yêu cầu quyền truy cập vào các tài nguyên trong chia sẻ, chẳng hạn như tệp và thư mục.

Sự sụp đổ của CIFS

Ngay từ đầu, đề xuất CIFS của Microsoft có tiềm năng lớn. Với CIFS, Microsoft đã tìm cách tạo ra một phiên bản tiêu chuẩn của SMB. Trong số những lợi ích của nó là hỗ trợ liên lạc trực tiếp qua Cổng TCP 445, bỏ qua hoàn toàn NetBIOS. Tuy nhiên, mặc dù khả năng này, hầu hết các máy khách và máy chủ CIFS vẫn tiếp tục dựa trên xác thực NetBIOS và LAN Manager (Lanman).

Lanman 1.0 ban đầu được tạo ra để hỗ trợ các tính năng hệ thống tệp và chức năng hệ điều hành khác nhau trong OS/2 của IBM. Các phiên bản tiếp theo của Lanman hỗ trợ DOS và Windows. Đặc điểm kỹ thuật CIFS dựa trên việc sử dụng NT Lanman, còn được gọi là NTLM hoặc NT Lanman 0.12.

Theo thời gian, CIFS trở nên lỗi thời khi Microsoft phát hành các phiên bản mới hơn của giao thức SMB, với SMB 3.0 là phiên bản hiện tại.

Cách cấu hình CIFS cho Windows

Giao thức CIFS được Windows 10 hỗ trợ đầy đủ, nhưng chia sẻ CIFS bị tắt theo mặc định, mặc dù Windows 10 được định cấu hình theo mặc định để hoạt động như một máy khách CIFS. SMB là giao thức chia sẻ tệp ưa thích của Microsoft. Nó thay thế CIFS, vì vậy không có khả năng hầu hết các quản trị viên sẽ cần phải bật hoàn toàn giao thức CIFS. Mặc dù vậy, giao thức có sẵn để sử dụng nếu cần. Đây là cách hoạt động của quá trình cấu hình.

Để bật giao thức CIFS, hãy nhập lệnh Control tại dấu nhắc Windows Run. Điều này sẽ khiến Windows mở Bảng điều khiển. Tiếp theo, nhấp vào Chương trình và sau đó nhấp vào Bật hoặc Tắt các tính năng của Windows. Điều này sẽ khiến Windows hiển thị một hộp thoại với các tính năng có thể được bật hoặc tắt bằng cách chọn hộp kiểm tương ứng.

Cuộn qua danh sách các tính năng cho đến khi bạn tìm thấy Hỗ trợ chia sẻ tệp SMB 1.0 / CIFS. Theo mặc định, Windows 10 được định cấu hình để hoạt động như một máy khách CIFS nhưng không phải là một máy chủ CIFS. Do đó, một số thành phần CIFS được bật theo mặc định. Để bật hoàn toàn CIFS, hãy mở rộng vùng chứa Hỗ trợ chia sẻ tệp SMB 1.0/CIFS, sau đó chọn SMB 1.0/CIFS Server. Các hộp kiểm SMB 1.0 / CIFS khác - Tự động xóa và Máy khách - nên được chọn theo mặc định. Nhấp vào OK để cài đặt tính năng.

Trong Windows 10, không cần cấu hình CIFS bổ sung. Chia sẻ thư mục trên mạng hoạt động theo cùng một cách, bất kể SMB hay CIFS đang được sử dụng. Nhấp chuột phải vào thư mục sẽ được chia sẻ và chọn lệnh Properties từ menu phím tắt. Điều này sẽ khiến Windows hiển thị hộp thoại thuộc tính của thư mục. Chọn tab Chia sẻ của hộp thoại và bấm Chia sẻ.

Chọn người dùng mà bạn muốn chia sẻ thư mục và điều chỉnh quyền của họ nếu cần. Nếu thư mục cần được chia sẻ giữa những người dùng khác, hãy nhấp vào Thêm rồi nhập tên của người dùng hoặc nhóm mà thư mục sẽ được chia sẻ. Khi bạn hoàn tất việc định cấu hình người dùng và quyền của thư mục, hãy nhấp vào Chia sẻ rồi Đóng.

Brien Posey là MVP của Microsoft 22 lần và là ứng cử viên phi hành gia thương mại. Trong hơn 30 năm làm việc trong lĩnh vực CNTT, ông đã từng là kỹ sư mạng chính cho Bộ Quốc phòng Hoa Kỳ và là quản trị viên mạng cho một số công ty bảo hiểm lớn nhất ở Mỹ.

Sonia Lelii là cựu phóng viên tin tức cấp cao của TechTarget.

Ghi chú của biên tập viên: Bài viết này đã được sửa đổi vào năm 2024 bởi các biên tập viên của TechTarget để cải thiện trải nghiệm của người đọc.

Nhận xét

Bài đăng phổ biến từ blog này

Cài đặt TrueNAS Core

[SCALE] Phần cứng SCALE - Phần 1 - Yêu cầu phần cứng tối thiểu

Hướng dẫn TrueNAS SCALE phiên bản 24.10