Bài giảng Mạng máy tính - Chương 3: Tầng giao vận (Phần 1) - Hồ Phương Đắc

Chương 3:ꢀTꢁng giao vꢂn  
Mꢃc tiêu :  
Sꢄ hꢅc cái gì ?  
Nguyên lý các dꢁch vꢂ cꢃa  
tꢄng giao vꢅn:  
Các dꢁch vꢂ cꢃa tꢄng giao vꢅn  
Phân kênh /ꢆDꢇn kênh  
Phân kênh /ꢆDꢇn kênh  
UDPꢆ:ꢆGiao thꢒc không hưꢓng nꢔi  
Xây dꢈng ñưꢉng truyꢊn tinꢆ  
Nguyên lý xây dꢈng ñưꢉng truyꢊn  
cꢅy  
tinꢆcꢅy  
ðiꢊu khiꢋn lưu lưꢌng  
Kiꢋm soát tꢍc nghꢎn  
TCPꢆ:ꢆGiao thꢒc hưꢓng nꢔi  
Tinꢆcꢅy  
Cài ñꢏt nhꢐng nguyên lý này  
ðiꢊu khiꢋn lưu lưꢌng  
Kiꢋm soát tꢍc nghꢎn  
trên Internetꢆnhư thꢑ nào ?  
Nguyên lý kiꢋm soát tꢍc nghꢎn  
Kiꢋm soát tꢍc nghꢎn trong TCP  
3:ꢀTransportꢀLayer  
3aꢀ1  
Dꢆch vꢃ và Giao thꢇc ꢈ tꢁng Giao vꢂn  
Cung cꢕp ñưꢀng truyꢁn logic giꢐa  
application  
transport  
các tiꢑn trình chꢖy trên các thiꢑt bꢁ  
ñꢄu cuꢔi.  
network  
dataꢀlink  
network  
dataꢀlink  
physical  
physical  
twork  
ꢀlink  
phal  
Giao thꢒc Giao vꢅn chꢖy trên thiꢑt  
bꢁ ñꢄu cuꢔi  
network  
dataꢀlink  
physical  
network  
dataꢀlink  
physical  
Phân biꢗt dꢁch vꢂ cꢃa tꢄng Giao  
vꢅn vꢓi tꢄng Mꢖng:  
network  
taꢀlink  
sical  
Tꢂng Mꢃng: Chuyꢋn dꢐ liꢗu giꢐa  
các thiꢑt bꢁ ñꢄu cuꢔi.  
application  
transport  
network  
dataꢀlink  
physical  
Tꢂng Giao vꢄn: Chuyꢋn dꢐ liꢗu  
giꢐa các tiꢑn trình  
Dꢈa trên tꢄng Mꢖng nhưng biꢑn  
ñꢘi,ꢆtăng cưꢉng  
3:ꢀTransportꢀLayer  
3aꢀ2  
Giao thꢇc ꢈ tꢁng Giao vꢂn  
Có hai giao thꢒc giao vꢅn trên  
Internet:  
application  
transport  
network  
dataꢀlink  
physical  
network  
dataꢀlink  
physical  
Tinꢆcꢅy,ꢆNhꢅn theo ñúng thꢒ tꢈ  
gꢙi,ꢆmꢚt ngưꢉi nhꢅn (TCP)  
Kiꢋm soát tꢍc nghꢎn  
twork  
ꢀlink  
phal  
network  
dataꢀlink  
physical  
network  
dataꢀlink  
physical  
ðiꢊu khiꢋn lưu lưꢌng  
Thiꢑt lꢅp ñưꢉng truyꢊn  
network  
taꢀlink  
sical  
Không tinꢆcꢅy (“cꢔ gꢍng tꢔi ña”),ꢆ  
Không theo ñúng thꢒ tꢈ:ꢆUDP  
application  
transport  
network  
dataꢀlink  
physical  
Cꢛ TCPꢆvà UDPꢆñꢊu không cung  
cꢕp:ꢆ  
Chuyꢋn theo thꢉi gian thꢈc  
Băng thông tꢔi thiꢋu  
Nhiꢊu ngưꢉi nhꢅn tinꢆcꢅy  
3:ꢀTransportꢀLayer  
3aꢀ3  
Phân kênh /ꢀDꢉn kênh  
Nhꢓ lꢖi:ꢆsegmentꢅ– ðơn vꢁ dꢐ liꢗu  
Phân kênh: Chuyꢋn các segmentꢆ  
trao ñꢘi giꢐa hai thꢈc thꢋ Giao  
vꢅn  
nhꢅn ñưꢌc cho ꢝng dꢂng phù  
hꢌp  
Còn gꢜi là TPDU:ꢆ  
TransportꢆProtocolꢆDataꢆ  
Unit  
Bên nhn  
P3  
P4  
Dꢁ liꢂu tꢃng ꢄng  
dꢅng  
M
M
application  
transport  
network  
Tiêu ñꢀ  
segment  
P1  
P2  
M
apMplication  
transport  
network  
application  
transport  
network  
segment  
H
M
t
segment  
H
n
3:ꢀTransportꢀLayer  
3aꢀ4  
Phân kênh /ꢀDꢉn kênh  
Dꢇn kênh:  
Lꢕy dꢐ liꢗu tꢠ nhiꢊu trình ꢝng  
dꢂng,ꢆBꢘ sungꢆthêm các tiêu ñꢊ  
(ñꢋ sau này Phân kênh sꢙ dꢂng  
32ꢆbits  
sourceꢆportꢆ#  
dest portꢆ#  
otherꢆheaderꢆfields  
Dꢇn kênh/Phân kênh:  
Dꢈa trên ðꢁa chꢞ IP,ꢆSꢔ hiꢗu  
cꢘng cꢃa bên Gꢙi và bên Nhꢅn  
application  
dataꢆ  
(message)  
source,ꢆdest portꢆtrong mꢟi  
segment  
Nhꢓ lꢖi:ꢆCác sꢔ hiꢗu cꢘng  
cꢃa các ꢒng dꢂng thông  
dꢂng  
Khuôn dꢖng tꢘng quát cꢃa TCP/UDP  
3:ꢀTransportꢀLayer  
3aꢀ5  
Phân biꢊt Phân kênh và Dꢉn kênh  
Phân kênh ꢆ nút nhꢇn:  
Dꢈn kênh ꢆ nút gꢉi  
Chuyꢋn segmentꢆñꢑn ñúng  
socket  
Lꢕy dꢐ liꢗu tꢠ nhiꢊu socket,  
ñꢏt trong các phong bì khác  
nhau (ñꢋ phân kênh sau này)  
=ꢀsocket  
=ꢀprocess  
P4  
application  
transport  
network  
link  
P1  
P2  
P3  
application  
application  
transport  
network  
link  
transport  
network  
link  
physical  
physical  
physical  
hostꢀ3  
hostꢀ2  
hostꢀ1  
3:ꢀTransportꢀLayer  
3aꢀ6  
Ví dꢃ :ꢀPhân kênh /ꢀDꢉn kênh  
sourceꢀport:ꢀx  
dest.ꢀport:ꢀ23  
Webꢀclient  
hostꢀC  
serverꢀB  
hostꢀA  
sourceꢀport:23  
dest.ꢀport:ꢀx  
SourceꢀIP:ꢀC  
SourceꢀIP:ꢀC  
Dest IP:ꢀB  
sourceꢀport:ꢀx  
dest.ꢀport:ꢀ80  
Dest IP:ꢀB  
sourceꢀport:ꢀy  
dest.ꢀport:ꢀ80  
ꢄng dꢅng Telnetꢊñơn giꢋn  
SourceꢀIP:ꢀA  
Dest IP:ꢀB  
sourceꢀport:ꢀx  
dest.ꢀport:ꢀ80  
Web  
Webꢀclient  
hostꢀA  
serverꢀB  
portꢊ:ꢊꢄng dꢅng Web  
3:ꢀTransportꢀLayer  
3aꢀ7  
Phân kênh bꢋng cách nào ?  
Máy tính ñích nhn ñưc IPꢆ  
32ꢀbits  
datagrams  
Mꢟi datagramꢆcó ñꢁa chꢞ IPꢆ  
sourceꢀportꢀ# destꢀportꢀ#  
ñích,ꢆIPꢆnguꢇn  
Mꢟi datagramꢆchꢒa mꢚt  
otherꢀheaderꢀfields  
segmentꢆcꢃa tꢄng giao vꢅn  
Mꢟi segmentꢆchꢒa ñꢁa chꢞ cꢘng  
gꢙi,ꢆcꢘng nhꢅn  
application  
dataꢀ  
(chú ýꢆ:ꢆcꢘng cꢃa các ꢒng dꢂng  
thông dꢂng)  
(message)  
Máy tính ñích sdng ña chIPꢆ  
và cng ca bên gi ñchuyn  
segmentꢆñn socketꢆthích hp  
TCP/UDPꢀsegmentꢀformat  
3:ꢀTransportꢀLayer  
3aꢀ8  
UDP:ꢀUserꢀDatagramꢀProtocolꢀ[RFCꢀ768]  
Giao thꢒc giao vꢅn cꢈc kỳ ñơn  
giꢛn,ꢆgꢄn như không có gì  
Tꢖi sao sꢙ dꢂng UDP?  
ðꢚ trꢡ nhꢢ:ꢆKhông có giai ñoꢖn  
Dꢁch vꢂ kiꢋu cꢔ gꢍng tꢔi ña”,ꢆcác  
segmentꢆcꢃa UDPꢆcó thꢋ :  
thiꢑt lꢅp ñương truyꢊn  
Mꢕt.  
ðơn giꢛn:ꢆPhía gꢙi và nhꢅn  
Tꢄng ꢒng dꢂng chꢁu trách  
không phꢛi ghi nhꢓ trꢖng thái  
gꢙi/ꢆnhꢅn.  
nhiꢗm sꢍp xꢑp theo ñúng thꢒ  
tꢈ.  
Tiêu ñꢊ gói tinꢆbé  
Không hưꢀng nꢁi:  
Phía gꢙi,ꢆphía nhꢅn không cꢄn  
Không có cơ chꢑ kiꢋm soát tꢍc  
nghꢎn:ꢆBên gꢙi có thꢋ gꢙi dꢐ  
liꢗu vꢓi tꢔc ñꢚ tꢔi ña.ꢆ  
“bꢍt tay”  
Các segmentꢆUDPꢆñưꢌc xꢙ lý  
ñꢚc lꢅp  
3:ꢀTransportꢀLayer  
3aꢀ9  
UDPꢆ(tiꢑp)  
Thưꢉng ñưꢌc các ꢒng dꢂng ña  
32ꢆbits  
sourceꢆportꢆ#  
length  
phương tiꢗn sꢙ dꢂng  
dest portꢆ#  
checksum  
Chꢕp nhꢅn mꢕt dꢐ liꢗu  
ðꢚ dài  
Segmentꢆ  
UDP,  
Tính theo  
ñơn vꢁ  
Tꢔc ñꢚ truyꢊn quan trꢜng  
Mꢚt sꢔ ꢒng dꢂng khác cũng sꢙ  
dꢂng (Vì sao?):  
DNS  
byte,ꢆkꢋ  
cꢛ phꢄn  
tiêu ñꢊ  
SNMP  
Dꢐ liꢗu tꢄng ꢒng dꢂng  
(Thông ñiꢗp)  
Muꢔn truyꢊn tinꢆcꢅy bꢣng UDP:ꢆ  
phꢛi ñꢏt cơ chꢑ tinꢆcꢅy tꢖi ꢒng  
dꢂng  
ꢝng dꢂng chꢁu trách nhiꢗm  
Khuôn dꢖng segmentꢆUDP  
phát hiꢗn và khꢍc phꢂc lꢟi!  
3:ꢀTransportꢀLayer  
3aꢀ10  
UDPꢀchecksum  
Mꢃc tiêu: phát hiꢗn “lꢟi” (bitꢆbꢁ thay ñꢘi giá trꢁ)ꢆtrong segmentꢆ  
nhꢅn ñưꢌc.  
Bên nhꢂn:  
Bên gꢌi:  
Xem nꢚi dungꢆsegmentꢆlà các  
Tính giá trꢁ checksumꢆcꢃa  
segmentꢆvꢠa nhꢅn ñưꢌc  
sꢔ nguyên 16ꢀbitꢆliên tiꢑp (các  
Kiꢋm tra xem giá trꢁ vꢠa tính ñưꢌc  
có trùng vꢓi giá trꢁ trong trưꢉng  
checkum ꢤ tiên ñꢊ không:  
tꢠ).ꢆ  
checksum:ꢆtꢘng bù 1ꢆcꢃa các  
tꢠ  
KHÔNGꢀTRÙNG – có lꢟi  
Phía gꢙi sꢎ ñꢏt giá trꢁ  
checksumꢆtính ñưꢌc vào  
trưꢉng checksumꢆtrong tiêu ñꢊ  
gói tinꢆUDP  
TRÙNG – Không phát hiꢗn ñưꢌc  
lꢟi.ꢆNhưng có thꢆ có lꢇi.  
3:ꢀTransportꢀLayer  
3aꢀ11  
Ví dtính UDP Checksum  
Note  
Khi cꢚng hai sꢔ,ꢆnhꢓ ꢤ bitꢆcao nhꢕt sꢎ ñưꢌc cꢚng vào  
kꢑt quꢛ  
Ví dꢂ:ꢆCꢚng hai sꢔ nguyên 16ꢀbit  
1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0  
1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1  
Dư  
1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1  
1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0  
Tng  
Tng kim tra  
1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1  
3:ꢀTransportꢀLayer  
3aꢀ12  
Nguyên lý Truyꢍn tinꢀcꢂy  
Có thꢋ áp dꢂng trong Tꢄng Giao vꢅn và Liên kꢑt dꢐ liꢗu  
Mꢚt trong 10ꢆvꢕn ñꢊ quan trꢜng nhꢕt cꢃa Mꢖng!  
Các ñꢏc ñiꢋm cꢃa ñưꢉng truyꢊn không tinꢆcꢅy phía dưꢓi sꢎ quyꢑt ñꢁnh  
ñꢚ phꢒc tꢖp cꢃa giao thꢒc Truyꢊn tinꢆcꢅy (rdt)  
3:ꢀTransportꢀLayer  
3aꢀ13  
Truyꢍn tinꢀcꢂy:ꢀBꢎt ñꢁu như thꢏ nào ?  
rdt_send(): Tꢄng trên gꢜi,ꢆ(ví dꢂ ꢝng  
dꢂng.).ꢆYêu cꢄu chuyꢋn dꢐ liꢗu tinꢆcꢅy  
cho ñꢔi tác bên kia  
deliver_data(): Rdt gꢜi ñꢋ chuyꢋn  
dꢐ liꢗu lên trên  
PHÍAꢀ  
GꢐI  
PHÍA  
NHꢑN  
udt_send(): rdt gꢜi ñꢋ chuyꢋn  
packetꢆcho phía nhꢅn quaꢆñưꢉng  
truyꢊn không tinꢆcꢅy  
rdt_rcv(): ñưꢌc gꢜi khi packetꢆñꢑn phía  
nhꢅn  
3:ꢀTransportꢀLayer  
3aꢀ14  
Truyꢍn tinꢀcꢂy:ꢀKhꢈi ñꢁu  
Chúng ta sꢄ :  
Phát triꢋn dꢄn dꢄn cꢛ phía Gꢙi và phía Nhꢅn trong  
Giao thꢒc Truyꢊn tinꢆcꢅy (rdt)  
Xét dꢐ liꢗu chꢞ truyꢊn trên mꢚt hưꢓng  
Nhưng thông tinꢆñiꢊu khiꢋn có thꢋ truyꢊn theo cꢛ hai hưꢓng!  
Sꢙ dꢂng máy Hꢐu hꢖn trꢖng thái (FSM)ꢆñꢋ miêu tꢛ  
phía Gꢙi và phía Nhꢅn  
Sꢈ kiꢗn gây chuyꢋn trꢖng thái  
Các hành ñꢚng sꢎ thꢈc hiꢗn trưꢓc khi chuyꢋn  
Trꢖng thái: Chꢞ thay ñꢘi  
sangꢆtrꢖng thái khác khi  
state  
state  
2
Sꢈ kiꢗn  
Hành ñꢚng  
1
có sꢈ kiꢗn mang tính  
duy nhꢕt xꢛy ra  
3:ꢀTransportꢀLayer  
3aꢀ15  
Rdt1.0:ꢀTruyꢍn tinꢀcꢂy quaꢀkênh truyꢍn tinꢀcꢂy  
ðꢏc ñiꢋm cꢃa kênh truyꢊn tinꢆcꢅy  
Bitꢆtrong gói tinꢆkhông bꢁ lꢟi  
Gói tinꢆkhông bꢁ mꢕt  
FSMꢆcho bên Gꢙi và bên Nhꢅn ñꢚc lꢅp nhau:  
Phía Gꢙi truyꢊn gói tinꢆquaꢆkênh truyꢊn phía dưꢓi  
Phía Nhꢅn ñꢜc gói tinꢆtꢠ kênh truyꢊn bên dưꢓi  
3:ꢀTransportꢀLayer  
3aꢀ16  
Rdt2.0:ꢀKênh truyꢍn có lꢒi bit  
Kênh truyꢊn bên dưꢓi có thꢋ khiꢑn bitꢀtrong gói tin lꢒi  
Ghi nhꢓ:ꢆchecksumꢆcó thꢋ ñưꢌc sꢙ dꢂng ñꢋ phát hiꢗn lꢟi  
Vꢂn ñꢃ: Khꢍc phꢂc lꢟi như thꢑ nào ?  
Biên nhꢄn tích cꢅc (ACK): Bên nhꢅn thông báo tưꢉng minh cho  
bên gꢙi mình nhꢅn ñúng và chính xác gói tin.  
Biên nhꢄn tiêu cꢅc (NAK): Bên nhꢅn thông báo tưꢉng minh cho  
bên gꢙi gói tinꢆmình nhꢅn có lꢟi.ꢆ  
Phía gꢙi gꢙi lꢖi gói tinꢆkhi nhꢅn ñưꢌc NAK  
Ví dꢂ nào trong cuꢚc sꢔng sꢙ dꢂng ACK,ꢆNAK?  
Bꢘ sungꢆthêm cơ chꢑ mꢓi trong rdt2.0 :  
Phát hiꢗn lꢟi  
Phꢛn hꢇi tưꢉng minh:ꢆthông ñiꢗp phꢛn hꢇi (ACK,NAK)ꢆNhꢄn  
Gꢆi  
3:ꢀTransportꢀLayer  
3aꢀ17  
rdt2.0:ꢀðꢓc tꢔ FSM  
FSMꢀGꢌi  
FSMꢀNhꢂn  
3:ꢀTransportꢀLayer  
3aꢀ18  
rdt2.0:ꢀVí dꢃ không lꢒi  
FSMꢀGꢌi  
FSMꢀNhꢂn  
3:ꢀTransportꢀLayer  
3aꢀ19  
rdt2.0:ꢀVí dꢃ có lꢒi  
FSMꢀGꢌi  
FSMꢀNhꢂn  
3:ꢀTransportꢀLayer  
3aꢀ20  
Tải về để xem bản đầy đủ
pdf 49 trang myanh 13960
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 3: Tầng giao vận (Phần 1) - 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:

  • pdfbai_giang_mang_may_tinh_chuong_3_tang_giao_van_phan_1_ho_phu.pdf