Tài liệu tham khảo công nghệ thông tin Tìm hiểu Netbios trên TCP/IP và ứng dụng giao diện Netbios truyền thông báo qua mạng ngang hàng
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN
TÌM HIỂU NETBIOS TRÊN TCP/IP VÀ ỨNG DỤNG GIAO DIỆN
NETBIOS TRUYỀN THÔNG BÁO QUA MẠNG NGANG HÀNG
Sinh viên thực hiện : Phan Mai Bạch
Giáo viên hướng dẫn : GSTS Nguyễn Thúc Hải
ĐỀ TÀI :
Trang 2CẤU TRÚC ĐỀ TÀI
PHẦN I : Đặt vấn đề
Ngữ cảnh xuất hiện đề tài Mục tiêu chính của đề tài
Phần II : Tìm hiểu NetBIOS trên TCP/IP Giới thiệu TCP/IP
NetBIOS trên TCP/IP
Trang 3 Phần III : Thiết kế chương trình
Nguyên tắc làm việc NetBIOS Khối điều khiển lệnh
Các kiểu truyền thông được hổ trợ Phần IV : Cài đặt chương trình
Sơ đồ thuật toán
Các hàm NetBIOS được sử dụng Kết quả thử nghiệm
Phần V : Kết luận.
Trang 4Phần I : Mục tiêu của đề tài
Nghiên cứu xây dựng chương trình để hỗ trợ cho người sử dụng để truyền những thông báo ngắn qua mạng LAN.
Với các thông báo dài ngắn khác nhau Khi không muốn tiếp tục nữa gọi lệnh
Detete để xóa tên ra khỏi bảng tên, Nếu không xóa hẳn gọi lại Hangup để chấm dứt session khi nào cần kết nói lại.
Trang 5Phần II : Tìm hiểu NetBIOS trên TCP/IP
Giới thiệu TCP/IP
TCP/IP được tích hợp vào môi trường điều hành Unix và được sử dụng chuẩn Ethernet để kết nối với trạm làm việc với nhau
Và cứ thế TCP/IP ngày càng được sử dụng nhiều trong cả các mạng diện rộng lẫn mạng cục bộ.
Bộ giao thức TCP/IP : Là một chuẩn công
nghiệp của các giao thức được thiết kế để kết nối các mạng lớn với nhau mở rộng thành mạng diện
rộng(WAN)
Trang 6Tiếp theo
So sánh các kiến trúc ISO và TCP/IP
Trang 7 IP là một giao thức kiểu “không liên kết” IP là một giao thức liên mạng.
Giao thức điều khiển TCP TCP là một kiểu giao thức “có liên kết” nghĩa là cần thiết lập liên kết (lôgic) giữa các cặp thực thể TCP trước khi chúng trao đổi dữ liệu với nhau
Giao thức UDP : là giao thức “không liên kết” được sử dụng thay thế cho TCP Khác với TCP, UDP không có chức năng thiết lập và giải phóng liên kết, tương tự như IP
Tiếp theo
Trang 8 NetBIOS trên TCP/IP
Trong Windows 2000 NetBT sử dụng các cổng TCP và UDP như sau:
Cổng UDP có địa chỉ 137 (các phục vụ tên)
Cổng UDP có địa chỉ 138 (các dịch vụ Datagram)Cổng TCP có địa chỉ 139 (các dịch vụ sesion)
NetBIOS trên TCP/IP cung cấp lập trình giao diện trên giao thức TCP/IP, sự mở rộng lập trình NetBIOS đến client và server tới các địa chỉ IP liên mạng và cung cấp khả năng liên vận hành với các hệ điều hành khác nhau.
Trang 9 Một trạm làm việc gởi lời yêu cầu NetBIOS Session đến tên máy phục vụ kết nối trên TCP
Trang 10Tiếp theo
Nếu một tầng phiên của NetBIOS được thành lập, khi đó máy khách và máy chủ trao đổi chia sẽ các file được kết nối với giao thức phục vụ Message Block NetBIOS là một chuẩn lập trình ứng dụng giao diện (API) NetBIOS định nghĩa giao diện lập trình cho việc kết nối mạng nhưng không chi tiết như thế nào về các frame truyền vật lý trên mạng.
Hai máy cần liên lạc với nhau phải có ít nhất một nghi thức mạng chung được cài đặt trên từng máy
Trang 11Phần III : Thiết kế chương trình
Đa số người sử dụng dùng NetBIOS để thực hiện một lệnh nào đó được hỗ trợ bằng NetBIOS PC Network
Một lệnh được gọi là ngắt mềm 5Ch, gọi địa chỉ trực tiếp của IBM PC Adapter Card
Lệnh còn gọi là ngắt mềm 2Ah, lệnh này không phụ thuộc IBM PC Adapter Card hiện thời
Ngyên tắc làm việc NetBIOS
Trang 12Dữ liệu qua đường truyền
NETWORK CONTROL BLOCK
Gọi hàm qua NetBIOS bằng hàm 2Ah
GIAO THỨC CỦA NETBIOS
GIAO THỨCTRUYỀN TIN
NETWORK ADAPTER
Mô tả các tác động NETBIOSTiếp theo
Trang 13Tieáp theo
NETWORK OS
Interrup 5ChInterrup 5Ch
Trang 14Tiếp theo
Các kiểu truyền thông được hỗ trợ
Mỗi Network name có 16 ký tự (có phân biệt chữ hoa và chữ thường)
Chỉ số tên (Number of Name) cho một Adapter có thể được sử dụng với số lượng lớn.
Hỗ trợ tên NETBIOS
Hỗ trợ Datagram và Session
Datagram là một thông báo ngắn có kích thước thay đổi tùy theo NetBIOS.
Một Datagram có thể không bao giờ được
Trang 15 NetBIOS Session support tạo sự kết nối để truyền dữ liệu hai chiều giữa hai ứng dụng trong một thời gian dài.
ứng dụng phát hiện NetBIOS Listen tham chiếu đến một tên trong NetBIOS name table Trình ứng dụng thứ hai phát hiện NetBIOS Call với tên tham chiếu là tên mà ứng dụng thứ nhất đang đợi.
một hay cả hai bên phát lệnh NetBIOS Hang Up
Trang 17 Khoái ñieàu khieån leänh
Typedef struct{
byte NCB_COMMAND;byte NCB_RETCODE;byte NCB_LSN;
voidinterrupt(*POST_FUNC)(void);byte NCB_LANA_NUM;
byte NCB_CMD_CPLT;byte NCB_RECEIVE[14];} NCB;
Trang 18Tiếp theo
Lệnh của NetBIOS được thực hiện : Khi một ứng dụng phát một lệnh đến NetBIOS, NetBIOS sẽ cung cấp một mã trả về cho yêu cầu của ứng dụng Thành phần này phụ thuộc vào lệnh đặc tả lựa chọn wait hay no_wait
Nếu lệnh đặc tả chọn wait, quyền điều khiển không trả về ứng dụng cho đến khi Adapter hoàn thành lệnh
Nếu lựa chọn no_wait, NetBIOS đưa ra từ mã trả về
Trang 19Phần IV : Cài đặt và thử nghiệm
Để thực hiện truyền một thông báo qua Session support của NetBIOS, đầu tiên ta cần thiết lập một Session với tên cho trước vào hệ thống.
Nếu hệ thống không chấp thuận việc đưa tên này thì chương trình kết thúc và việc truyền, nhận không thực hiện được
Nếu hệ thống chấp thuận thì ta tiếp tục phát lệnh Listen và lệnh Call để khởi tạo Session
Trang 20Tiếp tục
Phát lệnh Hangup để kết thúc Session
Phát lệnh Delete name để xoá tên ra
khỏi bảng tên
FalseFalse
Trang 21 Các hàm NetBIOS được sử dụng : cộng tên, xóa tên, gọi, lắng nghe, nhận gởi, dừng kết nối……
Các kết quả thử nghiệm
Chương trình đã hoạt động trong mạng LAN.
Giúp người sử dụng để truyền nhận thơng báo qua mạng ngang hàng một cách dễ dàng và thơng tin đến đích nguyên vẹn.
Chỉ cần hai máy cài đặt mạng LAN chương trình hoạt động.
Trang 22Phần V : Kết luận
Tuy có nhiều cố gắng trong việc tìm hiểu giao thức TCP/IP nhưng còn nhiều hạn chế chỉ xung quanh vấn đề của đề tài.
NetBIOS trên TCP/IP dịch nhiều thuật ngữ còn nhiều điều chưa rõ.
Phân tích và cài đặt tuy chương trình hoạt động nhưng còn nhiều hàm chưa được sử dụng trong chương trình.
Hướng phát triển đề tài : Cài đặt tất cả các hàm NetBIOS, khi một session nào xóa thì các session khác truyền được, truyền được trên mọi giao thức, giao diện thân thiện hơn đối với người dùng,truyền được nhiều thông báo dài hơn
Trang 23Lời kết
* Tôi xin chân thành cám ơn đến :
- Thầy Nguyễn Thúc Hải đã tận tình giúp tôi trong suốt quá trình thực tập tốt nghiêp.
- Cùng toàn thể quí thầy cô trong khoa Công nghệ Thông tin Trường Đại học Bách Khoa Hà Nội.
- Cùng toàn thể quí thầy cô trong khoa Công nghệ Thông tin Trường Đại học Thủy Sản Nha Trang.
- Cùng toàn thể các bạn trong lớp 40TH.