Giáo trình Lập trình mạng (Phần 1)

MC LC  
1
2
3
4
CHƢƠNG 1. MỞ ĐẦU  
1.1. Lịch sử phát triển của Internet  
Tin thân ca mng Internet ngày nay là mạng ARPANET. Vào năm 1960 khi một cơ  
quan ca BQuc phòng Mỹ, cơ quan quản lý dán nghiên cu phát triển (ARPA) đề  
nghliên kết 4 địa điểm đầu tiên vào tháng 7 năm 1968. Bốn địa điểm đầu tiên đó là Viện  
Nghiên cứu Stanford, Trƣờng Đại hc tng hp California Los Angeles, đại hc Santa  
Barbara và trƣờng Đại hc tng hợp Utah. Đó là mạng liên khu vc (Wide area Network)  
hay mạng Wan đầu tiên đƣợc xây dng (mc dù nó nhỏ hơn nhiều so vi các mng WAN  
ngày nay). Bốn địa điểm trên đƣợc ni thành mạng vào năm 1969 đã đánh dấu sự ra đời  
ca Internet ngày nay, mạng đƣợc biết đến dƣới cái tên ARPANET đã hình thành.  
Nếu xét vthi gian thì thut ngInternet xut hin lần đầu vào khoảng năm 1974.  
Lúc đó mạng vẫn đƣợc gọi là ARPANET. Năm 1983, giao thức TCP/IP chính thức đƣợc  
coi nhƣ một chuẩn đối vi ngành quân sM, và tt ccác máy tính ni vi ARPANET  
phi sdng chun mới này. Năm 1984, ARPANET đã đƣợc chia ra thành hai phn : Phn  
thnht vẫn đƣợc gi là ARPANET- dành cho vic nghiên cu và phát trin; phn thhai  
đƣợc gi là MILNET- là mng dùng cho các mục đích quân sự.  
Giao thc TCP/IP ngày càng thhiện rõ các điểm mnh ca mình, quan trng nht là  
khả năng liên kết các mng khác vi li nhau mt cách dễ dàng. Chính điều này cùng vi  
các chính sách mcửa đã cho phép các mạng dùng cho nghiên cứu và thƣơng mại kết ni  
đƣợc với ARPANET, thúc đẩy vic to ra mt siêu mạng (SuperNetwork). Nhƣng năm  
1980 ARPANET đƣợc đánh giá là mạng trct ca mng Internet. Mc lch squan trng  
của Internet đƣợc chn vào gia thp k1980, khi tchc khoa hc quc gia MNSF  
thành lp mng liên kết các trung tâm máy tính ln vi nhau gi là NSFNET. Nhiu doanh  
nghiệp đã chuyển từ ARPANET sang NSFNET và do đó sau gần 20 năm hoạt động,  
ARPANET không còn hiu qunữa và đã ngừng hoạt đng vo khoảng năm 1990.  
Shình thành mng backbone ca NSFNET và nhng mạng vùng khác đã tạo ra mt  
môi trƣờng thun li cho sphát trin ca Internet. Tới năm 1995, NSFNET thu lại thành  
mt mng nghiên cu còn Internet thì vn tiếp tc phát trin.  
Vi khả năng kết ni mở nhƣ thế, Internet đã trở thành mt mng ln nht trên thế  
gii, mng ca các mng. Ngày nay chúng ta thy Internet xut hin trong mọi lĩnh vực :  
thƣơng mại, chínhh tr, quân s, nghiên cu, giáo dục, văn hoá, xã hội ..., và cũng từ đó các  
dch vtrên Internet không ngng phát trin to ra cho nhân loi mt knguyên mi : Kỷ  
nguyên thƣơng mại điện ttrên Internet.  
Theo các chuyên gia vtin học,Internet đƣợc xem nhƣ là một mng ca các mng  
(Network of network).Các mạng đƣợc ni vào Internet là mng cc b(LANLocal Area  
1
   
Network , kết ni máy tính trong phm vi hẹp, thƣờng đƣợc sdng trong ni bmột cơ  
quan hay tchc), mạng địa phƣơng (MAN—Metropolitan Area Network, kết ni máy  
tính trong phm vi mt thành ph), mng min rng (WANWide AreaNetwork, kết ni  
trong phm vi mt quc gia hay nhiu quc gia trong châu lc). Trên Internet thông tin  
đƣợc cung cp qua dch vWorld Wide Web (mng toàn cu) viết tt là www hay Web;  
Web gm có nhiu trang, gi là các trang web (web site), mi trang cha thông tin vmt  
chủ đề riêng biệt nào đó. Internet chứa mt khối lƣợng thông tin khng lcho phép các  
máy ni mng có thtruy nhập và khai thác các cơ sở dliu thuc nhiều lĩnh vc. Ngoài  
ra mt thut ngữ khác là Intranet cũng hay đƣợc sdng với nghĩa là một mng máy tính  
đƣợc thiết lp trong phm vi ca một cơ quan nhằm chia sthông tin qua vic sdng  
Internet.Intranet có thbị ngăn cách với Internet bng mt bức tƣờng la (firewall);  
Firewall là mt máy chủ đứng chn gia Intranet và thế gii bên ngoài, theo dõi thông tin  
ra vào, ngăn cản sphá rối, đánh cắp tài liu mật hay tìm đến nhng website bcm trên  
Internet.  
1.2. Tổ chức của Internet  
Internet là mt liên mng, tc là mng ca các mng con. Vậy đầu tiên là vấn đề kết  
ni hai mạng con. Để kết ni hai mng con vi nhau, có hai vấn đề cn gii quyết. Vmt  
vt lý, hai mng con chcó thkết ni vi nhau khi có mt máy tính có thkết ni vi cả  
hai mng này. Vic kết nối đơn thuần vvậy lý chƣa thlàm cho hai mng con có thtrao  
đi thông tin vi nhau. Vy vấn đề thhai là máy kết nối đƣợc vmt vt lý vi hai mng  
con phi hiểu đƣợc chai giao thc truyền tin đƣợc sdng trên hai mng con này và các  
gói thông tin ca hai mng con sẽ đƣợc gi qua nhau thông qua đó. Máy tính này đƣợc gi  
là internet gateway hay router  
Khi kết nối đã trở nên phc tạp hơn, các máy gateway cần phi biết về sơ đồ kiến trúc  
ca các mng kết ni. Ví dụ trong hình sau đây cho thấy nhiu mạng đƣợc kết ni bng 2  
router.  
Nhƣ vậy, router R1 phi chuyn tt cả các gói thông tin đến mt máy nm mng  
Net 2 hoc Net 3. Với kích thƣớc lớn nhƣ mạng Internet, vic các routers làm sao có thể  
quyết định vvic chuyn các gói thông tin cho các máy trong các mng strnên phc  
tạp hơn.  
2
 
