1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu giao thức internet relay chat và xây dựng phần mền ứng dụng

124 4 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu Giao thức Internet Relay Chat và Xây dựng phần mềm ứng dụng
Tác giả
Người hướng dẫn Thạc sĩ Mãi Văn Cường
Trường học Trường Đại học Ngoại ngữ Tin học TP.HCM
Chuyên ngành Khoa Công Nghệ Thông Tin
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2007
Thành phố TP.Hồ Chí Minh
Định dạng
Số trang 124
Dung lượng 15,08 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chuang 2: KiSn truc cua giao thuc IRC Trang 192.3.2 Chuy~n ti~p Relaying cac thong di~p: H~ th6ng IRC chuySn cac thong di~p til xuAt phat til client nay cho mQt ho~c nhiSu client khac nh

Trang 1

BQ GIAO DVC vA BAo T~O

TRUONG £>HDL NGO~I NGO' TIN HQC TP.HCM

KHOACONGNGHBTHONGTIN

TiM HIEU GIAO THUC INTERNET RELAY

pHAN MEM irNG DUNG

GVHD: Thac siMAl VAN CUONG

THANH PHO HO CHi MINH - 2007

Trang 2

Truac het chung em xin cam an thfty Mai Van Cuang, nguai da tf\fC tiep huang

dftn va dQng vien chung em trong nhfrng ngay thang th\fc hi~n dS tai nay

Ke den chung em cling xin cam an quy thfty co 6 truO'ng D~i hQc Ngo~i ngfr Tin hQc Thanh ph6 H6 Chi Minh da truySn d~t cho chung em nhfrng kien thuc,kinh nghi~m va t~n tinh giup dO'chung em trong thai gian theo hQc t~i truang

-Cu6i cling chung em xin cam an gia dinh, cac anh chi khoa truac va b~n be da

giup dO', t~o diSu ki~n thu~n IQ'i cho chung em th\lc hi~n t6t dS tai nay

Trang 4

'.

Trang 5

4.3.2 Cac l~nh dung dS gia nh~p va ho~t dong tren channel 53

4.3.4 Cac l~nh xem cau truc va thong tin cua IRC Network 69

4.3.5 Cac l~nh xem thong tin va d~c diSm cua server 73

Trang 6

Chuang 5: KiSn truc cua chuang trinh 84

5.1.2 M6 hinh ho~t dQng client-server dung socket 86

5.2 KiSn truc phan tAng cua IRC Client va IRC Server 88

5 3 S d. a A.0 glao tlep gma c lent va server.; • - l' , .89

Chuang 6:Ung d\mg giao thuc IRC 91

Trang 7

6.3 Phuong phap cai d~t Tiny IRC Client 96

Trang 8

6.5.6 Menu "Cua s6" clla cua s6 chinh 107

6.5.7 Menu "Trq g,iup" clla cua s6 chinh 108

Trang 9

Gi6i Thi~u

Trang 8

Cling v6i S\f tiSn bQ vuqt b~c cua cac cong ngh~ m6i, cUQcs6ng cua con

nguai nay cang hom thi~n va d~y du han De co kSt qua nay khong the khong

nh~c t6i Internet Internet la mQt ngu6n tai nguyen vo t~n, mQt cong C\lhfiu hi~u

de m<;>inguai co the xich l~i g~n nhau han

Co the noi Internet da thay d6i hoan toan cach nguai ta h<;>ct~p, lam vi~c

va giai tri NSu nhu tru6c day chUng ta g<;>idi~n tho~i thong qua h~ th6ng m~ngvi~n thong PSTN thi nay v6i cong ngh~ VoIP, chung ta co the th\fChi~n cac cUQcg<;>iqu6c tS v6i mQt chi phi rat thap nhung chat lu<;mgkhong thua kern la baonhieu Hay nSu nhu tru6c day chung ta mu6n lien l~c v6i nguai than b~n bechung ta phai danh di~n,' viSt thu va cha h6i am thi nay v6i internet va dung cacchuang trinh chat, ta co the tan gau, xem hinh va nghe thay gi<;>ngnoi cua nguaithan tuc thi, rut ng~n khoang cach gifra con nguai v6i con nguai

Vi thS, cu6n d6 an t6t nghi~p nay xin trinh bay ve giao thuc Internet RelayChat, g<;>it~t la IRC Day la giao thuc Co' sa de hi~n th\fC cac h~ th6ng chat trenthS gi6i tuy khong d~y du nhung cling ph~n nao trinh bay ve cac qui t~c, cach sird\lllg va xay d\fng h~ th6ng m~ng IRe Qua do chung ta co the xay d\fllg mQt h~

Trang 10

Chuang 1: Gi6'i thi~u chung

Trang 11

Chuang 1: Gi6i thi~u chung Trang 10

I

1.1 IRe hI gi?

IRC la tu viSt t~t cua C\un tu "Internet Relay Chat" la mQt h~ th6ng truySn thong

thai gian thvc va da nguai dung duqc rfit nhiSu nguai tren thS gi6i sir d\mg Bay

la mQt giao thfrc dUng dS tro chuy~n, tim g~u tren m~ng dVa tren van bim IRC

chi ra cach kSt n6i giua cac client v6i nhau, giua client v6i server va giua cac

server v6i nhau Cac khai ni~m vS client va server se duqc dS c~p dSn ngay 6

ph~n sau M6i ca nhan tham gia hQitho~i co thS noi chuy~n rieng v6i tung nguai hay n6i chuy~n v6i mQt nh6m nguai C\l thS trong mQt moi truang cong cQng (public - ai cling c6 thS tham gia) hay rieng tu (private - chi nhung nguai trong

nhom m6i duqc tham gia)IRC la mQt khia c~nh quan tf(~ng trong vi~c t~o nen Internet - mQt cUQccach

m~ng trong vi€n thong Thay vi sir d\lng lai n6i, nguai dung go mQt dong chu vao va giri di thi tfrc tha~ nguai b~n (hay nhung nguai cUng dam tho~i) se nh~n duqc thong di~p ngay IRC di'ithu hut nhiSu nguai vi tinh ti~n lqi va kha nang

Trang 12

Chuang 1: Gi6'i thi~u chung

1.2 Ljch SUo cua giao thtfc Internet Relay Chat:

Trang 11

Tru6'c day, rnQt h~ th6ng v6'i nhfrng khai ni~rn tuang tv IRC da dugc su d\illg

bi~n Tay B~c Phfin Lan) da phat tri~n rnQt chuang triOO chiOO la tiSn thfm cua

