Professional Documents
Culture Documents
Mt C LtC
PHAN 1 : C S LY THUYET................................................................................6
CHNG 1 : GII THIEU CHUNG VE INTERNET VA MOT SO GIAO
THC TRUYEN THONG TREN INTERNET......................................................6
CHNG 1 : GII THIEU CHUNG VE INTERNET VA MOT SO GIAO THC
TRUYEN THONG TREN INTERNET.....................................................................6
1.1. GII THIEU CHUNG VE INTERNET.....................................................6
1.2. HO GIAO THC TCP/IP............................................................................6
1.3. GIAO THC LIEN MANG IP....................................................................8
1.4. GIAO THC IEU KHIEN TRUYEN TCP ...........................................13
CHNG 2 : C S VE LAP TRNH MANG TREN MO HNH
CLIENT/SERVER...............................................................................................14
CHNG 2 : C S VE LAP TRNH MANG TREN MO HNH
CLIENT/SERVER...................................................................................................14
2.1. LAP TRNH GIAO TIEP MANG VI WINDOWS SOCKETS...............14
2.2. MOT SO KHAI NIEM C BAN..............................................................15
2.2.1.a ch Internet...................................................................................15
2.2.2. Khai niem socket va port..................................................................15
2.3. CACH CAI AT NG DUNG CLIENT/SERVER TCP.........................16
.....................................................................................................................16
2.3.1. Cach cai at server TCP...................................................................16
2.3.2. Cach cai at client TCP...................................................................16
CHNG 3 : MOT SO KHAI NIEM LIEN QUAN EN TH IEN T.........18
CHNG 3 : MOT SO KHAI NIEM LIEN QUAN EN TH IEN T.............18
1.1. MAILSERVER .........................................................................................18
1.2. GIAO THC GI MAIL (MAIL TRANSPORT PROTOCOL)................18
1.3.GII THIEU KIEN TRUC DCH VU TH IEN T..............................18
1.3.1. Kin trc v cc dch v......................................................................18
1.3.2. Tc nhn ngi s dng (The User Agent)............................................20
1.3.2.1.Gi th (Sending Email)...............................................................20
1.3.2.2. oc th (Reading Email).............................................................20
1.3.2.3.nh dang thong iep (Message Formats)....................................21
1.3.2.4.Chuan RFC 822............................................................................22
1.4.PHAN TCH CAU TRUC TH IEN T, CAC GIAO THC SMTP VA
POP3................................................................................................................23
1.4.1.Phan tch cau truc th ien t (RFC 822)...........................................24
1.4.1.1. Gii thiu....................................................................................24
1.4.1.2. Mo ta ve cau truc th...................................................................24
1.4.2. nh ngha v cc trng Header...........................................................25
Sinh vien thc hien Nguyen Xuan Thanh Trang 1
o n tot nghIeg
1.4.3. Cc trng header in hnh.................................................................25
1.4.4. V d v cu trc th..............................................................................26
1.5. PHAN TCH GIAO THC SMTP (RFC 821)...........................................27
1.5.1. Gii thiu chung................................................................................27
1.5.2. M hnh hot ng phin giao dch.................................................27
1.5.3. Th tc Mail.....................................................................................29
1.5.4. Th tc Forwarding ...........................................................................31
1.5.5. Cc th tc Mailing v Sending..........................................................32
1.5.6. Cc th tc Opening v Closing..........................................................33
1.5.7. M tr li ca cc cu lnh SMTP........................................................33
1.6. PHAN TCH GIAO THC POP3 (RFC 1081,1082).................................34
1.6.1. Gii thiu..........................................................................................34
1.6.2. M hnh hot ng phin giao dch.................................................34
1.6.3. Trng thi AUTHORIZATION...........................................................35
1.6.4. Trng thi TRANSACTION................................................................37
1.6.5. Trng thi UPDATE............................................................................40
1.6.6. V d v mt phin giao dch POP3..................................................40
1.7. MIME (MULTIPURPOSE INTERNET MAIL EXTENSIONS)...............41
1.8.POP BEFORE SMTP(CHNG THC QUYEN TRUY CAP THEO GIAO
THC POP TRC KHI S DUNG SMTP)..................................................43
1.9.MAIL CLIENT, WEB MAIL.....................................................................43
CHNG 4 : GII THIEU VE CAC CONG NGHE LIEN QUAN....................43
CHNG 4 : GII THIEU VE CAC CONG NGHE LIEN QUAN........................43
2.1.GII THIEU VE JRUN WEBSERVER 3.1...............................................43
2.2.GII THIEU VE SQL SERVER 7.0..........................................................43
2.2.1. Ly thuyet he quan tr c s d lieu sql server 7.0 va Cau truc c s
d lieu cua sql server 7.0.............................................................................45
2.2.2. Cau truc c s d lieu vat ly:............................................................46
2.2.2.1. Trang (page):.............................................................................46
....................................................................................................................46
2.2.2.2 .Extent:........................................................................................46
2.2.2.3 Nhng loai file trong CSDL:SQL Server co 3 loai file:...............47
2.3. LY THUYET MO HNH QUAN HE........................................................47
2. 3.1. Cac khai niem c ban..................................................................47
2.3.2. Khai Niem phu thuoc d lieu va cac dang chuan..........................48
2.3.3 Khai niem ch dan va khoa ch dan ...........................................48
2.4.GII THIEU VE JAVA SERVLET..........................................................48
2.4.1.Khai niem ve JAVA SERVLET.........................................................48
2.4.2.Nhng ng dung thc te cua JAVA SERVLET va kien truc cua JAVA
SERVLET....................................................................................................49
2.5.GII THIEU VE JAVA SERVER PAGES(JSP)........................................49
2.5.1.Khai niem ve JSP...............................................................................49
Sinh vien thc hien Nguyen Xuan Thanh Trang 2
o n tot nghIeg
2.5.2.Quan he gia Servlet va JSP..............................................................49
2.5.2.1.Cach trnh chu bien dch trang JSP thanh servlet.......................49
2.5.2.2. So sanh gia Servlet va JSP......................................................50
2.6. GII THIEU VE JAVABEANS................................................................51
2.6.1.Khai niem ve JAVABEANS..............................................................51
2.6.2.Cac the chuan cua JAVABEANS trong trang JSP.............................51
2.6.2.1.<jsp:useBean>............................................................................51
2.6.2.2.<jsp:setProperty>........................................................................51
2.6.2.3. <jsp:getProperty>......................................................................52
2.6.3.Them JAVABEANS vao JSP.............................................................52
PHAN 2 : XAY DNG NG DUNG......................................................................53
CHNG 1 PHAN TCH BAI TOAN.................................................................53
CHNG 1 PHAN TCH BAI TOAN....................................................................53
1.1.TEN E TAI..............................................................................................53
1.2.DE CNG CHI TIET..............................................................................53
1.2.1.Khao sat.............................................................................................54
1.2.2.Yeu cau cua bai toan..........................................................................54
1.2.3.D lieu vao, d lieu ra va cac chc nang x ly cua he thong............54
1.2.4. Chc nang cua he thong thong tin quan ly........................................55
1.3. LY DO CHON E TAI.............................................................................55
CHNG 2 : THIET KE VA CAI AT NG DUNG........................................55
CHNG 2 : THIET KE VA CAI AT NG DUNG............................................55
2.1.PHAN TCH VA THET KE C S D LIEU..........................................55
2.1.1.Phan tch.............................................................................................55
......................................................................................................................57
........................................................................................................................57
2.1.2. Giai thch cac chc nang cua he thong..............................................57
2.1.3.bieu o luong d lieu( DFD Data flow Diagram)............................57
2.1.4. THIET KE HE THONG....................................................................58
2.1.4.1. Cac bang d lieu chnh...............................................................58
2.2. CAI AT MAILSERVER.........................................................................59
2.2.1.Phng an to chc lu tr mail tren Server........................................59
2.2.2.Cac n the cua mailserver................................................................59
2.2.2.1. Xay dng SMTP Server.............................................................60
2.2.2.2. Xay dng POP3 Server................................................................73
2.3.CAI AT MAILCLIENT...........................................................................86
.................................................................................................................90
Mot so giao dien chnh.................................................................................90
Sinh vien thc hien Nguyen Xuan Thanh Trang 3
o n tot nghIeg
LOI CAM ON
.:o || |o| x|i |ii ||ii| ia oi i ||iy o _|io ||oi li| |o li|
:oi_ .i |.:oi_ li| |o |.y ii !|i .ii_ vi ||oi oi_ !_| |oi_ |i
|.:oi_ li| |o li| l|oi hi !o| ai |.ii_ || |o |o| i|:i_ ||i ||: o |ii ii
|||| |.oi_ i|:i_ iia |o v:i j.i a |o| o || ||: ||i |o| .oi ao ii iiy.
La x|i |ii ||ii| ia oi ||iy `ii | !|i| ai |ii ||i| _|. ao vi |:oi_
aii a |oii |i| .oi ao ii iiy. !_oi| .i |o| .i_ x|i ia oi |i| i |ii | ai
_|. ao |o| |.oi_ -.o| j.i |.|i| ||: ||i ao ii.
!i a. ai .i| o _ii_. i|:i_ |.oi_ ||oii_ ||o| _|ii |o | .i_ i|:
i|:i_ |ii | v ||i ||: ii .oi ao ii iiy .i |o| ||oi_ || |.ii| ||o| i|:i_
|||. -o|. ||i| v| viy. |o| .i| aoi_ i|ii a:o -: _o y .i i ||iy o _|io .i_
i|: |ii | _ii xi vi i|:i_ i i|ii |iy |o |: o j.ii |ia ai ||i| v: a:o
|.|i| |iy |.oi_ .oi ao ii iiy.
hi !o|. ||ii_ iia 2..
Nguyen Xuan Thanh
Sinh vien thc hien Nguyen Xuan Thanh Trang 4
o n tot nghIeg
LOI NOI At
!_iy iiy vo| -: |i| |.|i aii| a .i ||i |o vi oi_ i_| li|.i|. |i.
i|: ao| i_:o| a. ||iy .o |o| || ai i a|| v. ao aii_ li|.i| aii_ |i|.
l|| v. ||: a|i |: _o| |i| |i Lai|| |i ao| |.oi_ i|:i_ a|| v. a:o -: a.i_
i||. i|i| |.i li|.i| ||i iiy. l|| v. iiy |o | i i i|ii |iy |o |:
|.io ao| ||: vo| i|i. ||oi_ j.i aii_ li|.i|. !||. i_:o| -: a.i_ li|.i| || a
a.i_ a|| v. iiy.
|oi_ ||:oi_. ||| -: a.i_ a|| v. ||: ||i a|i |:. i_:o| -: a.i_ ||:oi_ || |||
j.ii |ia xa | ||oi_ |i |.oi_ ai ||: ||i i|: || iio. `| viy. |o ( i_:o| -:
a.i_) ao| || ||iy a:o ao| i:i .i :i_ a.i_ a|| v. Lai|| vi |ii :i_ a.i_ ao
a:o _o| |i !i|| ||i|. |iy |i -: a.i_ a|| v. ||: ||i aiy |.ia.
!|ia a. a|| ||. .o |oi v |oi| aoi_ |i |.oi_ .i :i_ a.i_ Lai|| o
|ii .i_ i a|| v. ai ||:oi_ a:o _o| |i !i|| .v.. |.oi_ .oi ao ii iiy |o|
x|i |.|i| |iy ao| i| o |ii | ||oi_ |. v. v| |..yi ||: ||i a|i |: |.i o
-o ||a ||. v i ao ||i| |..yi ||oi_ ||: ||i. i _|io ||: |..yi ||oi_ |.ii.
i |oi| aoi_ .i ao| | !i|| .v..
`| ||o| _|ii o |ii vi o .i| i||. i vii a o ||i j.ii. ao ao ao ii iiy
|| |.|i| |iy i|:i_ vii a o |ii i|i| v a|| v. ||: ||i a|i |: vi i| ai| ao|
|:oi_ |.|i| aii_ ||i| ||: i_||a ao a|| v. ||: ||i a|i |: ai ||o|.
Sinh vien thc hien Nguyen Xuan Thanh Trang 5
o n tot nghIeg
PHA N 1 t CO SO L1 THt1E T
CHtONG 1 t GIO I THIEt CHtNG E INTEHNET
A MOT SO GIAO THt C THt1E N THONG
THE N INTEHNET
1.1. GII THIEU CHUNG VE INTERNET
Mng Internet l mt tp hp gm hng vn h mng trn khp th gii, c
pht trin vo thp k by mi. S lng my tnh ni mng v s lng ngi truy cp
vo mng Internet trn ton th gii ang ngy cng tng ln nhanh chng, c bit t
nm 1993 tr i. Mng Internet khng ch cho php chuyn ti thng tin nhanh chng
m cn gip cung cp thng tin, n cng l din n v l th vin ton cu u tin.
Mng Internet c xut x nm 1969 t mng my tnh ton cc ARPANET do
c quan qun l cc d n nghin cu cc cng trnh nghin cu khoa hc tin tin
thuc B Quc phng M (US Defenses Advance Research Projects Agency - gi tt
l DARPA) ti tr. T gia nm 1970, trung tm DARPA hng ti mng Internet vi
k thut chuyn mch gi qua mng v tuyn v thng tin v tinh. Nm 1980, DARPA
th nghim dng giao thc TCP/IP v c cc trng i hc M ghp ni vi h
iu hnh UNIX BSD (Berkely Software Distribution).
H iu hnh UNIX l h pht trin mnh vi rt nhiu cng c h tr v m
bo cc phn mm ng dng c th chuyn qua li trn cc h my khc nhau (my
mini, my tnh ln v hin nay l my vi tnh). Bn cnh h iu hnh UNIX BSD
cn cung cp nhiu th tc Internet c bn, a ra khi nim Socket v cho php chng
trnh ng dng thm nhp vo Internet mt cch d dng.
Cu trc mng Internet gm c:
Tng ng dng: TELNET, FTP, SMTP;
Tng giao vn: TCP, UDP;
Tng Internet: Internet Protocol;
Tng mng: X.25, Ethernet, FDDI. . .;
Tng vt l: l cc mi trng truyn tin khc nhau.
1.2. HO GIAO THC TCP/IP
TCP/IP l h ca cc giao thc c s dng cho vic truyn thng my tnh. Cc
ch ci c vit tt bi cc t (Transmission Control Protocol/Internet Protocol), hai
Sinh vien thc hien Nguyen Xuan Thanh Trang 6
0 3 4 7 8 15 16 31
o n tot nghIeg
giao thc ny c cch biu din khc nhau, ngi ta t khi s dng vi ci tn y ca
hai giao thc ny. Thng cc giao thc c nhm li thnh cc h (i khi cn c gi
l cc suites hay cc stacks). Cc giao thc no c nhm li vi nhau thng c xc
nh bi cc b ci t ca giao thc.
H giao thc TCP/IP bao gm cc giao thc nh l IP (Internet Protocol) , ARP
(Address Resolution Protocol), ICMP (Internet Control Message Protocol), UDP (User
Datagram Protocol), TCP (Transport Control Protocol), RIP (Routing Information
Protocol), Telnet, SMTP (Simple Mail Transfer Protocol), DNS (Domain Name
System) v mt s cc giao thc khc. Hnh bn di m t kin trc ca mng TCP/IP
c so snh vi m hnh tham chiu OSI chng ta hnh dung c s tng ng v chc
nng ca cc tng.
Sinh vien thc hien Nguyen Xuan Thanh Trang 7
0 3 4 7 8 15 16 31
o n tot nghIeg
TCP/IP thc cht l mt h giao thc cng lm vic vi nhau cung cp phng
tin truyn thng lin mng. Trong phn ny chng ta s xem xt giao thc IP, giao
thc TCP v mt s ng dng tng trn nh Telnet, FTP, DNS, SMTP. . .
1.3. GIAO THC LIEN MANG IP
Mc ch chnh ca IP l cung cp kh nng kt ni cc mng con thnh lin
mng truyn d liu. Vai tr ca IP tng t vai tr ca giao thc tng mng trong
m hnh OSI.
IP l mt giao thc kiu khng lin kt (connectionless) c ngha l khng
cn c giai on thit lp lin kt trc khi truyn d liu. n v d liu dng trong IP
c gi l datagram, c khun dng ch ra trong hnh bn di.
ngha ca cc tham s nh sau:
VER (4 bits): ch version hin hnh ca IP c ci t
IHL (4 bits): ch di phn u (Internet Header Length) ca datagram,
tnh theo n v t (word = 32 bits). di ti thiu l 5 t (20 bytes).
VE
R
IH
L
Type of Service Total Length
Indentification Fla
gs
Fragment
offset
Time to live Protocol Header Checksum
Sinh vien thc hien Nguyen Xuan Thanh Trang 8
TCP/IP Protocol Suite
OSI Model
Layers
Application
Layer
Presentation
Layer
Session
Layer
Transport
Layer
Network
Layer
Data Link
Layer
Physical
Layer
TCP/IP Protocol
Architecture
Layers
Application
Layer
Host-to-Host
Transport
Layer
Internet
Layer
Network
Interface
Layer
Telnet FTP SMTP DNS RIP SNMP
TCP UDP
IP
ARP
IGMP ICMP
Ethernet
Token
Ring
Frame
Relay
ATM
So snh cc kin trc ISO v TCP/IP
Header
0 3 4 7 8 15 16 31
Khun dng ca IP datagram
0 1 2 3 4 5 6 7
o n tot nghIeg
Source Address
Destination Address
Options + Padding
Data
(max: 65.535 bytes)
Type of service (8 bits): c t cc tham s v dch v, c dng c th nh sau:
Preceden
ce
D T R Reser
ved
trong :
Precedence (3 bits): ch th v quyn u tin gi datagram, c th l:
111 - Network Control (cao nht) 011 - Flash
110 - Internetwork Control 010 - Immediate
101 - CRITIC/ECP 001 - Priority
100 - Flas Override 000 - Routine (thp nht)
D (Delay) (1 bit): ch tr yu cu
D = 0 tr bnh thng
D = 1 tr thp
T (Throughput) (1 bit): ch thng lng yu cu
T = 0 thng lng bnh thng
T = 1 thng lng cao
R (Reliability) (1 bit): ch tin cy yu cu
R = 0 tin cy bnh thng
R = 1 tin cy cao
Total Length (16 bits): ch di ton b datagram, k c phn header
(tnh theo n v bytes).
Indentification (16 bits): cng vi cc tham s khc (nh Source Address
v Destination Address) tham s ny dng nh danh duy nht cho mt
datagram trong khong thi gian n vn cn trn lin mng.
Flags (3 bits): lin quan n s phn on (fragment) cc datagram, c
th l:
0 D M
Sinh vien thc hien Nguyen Xuan Thanh Trang 9
0 1 2
o n tot nghIeg
F F
Bit 0: reserved - cha s dng , lun ly gi tr 0
Bit 1 (DF) = 0 (May Fragment)
= 1 (Dont Fragment)
Bit 2 (MF) = 0 (Last Fragment)
= 1 (More Fragment)
Fragment Offset (13 bits): ch v tr ca on (fragment) trong
datagram, tnh theo n v 64 bits, c ngha l mi on (tr on cui cng)
phi cha mt vng d liu c di l bi s ca 64 bits.
Time to live (8 bits): qui nh thi gian tn ti (tnh bng giy) ca datagram
trong lin mng trnh tnh trng mt datagram b qun trn lin mng. Thi
gian ny c cho bi trm gi v c gim i (thng qui c l 1 n v) khi
datagram i qua mi router ca lin mng.
Protocol (8 bits): ch giao thc tng trn k tip s nhn vng d liu
trm ch (hin ti thng l TCP hoc UDP c ci t trn IP).
Header Checksum (16 bits): m kim sot li 16 bits theo phng php
CRC, ch cho vng header.
Source Address (32 bits): a ch ca trm ngun.
Destination Address (32 bits): a ch ca trm ch.
Options ( di thay i): khai bo cc options do ngi gi yu cu.
Padding ( di thay i): vng m, c dng m bo cho phn
header lun kt thc mt mc 32 bits.
Data ( di thay i): vng d liu, c di l bi s ca 8 bits, v ti
a l 65535 bytes.
S a ch ho nh danh cc trm (host) trong lin mng c gi l a
ch IP 32 bits (32- bit- IP address). Mi a ch IP c di 32 bits c tch thnh 4
vng (mi vng 1 byte), c th c biu th di dng thp phn, bt phn, thp lc phn
hoc nh phn. Cch vit ph bin nht l dng k php thp phn c du chm (dotted
decimal notation) tch cc vng. Mc ch ca a ch IP l nh danh duy nht
cho mt host bt k trn lin mng. Do t chc v ln ca cc mng con (subnet)
ca lin mng c th khc nhau, ngi ta chia cc a ch IP thnh 5 lp, k hiu l A,
B, C, D v E, vi cu trc c ch ra trong hnh bn di.
0 1 7 8 15 16 23 24 31
0 netid
1 0 netid Hostid
1 1 0 netid hostid
Sinh vien thc hien Nguyen Xuan Thanh Trang 10
hostid Lp A
Lp B
Lp C
Lp D
Lp E
0
0
31
31
(Lp A)
(Lp B)
(Lp C)
o n tot nghIeg
1 1 1 0 Multicast address
1 1 1 1 0 Reserved for future use
Cu trc ca cc lp a ch IP
Lp A cho php nh danh ti 126 mng, vi ti a 16 triu host trn mi
mng. Lp ny c dng cho cc mng c s trm cc ln.
Lp B cho php nh danh ti 16384 mng, vi ti a 65534 host trn
mi mng.
Lp C cho php nh danh ti 2 triu mng, vi ti a 254 host trn mi
mng. Lp ny c dng cho cc mng c t trm.
Lp D dng gi IP datagram ti mt nhm cc host trn mt mng.
Lp E d phng dng trong tng lai.
V d:
00001
010
00000
000
00000
000
00000
000
10000
000
00000
011
00000
010
00000
011
11000
000
00000
000
00000
001
11111
111
Mt a ch c hostid (host identifier) bng 0 c dng hng ti mng nh
danh bi vng netid (network identifier). Ngc li, mt a ch c vng hostid gm
ton s 1 c dng hng ti tt c cc host ni vo mng netid, v nu vng netid
cng gm ton s 1 th n hng ti tt c cc host trong lin mng.
Trong nhiu trng hp, mt mng c th c chia thnh nhiu mng con
(subnet), lc c th a thm cc vng subnetid nh danh cc mng con. Vng
subnet c ly t hostid, c th i vi 3 lp A, B, C nh sau (hnh bn di).
Netid Subnetid Hostid
7 8 15 16 23 24
Netid Subnetid Hostid
7 8 15 16 23 24
Netid Subn Host
Sinh vien thc hien Nguyen Xuan Thanh Trang 11
= 10.0.0.0 (Lp A)
netid = 10
= 128.3.2.3 (Lp B)
netid = 128.3
hostid = 2.3
= 192.0.1.255 (Lp C)
netid = 192.0.1
hostid = 255 hng n tt c cc host
o n tot nghIeg
etid id
B sung vng subnetid
Cn lu rng cc a ch IP c dng nh danh cc host v mng tng
mng ca M hnh OSI, v chng khng phi l cc a ch vt l (hay a ch MAC -
Media Access Control) ca cc trm trn mt mng cc b (Ethernet,Token
Ring...). Trn mt mng cc b nh vy, hai trm ch c th lin lc vi nhau nu chng
bit a ch vt l ca nhau. Nh vy, vn t ra l phi thc hin nh x gia a ch
IP (32 bits) v a ch vt l (48 bits) ca mt trm. Giao thc ARP (Address
Resolution Protocol) c xy dng chuyn i t a ch IP sang a ch vt l
khi cn thit. Ngc li, giao thc RARP (Reverse Address Resolution Protocol) c
dng chuyn i t a ch vt l sang a ch IP. Ch rng c ARP v RARP u
khng phi l b phn ca IP. IP s dng n chng khi cn.
Mt giao thc khc cng lin quan trc tip n IP, l ICMP (Internet Control
Message Protocol). Giao thc ny thc hin truyn cc thng bo iu khin (bo co
v cc tnh trng li trn mng,...) gia cc gateway hoc trm ca lin mng. Tnh
trng li c th l: mt datagram khng th ti c ch ca n, hoc mt router khng
b nh m lu v chuyn mt datagram,... Mt thng bo ICMP c to v
chuyn cho IP. IP s bc (encapsulate) thng bo vi mt IP header v truyn n
cho router hoc trm ch.
Chng ta c th tm tt cc bc thc hin bi mt thc th IP nh sau:
i vi thc th IP trm ngun, khi nhn c mt primitive SEND t
tng trn , n thc hin cc bc sau y:
1. To mt IP datagram da trn cc tham s ca primitive SEND
2. Tnh checksum v ghp vo header ca datagram.
3. Ra quyt nh chn ng: hoc l trm ch nm trn cng mng hoc mt
gateway s c chn cho chng tip theo.
4. Chuyn datagram xung tng di truyn qua mng.
i vi gateway, khi nhn c mt datagram qu cnh, n thc hin cc
ng tc sau:
1. Tnh checksum, nu bt cp th loi b datagram.
2. Gim gi tr ca tham s Time-to-Live. Nu thi gian ht th loi b
datagram.
3. Ra quyt nh chn ng.
4. Phn on datagram, nu cn.
5. Kin to li IP header, bao gm gi tr mi ca cc vng Time-to-Live,
Fragmentation v Checksum.
6. Chuyn datagram xung tng di truyn qua mng.
Cui cng, khi mt datagram c nhn bi thc th IP trm ch, n s
thc hin cc cng vic sau:
1. Tnh checksum. Nu bt cp th loi b datagram.
Sinh vien thc hien Nguyen Xuan Thanh Trang 12
o n tot nghIeg
2. Tp hp cc on ca datagram (nu c phn on).
3. Chuyn d liu v cc tham s iu khin ln tng trn bng cch dng
primitive DELIVER.
1.4. GIAO THC IEU KHIEN TRUYEN TCP
Source Port Destination Port
Sequence Number
Acknowledgment Number
D
a
t
a
o
f
f
s
e
t
Reser
ved
UR
G
AC
K
PS
H
RS
T
SY
N
FIN
Window
Checksum Urgent Pointer
Options Padding
TCP data
Khun dng ca TCP segment.
TCP l mt giao thc kiu c lin kt (connection - oriented), ngha l cn phi
thit lp lin kt (logic) gia mt cp thc th TCP trc khi chng trao i d liu vi
nhau.
n v d liu s dng trong TCP c gi l segment (on d liu), c khun
dng m t trong hnh bn di.
Cc tham s trong khun dng trn c ngha nh sau:
Source Port (16 bits): s hiu cng ca trm ngun.
Destination Port (16 bits): s hiu cng ca trm ch.
Sequence Number (32 bits): s hiu ca byte u tin ca segment tr
khi bit SYN c thit lp. Nu bit SYN c thit lp th Sequence Number l
s hiu tun t khi u (ISN) v byte d liu u tin l ISN+1. Tham s ny
c vai tr nh tham s N(S) trong HDLC.
Acknowledgment Number (32 bits): s hiu ca segment tip theo m
trm ngun ang ch nhn. Ngm bo nhn tt (cc) segment m trm
ch gi cho trm ngun - Tham s ny c vai tr nh tham s N(R) trong
HDLC.
Data offset (4 bits): s lng t - 32 bit (32 bit words) trong TCP header
(tham s ny ch ra v tr bt u ca vng d liu).
Sinh vien thc hien Nguyen Xuan Thanh Trang 13
bit 0 15 16 31
o n tot nghIeg
Reserved (6 bits): dnh dng trong tng lai.
Control bits (cc bit iu khin):
T tri sang phi:
URG: vng con tr khn (Urgent Pointer) c hiu lc
ACK: vng bo nhn (ACK number) c hiu lc
PSH: chc nng PUSH
RST: khi ng li (reset) lin kt
SYN: ng b ho cc s hiu tun t (sequence number)
FIN: khng cn d liu t trm ngun
Window (16 bits): cp pht credit kim sot lung d liu (c ch ca
s). y chnh l s lng cc byte d liu, bt u t byte c ch ra trong
vng ACK number, m trm ngun sn sng nhn.
Checksum (16 bits): m kim sot li (theo phng php CRC) cho ton
b segment (header + data).
Urgent Pointer (16 bits): con tr ny tr ti s hiu tun t ca byte i
theo sau d liu khn, cho php bn nhn bit c di ca d liu khn.
Vng ny ch c hiu lc khi bit URG c thit lp.
Options ( di thay i): khai bo cc Options ca TCP, trong c
di ti a ca vng TCP data trong mt segment.
Padding ( di thay i): Phn chn thm vo header bo m phn
header lun kt thc mt mc 32 bits. Phn thm ny gm ton s 0.
TCP data ( di thay i): cha d liu ca tng trn, c di ti a
ngm nh l 536 bytes. Gi tr ny c th iu chnh bng cch khai bo
trong vng options.
Mt tin trnh ng dng trong mt host truy nhp vo cc dch v ca TCP cung
cp thng qua mt cng (port). Mt cng kt hp vi mt a ch IP to thnh mt
socket duy nht trong lin mng. Dch v TCP c cung cp nh mt lin kt logic
gia mt cp socket. Mt socket c th tham gia nhiu lin kt vi cc socket xa
khc nhau. Trc khi truyn d liu gia hai trm cn phi thit lp mt lin kt TCP
gia chng v khi khng cn nhu cu truyn d liu th lin kt s c gii phng.
Cng ging nh cc giao thc khc, cc thc th tng trn s dng TCP thng qua
cc hm dch v nguyn thu (service primitives), hay cn gi l cc li gi hm
(function calls).
CHtONG 2 t CO SO E LAP THNH MA NG THEN
MO HNH CLIENT/SEHEH
2.1. LAP TRNH GIAO TIEP MANG VI WINDOWS SOCKETS
Sinh vien thc hien Nguyen Xuan Thanh Trang 14
o n tot nghIeg
Windows NT l mt h iu hnh mnh, cho php tn dng ti a kh nng ca
my tnh loi 32 bit, cung ng hng lot cc dch v mng trn mi trng Intranet v
Internet. Hin nay Windows NT c s dng tng i ph bin cc c quan; doanh
nghip Vit Nam.
Giao thc truyn thng TCP/IP c dng bi h iu hnh UNIX v mng
Internet, cc my trn mng NT c th giao tip vi cc my trn mng khc,
Windows NT cng cung cp giao thc ny. Ngoi mt s lnh dng giao thc TCP/IP
c vit sn nh: ftp, telnet, finger..., Windows NT cho php ngi lp trnh pht trin
cc ng dng khai thc k thut TCP/IP thng qua mt th vin tn l Windows
Sockets.
C ba l do chnh ngi lp trnh s dng k thut TCP/IP:
C th vit cc ng dng trn Windows NT ni vo mng UNIX v khai thc cc
dch v c sn trn .
To ra cc dch v trn my Windows NT cc my UNIX c th khai thc nhng
dch v ny.
Vit cc chng trnh cho php cc my Windows NT giao tip trn h thng mng
Internet.
2.2. MOT SO KHAI NIEM C BAN
2.2.1 .a ch Internet
Trong h thng mng Internet, mi my u c mt tn v mt a ch IP (cng
gi l a ch Internet). V d nh, mt my NT c tn l ntsvr.csc.hcmu.vn v a ch l
192.48.94.200. Tn hay a ch IP u xc nh duy nht mt my trong h thng
mng Internet. Khi lp trnh, chng ta c cc hm chuyn i t tn sang a ch IP
v ngc li.
2.2. 2. Khai niem socket va port
Mt socket l mt thit b truyn thng hai chiu tng t nh tp tin, chng ta c
th c hay ghi ln n, tuy nhin mi socket l mt thnh phn trong mt mi ni no
gia cc my trn mng my tnh v cc thao tc c/ghi chnh l s trao i d
liu gia cc ng dng trn nhiu my khc nhau.
Trong giao thc truyn thng TCP, mi mi ni gia hai my tnh c xc nh
bi mt port, khi nim port y khng phi l mt cng giao tip trn thit b vt l
m ch l mt khi nim logic trong cch nhn ca ngi lp trnh, mi port c tng
ng vi mt s nguyn dng.
Hnh bn di minh ha cch giao tip gia hai my tnh trong giao thc truyn
thng TCP. My A to ra mt socket v kt buc (bind) socket ny vi port X (tc l
mt s nguyn dng c ngha cc b trong my A), trong khi my B to mt
socket khc v mc vo (connect) port X trong my A.
Sinh vien thc hien Nguyen Xuan Thanh Trang 15
o n tot nghIeg
2.3. CACH CAI AT NG DUNG CLIENT/SERVER TCP
2.3.1 . Cach cai at server TCP
ng dng server lm vic theo qui trnh sau y:
1. Gi hm socket to mt socket.
2. Gi hm bind kt buc socket vi mt port, i vi mi giao thc ng chun th
s c mt hng s c nh ngha sn trong Winsock cho port ca giao thc .
3. Gi hm listen ch n khi c mt client ni vo port.
4. Khi c mt client ni vo th hm listen tr iu khin v, ng dng server gi hm
accept xc nhn mi ni ca client.
5. Gi cc hm gi hay nhn d liu trao i thng tin vi client, v d nh hm
send, recv.
Sau khi hon tt qu trnh trao i d liu, ng dng server gi hm closesocket
ng socket to.
2.3.2. Cach cai at client TCP
ng dng client thc hin cc bc sau:
1. Gi hm socket to mt socket.
2. Gi hm connect ni vo server.
3. Gi cc hm gi hay nhn d liu trao i thng tin vi server, v d nh cc
hm send, recv.
4. Sau khi hon tt qu trnh trao i d liu, ng dng client gi hm
closesocket ng socket to.
Hnh minh ha cc bc cn thit cc ng dng client v server giao tip vi
nhau nh sau:
Sinh vien thc hien Nguyen Xuan Thanh Trang 16
socket socket
My A
My A
My B
My B
Port H thng mng
Cc socket v port trong mi ni TCP
Mi ni
ng dng Server ng dng Client
Ni vo port ca
server
To mt socket
Kt buc socket
vi mt port (bind)
t socket trng
thi ch client ni
vo
Chp nhn kt ni
ca client
Chuyn i d liu gia client v server
To mt socket
Cc bc giao tip gia client v server trong giao thc TCP
o n tot nghIeg
Sinh vien thc hien Nguyen Xuan Thanh Trang 17
Mr. Daniel Dumkopf
18 Willow Lane
White Plains, NY 10604
United Gizmo
180 Main St
Boston, MA
02120
April, 5, 2001
Subject: Invoice 1081
Dear Mr. Dumkopf,
Our computer records
show that you still have not
paid the above invoice of
$0.00. Please send us a check
for $0.00 promptly.
Yous truly
United Gizmo
Dear Mr. Dumkopf,
Our computer records
show that you still have not
paid the above invoice of
$0.00. Please send us a check
for $0.00 promptly.
Yous truly
United Gizmo
o n tot nghIeg
CHtONG 3 t MO T SO NHAI NIEM LIE N QtAN
E N THt IEN Tt
1.1. MAILSERVER
Theo mo hnh hoat ong khach chu, trnh chu la mot dch vu ong vai tro
ngi chu phuc vu trnh khach. Mail Server that ra la mot trnh m socket lang
nghe cac yeu cau (hay lenh gi mail) t trnh khach a en. Nh a noi, mail
server se tiep nhan noi dung mail, phan phoi mail en cac trnh chu khac, cho phep
trnh khach truy cap vao may chu e nhan mail ve, bao ve mailChnh v vay,
trc khi nhan hay gi mail can phai biet c a ch IP cua may chu mail server.
a ch nay thng c goi la mail host. Ve khai niem socket va a ch IP se
c trnh bay phan sau.
1.2. GIAO THC GI MAIL (MAIL TRANSPORT PROTOCOL)
e gi mail en may chu, trnh khach phai s dung mot giao thc tro chuyen
vi mail server. Tng t trnh duyet dung giao thc HTTP e tro chuyen vi trnh
chu Web server. Cac trnh khach muon bat tay vi trnh chu mail server va gi mail
len may chu se s dung giao thc SMTP (Simple Mail Transport Protocol). SMTP
c hau het cac mail server tren the gi s dung. a ch IP cua may chu nhan
mail gi i thng c goi la outgoing mail address. Trnh chu thc hien chc
nang tiep nhan mail theo giao thc SMTP goi la SMTP Server, trnh khach dung
giao thc SMTP e gi mail en trnh chu mail server goi la SMTP Client.
1.3.GII THIEU KIEN TRUC DCH VU TH IEN T
1.3.1. Kin trc v cc dch v
Cc h thng th in t thng bao gm hai h thng con: cc tc nhn ngi s
dng (the user agents - gi tt l UA), n cho php chng ta c v gi th, v cc tc
nhn truyn thng ip (the message transfer agents - gi tt l MTA), n lm nhim
v chuyn cc thng ip t ngun n ch. Cc UAs l cc chng trnh cc b h tr
da trn iu khin bng lnh, trnh n menu hay dng phng php ho tng
Sinh vien thc hien Nguyen Xuan Thanh Trang 18
Mr. Daniel Dumkopf
18 Willow Lane
White Plains, NY 10604
United Gizmo
180 Main St
Boston, MA
02120
April, 5, 2001
Subject: Invoice 1081
Dear Mr. Dumkopf,
Our computer records
show that you still have not
paid the above invoice of
$0.00. Please send us a check
for $0.00 promptly.
Yous truly
United Gizmo
Dear Mr. Dumkopf,
Our computer records
show that you still have not
paid the above invoice of
$0.00. Please send us a check
for $0.00 promptly.
Yous truly
United Gizmo
o n tot nghIeg
tc vi h thng th in t. Cc MTAs l cc trnh tin ch hot ng ch nn
(background) thc hin cc nhim v cn thit nh tip nhn th in t v chuyn th qua
cc h thng.
c bit, cc h thng th in t h tr nm chc nng c bn, c m t di y:
1. Composition: X l vic to cc thng ip v tr li. Cho php bt c trnh
son tho no c th c s dng cho phn thn ca thng ip, cc h
thng c th t n m trch vic nh a ch v ch s cc trng tiu
(header fields) c km theo cng vi mi thng ip. V d nh, khi tr li
mt thng ip , h thng th in t c th tch a ch ca ngi gi t cc
th c gi n v t ng chn n vo cc trng thch hp trong phn hi m
(reply).
2. Transfer: Lm nhim v chuyn cc thng ip t ngi gi n ni ngi
nhn. Trong phn ny, vic chuyn cc thng ip yu cu phi thit lp mt
kt ni n ch (ngi nhn) hay mt s thao tc ca thit b nh xut thng
ip v kt thc vic kt ni. H thng th in t lm vic ny mt cch t
ng m khng cn c mt s can thip no ca ngi s dng.
3. Reporting: Buc phi thc hin bo cho ngi gi nhng g xy ra i vi
thng ip va gi l tnh hun gi n ch cha? hoc vic gi b
hu b? hoc th b lc?.
4. Displaying: Nhng thng ip gi n c yu cu lm sao mi ngi c
th c c th ca h. i khi ngi ta yu cu qu trnh chuyn i hay mt
trnh hin th c bit h tr, v d nh, nu thng ip c dng mt tp
PostScript hay ting ni c s ha km theo trong thng ip gi n.
5. Disposition: L bc cui cng lin quan n nhng g ngi nhn thc hin
i vi thng ip sau khi nhn n. Nhng kh nng c th l nm n i
trc khi c, nm n i sau khi c, lu n, v ..v. N cng s c th thu nhn
c li vi cc thng ip c lu li, chuyn tip chng hoc x l
chng bng nhng phng php khc nhau khi c yu cu ca ngi s dng.
Thm vo cc dch v ny, hu ht cc h thng th in t cung cp nhiu
c tnh nng cao khc nhau. Mt s c tnh tiu biu nh, khi ngi ta mun chuyn th
hay khi h ngh xa hn v cc chi tit v thi gian , c l h mun th ca h c
chuyn tip, chnh v th m h thng thc hin iu ny mt cch t ng.
Hu ht cc h thng cho php ngi s dng to cc hp th (mailboxes) lu
tr cc th chuyn n (incoming email). Cc lnh c ngi ta yu cu to v hy b
cc hp th, kim tra cc ni dung hp th, chn v xa cc thng ip khi hp th, v..v.
Nhng ngi gim c cng ty thng cn gi mt thng ip n mi ngi trong
s nhng ngi cp di, nhng khch hng, hay n cc nh cung cp. Th iu ny a
ra mt tng v danh sch th (mailing list), n l mt danh sch cc a ch th in t.
Khi mt thng ip c gi n mailing list, cc bn sao ging ht c pht n mi
ngi c a ch trn danh sch.
Mt tng quan trng khc l th in t c ng k, cho php ngi gi
(sender or originator) bit th ca h n. Vic thng bo t ng ca cc th khng
c pht i mt cch lun phin ngi ta c th bit. Trong bt k trng hp no, ng-
i gi nn c mt s iu khin thng qua thng bo nhng g xy ra.
Sinh vien thc hien Nguyen Xuan Thanh Trang 19
(a) (b)
Envelope
Messag
e
B
o
d
y
Mr. Daniel Dumkopf
18 Willow Lane
White Plains, NY 10604
United Gizmo
180 Main St
Boston, MA
02120
April, 5, 2001
Subject: Invoice 1081
Dear Mr. Dumkopf,
Our computer records
show that you still have not
paid the above invoice of
$0.00. Please send us a check
for $0.00 promptly.
Yous truly
United Gizmo