Để các routers có ththc hiện đƣợc công vic chuyn mt sln các gói thông tin  
thuc các mạng khác nhau ngƣời ta đề ra quy tc là: Các routers chuyn các gói thông tin  
dựa trên địa chmng của nơi đến, chkhông phi dựa trên địa chca máy máy nhn .  
Nhƣ vậy, dựa trên địa chmng nên tng sthông tin mà router phải lƣu giữ về sơ đồ  
kiến trúc mng stuân theo smng trên Internet chkhông phi là smáy trên Internet.  
Trên Internet, tt ccác mng đều có quyền bình đẳng cho dù chúng có tchc hay  
số lƣợng máy là rt chênh lch nhau. Giao thc TCP/IP ca Internet hoạt động tuân theo  
quan đim sau:  
Tt các các mạng con trong Internet nhƣ là Ethernet, một mng din rộng nhƣ  
NSFNET back bone hay mt liên kết điểm - điểm gia hai máy duy nhất đều đƣợc coi nhƣ  
là mt mng.  
Điều này xut phát từ quan điểm đầu tiên khi thiết kế giao thức TCP/IP là để có thể  
liên kết gia các mng có kiến trúc hoàn toàn khác nhau, khái nim "mạng" đối vi TCP/IP  
bị ẩn đi phn kiến trúc vt lý ca mạng. Đây chính là điểm giúp cho TCP/IP tra rt mnh.  
Nhƣ vậy, ngƣời dùng trong Internet hình dung Internet làm mt mng thng nht và bt kỳ  
hai máy nào trên Internet đều đƣợc ni vi nhau thông qua mt mng duy nht.  
Hình vsau mô tkiến trúc tng thca Internet.  
3
1.3. Quản lý Internet  
Thc cht Internet không thuc quyn qun lý ca bt kỳ ai. Nó không có giám đốc,  
không có ban qun tr. Chúng ta có ththam gia hoặc không tham gia vào Internet, đó là  
quyn ca mi thành viên. Mi mng thành phn scó một giám đốc hay chtch, một cơ  
quan chính phhoc một hãng điều hành, nhƣng không có mt tchc nào chu trách  
nhim vtoàn bInternet.  
Hip hi Internet (Internet Socity - ISOC) là mt hip hi tnguyn có mục đích  
phát trin khả năng trao đổi thông tin da vào công nghInternet. Hip hi bu ra Internet  
Architecture Board IAB (Uban kiến trúc mng). Ban này có trách nhiệm đƣa ra các  
hƣớng dn vkthuật cũng nhƣ phƣơng hƣớng để phát trin Internet. IAB họp định kỳ để  
bàn vcác vấn đnhƣ các chuẩn, cách phân chia tài nguyên, địa ch...  
Mi ngƣời trên Internet thhin nguyn vng ca mình thông qua uban kthut  
Internet (Internet Engineering Task Force ƣ IETF). IETF cũng là một tchc tnguyn,  
có mc đích thảo lun vcác vấn đề kthut và shoạt động ca Internet. Nếu mt vấn đề  
đƣợc coi trng, IETF lp mt nhóm kthuật để nghiên cu vấn đề này gi là Nhóm đặc  
trách nghiên cu phát trin Internet (Internet Researching Task Force) viết tt là IRTF.  
Trung tâm thông tin mng ( Network Information Center - NIC ) gm có nhiu trung  
tâm khu vc nhƣ APNIC - khu vc Châu Á - Thái Bình Dƣơng. NIC chịu trách nhim  
phân tên và địa chcho các mng máy tính ni vào Internet.  
1.4. Một số dịch vụ cơ bản trên Internet  
1.4.1. Giao thức SMTP, POP3  
̉
Chuân Internet cho E-mail la Simple Mail Transport Protocol (SMTP). SMTP la nghi  
̀
̀
̣
thƣc cấp ƣng dung (application-level) dùng để điều khiển các dịch vụ thông điệp thông qua  
́
́
̉
các mạng TCP/IP. SMTP đƣơc  
Bên canh SMTP, hai nghi thƣc khac dung đê phân phat mail đê  
MIME (Multipurpose Internet Mail Extensions) bô sung thêm cho SMTP đê cho phep  
̣
noi rõ trong RFC 321 822. SMTP sƣ dun  
̣
g công TCP 25.  
̉
́
̉
̣
́n client la POP3 và IMAP4.  
́
́
̀
́
̀
̉
̉
́
gă  
́n kem cac thông đi ệp đa phƣơng tiện (không phai la văn ban ) bên trong thông điêp  
̣
̉ ̉  
̀ ́ ̀  
̉
SMTP chuân . MIME sƣ dun  
̣
g ma hoa Base 64 để chuyển các file phức tạp sang ASCII .  
̃
́
̉
̣
MIME đƣơc mô ta trong cac RFC 2045-2049.  
̉
́
Các lệnh SMTP thƣꢀng sử dụng:  
Lênh  
Ý nghĩa  
h danh may gƣi vơi may nhân  
̉
HELO  
Sƣ dun  
̣
g đê đin  
̣
̣
. Lên  
̣
h nay phai kem  
̉
̀ ̀  
̉
̉
́
́
́
vơi tên may tinh cua may gƣi . Trong nghi thƣc mơ rôn  
̣
g (ESMTP), lênh  
̣
̉
̉
̉
́
́
́
́
́
̣
EHLO thay cho lênh nay.  
̀
MAIL - Khơi tao  
̣
môt  
̣
phiên gƣi mail . Đối số bao gồm trƣờng  
̉
̉
4
     