chuang trinh talk - v6n la rnQt chuang triOO tro chuy~n trgc tuySn tuy OOien talk

chi cho phep nguai dung noi chuy~n tung doi mQt (wang tv di~n tho?i) nen vfin

chua rnang bim chfit thong tin da chiSu OOu hi~n nay Dr OOien giao thuc IRC

nguyen thuy khong phuc t?P OOu cac phien bim hi~n t?i Giao thuc IRC da phat

tri~n qua rnQt thai gian tuang d6i dai va qua nhiSu giai dO?ll Ngay nay h~ th6ng

IRC la rnQt trong OOung h~ th6ng phuc t?P oofit tren Internet Server IRC dfiu

tien la rnQt chiSc may tiOO cua Oikarinen, gQi la oulubox hi~n nay vfin con dugc

su d\mg d~ ph\lc V\l cho cac OOu cfiu C\lCbQ Chi sau mQt thai gian ng~n, IRC drt

qu6c tS dfiu tien Tuy OOien, h~ th6ng lilc do vfin chua 6n diOO

Thai gian nay, Internet vfin con qua rn6'i me d6i v6'i rfit OOiSu nguai va nhiSu

cong ngh~ kSt n6i lien m?ng OOu ngay nay vfin chua xufit hi~n Do do, vi~c thl!c

hi~n cac kSt n6i bang qua d?i duang, qua cac chau l\lc rfit kho khan do ph\l thuQc

rfit nhiSu vao gi6'i h?n cua m?ng di~n tho?i cling OOu gia ca cua no Th~m chi

ngay ca cac hQc vi~n giao d\lc 16'na My va B~c Au cling chua tham gia vao h~th6ng nay

Trang 13

Chuang 1: Gi6i thi~u chung Trang 12

Dfin dfin, cung v6i SlJ phat triSn cua Internet, IRC da treiirQng ph~rn vi ho~t dQngtren khofmg 120 qu6c gia va lanh th6, s6 ngmJi dung IRC da b~t dfiu nhieu denrnuc hang tri~u vao thai diSrn nay Dfiu narn 1991, IRC da ph6 bien kh~p the gi6i

nhung hfiu het nguai dung chi hiSu no du6i danh nghia Internet Th~rn chi ngay

nay, cling van con nhUng nguai dung Internet khfmg biet ve SlJ t6n t~i va ho~t

dQng cua h~ th6ng IRC D6i v6i hQ, chat cling la rnQthinh thuc "len rn~ng".

Narn 1992, s6 hQc vi~n giao d\lc tham gia ket n6i rn~ng da tang vQt, cac sinh vien

troy c~p cling tang va do do s6 nguai dUng tren IRC da tang den muc bfit nga.

NQi dung cua thong tin va rn\lc dich trao d6i cling phong phil len Va lilc nay

nhung nguai dung IRC da nghi t6i chuy~n chia cac server trong rn~ng IRC ban

dfiu thanh nhieu h~ th6ng nh6 han dS ti~n qm\n ly va giam tai Hi~n nay chi conrnQt vai h~ th6ng duQ'c duy tri nhung chUng da phuc t~p han nhieu do co SlJ h6

Chau Au, B~c My va khu V\fCThai Binh Duang rn~c du khi nay chi phi ket n6ivan con 100 va t6c dQ kha ch~m Khuynh hu6ng hi~n nay cho thfiy ti l~ gia tang

co thS len den 30% rnQt narn, nhung ti l~ nay ch~c ch~n se cao han nua trong

thai gian toi

Vao ngay 22/02/1999, Efnet - rnQttrong nhUng h~ th6ng IRC l6n nhfit - da d~t

den muc 50.000 ket n6i cung lilc (ph\lc V\lcung lilc 50.000 nguai sir d\lng) Con

Trang 14

Chuang 1: Gi6'i thi~u chung Trang 13

s6 nay v~n con dang tiSp t\lC phat triSn va kho co thS d\1' doan tru6'c duQ'c no se

tang dSn muc nao trong thai gian s~p t6'i

1.3 Cac RFC clla giao thll'c Internet Relay Chat:

RFC la viSt t~t cua Request For Comment, la t~p hQ'POOUngtai li~u vS kiSn nghi,

dS xu~t va OOUng lai biOO lu~n lien quan tf\l'C tiSp ho~c gian tiSp dSn cang ngh~,

t~t ca cac ky su thaOO vien cua IETF(Internet Engineering Task Force) d6ng y vaduy~t, sau d6 OOung tai li~u nay duQ'c xu~t ban va duQ'c cang nh~n la 1 chudn,

nghi thuc cho Internet Tai li~u RFC n6i tiSng va lam t~o duQ'c tiSng vang 100

nh~t la tai li~u RFC s6 822 vS Internet Email boi Dave Crocker

Trang chu cua RFC: http://www.ietf.org/rfc.html

Download file tai li~u RFC: http://www.rfc-editor.org/

MQt s6 RFC cua giao thuc IRC la:

Reed - 1992) ban vS OOUng d~c diSm cua cac h~ th6ng tro chuy~n tf\l'C

tuySn, d6ng thai cling dua ra nhUng yeu cAu va tieu chudn ooim tiSn dSn

vi~c xay d\l'llg mQt giao thuc ap d\lng cho lo~i h~ th6ng nay

bay t6ng quan vS cac v~n dS trong giao thuc IRC nhu bQ l~nh giao tiSp

client - server va server - server dS xay d\l'llg cac chuang triOOclient va

server IRC, cac quy t~c dS thanh l~p channel hQi tho~i RFC 1459 rna tilgiao thuc IRC la giao thuc d\1'a tren kY t\1', dung cho OOung client co kha

Trang 15

Chuang 1: Gi6i thi~u chung Trang 14

nang su d\lng socket de ket n6i VflOserver D6ng thai cling kh~ng dinh

