Bài giảng Mạng máy tính - Chương 2: Tầng ứng dụng (Phần 2) - Hồ Phương Đắc
DNSꢀ:ꢀHꢁ thꢂng Tên miꢃn
Conꢀngưꢄi : có thꢄ nhꢅn dꢆng
DomainꢀNameꢀSystem:
bꢇng nhiꢈu cách:
o Sꢉ Chꢊng Minh Thư
o Tên,ꢀBiꢋt danh
ꢀ Là Hꢁ cơ sꢅ dꢆ liꢁu phân tán
cài ñꢓt bꢔi nhiꢈu nameꢀservers
phân cꢕp
o Sꢉ hꢌ chiꢍu
ꢀ Giao thꢇc tꢈng ꢇng dꢉng :ꢀ
host,ꢀroutersꢀyêu cꢁu nameꢀserversꢀ
ñꢄ giꢖi mã tên (ánh xꢆ ñꢎa chꢏ <ꢐ
>tên)
Máy tính và Routerꢀtrên Internet
o ðꢎa chꢏ IPꢀ(32ꢀbit)ꢀꢐ sꢑ dꢃng
ñꢄ ñánh ñꢎa chꢏ cho các
datagram
o Chú ýꢀ:ꢀChꢊc năng cơ bꢖn cꢗa
Internetꢀhoꢆt ñꢌng như giao
thꢊc tꢁng ꢂng dꢃng
o “Tên”,ꢀví dꢃ như
gaia.cs.umass.edu
Q: Ánh xꢆ giꢒa ðꢎa chꢏ IPꢀvà Tên?
o “Phꢊc tꢆp” ñꢓt ꢔ “rìa”
2:ꢀTꢁng ꢂng dꢃng
1
DNS:ꢀHꢁ thꢂngꢀtênꢀmiꢃn
ꢀ Chꢊc năng
clients
o Ánh xꢆ (Tên miꢈn,ꢀdꢀch vꢁ)
ñꢂn mꢃt giá trꢀ nào ñó
• (www.cs.yale.edu,ꢀAddr)ꢀ
ꢐ>ꢀ128.36.229.30
• (cs.yale.edu,ꢀEmail)ꢀ
DNS
ꢐ>ꢀnetra.cs.yale.edu
Hostname,ꢈService
• (netra.cs.yale.edu,ꢀAddr)ꢀ
routers
ꢐ>ꢀ128.36.229.21
Address
ꢀ Tꢄi sao không sꢅ dꢁng ñꢀa
chꢆ IPꢀtrꢇc tiꢂp ?
servers
2:ꢀTꢁng ꢂng dꢃng
2
DNSꢀ:ꢀNameꢀServerꢀ(Máy chꢊ Tên)
ꢀ Không có serverꢀnào có thꢄ lưu toàn
bꢌ ñưꢘc tên miꢈn và ñꢎa chꢏ IPꢀtương
ꢊng
Tꢋi sao tꢋo ra mꢌt DNSꢀ
Serverꢀtꢍp trung ?
ꢀ ðiꢄm hꢚng duy nhꢕt ꢐ nꢍu
nameꢐserverꢀ“chꢍt” thì cꢖ
mꢆng Internetꢀsꢛ “chꢍt”
theo.
ꢀ Khꢉi lưꢘng giao dꢎch tꢆi
ñiꢄm tꢅp trung lꢜn.
ꢀ Cơ sꢔ dꢒ liꢋu tꢅp trung ꢔ
ꢀ localꢀnameꢀservers:
o Mꢙi ISP,ꢀcông ty có localꢀnameꢀ
serverꢀ(ngꢁm ñꢂnh)
o Câu hꢚi truy vꢕn cꢗa hostꢀvꢈ DNSꢀ
sꢛ ñưꢘc chuyꢄn tꢜi localꢀnameꢀ
server
“xa” vꢜi nhiꢈu nơi
ꢀ Chꢇc năng cꢊa nameꢀserver:
ꢀ Bꢖo trì dꢝ hơn.
o ðꢉi vꢜi host:ꢀlưu ñꢎa chꢏ IPꢀvà tên
miꢈn tương ꢊng cꢗa host
Không Mꢎ RꢏNG ñưꢀc !
o Có thꢄ tìm tên miꢈn ꢊng vꢜi ñꢎa
chꢏ IPꢀvà ngưꢘc lꢆi
2:ꢀTꢁng ꢂng dꢃng
3
DNS:ꢀðꢐtꢀtênꢀnhưꢀthꢑ nàoꢀ?
ꢀ Cơ chꢍ ðꢓt tên
o Không gian tên (phân cꢕp)ꢀñưꢘc chia thành các Vùng (zone)
o Mꢉi vùng có thꢊ ñưꢋc coi là Nhánh cꢌa cây tꢍng quát
called a zone
2:ꢀTꢁng ꢂng dꢃng
4
Quꢒn lý Phân tán Không gian Tên
ꢀ Là Cơ sꢔ dꢒ liꢋu phân tán ñưꢘc nhiꢈu authoritativeꢀnameꢀserver quꢎn lý
o Mꢙi Vùng có mꢌt AuthoritativeꢀNameꢀServerꢀriêng
o authoritativeꢀnameꢀserverꢀofꢀaꢀzoneꢀcó thꢄ trao quyꢃn quꢒn lý mꢌt bꢌ phꢅn
trong Vùng cꢗa mình (tꢊc là mꢌt nhánh con)ꢀcho nameꢀserverꢀkhác
5
called a zone
DNSꢀ:ꢀRootꢀNameꢀServer
ꢀ Localꢀnameꢀserverꢀsꢛ hꢚi Rootꢀnameꢀserverꢀkhi không xác ñꢎnh ñưꢘc
ánh xꢆ.
ꢀ Rootꢀnameꢀserver:
o Hꢚi authoritativeꢀnameꢀserverꢀnꢍu không trꢖ lꢞi ñưꢘc
o Nhꢅn câu trꢖ lꢞi tꢟ authoritativeꢀnameꢀserverꢀ
aꢈNSIꢈHerndon,ꢈVA
o Trꢖ lꢞi localꢀnameꢀserver
kꢈRIPEꢈLondon
cꢈPSInet Herndon,ꢈVA
dꢈUꢈMarylandꢈCollegeꢈPark,ꢈMD
gꢈDISAꢈVienna,ꢈVA
iꢈNORDUnet Stockholm
hꢈARLꢈAberdeen,ꢈMD
jꢈꢈNSIꢈ(TBD)ꢈHerndon,ꢈVA
mꢈWIDEꢈTokyo
eꢈNASAꢈMtꢈView,ꢈCA
fꢈꢈInternetꢈSoftwareꢈC.ꢈPalo Alto,ꢈ
CA
13ꢁrootꢁnameꢁserversꢁ
trên Thꢂ giꢃi
bꢈUSCꢏISIꢈMarinaꢈdelꢈRey,ꢈCA
lꢈꢈICANNꢈMarinaꢈdelꢈRey,ꢈCA
2:ꢀTꢁng ꢂng dꢃng
6
DNSꢀ:ꢀVí dꢉ ñơn giꢒn
root name server
hostꢀsurf.eurecom.fr muꢉn biꢍt
ñꢎa chꢏ IPꢀcꢗa
2
4
3
5
gaia.cs.umass.edu
1. Hꢚi localꢀDNSꢀserverꢀ
(dns.eurecom.fr)
2. dns.eurecom.fr hꢚi rootꢀ
local name server authorititive name server
nameꢀserverꢀnꢍu cꢁn thiꢍt
dns.umass.edu
dns.eurecom.fr
3. rootꢀnameꢀserverꢀhꢚi
authoritativeꢀnameꢀserver,ꢀ
dns.umass.edu nꢍu cꢁn
thiꢍt.
1
6
requesting host
gaia.cs.umass.edu
surf.eurecom.fr
2:ꢀTꢁng ꢂng dꢃng
7
NameꢀServerꢀTrung gian
root name server
Rootꢀnameꢀserver:
6
2
3
7
ꢀ Có thꢄ không biꢍt
authoritativeꢀnameꢀ
server
local name server
intermediate name server
dns.eurecom.fr
dns.umass.edu
ꢀ Chꢏ biꢍt NameꢀServer
trung gian,ꢀquaꢀñó mꢜi
tìm ñưꢘc authoritativeꢀ
nameꢀserver
5
4
1
8
authoritative name server
dns.cs.umass.edu
requesting host
surf.eurecom.fr
gaia.cs.umass.edu
2:ꢀTꢁng ꢂng dꢃng
8
DNS:ꢀcác loꢋi truy vꢓn
root name server
iterated query
Truy vꢓn ñꢁ quy :
ꢀ Nameꢀserverꢀlà nơi giꢖi mã
ñꢎa chꢏ/tên.ꢀNꢍu không tꢠ
mình giꢖi mã ñưꢘc sꢛ gꢑi yêu
cꢁu ñꢍn nameꢀserverꢀkhác.
2
3
4
ꢀ Rootꢀnameꢀserverꢀliꢋu có bꢎ
7
quá tꢖi ?
local name server
name server trung gian
dns.umass.edu
dns.eurecom.fr
Truy vꢓn tương tác:
5
6
1
8
ꢀ Nꢍu không phân giꢖi ñưꢘc
ñꢎa chꢏ IP,ꢀgꢑi thông ñiꢋp
“Tôi không biꢂt,ꢁhãy hꢄi bꢅn
tôi là A”.ꢀAꢀlà ñꢎa chꢏ IPꢀcꢗa
nameꢀserverꢀkꢍ tiꢍp.
authoritative name server
dns.cs.umass.edu
requesting host
surf.eurecom.fr
gaia.cs.umass.edu
2:ꢀTꢁng ꢂng dꢃng
9
DNS:ꢀLưu tꢋm và Cꢍp nhꢍt bꢒn ghi
ꢀ Khi “hꢡc” ñưꢘc thêm mꢌt ánh xꢆ,ꢀnameꢀserverꢀsꢛ “ghi nhꢜ”
ánh xꢆ này
o Sau mꢌt khoꢖng thꢞi gian,ꢀnꢍu thành phꢁn nào trong cacheꢀ
không ñưꢘc sꢑ dꢃng thì sꢛ bꢎ xóa bꢚ.
ꢀ Cơ chꢍ Cꢅp nhꢅt và Thông báo doꢀIETFꢀthiꢍt kꢍ:
o RFCꢀ2136
2:ꢀTꢁng ꢂng dꢃng
10
Bꢒn ghi DNS
DNS: cơ sꢔ dꢒ liꢋu phân tán lưu các Bꢖn ghi Tài nguyên (RR)
ðꢔnh dꢋng RRꢀ:ꢀ(name,ꢀvalue,ꢀtype,ꢀTTL)
ꢀ Type=A
o name :ꢀhostname
o value :ꢀIPꢀaddress
ꢀ Type=NS
ꢀ Type=CNAME
o name :ꢀtên bí danh cho mꢌt tên
thꢠc nào ñó :ꢀꢀví dꢃ
www.ibm.com là tên bí danh
cꢗa
servereast.backup2.ibm.com
o name :ꢀdomainꢀ(ví dꢃ
foo.com)
o value :ꢀtên thꢠc
o value :ꢀñꢎa chꢏ IPꢀcꢗa
authoritativeꢀnameꢀserverꢀ ꢀ Type=MX
ꢊng vꢜi miꢈn ñó
o value :ꢀtên cꢗa mailserver
2:ꢀTꢁng ꢂng dꢃng
11
Giao thꢇc và Thông ñiꢁp cꢊa DNS
Giao thꢇc DNSꢀ: Thông ñiꢋp truy vꢆn và trꢇ lꢈi ñꢈu có chung mꢌt
ñꢎnh dꢆng
Tiêu ñꢃ Thông ñiꢁp
ꢀ identification: 16ꢀbit.ꢀ
Thông ñiꢋp trꢖ lꢞi và truy
vꢕn có cùng ñꢎnh danh.ꢀꢀ
ꢀ Cꢄ:
o Cꢞ queryꢀhayꢀreply
o Cꢞ mong muꢉn ñꢋ quy
o Cꢞ chꢕp nhꢅn ñꢋ quy
o Cꢞ authoritative
2:ꢀTꢁng ꢂng dꢃng
12
DNSꢀ– Giao thꢇc và Thông ñiꢁp
Trưꢞng tên và
Kiꢄu truy vꢕn
Thông ñiꢋp trꢖ lꢞi
Các bꢖn ghi cꢗa
authoritativeꢀserver
Nhꢒng thông tinꢀngoꢆi lꢋ
có thꢄ hꢒu dꢃng
2:ꢀTꢁng ꢂng dꢃng
13
Quan sát DNS
ꢀ Sꢑ dꢃng lꢋnh dig (Hoꢐc nslookup):
o Yêu cꢁu Hꢚi bꢇng câu hꢚi tương tác:
ꢀ Bꢑt thông ñiꢒp bꢓng Etherealꢀ
o DNSꢀserverꢀlꢢng nghe ꢔ portꢀ53
2:ꢀTꢁng ꢂng dꢃng
14
DNSꢀ– Ưu ñiꢕm ?
ꢀ Phân cꢕp :ꢀnâng cao năng lꢠc quꢖn lý và tăng cưꢞng khꢖ
năng mꢔ rꢌng
ꢀ Nhiꢈu serverꢀ:ꢀtăng khꢖ năng phòng chꢉng lꢙi
ñꢄ thꢕy Tꢕn công tꢟ chꢉi Dꢎch vꢃ (DDoS)ꢀvào hꢋ thꢉng rootꢀserverꢀ
vào tháng 10/2002ꢀ(9ꢀtrong 13ꢀrootꢀserverꢀbꢎ ñình trꢋ,ꢀnhưng mꢆng
chꢏ bꢎ chꢅm ñi không ñáng kꢄ)
ñưꢘc giám sát như thꢍ nào
ꢀ Cachingꢀlàm giꢖm tꢖi và giꢖm thꢞi gian phꢖn hꢣi
2:ꢀTꢁng ꢂng dꢃng
15
DNSꢀ– Nhưꢀc ñiꢁm
ꢀ Hꢒ thꢔng Tên miꢕn không phꢎi là phương thꢖc tꢔt nhꢗt ñꢊ ñꢐt tên
các tài nguyên khác,ꢀchꢘng hꢄn file
ꢀ Sꢔ lưꢋng giꢙi hꢄn Kiꢊu tài nguyên hꢄn chꢂ khꢎ năng ñưa thêm các
dꢀch vꢁ mꢙi
ꢀ Mꢐc dù vꢕ mꢐt lý thuyꢂt có thꢊ cꢚp nhꢚt bꢎn ghi tài nguyên,ꢀnhưng
trên thꢇc tꢂ hiꢂm khi làm ñưꢋc.
ꢀ Mô hình truy vꢗn ñơn giꢎn =>ꢀkhó cài ñꢐt nhꢛng dꢄng truy vꢗn phꢖc
tꢄp
ꢀ Kꢂt nꢔi sꢙm (Tách biꢒt truy vꢗn DNSꢀvꢙi ꢖng dꢁng ñưa ra truy vꢗn)ꢀ
không hiꢒu quꢎ trong môi trưꢜng di ñꢃng và thay ñꢍi thưꢜng xuyên
o Ví dꢁ :ꢀCân bꢓng tꢎi,ꢀTìm máy inꢀgꢝn nhꢗt
2:ꢀTꢁng ꢂng dꢃng
16
GiꢂiꢀphápꢀPhânꢀgiꢂiꢀTênꢀkiꢁuꢀLinda
ꢀ Nhiꢈuꢀñꢈ xuꢕtꢀdꢠaꢀtrênꢀ“Khôngꢀgianꢀlàmꢀviꢋcꢀ
Phânꢀtán” (Linda)ꢀdoꢀDavidꢀGelernterꢀñưaꢀra
o IntentionalꢀNamingꢀSystemꢀ(INS),ꢀ
o InternetꢀIndirectꢀInfrastructureꢀ(I3)ꢀ
ꢀ Nútꢀviꢍtꢀcácꢀcácꢀtuplesꢀ(mꢌtꢀdꢆngꢀvectorꢀkhôngꢀ
kiꢄu)ꢀvàoꢀcácꢀ“khôngꢀgianꢀdùngꢀchung”
ꢀ Nútꢀñꢞcꢀcácꢀtupleꢀphù hꢋp tꢟ khôngꢀgianꢀdùngꢀ
chung
2:ꢀTꢁng ꢂng dꢃng
17
Lꢍp trình Socket
Mꢃc ñích : Nghiên cꢊu cách xây dꢠng ꢊng dꢃng client/serverꢀ
giao tiꢍp quaꢀsocket
SocketꢀAPI
ꢀ BSD4.1ꢀUNIX,ꢀ1981
socket
Là giao diꢒn nꢀm trên máy
tính,ꢁdo ꢂng dꢃng tꢄo ra và
quꢅn lý,ꢁnhưngꢁHðHꢁꢁkiꢆm
soát (là “cꢅa”)ꢈthông quaꢈ
ñó tiꢂn trình vꢟa gꢅi và
nhꢚn thông ñiꢒp tꢟ các tiꢂn
trình ꢖng dꢁng khác (ꢠ trên
máy tính khác)
ꢀ ꢂng dꢃng Tꢆo,ꢀSꢑ dꢃng và ðóng
socketꢀmꢌt cách tưꢞng minh.ꢀ
ꢀ Sꢑ dꢃng theo mô hình Client/Server
ꢀ Hai kiꢄu dꢎch vꢃ ꢊng dꢃng sꢑ dꢃng
socketꢀAPI:ꢀ
o Truyꢈn không tinꢀcꢅy
o Tinꢀcꢅy,ꢀhưꢜng nꢉi,ꢀñúng thꢊ tꢠ.
2:ꢀTꢁng ꢂng dꢃng
18
Lꢍp trình SocketꢀTCP
Socket: Là “cꢑa” giꢒa tiꢍn trình ꢊng dꢃng và giao thꢊc giao
vꢅn ñꢁu cuꢉi (UCP/TCP)
TCP: Dꢎch vꢃ truyꢈn byteꢀtinꢀcꢅy tꢟ tiꢍn trình này sangꢀtiꢍn
trình khác.
Lꢅp trình viên
process
Lꢅp trình viên
kiꢄm soát
process
kiꢄm soát
socket
TCP with
buffers,
variables
socket
TCP with
buffers,
variables
Hꢋ ðiꢈu Hành
kiꢄm soát
Hꢋ ðiꢈu Hành
kiꢄm soát
Internet
Máy tính
Máy tính
2:ꢀTꢁng ꢂng dꢃng
19
Lꢍp trình TCPꢀSocket
Clientꢀphꢒi liên lꢋc vꢖi server
ꢀ Khi clientꢀtꢆo socket:ꢀclientꢀ
TCPꢀthiꢍt lꢅp kꢍt nꢉi tꢜi
serverꢀTCP.
ꢀ Tiꢍn trình trên serverꢀphꢖi chꢆy
trưꢜc.
ꢀ Khi nhꢅn ñưꢘc yêu cꢁu tꢟ
client,ꢀserverꢀTCPꢀtꢆo socketꢀ
mꢜi cho tiꢍn trình trên serverꢀ
trao ñꢥi dꢒ liꢋu vꢜi client
ꢀ Serverꢀphꢖi tꢆo sꢤn socketꢀ(door)ꢀ
ñꢄ tiꢍp nhꢅn yêu cꢁu tꢟ client.
Clientꢀtrao ñꢗi vꢖi serverꢀbꢘng
cách:
o Cho phép serverꢀcó thꢄ
ñáp ꢊng yêu cꢁu cꢗa nhiꢈu
client.
ꢀ Tꢆo socketꢀTCPꢀꢔ phía client
ꢀ Xác ñꢎnh ñꢎa chꢏ IP,ꢀsꢉ hiꢋu cꢥng
cꢗa tiꢍn trình server.
Quan ñiꢁm Lꢃp trình ꢄng dꢅng
TCPꢁcung cꢇp dꢈch vꢃ truyꢉn dꢊ liꢋu tinꢁcꢌy
theo byteꢁgiꢊa Clientꢁvà Server
2:ꢀTꢁng ꢂng dꢃng
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Mạng máy tính - Chương 2: Tầng ứng dụng (Phần 2) - Hồ Phương Đắc", để 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:
bai_giang_mang_may_tinh_chuong_2_tang_ung_dung_phan_2_ho_phu.pdf