―FROM‖ va địa chỉ email của ngƣời gửi.  
̀
RCPT  
̣ ̣ ̣ ̣  
Đinh danh ngƣơi nhân thông điêp . Đi kem vơi ―TO‖ va đia chi email  
̀ ̀ ́ ̀  
̉
ngƣơi nhân  
̣
.
̀
DATA Thông bao bă  
́
t đâ  
̀
u gƣi dƣ liêu  
̣
thƣc  
ng môt  
Hủy (reset) phiên gƣi mail hiên hanh  
̣
sƣ  
̣
cua mail  
(phâ  
̀n thân cua  
̉
̉
̃
̉
́
message). Dƣ liêu  
̣
kê  
́
t thuc bă  
̀
̣
dong trô  
́
ng va môt  
̣
dâu chấm (.).  
́
̃
́
̀
̀
RSET  
VRFY Sƣ dun  
̣
̉
̀
̉
̣
g đê xac nhân  
̣
môt  
̣
t cua ―no operation‖, lênh nay không lam gi ca  
̉
̀ ̀  
̀
̣
ngƣơi nhân  
̣
mail  
̉
́
̀
NOOP Viê  
́
t tă  
́
̉
QUIT  
SEND  
HELP  
Đong kê  
́
t nô  
́i  
́
Báo cho host nhận biết là message phai đƣơc  
̣
̣
gƣi đến môt terminal khac  
̉
́
̉
̣ ̣  
Yêu cầu thông tin trơ giup tƣ host nhân  
́ ̀  
Ví dụ vtruyn thông ca SMTP:  
Sau khi kết ni giữa ngƣời gửi (trình khách) và ngƣời nhn (trình chủ) đã đƣợc thiết  
lp, nhng việc làm sau đây là nhng vic hoàn toàn hp lệ, đối vi mt phiên giao dch  
dùng giao thc SMTP. Trong cuc hi thoại dƣới đây, những gì trình khách gửi đƣợc đánh  
du bng chữ C: đứng trƣớc, còn nhng gì trình chgửi đƣợc đánh dấu bng S:. Các hệ  
thống máy tính đều có ththiết lp mt kết ni, bng cách dùng nhng dòng lnh ca phn  
mm telnet, trên mt máy khách. Chng hn:  
khởi động mt kết ni SMTP tmáy gửi thông điệp đến máy chwww.example.com.  
C: HELO mydomain.com  
S: 250 Hello mydomain.com  
C: MAIL FROM:<sender@mydomain.com>  
S: 250 Ok  
C: RCPT TO:<friend@example.com>  
S: 250 Ok  
C: DATA  
S: 354 End data with <CR><LF>.<CR><LF>  
C: Subject: test message  
C: From: sender@mydomain.com  
C: To: friend@example.com  
C: Hello,  
C: This is a test.  
5
C: Goodbye.  
S: 250 Ok: queued as 12345  
C: QUIT  
S: 221 Bye  
Các mꢁ trꢂng thái SMTP  
Khi môt  
̣
sending host gƣi môt  
̣
lên  
̣
h SMTP đê  
́
n receiving host , host nhân  
̣
tra vê  
̀
môt  
̣
̉
̉
mã trạng thái cho máy gửi biết là điều gì đã xảy ra . Danh sach bên dƣơi la code đƣơc  
̣
nhom  
́
́
̀
́
̣
theo số đầu tiên (5xx la lôi, 4xx lôi tam thơi, 1xx-3xx thanh công):  
̃ ̃  
̀ ̀ ̀  
Mã  
Ý nghĩa  
211  
214  
220  
221  
250  
251  
354  
421  
450  
451  
452  
500  
501  
502  
503  
504  
550  
551  
552  
553  
554  
Trả lời trợ giúp, trạng thái hệ thống  
Help message  
Dịch vụ sẳn sàng (Service ready)  
Đong kê  
́
t nô  
Hành động yêu cầu đƣợc chấp nhận  
̉
̣
Ngƣơi sƣ dung không ơ mang cuc bô, chuyên đến  
́i  
́
̣
̣
̣
̉
̉
̀
̣
Bắt đầu nhâp mail  
Dịch vụ không sẵn sang  
̀
Hành động không chấp nhận, mailbox bân  
Hành động bị hủy, lôi cuc bô  
Hành động không chấp nhận, thiê  
Không hiểu lệnh hoặc lỗi cú pháp  
Lôi cu phap ơ tham sô  
Lên  
Sai thƣ tƣ  
̣
̃
̣
̣
́
u không gian lƣu trƣ  
̃
̃
́
̉
́
́
̣
h không đƣơc  
̣
cac lênh  
̣ ̣  
hỗ trơ  
̣
́
́
̣ ̣ ̣  
Tham số cua lênh không đƣơc hỗ trơ  
̉
Hành động không chấp nhận, mailbox không co.  
́
Không phai la ngƣơi sƣ dụng cục bộ  
̉
̉
̀
̀
̣ ̣  
Hủy lênh do vƣơt qua không gian lƣu trƣ  
́
̃
Hành động không chấp nhận, tên mailbox không cho phep  
́
̣ ̣  
Phiên dao dich bi lôi  
̃
Post Office Protocol (POP)  
POP cho phep cac mail client (UA User Agent) ở máy cục bộ kết nô  
́
i vao pop server  
̀
́
́
(MTAMessage Transfer Agent) và lấy mail về máy tính cục bộ nơi mà ngƣời sử dụng có  
6
̉
thê đoc  
câp trong POP2 vào năm 1988. Chuân hiên  
POP3 UA kêt nôi vơi TCP /IP đên server (công chuân 110). UA nhâp  
đăng nhâp (username) và mật mã (password). Sau khi đăng nhâp , UA sƣ dun  
POP3 để lấy và xóa mail.  
POP3 là nghi thức chỉ để nhân  
POP3 đƣơc mô ta trong RFC 1939.  
̣
va tra lơi cac message . POP đƣơc  
̣
đin  
̣
h nghia đâ  
̀
u tiên vao năm 1984, đƣơc  
̣
nâng  
tên  
̉
̀
̀
́
̀
̃
̉
́
̣
hanh la POP3.  
̀
̀
̉
̉
́
́
́
̣ ̣  
vao môt  
̀
́
̣
̣
̣ ̣  
g cac lênh  
́
̉
̉
̣
mail. POP3 UA sƣ dun  
̣
g SMTP đê gƣi mail đê  
́
n server.  
̉
̉
̣
̉
Bảng sau đây mô tả các lnh ca POP3  
Lnh  
Ý nghĩa  
USER  
PASS  
STAT  
Chỉ rõ username  
Chỉ rõ password  
Yêu câ  
các message)  
Liêt kê cac message  
Lây môt  
Xóa một message cụ thể  
Không lam gi ca  
̣ ̣  
̀u trang thai cua mailbox (số lƣơng message, kích thƣớc của  
̉
́
LIST  
̣
́
̉
̣ ̣  
message cu thê  
RETR  
DELE  
NOOP  
RSET  
QUIT  
́
̉
̀
̀
Hủy hành động của các lệnh DELE (rollback)  
̉
̣
Chấp nhân cac thay đôi va cắt kết nối  
́ ̀  
Internet Mail Access Protocol (IMAP)  
POP3 là một nghi thức đơn giản. IMAP4 là môt  
năng hơn. IMAP4 đƣơc mô ta trong RFC 2060. IMAP4 sƣ dun  
Các lệnh IMAP4  
Lnh  
CAPABILITY  
AUTHENTICATE Chỉ rõ cơ chế đăng nhập  
̉
̣
chuân mail khac co h ỗ trơ nhiều tinh  
́ ́  
́
̣
̉
̣
g công TCP 143.  
̣
̉
̉
Ý nghĩa  
danh sach cac chƣc năng co hô trơ  
̃
̣
Yêu câ  
̀
u môt  
̣
́
́
́
́
LOGIN  
Cung cấp username va password  
̀
SELECT  
Chỉ rõ mailbox  
EXAMINE  
CREATE  
Chỉ định mailbox ở chế độ chỉ đọc  
Tạo một mailbox  
DELETE  
Xóa một mailbox  
RENAME  
SUBSCRIBE  
UNSUBSCRIBE  
Đổi tên một mailbox  
̣
Thêm môt mailbox vao danh sach cho phep  
̀ ́ ́  
Loại mailbox ra khỏi danh sách cho phép  
7
LIST  
Liêt  
Liêt  
Yêu câ  
Thêm môt  
Yêu câu môt  
Châp nhân cac thao tac xoa va đong mailbox  
Châp nhân  
Tìm trong mailbox các message thỏa điều kiện cụ thể  
̣
kê cac mailbox  
́
LSUB  
̣
kê cac mailbox cho phep  
́ ́  
STATUS  
APPEND  
CHECK  
CLOSE  
EXPUNGE  
SEARCH  
FETCH  
STORE  
COPY  
̀
u tran  
̣
g thai cua mailbox  
̉
́
̣
message vao mailbox  
̀
̀
̣
mailbox checkpoint  
́
̣
́
́
́
̀
́
́
̣
cac thao tac xoa  
́ ́ ́  
̉
̣ ̣ ̣  
́y môt phần cua môt message cu thê  
̉
Lâ  
Thay đôi dƣ liêu  
̉
̉
̣
cua message cu  
̣
thê  
Chép message sang một mailbox khác  
Không lam gi ca  
̃
̉
NOOP  
̉
̀
̀
LOGOUT  
Đong kết nối  
́
Các lệnh RFC thực sự không phải là các lệnh ngôn ngữ lập trình  
dùng để gửi đến Server qua Socket đƣợc tạo với cổng tƣơng ứng .Ví d, nê  
mail, tạo một socket TCP cổng 25 vơi Server (ví dụ, Post Office) sau đo lân lƣơt  
ENTER) và nhận các trả lời từ server để gửi mail.  
, nó là các chuỗi  
u muôn gƣi  
gƣi cac  
́
́
̉
̀
̣
̉
́
́
́
̣ ̣ ̣  
lênh RFC (́t thuc lênh la ky tƣ  
́ ̀ ́  
Cách nhanh nhất để thử các lệnh RFC là dùng chƣơng trình Telnet.  
Ví dụ để gửi một mail, làm nhƣ sau:  
Ở Command Prompt go lên  
̣
h: Telnet mail.myserver.com 25  
̃
Sau đo go cac lên  
̣
h nhƣ trong vi du đa nêu phân trƣơc.  
̣
̀
́
̃
́
̃
́
́
̉
̣
́u viết môt Windows Application thi co thê dung MAPI control cua Windows , ́u  
̉
́ ̀  
̀
Nê  
́t (asp) Webmail co thê dung CDO , các control này giúp cho ngƣời lập trình không cần  
̉
viê  
biêt RFC nhƣng vân  
̉
̣
thƣc va cac thuôc tinh cua chung . Nhƣng cac control trên đều dung cac lênh RFC đê lam  
̀ ́ ̀  
́
̀
́
̃
co thê viế t đƣơc cac ƣng dung mail bằng cach sƣ dung cac phƣơng  
̉
̣ ̣ ̣  
̉
́ ́ ́ ́ ́  
̣
̉
́
̀
́
́
́
́
viêc  
̣
gƣi va nhân  
̣
mail thƣc  
̣
.  
g bă  
̣
̀u nhƣ la moi thƣ), phải tìm hiểu nhiều chuẩn khác (MIME), các kiểu mã hóa  
̀
̣
̉
̀
Viêc  
code nhiêu (hâ  
(Base64, unicode ,...), nê  
̣
viê  
́
t môt ƣng dun  
̣
̣
̣ ̣ ̣  
̀ng cach sƣ dung trƣc tiếp RFC đoi hoi ngƣơi lâp trinh phai  
̉ ̉ ̉  
́ ̀ ̀  
̀
́
̀
́
̉
u viết Webmail phai tim hiêu thêm upload file (để attach), cách tổ  
̉
̀
́
̉
chƣc trên Webserver đê quan ly mail đoc ̀i va chƣa đoc, hoăc tao thêm cac thƣ muc.  
̣
rô  
̣
̣
̣
̣
̉
́
́
̀
́
1.4.2. Giao thức truyền file - FTP (File Transfer Protocol)  
Dch vụ FTP dùng để truyn ti các file dliu gia các host trên Internet. Công cụ  
để thc hin dch vtruyền file là chƣơng trình ftp, nó sử dng mt giao thc ca Internet  
là giao thức FTP (File Transfer Protocol). Nhƣ tên của giao thức đã nói, công việc ca giao  
8
 
thc này là thc hin chuyn các file tmt máy tính này sang mt máy tính khác. Giao  
thc này cho phép truyn file không phthuc vào vấn đề vị trí địa lý hay môi trƣờng hệ  
điều hành của hai máy. Điều duy nht cn thiết là cả hai máy đều có phn mm hiểu đƣợc  
giao thc FTP. ftp là mt phn mm nhƣ vậy trên hệ điều hành Unix.  
Mun sdng dch vụ này trƣớc hết chúng ta phi có một đăng ký ngƣời dùng ở  
máy remote và phi có một password tƣơng ứng. Vic này sgim số ngƣời đƣợc phép  
truy cp và cp nhp các file trên hthng xa. Mt smáy chtrên Internet cho phép  
chúng ta login vi mt account là anonymous, và password là địa che-mail ca chúng ta,  
nhƣng tất nhiên, khi đó chúng ta chcó mt squyn hn chế vi hthông file máy  
remote.  
Để phiên làm vic FTP thc hiện đƣợc, ta cũng cần 2 phn mm. Mt là ng dng  
FTP client chy trên máy của ngƣời dùng, cho phép ta gi các lnh ti FTP host. Hai là  
FTP server chy trên máy chủ ở xa, dùng để xlý các lnh FTP của ngƣời dùng và tƣơng  
tác vi hthống file trên host mà nó đang chạy.  
FTP cho phép chúng ta tìm kiếm thông tin trên server bng các lnh thông dụng nhƣ  
ls hay dir. Khi ngƣời dùng đánh các lệnh này, ftp schuyn lên cho server, ti server sẽ  
thc hin lnh này và gi về thông tin danh sách các file tìm đƣợc. Ngƣời sdng sau khi  
nhận đƣợc các thông tin này sgi yêu cu vmt file nào đó bằng lnh: get  
source_file_name destination_file_name. Còn khi mun truyn mt file lên máy xa,  
ngƣời sdng dùng lnh: put source_file_name destination_file_name. Để mt lúc có thể  
ti vhoc truyn lên máy xa nhiều file, ngƣời ta có thdùng các lnh mget và mput và  
sdng các ký tự wild cast nhƣ trong môi trƣờng DOS. Ví dsau sti các file có tên là  
*.dat:  
mget *.dat  
Sau đây là một ví dvmt giao dch truyn file:  
# ftp ftp.vnd.net kết ni vi máy chủ  
Connected to ftp.vnd.net  
220 FTP Server ready.  
name: anonymous gõ user name đlogin  
331 send your e-mail as password  
Password: password không hin thị  
230 User guest logged in. Access restricted is apply  
ftp>dir lnh hin thdanh sách các file  
sendmail-7.5 tcp-wrapper innd w project.dat  
ftp>get project.dat ti file vlocal  
ftp>quit thoát ra khi dch v221 Goodbye.  
9
Để sdng dch vụ FTP, ngƣời sdng có thchy phn mm FTP client ví dụ nhƣ:  
WS_FTP hay CUTFTP đây là các chƣơng trình có giao diện đồ ha khá thân thin vi  
ngƣời sdng. Chúng ta có thdownload các phn mm này từ Internet để cài lên máy  
tính ca chúng ta.  
1.4.3. Dịch vụ mꢂng thông tin toàn cầu WWW (World Wide Web)  
Đây là dịch vmi và mnh nhất trên Internet. WWW đƣợc xây dng da trên mt  
kthut có tên gọi là hypertext (siêu văn bản). Hypertext là kthut trình bày thông tin  
trên một trang trong đó có một stcó th"n" ra thành mt trang thông tin mi có ni  
dung đầy đủ hơn. Trên cùng một trang thông tin có thcó nhiu kiu dliu khác nhau  
nhƣ TEXT, ảnh hay âm thanh. Để xây dng các trang dliu vi các kiu dliu khác  
nhau nhƣ vậy, WWW sdng mt ngôn ngcó tên là HTML (HyperText Markup  
Language). Ngôn ngữ HTML đƣợc xây dựng trên cơ sở ngôn ngSGML (Standard  
General Markup Language). HTML cho phép định dng các trang thông tin, cho phép  
thông tin đƣc kết ni vi nhau.  
Trên các trang thông tin có mt stcó th"n" ra, mi tnày thc chất đều có  
mt liên kết với các thông tin khác. Để thc hin vic liên kết các tài nguyên này, WWW  
sdụng phƣơng pháp có tên là URL (Universal Resource Locator). Với URL, WWW cũng  
có thtruy nhp ti các tài nguyên thông tin tcác dch vụ khác nhau nhƣ FTP, Gopher,  
Wais... trên các server khác nhau.  
Ngƣời dùng sdng mt phn mềm Web Browser để xem thông tin trên các máy  
chWWW. Ti server phi có mt phn mm Web server. Phn mm này thc hin nhn  
các yêu cu tWeb Browser gi lên và thc hin yêu cầu đó.  
Vi sbùng ndch vWWW, dch vụ này càng ngày càng đƣợc mrộng và đƣa  
thêm nhiu kthut tiên tiến nhằm tăng khả năng biểu đạt thông tin cho ngƣời sdng.  
Mt scông nghmới đƣợc hình thành nhƣ Active X, Java cho phép tạo các trang Web  
đng thc smra một hƣng phát trin rt ln cho dch vnày.  
1.4.4. Giao thức HTTP (HyperText Transfer Protocol)  
HTTP là chviết tt tHyperText Transfer Protocol (giao thc truyn tải siêu văn  
bn). Nó là giao thức cơ bản mà World Wide Web sdụng. HTTP xác định cách các thông  
điệp (các file văn bản, hình ảnh đồ ho, âm thanh, video, và các file multimedia khác) đƣợc  
định dng và truyn ti ra sao, và những hành đng nào mà các Web server (máy chWeb)  
và các trình duyt Web (browser) phải làm để đáp ứng các lnh rất đa dạng. Chng hn,  
khi chúng ta gõ một địa chWeb URL vào trình duyt Web, mt lnh HTTP sẽ đƣợc gi  
tới Web server để ra lệnh và hƣớng dẫn nó tìm đúng trang Web đƣợc yêu cu và kéo vmở  
trên trình duyệt Web. Nói nôm na hơn, HTTP là giao thức truyn ti các file tmt Web  
10  
   
server vào mt trình duyệt Web để ngƣời dùng có thxem mt trang Web đang hiện din  
trên Internet.HTTP là mt giao thc ng dng ca bgiao thc TCP/IP (các giao thc nn  
tng cho Internet).  
Có mt tiêu chuẩn chính khác cũng điều khin cách thc World Wide Web làm vic  
là HTML (HyperText Markup Language, ngôn ngữ đánh dấu siêu văn bản), có chức năng  
qun lý cách thức mà các trang Web đƣợc đnh dng và hin th.  
Ngƣời ta gi HTTP là mt giao thức ―phi trạng thái‖ (stateless) bởi vì mi lệnh đều  
đƣợc thc thi một cách độc lp, lnh sau không biết bt cứ điều gì vcác lệnh đã đến trƣớc  
mình. Đây chính là một hn chế, khiếm khuyết ca HTTP. Nó là nguyên nhân chính ca  
tình trng rt khó thc thi các trang Web có khả năng phản ứng thông minh đối vi lnh  
mà ngƣời dùng np vào. Và shn chế này đang đƣợc các nhà phát trin khc phc trong  
các công nghmới nhƣ ActiveX, Java, JavaScript và cookies.  
Phiên bn mi nht ca HTTP là 1.1. So vi phiên bn nguyên thy (HTTP 1.0),  
phiên bn mi này truyn tải các trang Web nhanh hơn và giảm tình trng tc nghn giao  
thông Web.  
1.4.5. Giao thức Chat  
Internet Relay Chat (IRC - Nói chuyện qua Internet) là phƣơng tiện "thi gian thc",  
nghĩa là những tchúng ta gõ vào sxut hin gần nhƣ tức thi trên màn hình của ngƣời  
nhn và trli ca hca xut hin trên màn hình ca chúng ta nhƣ vậy. Thay vì phi chờ  
vài phút hay vài ngày đối với thông điệp, chúng ta có thể trao đổi tc thi vi tốc độ gõ  
chca chúng ta. IRC có thể mang tính cá nhân nhƣ e-mail, ngƣời lkhông khám phá  
đƣợc nội dung trao đổi ca chúng ta, hoc chúng ta có thto "kênh m" cho nhng ai  
chúng ta muốn cùng tham gia. Cũng không hiếm các kênh IRC có từ 10 ngƣời trlên tham  
gia hi hoi. Ngoài việc trao đổi lời, ngƣời dùng IRC còn có thgửi file cho nhau nhƣ hình  
ảnh, chƣơng trình, tài liệu hay nhng thkhác.  
Cũng nhƣ các dịch vkhác ca Internet, hm vi hi thoi trên các kênh IRC là rt  
rng, có thbao gm cnhng chủ đề không phù hp vi trem, vì vy cn có bin pháp  
giám sát nhng trem mun sdng dch vnày  
1.4.6. URL (Uniform Resource Locator)  
URL Là chviết tt của "Uniform Resource Locator", dùng để chtài nguyên trên  
Internet. Sc mnh ca web là khả năng tạo ra nhng liên kết siêu văn bản đến các thông  
tin liên quan. Nhng thông tin này có thì là nhng trang web khác, nhng hình nh, âm  
thanh... Nhng liên kết này thƣờng đƣợc biu din bng nhng chmàu xanh có gạch dƣới  
đƣợc gi là anchor. Các URL có thể đƣợc truy xut thông qua mt trình duyt (Browser)  
nhƣ IE hay Netscape.  
11  
   
URL đƣợc dùng để xác định địa chca mt tài liu (hoc dliu khác) trên World  
Wide Web. Một địa chỉ đầy đsẽ nhƣ sau:  
Scheme://host.domain:port/path/filename  
Scheme: Là mt trong các giao thc Internet, gm http, ftp, gopher, news (USENET  
news), nntp (Network News Transfer Protocol), Telnet và WAIS (Wide Area Information  
Servers), và nhng giao thc khác. Ða chỉ dƣới đây dùng giao thc http:  
Domain: xác định tên min ca trang web trên Internet ví dnhƣ goccongnghe.net  
Host: xác định tên min ca host. Nếu đƣợc bqua, thì mặc định ca host cho http là  
www.  
Port: xác định port number ti host. Scổng thƣờng đƣợc bqua. Scng mặc định  
ca http là 80.  
Path: xác định đƣờng dn trên server. Nếu đƣờng dẫn đƣợc bqua, thì tài liu phi  
đƣợc định vtại thƣ mục gc ca trang web.  
Filename: xác định tên ca tài liu. Tên mặc định ca mt tài liu có thlà  
default.asp hoc index.html hoc một cái gì đó phụ thuc vào những cài đặt ca server.  
1.4.7. Web Browser.  
Mt web browser là mt phn mm ng dụng để truy xut, trình din và chuyn các  
ngun thông tin (information resource) trên mng hthng mng toàn cu (World Wide  
Web). Mt nguồn thông tin đƣợc nhn dng bi mt Uniform Resource Identifier (URI) và  
có thlà mt trang web, phim - video, hình nh (images) hoc các mu thông tin khác.  
Hinh 1.1. Trình duyệt web đxem thông tin mt website  
12  
 
Mc dù các trình duyt vi mục đích là để truy cp vào hthng mng toàn cu, các  
trình duyệt còn đƣợc sdụng để truy cập các thông tin đƣợc cung cp bi các web servers  
(máy chweb) trong hthng mng riêng hoc các tài liệu (files) đến các hthng file  
(file system). Hoặc cũng đƣợc dùng để tiết kim tài nguyên thông tin cho các hthống lƣu  
trfile.  
Lch svweb browser  
Lch sca các trình duyt Web bắt đầu vào cui thp niên 1980, khi mt lot các  
công nghệ đặt nn móng cho các trình duyệt Web đầu tiên, WorldWideWeb, do Tim  
Berners-Lee vào năm 1991. Sự phát trin này da trên các công nghphn mm và phn  
cng hiện có, ngoài ra cũng mở ra nhiu công nghmi bắt đầu tƣ đây.  
Ted Nelson và Douglas Engelbart phát trin khái niệm siêu văn bản trƣớc khi  
Berners-Lee và CERN khá lâu. Web browser đã trở thành ct lõi ca World Wide Web.  
Berners-Lee tha nhn sự đóng góp ca Engelbart.  
Vic gii thiu trình duyệt Mosaic NCSA Web vào năm 1993 - mt trong nhng trình  
duyt web vi giao diện đhọa đầu tiên - đã dẫn ti sbùng ntrong vic dùng web. Marc  
Andreessen, ngƣời lãnh đạo của đội Mosaic ti NCSA, sm bắt đầu công ty riêng ca  
mình, đặt tên là Netscape, và phát hành các phiên bn Mosaic Netscape Navigator vào năm  
1994, và sau đó nhanh chóng trở thành trình duyt phbiến nht thế gii, chiếm 90% ca  
tt ccác sdụng Web đỉnh cao ca nó.  
Hình 1.2. Trình duyt web Netscape  
Microsoft đã đáp trả bng trình duyt Internet Explorer của mình trong năm 1995  
(cũng bị ảnh hƣởng nhiu từ Mosaic), và đầu cuc chiến trình duyệt đầu tiên. Bng vic kết  
hp Internet Explorer với Windows, Microsoft đã có thể tn dụng ƣu thế ca nó trong thị  
trƣờng hệ điều hành để qun lý thị trƣờng trình duyt Web; Internet Explorer sdụng đạt  
vị trí trên 95% ngƣời dùng vào năm 2002. Internet Explorer chiếm 60% ngƣời sdng  
trình duyệt vào Tháng Tƣ năm 2010 theo thống kê ca Net Applications.  
13  
Hình 1.3. Trình duyt web Internet Explorer ca Microsoft (IE7)  
Opera đầu tiên xut hiện vào năm 1996; mặc dù nó đã không bao giờ đạt đƣợc sử  
dng rng rãi, chiếm 2% thphn trình duyệt vào tháng tƣ năm 2010, tuy nhiên Opera  
chiếm mt phần đáng kể ca thị trƣờng đang phát triển nhanh là trình duyệt Web điện thoi  
di động, Oepra đƣợc cài đặt sẵn trên trên 40.000.000 điện thoại. Opera cũng có sẵn trên  
mt shthng nhúng khác, bao gm video game console Wii ca Nintendo.  
Hình 1.4. Trình duyt web Opera 11  
Năm 1998, Netscape trin khai Mozilla Foundation trong mt nlực để sn xut mt  
trình duyt cnh tranh bng cách sdng mô hình phn mm mã ngun mở. Đó là trình  
duyt sau này phát triển thành Firefox, sau đó thì trình duyệt này đƣợc phát trin khá tt  
trong khi vẫn còn trong giai đoạn beta, ngay sau khi phát hành Firefox 1.0 vào cuối năm  
2004, Firefox (mi phiên bản) đã chiếm 7,4% thphn sdng trình duyệt. Và đến tháng  
tƣ năm 2010, Firefox đã có một thphn 25%.  
14  
Hình 1.5. Trình duyt web Firefox  
Safari của Apple đã phát hành phiên bản beta đầu tiên vào tháng một năm 2003; vào  
tháng 10 năm 2009, đã chi phối thphn ca trình duyt web da trên vic phát trin tcác  
ng dng ca Apple, chiếm dƣới 5% thị trƣờng trình duyt toàn bvào tháng 4 năm 2010.  
Nó đƣợc xem nhƣ là công cụ cho web (còn đƣợc gọi là WebKit) để trình din các tính  
năng và là nền tảng đƣợc ng dng nhiu trên thiết bị di động, bao gm chệ điều hành  
iPhone, Google Android, Nokia S60 và Palm WebOS.  
Vào tháng 9 năm 2008, Google bắt đầu nhy vào cuc chiến các trình duyt bng  
trình duyệt web Google Chrome. Đến tháng 4 năm 2010, Google Chrome đã chiếm 7% thị  
phn.  
Hình 1.6. Trình duyt web Safari ca Apple  
Chức năng  
15  
Mục đích chính của mt trình duyệt web là để mang li nguồn thông tin cho ngƣời  
dùng. Quá trình này bắt đầu khi một ngƣời sdng nhp vào (URI) hay tm gi là mt  
đƣờng dn, Ví dụ nhƣ http://www.khkt.net/. Các tiền tca URI sẽ xác định cho phƣơng  
thc truy cp và dliu nhận đƣợc sẽ đƣợc biên dịch nhƣ thế nào. Các loi URI thông  
dng nht bắt đầu với http: định mt nguồn tài nguyên để đƣợc ly da trên Hypertext  
Transfer Protocol (HTTP) (tôi tm gi là giao thc truyn dliệu cho các siêu văn bản).  
Nhiu trình duyệt cũng hỗ trmt lot các tin tkhác, chng hạn nhƣ https: (cũng tƣơng  
tự nhƣ HTTP nhƣng dữ liệu đƣợc mã hóa và bo mật hơn) hay ftp: cho File Transfer  
Protocol (giao thc truyn ti file), và file: cho các tập tin lƣu trữ ni b. Các trình duyt  
web có thkhông trc tiếp xử lý mà thƣờng chuyn qua các ng dng khác xlý. Ví d,  
mailto: URI thƣờng sẽ đƣợc chuyển qua chƣơng trình ứng dng mail mặc định mà ngƣời  
dùng đang sử dng, hoc news: sgọi đến các chƣơng trình đọc tin tc.  
Tuy nhiên trình duyệt cũng có cơ chế mở và đƣợc htrbi các plugins của nó để có  
thhin thị đƣợc các loi tài liu trc tiếp trên web browser. Hu hết các trình duyt có thể  
hin thhình nh, âm thanh, video, và các tập tin XML, và thƣờng có mt splug-in mc  
định để htrcác ng dng Flash và Java applet. Khi gp phi mt tập tin không đƣợc hỗ  
trthì tp tin này sẽ đƣợc ti vthay vì hin thtrc tiếp trên web, lúc này trình duyt sẽ  
nhắc ngƣời dùng để lƣu tập tin vào đĩa.  
Tính tƣơng tác trong một trang web có thể đƣợc ng dng bởi javascript mà thƣờng  
không đòi hỏi shtrthêm ca plugin. javascript có thể đƣợc sdng cùng vi các công  
nghệ khác để cho phép tƣơng tác trực tiếp vi máy chtrang web, ví dụ: tƣơng tác thông  
qua AJAX.  
Các thông tin trên trang web có thcha siêu liên kết (hyperlinks) ti các ngun  
thông tin khác. Mi liên kết có chứa các URI để đi đến các ngun thông tin khác. Khi mt  
liên kết đƣợc nhp, trình duyệt điều hƣớng ngƣời dùng ti trang thông tin khác.  
1.4.8. Web Server  
Web Server (máy phc vụ Web): máy tính mà trên đó cài đặt phn mm phc vụ  
Web, đôi khi ngƣời ta cũng gọi chính phn mềm đó là Web Server.  
Tt cả các Web Server đều hiu và chạy đƣợc các file *.htm và *.html, tuy nhiên mi  
Web Server li phc vmt skiu file chuyên bit chng hạn nhƣ IIS của Microsoft dành  
cho *.asp, *.aspx...; Apache dành cho *.php...; Sun Java System Web Server ca SUN  
dành cho *.jsp...  
1.5. Khai thác dịch vụ Internet  
Truy cp vào mng Internet có thcó 2 cách: Truy cp trc tiếp thông qua đƣờng  
dành riêng(Leased Line) và truy cp gián tiếp thông qua mng điện thoi công cng. Vic  
16  
   
Tải về để xem bản đầy đủ
pdf 86 trang Thùy Anh 12/05/2022 2460
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Lập trình mạng (Phần 1)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_lap_trinh_mang_phan_1.pdf