vi~c su d\lng giao thuc TCP/IP hi t6t nhAt cho vi~c truySn nh~n cac thongdi~p ph\lc V\lvAn(M n6i chuy~ntf\lC tuyen

•: RFC 2810, RFC 2811, RFC 2812, RFC 2813 (Christophe Kalt - 2000) la

04 ban RFC duQ'c c~p nh~t len so v6i RFC 1459 M6i ban mo ta ro rangcho tung vAndS:

- RFC 2810: Internet Realy Chat-Architecture trinh bay kien truc cua

giao thuc IRC hi~n nay d6ng thai dua ra nhiing nhi~m V\l cua m6ithanh phftn trong kien truc

- RFC 2811: Internet Realy Chat-Channel Management trinh bay

cac lo~i channel, d~c diem va cach t6 chuc cac cUQctro chuy~n trong m6i lo~i channel.

- RFC 2812: Internet Realy Chat-Client Protocol ttnh bay vS bQ l~nh giao tiep client - server, cac thong di~p tra vS ill server khi nh~n duQ'cthong di~p tu client.

- RFC 2813: Internet Realy Chat-Server Protocol trinh bay vS bQ

l~nh giao tiep server-server, cac vAndS xay ra khi hai server ket n6i

ho~c ng~t ket n6i v6i nhau Cling nhu cac hi~n tuQ'ng nay sinh gayhi~n tUQ'ngtri tr~, lam ch~m h~ th6ng

Trang 16

Chuang 2: Ki~n truc clla giao thuc IRC

eHUONGHAI

Trang 15

,

N(>idung: chuang nay gi6i thi~u vS ki~n truc clla giao thuc Internet Relay

Chat, bao g6m cac khai ni~m client, server, m(>ts6 dich v1)duQ'ccung d.p va cac

phuang thuc phan ph6i thong di~p N(>idung C1)thS g6m:

1 Khai ni~mclient va server.

2 Mo hinh va ki~n truc clla h~ th6ng IRC

3 Mot s6 dich V\l duQ'cgiao thuc IRC hB trQ'

4 Cac phuong thuc phan ph6i thong di~p

Trang 17

Chuang 2: KiSn truc cua giao th(rc IRC

2.1 Khai ni~m client va server

Trang 16

IRC ho~t dQng dlJa tren mo hinh client-server. Trong do client Ia nhfrng chuangtrinh ch~y tren may tinh ca nhfm, kSt n6i vao may co cai d~t chuang trinh server.

MQt client dugc phan bi~t voi cac client khac b~ng mQt bi~t danh (Nickname).

Co hai Io~i client:

.: User client: Ia nhfrng chuang trinh co giao di~n giup nguai su d\lng co thS nh~p cac dong van b~m (text) dS nguai dUng gui cac thong di~p (tro

user

•: Service client : client Io~i nay khong tham gia tro chuy~n tren h~ th6ngIRC Chung co nhi~m V\l truy c~p vao server Iely cac thong tin cftn thiSt dSph\lc V\l cho cac user. Vi d\l nhu djch V\l th6ng ke Iai Ijch cua cac user Server t~o nen xuang sqng (backbone) cua h~ th6ng IRC, cung celp mQt diSm

server khac co thS kSt n6i vao t~o mQt m~ng IRC V oi mQt celu hinh m~ng lon,

chu dong vai tro Ia mQt nut trung tam cho phftn con I~i cua m~ng Tren m6i

server co chuang trinh co nhi~m V\l nh~n xu Iy va chuySn tiSp cac thong di~pph\lc V\l cho qua trinh chat. Cac Io~i client, celu truc va (rng d\lng cua nhfrngthong di~p gui tir cac server se dugc dS c~p chi tiSt han trong phftn sau

US co thS b~t dftu qua trinh chat thi nguai dung cftn mot kSt n6i Internet va caid~t mQt chuang trinh IRC client tren may tinh cua minh dS co thS lien l~c voi

server. Co nhiSu chuang trinh client ph\lc V\l tren nhiSu h~ th6ng khac nhau, vid\l nhu mIRC la mQt chuang. trinh chat client relt ph6 biSn tren h~ diSu hanh

Trang 18

Chuang 2: Ki€n truc cua giao thuc IRC Trang 17

I

Macintosh TAt ca nhung chuang trinh client nay dSu cho phep cling k€t n6i vaornQt IRC server.

2.2 Mo hloh va ki~n true eua h~ th&ng IRe:

MQt h~ th6ng IRC a rnuc dan gian nhAt co thS chi bao g6rn rnQtserver duy nhAtcho nhiSu client kSt n6i vao V 6i quy rno 16n han, h~ th6ng rn~mg IRC cling cothS bao g6rn rAt nhiSu server kSt n6i v6i nhau M6i server cho phep rnQt s6 IUQllgnhAt dinh (thuemg la kha 16n)client kSt n6i vao dS tharn gia h~ th6ng IRC Trang

s6ng (backbone) va cung cAp nhiSu diSrn k€t n6i cho cac client. Cac backbone cod~ng diy M6i server duQ'c xern nhu la rnQt nut rn~ng (node) trang diy va cac

client rnu6n giao tiSp duQ'c v6i nhau thi phai thong qua cac server. 86 IUQllg

server phai thong qua nhiSu hay it my thuQC vao vi tri cua client nay (se duQ'crninh h<;>aro du6i day)

Vi dl,l rninh h9a sau cho thAy rno hinh cua rnQt rn~ng IRC tuang d6i dan gian vS

rn~t quy rno, bao g6rn 5 server A, B, C, D,E va 5 client 1, 2, 3, 4, 5 Mo hinhnay se duQ'c su dl,lng dS d~c ta cach phan ph6i cac thong di~p giua cac client va

server aphful ti€p sau day

Trang 19

Chuang 2: Ki@ntruc clla giao thuc IRC

xem sa d6 chi ti@tclla m~ng t~ihttp://map.efnet.org/

2.3 Mot s& dich Vl} dU'C}'cgiao thfrc IRe hB trC}':

2.3.1 Bioh vi client:

De trao d6i thong di~p l~n nhau cac client phai bi@tduqc vi tri Clla nhau, tuc la dia chi host clla nhau Co nhu th@thi cac server m6i bi@tduqc cAn phai chuyen thong di~p di dau Khi thi@tl~p k@tn6i d@nserver, m6i client phai dang ki mQt nhan (label), can cu VaGnhan do, cac server va cac client khac se bi@tduqc vi tri clla client do Server co trach nhi~m lUllgifr tat ca cac nhan dang duqc su dVng.

Trang 20

Chuang 2: KiSn truc cua giao thuc IRC Trang 19

2.3.2 Chuy~n ti~p (Relaying) cac thong di~p:

H~ th6ng IRC chuySn cac thong di~p til xuAt phat til client nay cho mQt ho~c

nhiSu client khac nher vao cac server Khi hai client giao tiSp vai nhau, thong

di~p til client giri se duQ'c chuySn dSn server truac Sau do server se tim duang

dS chuySn dSn client kia nher kha nang dinh vi vi tri va luu gifr vi tri cua cac

client.

2.3.3 SO- huu va qmin If cac kenh hQi tho~i:

Khai ni~m channel se duQ'cgiai thich trong phdn sau. a day co thS hiSu mQt cach

dan gian channel la mQt nai rna mQt nhom ngueri dung cung tro chuy~n vS mQt

dS tai nao do va h~ th6ng IRC se h6 trQ' vi~c giri cac thong di~p chi cho cac

ngueri dUng trong channel do MQt h~ th6ng IRC co thS co rAtnhiSu channel

H~ th6ng cho phep nguer~t1:\Ora kenh (creator) va ngueri quan Iy kenh (operator)

Operator co quySn cao han cac user Operator co kha nang quan Iy va diSu hanhkenh

2.4 Cac phU'O'ngthfrc phan ph8i thong di~p:

2.4.1 Truy~n thong 1-1:

TruySn thong 1- 1tuc la vi~c truySn thong di~p rieng tu gifra hai client Vi~c nay

mang y nghia la rieng bi~t gifra hai client nhung th~t vfin phai thong qua server (ho~c cac server) rna hai client nay kSt n6i dSn.

Ta xem 11:\ihinh minh hQaSo' d6 m1:\ng6 tren dS hiSu han vS vi~c truySn thongnay:

Trang 21

Chuang 2: Ki~n truc cua giao thuc IRC

Server 8

Client 3

Server E

Trang 20

Thong di~p gifra client 1 va client 2 chi thong qua server A.

Thong di~p gifra client 1 va client 3 phai thong qua server A va server B.

Thong di~p gifra client 1 va client 4 phai thong qua cac server A,B,C,D.

2.4.2 Truy~nthong 1-N:

TruySn thong I-n dugc ap d\lng trong 3 truemg hgp sau:

Chuy~n thong di~p d~n mQt channel:

Thong di~p gui d~n channel phai dugc gui cho tAt ca cac server co user la thanh vien cua channel Trong truemg hgp server co nhiSu user cung la thanh vien cua channel do thi cling chi co duy nhAt mQt thong di~p dugc gui cho

server nay va nhi~m V\lcua server nay la phai chuy~n cac thong di~p do cho

nhfrng user thuQc channel dang xet tren server nay.

LAy l~i vi d\l trong hinh tren Gia su user tren client 1, client 3 va client 4 cung tham gia vao mQt channel Khi co thong di~p chuy~n d~n channel,

Trang 22

. -

-Chuang 2: KiSn trUc cua giao tht'rc IRC Trang 21

server A, B, D tiSp nh~p thong di~p va phfm ph6i cho cac client co user thuQc channel Tt'rc la serv.er B phfm ph6i cho client 3, server D phan ph6i cho client 4, rieng server A chi phan ph6i cho client 1 cht'r khong phan ph6i cho client 2.

Chuy~n thong di~p dSn mQt host/server mask:

Chuy~n thong di~p dSn host/server mask la cach d~ gui thong di~p dSn cho nhi8u nguai dung co cung mQt vai thong tin d~c di~m v8 host va server nao

do

Vi dl,l:co 3 nguai dung v6i ten host nhu sau : abc.chatchit.vn, def.tangau.vn,

ghi.nhieuchuyen.vn Khi ta d8 c~p dSn cac nguai dUng co host mask "*.vn"

tuc la noi dSn ca ba host tren

Chuy~n thong di~p dSn mQt danh sach:

Day la cach chuy~n thong di~p kern hi~u qua nh~t trong truy8n thong I-n

Danh sach nay co th~ la cac client, cac server, ho~c la cac mask Server

khi nh~n duQ'c thong di~p co dich dSn la mQt danh sach, no se chuy~nthong di~p nay dSn t~t ca cac dich Cach chuy~n nay khong hi~u qua (] ch6

no khong ki~m tra cac dich dSn co cung tren rnQt con duang (path - laduang di tren m~mg cua cac goi tin/thong di~p) hay khong Nhu v~y cokha nang se co nhi8u thong di~p gi6ng nhau cUng chuy~n tren mQt conduang

7

Trang 23

Chuang 2: KiSn truc cua giao thuc IRC Trang 22

2.4.3 Truy~n thong 1- tdt ca:

Truyen thong di~p thea kiSu nay duQ'c hiSu tuang tv' nhu tin quang ba

(broadcast) Thong di~p duQ'cchuySn dSn toan b<)client, hay toan b<)server ho~c

ca hai Trong m<)tm~mglan, m<)tthong di~p kiSu nay co thS t~o nen m<)tlugng

dfr Ii~u Ian trong h~ th6ng m~ng va co thS gay tri tr~ h~ th6ng Co cac lo~i sau:

Thong di~ptil client dSn t5.tca cac client khac.

Thong di~p til m<)tclient dSn t5.t ca cac server: thong di~p lo~i nay

