ĐỀ TÀI : 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
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 caøi ñaët maïng LAN chöông trình hoạt động.
BOÄ GIAÙO DUÏC VAØ ÑAØO TAÏO
TRÖÔØNG ÑAÏI HOÏC BAÙCH KHOA HAØ NOÄI
TRÖÔØNG ÑAÏI HOÏC THUÛY SAÛN
ÑEÀ TAØI :
TÌM HIEÅU NETBIOS TREÂN TCP/IP
VAØ ÖÙNG DUÏNG GIAO DIEÄN
NETBIOS TRUYEÀN THOÂNG BAÙO
QUA MAÏNG NGANG HAØNG
Sinh vieân thöïc hieän : Phan Mai Baïch
Giaùo vieân höôùng daãn : GSTS Nguyeãn Thuùc Haûi
CAÁU TRUÙC ÑEÀ TAØI
A PHAÀN I : Ñaët vaán ñeà
Ngöõ caûnh xuaát hieän ñeà taøi
Muïc tieâu chính cuûa ñeà taøi
Phaàn II : Tìm hieåu NetBIOS treân
TCP/IP
Giôùi thieäu TCP/IP
NetBIOS treân TCP/IP
Phaàn III : Thieát keá chöông trình
Nguyeân taéc laøm vieäc
NetBIOS
Khoái ñieàu khieån leänh
Caùc kieåu truyeàn thoâng ñöôïc
hoå trôï
Phaàn IV : Caøi ñaët chöông trình
Sô ñoà thuaät toaùn
Caùc haøm NetBIOS ñöôïc söû
duïng
Phaàn I : Muïc tieâu cuûa ñeà taøi
Nghieân cöùu xaây döïng chöông
trình ñeå hoã trôï cho ngöôøi söû duïng
ñeå truyeàn nhöõng thoâng baùo ngaén
qua maïng LAN.
Vôùi caùc thoâng baùo daøi ngaén
khaùc nhau.
Khi khoâng muoán tieáp tuïc nöõa
goïi leänh Detete ñeå xoùa teân ra khoûi
baûng teân, Neáu khoâng xoùa haún goïi
laïi Hangup ñeå chaám döùt session khi
Phaàn II : Tìm hieåu NetBIOS treân
TCP/IP
Giôùi thieäu TCP/IP.
TCP/IP ñöôïc tích hôïp vaøo moâi
tröôøng ñieàu haønh Unix vaø ñöôïc söû
duïng chuaån Ethernet ñeå keát noái vôùi
traïm laøm vieäc vôùi nhau.
Vaø cöù theá TCP/IP ngaøy caøng
ñöôïc söû duïng nhieàu trong caû caùc maïng
dieän roäng laãn maïng cuïc boä.
Boä giao thöùc TCP/IP : Laø moät
chuaån coâng nghieäp cuûa caùc giao thöùc
Tieáp theo
So saùnh caùc kieán truùc ISO vaø
TCP/IP
Tieáp theo
IP laø moät giao thöùc kieåu “khoâng
lieân keát” IP laø moät giao thöùc lieân
maïng.
Giao thöùc ñieàu khieån TCP. TCP laø
moät kieåu giao thöùc “coù lieân keát”
nghóa laø caàn thieát laäp lieân keát (loâgic)
giöõa caùc caëp thöïc theå TCP tröôùc khi
chuùng trao ñoåi döõ lieäu vôùi nhau.
Giao thöùc UDP : laø giao thöùc
“khoâng lieân keát” ñöôïc söû duïng thay
NetBIOS treân TCP/IP
Trong Windows 2000. NetBT söû
duïng caùc coång TCP vaø UDP nhö sau:
Coång UDP coù ñòa chæ 137 (caùc phuïc
vuï teân) Coång UDP coù ñòa chæ 138
(caùc dòch vuï Datagram) Coång TCP coù
ñòa chæ 139 (caùc dòch vuï sesion)
NetBIOS treân TCP/IP cung caáp laäp
trình giao dieän treân giao thöùc TCP/IP, söï
môû roäng laäp trình NetBIOS ñeán client
vaø server tôùi caùc ñòa chæ IP lieân maïng
vaø cung caáp khaû naêng lieân vaän haønh
Tieáp theo
Trong moâ hình ISO NetBT naèm ôû
taàng Session cuûa dòch vuï maïng.
Caùc NetBIOS Session ñöôïc thieát
laäp giöõa hai teân
Moät coång TCP ñaõ ñöôïc thieát
laäp giao tieáp töø traïm laøm vieäc ñeán
moät maùy phuïc vuï söû duïng ñòa chæ
coång TCP laø 139.
Moät traïm laøm vieäc gôûi lôøi yeâu
caàu NetBIOS Session ñeán teân maùy
Tieáp theo
Neáu moät taàng phieân cuûa
NetBIOS ñöôïc thaønh laäp, khi ñoù maùy
khaùch vaø maùy chuû trao ñoåi chia seõ
caùc file ñöôïc keát noái vôùi giao thöùc
phuïc vuï Message Block
NetBIOS laø moät chuaån laäp trình
öùng duïng giao dieän (API). NetBIOS ñònh
nghóa giao dieän laäp trình cho vieäc keát
noái maïng nhöng khoâng chi tieát nhö theá
naøo veà caùc frame truyeàn vaät lyù treân
maïng.
Phaàn III : Thieát keá chöông trình
gyeân taéc laøm vieäc NetBIOS
Ña soá ngöôøi söû duïng duøng
NetBIOS ñeå thöïc hieän moät leänh naøo
ñoù ñöôïc hoã trôï baèng NetBIOS PC
Network.
Moät leänh ñöôïc goïi laø ngaét meàm
5Ch, goïi ñòa chæ tröïc tieáp cuûa IBM PC
Adapter Card.
Leänh coøn goïi laø ngaét meàm 2Ah,
Tieáp theo
Döõ lieäu NETWORK CONTROL BLOCK
qua ñöôøng Goïi haøm qua
truyeàn NetBIOS baèng
haøm 2Ah
GIAO THÖÙC CUÛA NETBIOS
GIAO THÖÙCTRUYEÀN TIN
Physical
NETWORK ADAPTER
Moâ taû caùc taùc ñoäng NETBIOS
Tieáp theo
APPLICATION
Interrup 5Ch
Interrup 5Ch
NETWORK OS
NETBIOS
LOCAL NET/PC PROTOCOL
NETWORK ADAPTER
Vai troø NETBIOS trong maïng LAN
Tieáp theo
Caùc kieåu truyeàn thoâng ñöôïc hoã
trôï Hoã trôï teân NETBIOS
Moãi Network name coù 16 kyù töï
(coù phaân bieät chöõ hoa vaø chöõ
thöôøng).
Chæ soá teân (Number of Name) cho
moät Adapter coù theå ñöôïc söû duïng vôùi
Hoã trôï Datagram vaø Session
soá Datagram laø moät thoâng baùo
löôïng lôùn.
ngaén coù kích thöôùc thay ñoåi tuøy theo
NetBIOS.
Moät Datagram coù theå khoâng bao
NetBIOS Session support taïo söï keát
noái ñeå truyeàn döõ lieäu hai chieàu giöõa
hai öùng duïng trong moät thôøi gian daøi.
Khôûi taïo Sesion : Caùc Session ñöôïc taïo
khi moät öùng duïng phaùt hieän NetBIOS
Listen tham chieáu ñeán moät teân trong
NetBIOS name table. Trình öùng duïng thöù
hai phaùt hieän NetBIOS Call vôùi teân tham
chieáu laø teân maø öùng duïng thöù nhaát
ñang ñôïi.
Chaám döùt Session : Session ñöôïc chaám
döùt bôûi moät hay caû hai beân phaùt
Khoái ñieàu khieån leänh
Typedef struct{ byte NCB_NAME[16];
byte NCB_COMMAND; byte NCB_RTO;
byte NCB_RETCODE; byte NCB_STO;
byte NCB_LSN; voidinterrupt(*POST_FUNC)
(void);
byte NCB_NUM;
byte NCB_LANA_NUM;
void far
*NCB_BUFFER_PTR; byte NCB_CMD_CPLT;
word NCB_LENGTH; byte NCB_RECEIVE[14];
byte NCB_CALLNAME[16]; } NCB;
Tieáp theo
Leänh cuûa NetBIOS ñöôïc thöïc hieän
: Khi moät öùng duïng phaùt moät leänh
ñeán NetBIOS, NetBIOS seõ cung caáp moät
maõ traû veà cho yeâu caàu cuûa öùng
duïng. Thaønh phaàn naøy phuï thuoäc vaøo
leänh ñaëc taû löïa choïn wait hay no_wait
Neáu leänh ñaëc taû choïn wait,
quyeàn ñieàu khieån khoâng traû veà öùng
duïng cho ñeán khi Adapter hoaøn thaønh
leänh.
Neáu löïa choïn no_wait, NetBIOS ñöa
Phaàn IV : Caøi ñaët vaø thöû
nghieäm
Ñeå thöïc hieän truyeàn moät thoâng
baùo qua Session support cuûa NetBIOS,
ñaàu tieân ta caàn thieát laäp moät Session
vôùi teân cho tröôùc vaøo heä thoáng.
Neáu heä thoáng khoâng chaáp
thuaän vieäc ñöa teân naøy thì chöông trình
keát thuùc vaø vieäc truyeàn, nhaän khoâng
thöïc hieän ñöôïc
Neáu heä thoáng chaáp thuaän thì ta
tieáp tuïc phaùt leänh Listen vaø leänh Call
Start
Tiếp tục
Yes
Add Name Workstation No
Phát lệnh Hangup để kết thúc
Thành công
False Session
True
Phát lệnh Delete name để
Thiết lập Session
xoá tên ra
khỏi bảng tên
False
Thành công
True
End
Truyền và nhận Message
Thuật toán chính của chương