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 nhꢅn
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 nhꢀn ñưꢁ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 sꢂ dꢃng ñꢄa chꢅ IPꢆ
và cꢆng cꢇa bên gꢂi ñꢈ chuyꢈn
segmentꢆñꢉn socketꢆthích hꢁp
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í dꢅ tí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
Tꢘng
Tꢘng kiꢋm 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 đủ
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:
bai_giang_mang_may_tinh_chuong_3_tang_giao_van_phan_1_ho_phu.pdf