xu5.t hi~n khi co m<)tl~nh him thay d6i tr~g thai cua toan h~ th6ngnhu thay d6i s6 lugng cac thanh vien, thay d6i tr~ng thai cua

channel

- Thong di~ptil server dSn cac server khac.

Trang 24

Chuang 3: Cac khai ni~m co ban trong giao thuc IRC

CHUONGBA

Trang 23

N9i dung: chuang nay gi6i thi~u cac khai ni~m co ban trong IRC nhu: nickname,user, service, channel Cac khai ni~m nay r~t d.n thiSt khi tham gia vao h~ th6ngIRC N9i dung cac m\lc nay bao g6m:

- Nickname, user, service

- Kenh h9i tho~i (channel).

- Cac tr~ng thai (MODE).

Trang 25

Chuang 3: Cac khai ni~m Co' ban trong giao thuc IRC

nickname.

3.3 Service:

Service la mC)td~ng khac cua client. Ta nh~ ra service bftng ten cua no bao g6mmC)tnickname va mC)tserver _name. Ten cua server duqc su d\lng dS t~o nen dichV\l la ten cua server rna dich V\l do duqc k~t n6i vao Tren ly thuy~t, tdt ca cac

server phai bi~t vS toan bC)cac service trong h~ th6ng

Service khac v6i user 0 dinh d~ng ten cua chung, quan tr<;>nghan la service

phfin ho~c tdt ca thong tin toan C\lCdo server n~m giu, nhung l~i bi gi6i h~n vScac l~nh co thS su d\lng va khong duqc phep gia nh~p channel.

Trang 26

Chuang 3: Cac khai ni~m Co'ban trong giao thuc IRC Trang 25

Service cling khong gay ra cac hanh dQng lam qua tai server nhu user thongthuemg

3.4 Server:

Server la may tinh ch~y chuang ttnh IRC server Server duqc xac dinh duy nhfitb~ng ten dai t6i da 63 ki t\1' M6i server trong cung mQt h~ th6ng m~ng se duqctfit ca server khac biSt dSn Cac server nay lUll giu mQt Co' sa du li~u toan C\lCgi6ng nhau Co' sa du li~u nay cua server luu giu thong tin cua cac client, ten

server rna client kSt n6i dSn, ten host

server Server khong thuQc hostmask khong biSt gi vS cac server th\1'c S\1'ben

nhu la mQtserver vai ten la hostmask. Server nay duqc xem la server ao

3.5 Network:

Cac server n~m trong cling mQt vling (vS m~t dia 1)'-) ho~c cac server co cac

channel cung quan tam dSn mQt vfin dS hay thS lo~i thong tin nao do kSt n6i l~ivai nhau t~o ra mQt network. Khai ni~m n6i vai nhau nay khong phai la kSt n6i

network ph\lc V\l cho nhu cAuchat trong do 4 h~ th6ng duqc xem la ph6 biSn va

ngan channel.

Trang 27

Chuang 3: Cac khai ni~m caban trong giao thuc IRC

3.6.1 Channella gi:

Trang 26

Channel la mQt nhom duQ'c d?t ten cua mQt nguai ho?c mQt nhom cac user se

duQ'c xac dinh bai ten, thuQc tinh va cac thanh vien hi~n t~i cua no MQt thong

di~p truy~n len len mQt channel se cung luc duQ'c truy~n cho cac user n~m trong

channel do Tren thvc tS, nguai ta thuang hinh dung channella mQt phong hQitho~i hay la mQt room, mQt khai ni~m rfit quen thuQc d6i v6'i nhfing ai da tUngchat trong h~ th6ng Yahoo! Inc dung phfin m~m Yahoo! Messenger

Khi channel duQ'c t~o ra, cac server tren h~ th6ng IRC se duQ'c thong bao d~ C?P

vao channel chi khi server rna nguai dung kSt n6i dSn co "biSt" channel do.Nghia la channel da duQ'c luu vim ca sa dfr li~u cua server do

3.6.2 D~t ten cho rn(}t channel.

'+' ho?c '!' Ten cua channel khong chua khoang tr~ng, dfiu phAy va kf tv control

G ("'G hay ASCII 7)

Trang 28

Chuang 3: Cac khai ni~m Co' bim trong giao thuc IRC Trang 27

3.6.3 Phan loai channel: co hai loai channella: .

3.6.3.1 Channel chuin:

Nhfing channel nay duQ'c t~o khi co mQt nguai dAu tien tham gia va bi huy khi user cu6i ngling tham gia channel Trong khi channel t6n t~i, cac client co thS tham chi~u channel b~ng cach sir d\lng ten cua channel nay.

Channel chufin la cac channel v&iten b~t dAub~ng ki t\l' '#' ,'&' ,'+'.

•: Channel v&i ten b~t dAub~ng ki t\l' '&' : la channel chi t6n t~i C\lCbQ d6i v&iserver Channel nay khi t~o ra chi co server nai rna nguai t~o channel k~t n6i d~n bi~t, cac server con l~i tren m~ng khong bi~t S\l'hi~n di~n cua

channel nay.

•: Channel v&i ten b~t dAu b~ng ki t\l' '+' :la channel khong h6 trQ'bftt cu

tr~ng thai nao ca, tm tr~ng thai "t" (cac tr~ng thai cua channel se duQ'c d@

c~p a phc1nsau) Do khong co tr~ng thai nen channel lo~i nay khong co

operator (xem phftn cac thanh vien trong kenh aphc1nsau)

•: Channel v&i ten b~t dAu b~ng ki tll ' #' : day la lo~i channel thong d\lng

nhftt

.: £>6ivai channel '+' va channel '#' ,khi m~ng bi dirt k~t n6i lam operator

bi rai kh6i channel, ten channel do khong duQ'cdung l~i trong khoang thai gian Channel Delay dS tranh truang hqp nguai dUng khac t~o ra ten

channel trung l~p Tuy nhien cach lam nay chi ngan ngira cac nguai dung

thuQc server "chua" operator cua channel do khong t~o channel mai co ten trung channel Cll ch(r khong ngan duQ'cnguai dung aserver khac t~o

kenh v&i ten nay Nhu v~y co thS l~i xay ra truang hqp trung ten sau khim~ng dirt k~t n6i duQ'ck~t n6i l~i

Trang 29

Chuang 3: Cac khai ni~m Co' bim trong giao thuc IRC Trang 28

J

3.6.3.2 Channel an toan':

Channel an tom 1acac channel co ten bAtddu b~ng ki t\1''!' Nguai ta t~o ra khai ni~m channel an tom d~ tranh truang hgp ten channel bi trimg Channel an tom khong duQ'ct~o t\1'dQng khi co user tham gia rna user phai giri mQt l~OOgia nh~p (JOIN) d~c bi~t v6'i ki t\l ddu 1a '!' va mQt ten tAtg9i 1ashortname Server se t~o them mQt bQ ki t\l d~ oo~ d~ng keOOg6m 5 ki t\1'.Ten cua channel se do phdn

shortname va phdn OO~nd~ng keOO(channel indentifier) ghep l~i, lam cho ten channel tra nen dan oofit, traOOtiOOtr~ng trimg lApten vi quy triOOnay duQ'ccac server th\1'chi~n rfit nghiem ng~t.

Phdn OO~nd~ng keOOla mQt ham thai gian Gia hi~n t~i (duQ'CdiOOnghTa la s6

giay da tr6i qua tit luc 00:00:00 gia GMT vito ngay 1 thang 1 nam 1970) duQ'cchuy~n thaOO mQt c~u6i co nam ki tl,l' sir d\lng bQ chu6i g6c

"ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890"

Server khong duQ'c t~o keOOm6'i neu keOOnay co cling mQt shortname v6'i mQt

keOOnao do da duQ'ct~o tru6'c ho~c neu mQt keOOkhac co cung shortname dang t6n t~i va mQt s6 thanh vien cua kenh nay dang bi dfu m~ng Channel an toan chi

bi huy khi user cu6i cung rai kh6i channel va khong co thaOOvien nao rai kh6i:- channel do dfu m~ng Tuc co nghTa la channel se khong chfim dfu neu co bfit ky

nguai dung nao rai kh6i channel vi m~ng bi dfu ket n6i

Nhung channel nay v~n co th~ t6n t~i sau khi nguai cu6i cung rai kh6i channel Khi do channel nay g9i la keOOr6ng Chi OOung user t~o ra channel tra thanh

"channel operator", OOiing user tham gia vao keOOr6ng se khong t\1'dQng tra

thaOO"channel creator", "channel operator"

Trang 30

Chuang 3: Cac khai ni~m ca bim trong giao thuc IRC Trang 29

,

3.6.4 Cae thanh vien co 'd~c quy~n trong channel:

dam SlJ an toan, trcinh cac SlJ pha ho~li va dua ra cac nQi dung khong t6t Chi co

cac thanh vien nay m6i co quySn thlJc hi~n mQt s6 vi~c sau:

.: INVITE: moi tham gia mQtchannel d~c tinh 1£1user khac chi duQ'c thamgia khi duQ'c moi (mode +i)

•: KICK: Ep bUQc dua mQtuser ra khoi channel

.: TOPIC: Thay d6i chu dS trong channel co mode +t

Nguoi diSu hanh channel (operator):

Con duQ'c g9i 1£1[Reop, oper, server op, chanop ho~c chop.

tr9ng trong mQt channel, 1£1cac nguoi So' hftu cua channel va quySn So' hftu nay

channel b~ng cach thlJc hi~n cac cong vi~c sau:

.: Ngan cAm ho~c moi nguoi dung van channel

•: Thiet l?p cac tr(;lng thai cho nguoi dung trong channel nhu huy bo quySnduQ'c noi cua nguoi dung, cho phep mQt nguoi dung trathanh operator

.: Thiet l?p cac tr(;lng thai cua channel (cac tr(;lng thai nay se dS C?P a phAnsau)

•: Cac l~nh thS hi~n 'quySn cua operator se duQ'c dS C?P chi tiet trong phAn

"Cac l~nh danh cho client 1£1operator".

Trang 31

Chuang 3: Cac khai ni~rn ca ban trong giao thuc IRC Trang 30

Operator co nickname b~t dAu bfuIg ky tv "@" Vi dV: @BaTarn la operator co

d(;1ngchuang trinh) cua server.

Nguai t(;1ora channel (creator):

Nguai dung t(;10ra rnQtchannel co ten b~t dAu b~ng kY tv"!" se la creator cua

channel do Sau khi t(;10 ra channel, nguai dung do cling duQ'c cdp quySn

operator cua channel Creator co quySn cao nhdt trong cac thanh vien trong

channel, duQ'c phep thay d6i rnQt s6 tr(;1ngthai cua channel rna operator khongthS th1Jc hi~n NSu creator da thiSt l~p trang thai cua channel r6i thi operator

khong co quySn thay d6i

3.7 Cae tr~ng thai (MODE):.

Ma cac tr(;1ngthai nay phfm bi~t chfr hoa chfr thuang

3.7.1 Cae tr~ng thai eua channel:

Tl4NG

THAI

'0'

GIA.I THICH Y NGHiA

Cho bi~t tinh tr(;1ng creator cua channel. TfC;lng thai nay

do server suodVng Tr(;1ngthai nay duQ'c dung d~ thop.g bao

Trang 32

Chuang 3: Cac khai ni~m ca bim trong giao thirc IRC Trang 31

GIM THicH Y NGHiA

v6i creator tinh tr~g cua creator Tr~g thai 0 chi duQ'c

dUng v6i channel an toano Xac dinh quy~n operator Creator ho?c operator dung tqmg thai nay dS xac dinh them ho?c b6 di mQt operator khac trong channel.

Xac dinh quyen noi chuy~n cua nguai dUng trong channel

co tr~mgthai m (moderated)

Xac dinh tn;mg thai n?c danh cua channel (anonymous) Tr~g thai 'a' cho phep mQt channel ng\lY trang, nghia 1a khi mQt thong di~p gui tir server cho cac nguai dUng trong

channel (rna thong di~p do b~t ngu6n tir mQt nguai dung

nao do gui cho server), n~u tr~g thai ng\lY trang duQ'Cb~t, cac thong di~p tir cac user dSu phfti duQ'cng\lY trang thanh:

anonymousfanonymous@anonymous, tirc 1a nickname,

username, hostname dSu 1a"anonymous".

us lam duQ'c diSu nay, server phfti c~m user l~y nickname

1a "anonymous" va cling khong gui thong di~p "quit" cho

cac nguai dung (user) khac khi co mQt user trong channel

10~inay thoat ra

Tr~ng thai nay chi nen ap d\lng trong channel '&' va duQ'c

b~t boi operator ho?c creator cua channel (dBi v6i channel

'! ').Ngay cft creator sau khi b~t twng thai nay xong cling

Trang 33

Chuang 3: Cae khai ni~m co bim trong giao thue IRC Trang 32

khong the Hit

Cae tril lO'ieho cae l~nh WHOIS, WHO va NAMES khongduqe eho th5.yS\l hi~n di~n eua cae nguO'i dung tren kenh

co b~tcO' nay

Xae dinh tr~ng thai chi mO'icho channel Khi tr~g thai 'i' duqc b~t tren channel, mQt user mu6n gia nh~p channel thi

user nay n~m trong danh saeh mO'i(invite-list) eua channel

do MQt user cling co thS gia nh~p duqc channel nSu

operator thi hanh l~nh INVITE.

Xae dinh tr~g thai moderated Tr~g thai 'm' duqc thiet

l~p dS dieu khiSn user trong channel hQi tho~i Khi tr~ng

thai nay b~t, chi co thflnh vien nao duqc b~t mode 'v' m6i

co quyen noi tren channel.

Khong nh~n thong di~p tl:r ngoai channel Khi tr~ng thai 'n' duqc b~t, chi cac thanh vien eua channel m6i duqc gui thong di~p dSn channel duqc.

Tr~ng thai im l?ng (quiet) Khi duqc b~t, tr~ng thai nay segi6i h~n khong eho nguO'i dung th5.y duqc ho~t dQng cua

channel Tuc la khi mQt nguO'i dung gia nh~p, d6i nick hay

thoat ra tren channel deu khong duqc thong bao Do do, m6i user tren channel chi th5.y duqc m6i anh ta t6n t~i rna thoi M\lc dich cua channel lo~i nay dS t~o ra nhung

Trang 34

Chuang 3: Cac khai ni~m ca bim trong giao thuc IRC Trang 33

channel nQi bQ d~c bi~t de server gi'ri cac thong tin ve ho~t

dQng tren channel do Tr~ng thai llC\yduQ'c dung hi~u qua

han tr~ng thai's' (secret)

Tr~g thai rieng tu (private) Khi b~t tr~ng thai nay, ten

channel khong duQ'c cong b6 tren tfit ca mQi server trong

cung h~ th6ng IRC Chi cac server la thanh vien cua

channel m6i thfiy duQ'c.Tuc la khi m9t nguai dung gi'ri cac

l~nh xem thong tin channel thi se khong co tac d\lllg.

Tr~ng thai bi m~t (secret) Tuang tv' nhu tr~ng thai 'p'

Ngoai ra server se ho~t dQng nhu thS channel nay khong hS

t6n t~i khi tra lai cho cac l~nh TOPIC, LIST, NAMES,

LUSERS, ngay ca khi ten channel trUng v6i wildcard do

user dua ra Tuy nhien server se tra lai chinh xac vS tr~ng

thai channel nSu user thi hanh l~nh MODE.

Tr~ng thai 'p' va's' khong thS duQ'cb~t cling hie

Tr~g thai reop Tr~g thai nay chi co 0 channel'!', duQ'c

thiSt l~p boi creator dS traM tinh tr~ng nhung operator dSu

bi mfit kh6i channel Sau khoang thai gian Reop Delay,

channel co b~t tr~ng thai nay se tv' dQng cfip quySn operator cho m9t vai ho~c tfit ca cac thanh vien con l~i tren channel.

't' Tr~g thai cho phep operator co the thiet l~p mot topic.

Trang 35

Chuang 3: Cac khai ni~mCo' bfm trong giao thuc IRC Trang 34

Thiet l~p password cho channel Tr~ng thai 'k' chi cho

'k' phep cac user co khoa (key) duQ'c gia nh~p channel Key

nay chi duQ'c hiSn thi tren man hinh cua cac user la thanh vien cua channel khi thi hanh l~nh MODE.

Thiet l~p gi6i h~n (limit) nguai dung cho channel Khi so lUQ'llguser trong channel ch~m den muc gi6i h~n duQ'ccho

'1' phep, server se dim nhUng user thuQc ph~m vi cua no tham

gia channel do Con s6 gi6i h~ nay phai duQ'c thong bao trong dm tra lai cua server khi user thi hanh l~nh MODE.

'b' Thiet l~p mask cua cac user bi cam (ban) gia nh~p kenh.

Thiet l~p mQt vai ngo~i l~ (Exception) de vugt qua l~nh

c~m cua channel Neu user mu6n gia nh~p channel, server

'e' se kiSm tra xem user co n~m trong danh sach c~m khong.

Neu co trong danh sach bi c~m d6ng thai cling co trong

danh sach ngo~i l~ thi user duQ'cphep gia nh~p channel.

'I' Thiet l~p mQt lai mai 1\f dQng de gia nh~p "channel chi

" "

maz

Trang 36

Chuang 3: Cac khai ni~m ca bim trong giao th(rc IRC

3.7.2 Cae tr~ng thai eua user:

'a' Tr~g thai away, tuang duang vi~c sir dl}ng I~nh AWAY

(se dS c~p sau) Dung dS tni vS cac thong di~p tv dQng khi

user nh~n duqc cac thong di~p rieng.

'i' Tr~ng thai invisible, nghia Ia khong duqc nhin thay tren

channer User co tr~ng thai nay se khong thS noi chuy~n

tren channel.

'w' Wallops Co tr~ng thai nay, user se duqc server broadcast

cac thong tin Thuemg user mang tr~ng thai nay Ia nguyen nhan gay t~c nghen h~ th6ng vi Iuqng thong tin user nay

nh~n qua nhiSu

'r' Restricted Ngan cam user ket noi den server.

'0' User co tr~ng thai nay se Ia operator.

'0' User co tr~ng thai nay se Ia creator.

's' Tr~ng thai nh~n duqc cac thong bao illserver.

Trang 37

Chuang 4: Phuang thuc chat tren h~ th6ng IRC

CHUONGBON

Trang 36

N(>idung: chuang nay cung cftp chi ti~t qua trinh giao ti~p gifraclient va server;

neu ra dinh d~mgcua thong di~p va cac l~nh dieu khi@ntren h~ th6ng IRC N(>idung C\l th@g6m:

Qua trinh giao ti~p gifraclient va server.

- Dinh d~mgthong di~p

- Cac l~nh danh cho operator

- Cac l~nh danh cho user.

Trang 38

Chuang 4: Phuang thuc chat tren h~ th6ng IRC Trang 37

4.1 Qua trinh giao ti~p gifra client va server:

Khi mQt client mu6n giri thong di~p dS noi chuy~n tren channel, client nay giri thong di~p d~n server, server se giri d~n tftt ca cac client thuQc channel do Qua trinh chat giua cac client duQ'c hiSu mQt cach dan giful 1a qua trinh giri va nh~n cac thong di~p giua client va server MQt client tham gia hQi tho?i giri thong di~p mu6n giri cho server Tuy vao yeu cfiu cua thong di~p, server se xir 1y va truyen thong di~p d~n cac dich rna client giri mong mu6n Server cling giri tnl1?i thong di~p cho user phat l~nh dS bi~t qua trinh xir 1yco thanh cong hay khong.

Cac thong di~p duQ'cphat sinh tu l~nh 1athong di~p duQ'cclient giri len server dS

yeu cfiu mQt m\lc dich nao do (vi d\l nhu hoi thong tin mQt nickname, hoi thong

tin cac channel, ho~c mu6n giri thong di~p cfin trao d6i tren channel ) Cac thong di~p nay khi duQ'c gui di co thS khong con nguyen thuy nhu khi user go

VflO, rna chung duQ'cg~n them prefix (dia chi host, nickname cua user giri).

Thong di~p tra ve 1a thong di~p duQ'cserver giri ve client dS tra 1ai l?i cac yeu cfiu cua client.

Cac thong di~p co hai d?ng: thong di~p b~ng chu va thong di~p b~ng s6

4.1.1 D~ng chung cua cac thong di~p:

Server va client se gai cho nhau nhung thong di~p va nhUng thong di~p nay co

thS cfin ho~c khong cfin tra 1ai 1?i Thong thuang thi cac thong di~p giua cac

server ho~c tu server giri,cho client thi khong cfin phai co slJ tra 1ai l?i.

M6i thong di~p IRC co thS bao g6m 3 phfin chinh: prefix hay tien t6 (my chQn,khong b~t bUQc),l~nh (command) va nhung tham s6 l~nh (command

parameters) Prefix, l~nh va tftt ca tham s6 se duQ'cphan bi~t bai mQt ho~c nhieu

ki tv ASCII

Trang 39

Chuang 4: Phuang thuc chat tren h~ th6ng IRC Trang 38

.: TiSn t6: sv hi~n di~n clla prefix duQ'c danh dfiu bfuIg dfiu hai chfim (':',Ox3b), b~t bUQcd~t dAutien trong m6i thong di~p Prefix thuOng duQ'ccac

server dung de xac dinh ngu6n g6c clla thong di~p N~u khong co prefix,

se coi nhu thong di~p co ngu6n g6c tu nai rna no nh~ duQ'c thong di~p

Client khong su d\mg prefix khi goi thong di~p cho nhau, n~u client mu6n

dung chi co mQt lo~i tiSn t6 duQ'cchfip nh?n do la nickname da duQ'cdang

ki N~u ngu6n g6c xac dinh prefix khong tim thfiy ben trong Co'so dfr li~u

Clla server ho~c ngu6n g6c se dang ky ill mQt lien k~t khac vai nai rna thong di~p duQ'cgoi d~n, server se lo~i b6 thong di~p nay

•: L~nh: l~nh co 2 16~i Lo~i dAu tien duQ'c dung boi client, la cac l~nh de

client truy vfin cac thong tin ho~c de gui thong di~p tan gfiu Lo~i thu hai

la cac thong di~p tra vS ill server Cac thong di~p tra vS tu server lil cac

thong di~p s6 (3 con s6, lil cac hfuIg s6 da duQ'c qui uac), co y nghia baocho bi~t l~nh thanh cong hay thfit b~i Theo qui uac, l~nh b~t dAu bfuIg

"PRL _" co nghia la thong bao cac thong tin duQ'c tra vS khi l~nh thilnh

cong, con n~u b~t dAu b~ng "ERR_" co nghia lil bao cho client bi~t co 16i

khi l~nh duQ'cthvc hi~n

•: Cac tham s6 cho l~nh: m6i phAntham s6 cach nhau boi mQt khoang trfug

Thong di~p IRC luon co ki tv k~t thuc dong b~ng bQ ki tv CR-LF (CarriageReturn - Line Feed) M6~ thong di~p co chiSu dai khong vuqt qua 512 ki tl,l',tinhluon ki tv CR-LF Do V?y co t6i da 510 ki tv cho ca phAn l~nh va tham s6 H~th6ng khong h6 trQ'gui nhiSu han 512 ki tv trong mQt thong di~p

Trang 40

Chuang 4: Phuong thuc chat tren h~ th6ng IRC Trang 39

Day la mQt thong di~p duQ'ctrich ill mQt chu6i lien t1}cnhiing ki tv 8 bit, m6ithong di~p duQ'cphan bi~t v6i nhau 2 ki tv CR-LF Nhfrng thong di~p r6ng seduQ'cbe qua Thong di~p bao g6m cac thanh phcln: <prefix>, <command>, vadanh sach tham s6 thich hQ'pv6i thanh phcln <middle> va <trailing> Dinh d:p1g

"<params> - <SPACE> I I <trailing> I <middle> <params> ]

<middle> - < B~t Cll day octet khong r6ng,ng09-i tru SPACE,

<trailing> - < B~t ky, co th~ r6ng nhung ng09-i tru NUL, CR

-<crlf> - CR LF

.: <SPACE> chi la kf tv khofmg trAng (Ox20)

•: Sau khi trich danh sach tham s6, tAtca cac tham s6 nhu nhau, co phil hQ'Pv6i <middle> hay <trailing> khong <Trailing> cho phep co khoangtr~ng ben trong tham s6

Ngày đăng: 01/09/2023, 22:04

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w