SlideShare ist ein Scribd-Unternehmen logo
1 von 24
1
2
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
BÁO CÁO BÀI TẬP LỚN
Môn: Cơ sở truyền số liệu
Đề tài: Kiểm tra thuật toán điều khiển luồng sử dụng TCP
Giảng viên hướng dẫn: PSG. TS. Nguyễn Hữu Thanh
Sinh viên thực hiện: MSSV Lớp
Dương Văn Hoàn 20111601 ĐTTT08-K56
Nguyễn Mạnh Thế 20112240 ĐTTT06-K56
Hà Nội, tháng 11 năm 2014
3
LỜI MỞ ĐẦU
Mạng Internet là mạng máy tính rộng lớn sử dụng nhiều công nghệ mạng khác
nhau và cho phép chia sẻ tài nguyên mạng một cách phân tán. Chính khả năng này là
nguyên nhân chính đem lại sự thành công to lớn của công nghệ Internet. Trong phần
lớn lưu lượng trên mạng Internet, lưu lượng TCP/IP đóng góp một phần đáng kể vì
phần lớn ứng dụng trên mạng Internet, ví dụ như lướt Web và truyền file, đều sử dụng
giao thức TCP/IP. Giao thức chính của TCP/IP là TCP và UDP. TCP là giao thức cho
phép truyền giữ liệu một cách tin cậy còn UDP là giao thức tuy không đưa ra các cơ
chế truyền tin tin cậy nhưng lại có hiệu suất truyền lớn, trễ truyền nhỏ, thích hợp cho
các ứng dụng thời gian thực. Khi mạng viễn thông ngày càng phát triểnrộng lớn, dịch
vụ mới càng gia tăng, nhu cầu sử dụng cao,… thì yêu cầu điều khiển luồng và chống
tắc nghẽn trở nên là một vấn đề khó khăn và ngày càng phức tạp. Bài toán về điều
khiển luồng và chống tắc nghẽn trong viễn thông trở nên được quan tâm.
Do vậy với đề tài: “ Kiểm tra thuật toán điều khiển luồng sử dụng TCP”, em
hi vọng mình có thêm những kiến thức hữu ích về vấn đề điều khiển luồng trong
mạng viễn thông, từ đó có cái nhìn tổng quan hơn về mạng thông tin.
Em xin cảm ơn sự giúp đỡ của thầy Nguyễn Hữu Thanh, đã giúp em hoàn
thành bài tập lớn này. Nhưng do thời gian tìm hiểu có hạn và tầm hiểu biết còn hạn
chế nên có thể không tránh khỏi những thiếu sót. Rất mong sự góp ý của thầy.
4
MỤC LỤC
LỜI MỞ ĐẦU 2
I. PHÂN TÍCH ĐỀ BÀI 5
I. PHÂN CHIA NHIỆM VỤ 6
II. CƠ SỞ LÝ THUYẾT 6
1. Vấn đề điều khiển luồng và chống tắc nghẽn trong viễn thông 6
2. Giao thức TCP/IP và UDP 7
MÔ PHỎNG 13
KẾT QUẢ MÔ PHỎNG 16
KẾT LUẬN 22
5
I. PHÂN TÍCH ĐỀ BÀI
· Tạo ra một mạng cần mô phỏng sử dụng NS-2 giống như trên hình vẽ. Tạo ra 2 kết
nối TCP và UDP sử dụng nguồn/đích TCP và nguồn/đích UDP. Nguồn của TCP sử
dụng TCP Reno (TCP Reno là một phiên bản của TCP đã được hỗ trợ trong NS-2).
· Thiết lập cửa sổ chống tắc nghẽn tối đa (maximal congestion window size) của
luồng TCP là 32 gói.
· Kích thước các gói UDP và TCP là 512 bytes.
· Chạy mô phỏng trong 200s.
· Các nguồn UDP và TCP đều phát gói liên tục. Luồng UDP có tốc độ phát là
512kbit/s (sử dụng nguồn CBR)
- Chạy mô phỏng và đo băng thông trung bình của luồng TCP (băng thông trung bình
được tính bằng: Số byte được truyền đi của luồng TCP/thời gian mô phỏng)
- Lặp lại thí nghiệm trong trường hợp tốc độ phát của luồn UDP là 1 Mbit/s, 2 Mbit/s,
3 Mbit/s và 4Mbit/s.
- Vẽ đồ thị thể hiện băng thông của TCP so sánh với băng thông của UDP.
- Trong trường hợp tốc độ của luồng UDP là 500kbit/s và 4Mbit/s, vẽ kích thước cửa
sổ trượt “congestion window” của TCP (trục tung: kích thước cửa sổ, trục hoành: thời
gian).
- Có kết luận gì về kích thước của Congestion Window và băng thông của luồng TCP
trong các trường hợp tải UDP đã xét.
6
I. PHÂN CHIA NHIỆM VỤ
1. Dương Văn Hoàn
2. Nguyễn Mạnh Thế
II.CƠ SỞ LÝ THUYẾT
1. Vấn đề điều khiển luồng và chống tắc nghẽn trong viễn thông
Thực trạng hiện nay cho thấy yêu cầu trao đổi thông tin ở mọi lúc, mọi nơi là
rất lớn, trong khi đó tài nguyên mạng chỉ ở mức độ giới hạn, do đó việc gây ra tắc
nghẽn là điều không tránh khỏi. Vì vậy cần phải có biện pháp để chống tắc nghẽn xảy
ra.
Điều khiển luồng là phương pháp kiểm soátthông tin giữa hai thiết bị đầu cuối
cụ thể, nó là một trong những biện pháp giúp cho lưu thông lưu lượng giữa các thiết
bị thu và phát, đảm bảo việc truyền tin của phía phát không vượt quá khả năng xử lý
của phía thu. Cơ chế điều khiển luồng được thiết kế để điều khiền luồng dữ liệu giữa
giữa người nhận và người gửi sao cho vùng đệm của người nhận không bị tràn. Nếu
bị tràn, các khung hoặc gói dữ liệu bị mất. Điều khiển luồng được dùng trong tầng
liên kết dữ liệu để điều khiển các liên kết điểm – điểm và trong tầng chuyển tải để
điều khiển luồng end-to-end trên mạng có định tuyến.
Cơ chế điều khiển luồng và điều khiển tắc nghẽn theo phương pháp cửa sổ
được hoạt động tương tự như các cơ chế phát lại ARQ( Automatic Repeat Request -
yêu cầu lặp lại tự động). Cơ chế phát lại này được chia làm 3 loại với những đặc điểm
và hoạt động khác nhau.
1.1. Điều khiển luồng kết hợp ARQ – Stop-and-wait(dừng và đợi)
1.2. Phương pháp điều khiển luồng Go back – N
1.3. Điều khiển luồng kết hợp ARQ – Selective repeat
7
2. Giao thức TCP/IP và UDP
Để các máy máy tính có thể liên lạc với nhau qua mạng, chúng phải sử dụng
cùng 1 ngôn ngữ hay còngọi là 1 giao thức (Protocol).Giao thức là 1 hệ luật và chuẩn
cho phép các máy tính trong mạng liên lạc với nhau. TCP/IP là được dùng cho hầu
hết mọi giao thức trên mạng hiện nay
- TCP/IP là viết tắt của Transmission Control Protocol (Giao thức Điều Khiển
Truyền Thông) / Internet Protocol (Giao thức Internet).
- TCP/IP không chỉ gồm 2 giao thức mà thực tế nó là tập hợp của nhiều giao thức.
Chúng ta gọi đó là 1 Hệ Giao Thức hay Bộ Giao Thức (Suite Of Protocols)..
2.1. Tổng quátvề TCP/IP
Để cho các máy tính trao đổi dữ liệu với nhau TCP/IP sử dụng mô hình truyền
thông 4 tầng hay còn gọi là Mô Hình DoD (Mô hình của Bộ Quốc Phòng Mỹ). Các
tầng trong mô hình này là (Theo thứ tự từ trên xuống):
+ Tầng Ứng Dụng (Application Layer)
+ Tầng Giao Vận (Transport Layer)
+ Tầng Liên Mạng (Internet Layer)
+ Tầng Giao Diện Mạng (Network Interface Layer)
- Mỗi giao thức của Họ TCP/IP đều thuộc 1 trong các tầng này. Ta sẽ cùng tìm hiểu
từng tầng.
a.Tầng Giao Diện Mạng (Network Interface Layer):
- Tầng Giao Diện Mạng có trách nhiệm đưa dữ liệu tới và nhận dữ liệu từ phương
tiện truyền dẫn. Tầng này gồm các thiết bị phần cứng vật lí chẳng hạn như Card
Mạng và Cáp Mạng.
8
- 1 Card Mạng chẳng hạn card Ethernet chứa 1 số HEX 12 kí tự (00-18-37-03-C0-
F4) được gọi là Địa Chỉ MAC (Media Access Control) hay Địa Chỉ Truy Nhập
Phương Tiện. MAC đóng vai trò quan trọng trong việc gán địa chỉ và truyền dữ liệu.
- 1 số giao thức tiêu biểu thuộc tầng này gồm:
+ ATM (Asynchronous Transfer Mode)
+ Ethernet
+ Token Ring
+ FDDI (Fiber Distributed Data Interface)
+ Frame Relay
b.Tầng Liên Mạng (Internet Layer):
- Nằm bên trên tầng giao diện mạng. Tầng này có chức năng gán địa chỉ, đóng gói và
định tuyến (Route) dữ liệu. 4 giao thức quan trọng nhất trong tầng này gồm
+ IP (Internet Protocol): Có chức năng gán địa chỉ cho dữ liệu trước khi truyền và
định tuyến chúng tới đích.
+ ARP (Address Resolution Protocol): Có chức năng biên dịch địa chỉ IP của máy
đích thành địa chỉ MAC
+ ICMP (Internet Control Message Protocol): Có chức năng thông báo lỗi trong
trường hợp truyền dữ liệu bị hỏng.
+ IGMP (Internet Group Management Protocol): Có chức năng điều khiển truyền đa
hướng (Multicast)
c.Tầng Giao Vận (Transport Layer):
- Có trách nhiệm thiết lập phiên truyền thông giữa các máy tính và quy định cách
truyền dữ liệu. 2 giao thức chính trong tầng này gồm:
+ UDP (User Datagram Protocol):Còngọi là Giao Thức Gói Người Dùng. UDP cung
cấp các kênh truyền thông phi kết nối nên nó không đảm bảo truyền dữ liệu 1 cách
tin cậy. Các ứng dụng dùng UDP thường chỉ truyền những gói có kích thước nhỏ,
độ tin cậy dữ liệu phụ thuộc vào từng ứng dụng
+ TCP (Transmission Control Protocol): Ngược lại với UDP, TCP cung cấp các kênh
truyền thông hướng kết nối và đảm bảo truyền dữ liệu 1 cách tin cậy. TCP thường
truyền các gói tin có kích thước lớn và yêu cầu phía nhận xác nhận về các gói tin
đã nhận.
d.Tầng Ứng Dụng (Application Layer):
- Gồm nhiều giao thức cung cấp cho các ứng dụng người dùng. Được sử dụng để định
dạng và trao đổi thông tin người dùng. 1 số giao thức thông dụng trong tầng này là:
+ DHCP (Dynamic Host Configuration Protocol): Giao Thức Cấu Hình Trạm Động
+ DNS (Domain Name System): Hệ Thống Tên Miền
+ SNMP (Simple Network Management Protocol): Giao Thức Quản Lý Mạng Đơn
Giản
+ FTP (File Transfer Protocol): Giao Thức Truyền Tập Tin
9
+ TFTP (Trivial File Transfer Protocol): Giao Thức Truyền Tập Tin Bình Thường
+ SMTP (Simple Mail Transfer Protocol): Giao Thức Truyền Thư Đơn Giản
+ TELNET
***Bảng sau mô tả khái quát về Bộ Giao Thức TCP/IP:
TCP - Transmission Control ProtocolGiao thức điều khiển vận chuyển, nằm ở lớp
Transport trong mô hình OSI và là một trong những giao thức cốt lõi của bộ giao thức
TCP/IP, nhằm kết nối các máy tính trên mạng với nhau, chia sẻ và trao đổi dữ liệu.
Hỗ trợ nhiều giao thức ứng dụng phổ biến trên Internet như HTTP, FTP, SMTP…
Trong bộ giao thức TCP/IP, TCP là tầng trung gian giữa Internet Protocol (IP) bên
dưới và tầng ứng dụng bên trên, là giao thức truyền dữ liệu chính xác, tin cậy TCP
đòi hỏi phải thiết lập kết nối trước khi truyền dữ liệu. Đó là quá trình bắt tay 3 bước(3-
way handshake).
10
Quy trình
 Client yêu cầu mở cổng cho một dịch vụ( vd: web port 80) bằng cách gửi gói tin
SYN(gói tin TCP yêu cầu đồng bộ) tới server( máy chủ chứa dịch vụ web), trong
gói tin thì số sequence number được gán một giá trị ngẫu nhiên X.
 Server sẽ trả về cho Client gói tin SYN – ACK chấp nhận cho thiết lập kết nối, tham
số acknowledgment được gán giá trị bằng X+1, tham số sequence number được gán
một giá trị ngẫu nhiên Y.
 Để hoàn tất quá trình thiết lập kết nối( 3 – way handshark) thì Client phải gửi cho
Server thêm một gói tin là ACK tới Server, với số sequence number được gán là
X+1, số acknowledgment được gán là Y+1(số Y nhận của Server) nhằm cho Server
biết là đã thiết lập kêt nối với Client hợp lệ.
Quá trình kết thúc truyền dữ liệucó 4 bước
Các kết nối sử dụng TCP có 3 giai đoạn kết nối
1. thiết lập kết nối.
2. truyền dữ liệu.
3. kết thúc kết nối.
TCP giải quyết nhiều vấn đề nhằm cung cấp một dòng dữ liệuđáng tin cậy như:
 Dữ liệu đến đích đúng thứ tự.
 Sửa lỗi dữ liệu ở mức tối thiểu( thật ra là truyền lại).
 Dữ liệu trùng lặp bị loại bỏ.
 Các gói tin thất lạc/loại bỏ được gửi lại.
 Kiểm soát tắc nghẽn giao thông trong việc truyền/nhận dữ liệu.
11
2.2. UDP (User Datagram Protocol)
Một trong những giao thức cốt lõi của bộ giao thức TCP/IP. UDP không cung cấp sự
tin cậy và thứ tự truyền nhận, các gói dữ liệucó thể đến không đúng thứ tự hay bị mất
mà không có thông báo. Tuy nhiên UDP nhanh và hiệu quả hơn đối với các ứng dụng
truyền những filekích thước nhỏ và yêu cầu khắt khe về thời gian. Do bản chất không
trạng thái nên UDP hữu dụng trong việc trả lời các truy vấn nhỏ cho số lượng lớn
người yêu cầu. Được hỗ trợ bởi nhiều dịch vụ phổ biến như DNS, streaming media,
VoiIP, TFTP…
UDP không thực hiện quá trình bắt tay khi gửi và nhận thông tin, do đó được gọi là
connectionless( truyền không đảm bảo).
UDP không đảm bảo cho các tầng phía trên rằng thông điệp đã được gửi và người
gửi cũng không có trạng thái thông điệp UDP một khi gói tin đã được gửi.
Cấu trúc gói tin UDP
UDP thích hợp với rất nhiều ứng dụng dựa vào một số đặc điểm như sau
- No connection establishment: TCP đòi hỏi quá trình bắt tay 3 bước trước khi thiết
lập một kết nối, trong khi đó thì UDP không yêu cầu quá trình thiết lập này, do đó
nó không làm chậm quá trình kết nối của mạng. Đó là lý do tại sao DNS lại chạy
nhanh hơn khi sử dụng UDP( DNS chạy cả trên TCP lẫn UDP).
- No connectin state: TCP lưu giữ trạng thái kết nối( thông số gửi và nhận gói tin,
ACK, sequence number, …) trong buffer do đó làm tốn tài nguyên hệ thống. Trong
khi đó UDP không hề lưu giữ thông số nào về gói tin đã gửi đi so đó làm tốn ít tài
nguyên hệ thống hơn, giúp server có thể phục vụ nhiều client truy cập hơn.
- Small segment header overhead: trong khi header của TCP chứa 20 bytes dữ liệu
thì header của UDP chỉ có 8 bytes giúp UDP truyền đi nhanh hơn.
12
- Unragulated send rate: TCP có cơ chế điều tiết tốc tộ truyền khi gặp những link
hỏng hay khi mạng bắt đầu bị đụng độ, cơ chế này phục vụ cho những ứng dụng
thời gian thực (có thể có những packet hỏng nhưng thời gian truyền lại packet đó sẽ
ngắn). Bên cạnh đó, UDP chỉ phụ thuộc vào tốc độ của ứng dụng phục vụ việc
truyền gói tin( như tốc độ CPU, clock-rate…) chứ không phụ thuộc vào mạng có bị
đụng độ(congestion ) hay không.
2.3. So sánh TCP & UDP
Giống nhau:
 Đều là nền tảng trong việc truyền thông tin trên mạng IP, hỗ trợ nhiều ứng
dụng.
 Có cơ chế checksum( 16 bits).
 Không hỗ trợ truyền dữ liệu theo dòng(stream).
 Không hỗ trợ Multi-homing.
Khác nhau:
 TCP yêu cầu Length field trong header còn UDP thì không.
 Kích thước gói tin khác nhau(gói TCP Header 20 bytes, UDP chỉ có 8 bytes).
 Truyền dữ liệu không lỗi(do cơ chế sửa lỗi/ truyền lại).
 Truyền dữ liệu theo đúng thứ tự( dựa vào số sequence numbers).
 Truyền lại các gói dữ liệu bị mất trên đường truyền.
 Loại bỏ các gói dữ liệu trùng lặp.
 Có cơ chế tránh tắc nghẽn đường truyền.
13
MÔ PHỎNG
Code mô phỏng
#Tao 1 doi tuong mo phong
set ns [new Simulator]
#Dinh mau cho luong du lieu
$ns color 1 Red
$ns color 2 Blue
#Mo file bam vet trace
set tf [open out.tr w]
$ns trace-all $tf
#Mo file bam vet NAM
set nf [open out.nam w]
$ns namtrace-all $nf
# Tao 2 File chua thong tin bang thong
set f1 [open bwtcp.tr w]
set f2 [open bwudp.tr w]
# Tao ra cwnd chua thong tin ve cua so truot
set cwnd [open cwnd.tr w]
#Dinh nghia thu tuc "finish".
proc finish {} {
global ns tf nf f2 f1 cwnd
$ns flush-trace
#Close the NAM trace file
close $nf
close $tf
close $f1
close $f2
close $cwnd
#Execute NAM on trace file
exec nam out.nam &
exec xgraph cwnd.tr -bg white -zg blue -t "Congestion Window" &
exec xgraph bwtcp.tr bwudp.tr -bg white -y "Bandwith (Mbps)" -x "Time (s)" -t "Do
thi bang thong" -geometry 800x400 &
exit 0
}
#Tao 7 node
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
14
set n5 [$ns node]
set n6 [$ns node]
set n7 [$ns node]
#Tao lien ket hai chieu giua cac node.
$ns duplex-link $n0 $n2 10Mb 10ms DropTail
$ns duplex-link $n2 $n4 10Mb 10ms DropTail
$ns duplex-link $n1 $n3 10Mb 10ms DropTail
$ns duplex-link $n3 $n4 10Mb 10ms DropTail
$ns duplex-link $n4 $n5 5Mb 5ms DropTail
$ns duplex-link $n5 $n6 5Mb 10ms DropTail
$ns duplex-link $n5 $n7 5Mb 10ms DropTail
#Giam sat kich thuoc hang doi giua r1 r2
$ns duplex-link-op $n4 $n5 queuePos 0.5
#Sap xep vi tri cac node trong NAM & dat nhan trong Topo.
$ns duplex-link-op $n0 $n2 orient right-down
$ns duplex-link-op $n1 $n3 orient right-up
$ns duplex-link-op $n2 $n4 orient right-down
$ns duplex-link-op $n3 $n4 orient right-up
$ns duplex-link-op $n4 $n5 orient right
$ns duplex-link-op $n5 $n6 orient right-up
$ns duplex-link-op $n5 $n7 orient right-down
# Gan nhan cho cac node
$n0 label "TCP Source"
$n1 label "UDP Source"
$n6 label "TCP Sink"
$n7 label "UDP Sink"
#Thiet lap ket noi TCP
set tcp [new Agent/TCP/Reno]
$tcp set fid_ 1
$tcp set maxcwnd_ 32
$tcp set Packet_Size_ 512
$ns attach-agent $n0 $tcp
set sink [new Agent/TCPSink/DelAck]
$ns attach-agent $n6 $sink
$ns connect $tcp $sink
#Thiet lap mot FTP qua ket noi TCP
set ftp [new Application/FTP]
$ftp attach-agent $tcp
$ftp set type_ FTP
#Thiet lap ket noi UDP
set udp [new Agent/UDP]
$ns attach-agent $n1 $udp
set null [new Agent/LossMonitor]
$ns attach-agent $n7 $null
$ns connect $udp $null
15
$udp set fid_ 2
#Thiet lap CBR qua ket noi UDP
set cbr [new Application/Traffic/CBR]
$cbr attach-agent $udp
$cbr set Packet_Size_ 512
$cbr set rate_ 1Mb # Thay cac gia tri 2Mb, 3Mb, 4Mb vao
#$cbr set interval_ 0.005
proc record {} {
global tcp cwnd sink null f1 f2 udp
set ns [Simulator instance]
set time 0.1
#so byte nhan duoc tu moi luong
set bw1 [$sink set bytes_]
set bw2 [$null set bytes_]
#Thiet lap thoi gian hien tai
set now [$ns now]
#tinh toan bang thong va ghi no vao file
puts $f1 "$now [expr $bw1/$time*8/1000000]"
puts $f2 "$now [expr $bw2/$time*8/1000000]"
#Reset gia tri sink
$sink set bytes_ 0
$null set bytes_ 0
set cwnd0 [$tcp set cwnd_]
set now [$ns now]
puts $cwnd "$now $cwnd0"
$ns at [expr $now+$time] "record"
}
# In ra toc do CBR
puts "CBR rate = [$cbr set rate_]"
#Cai dat thoi gian chay ung dung.
$ns at 0.1 "record"
$ns at 0.5 "$ftp start"
$ns at 1.0 "$cbr start"
#Goi thu tuc "Finish".
$ns at 50.0 "finish"
$ns run
16
KẾT QUẢ MÔ PHỎNG
Hình : Mô phỏng NAM
Hình: Đồ thị băng thông khi CBR= 1 Mb
17
Hình: Cửa sổ tắc nghẽn khi CBR=1Mb
Khi CBR= 2Mb
18
19
Khi CBR= 3 Mb
20
KHi CBR=4Mb
21
CBR=0,5Mb
22
KẾT LUẬN
* Sự chia sẻ băng thông giữa UDP và TCP.
* Khi tốc độ của UDP thấp, không có hiện tượng tắc nghẽn xảy ra thì UDP chiếm
một băng thông không đổi, còn TCP chiếm một khoảng băng thông đều đặn không
đổi.
* Khi tốc độ UDP càng tăng thì khoảng băng thông mà TCP chiếm nhỏ dần.
23
* Kích thước của Congestion Window và băng thông của luồng TCP trong các
trường hợp tải UDP.
* Khi tốcđộ UDP tăng đến mức xảy ra tắc nghẽn, khoảng băng thông mà TCP chiếm
giảm đáng kể, do thời gian truyền một bản tin UDP là ngắn hơn nhiều so với TCP
và tốc độ độ của UDP là không đổi nên UDP sẽ đến các sever nhanh hơn TCP nên
nó được xử lý nhiều hơn, do đó chiếm băng thông nhiều hơn như hình vẽ ta thấy
băng thông trung bình của UDP lớn hơn băng thông trung bình của TCP. Nhưng
băng thông của UDP không còn gần như một đường thẳng nữa. Do khả năng phục
vụ của sever là cố định, nên nếu băng thông UDP tăng thì băng thông của TCP
giảm và ngược lại. Đây chính là sự chia sẻ băng thông giữa UDP và TCP khi xảy
ra tắc nghẽn.
Sau một RTT không có tắc nghẽn, cho mỗi bản tin ACK nhận được, cửa sổ tắc
nghẽn được cập nhật theo công thức:
𝐶 𝑤𝑛𝑑 = 𝐶 𝑤𝑛𝑑 +
1
𝐶 𝑤𝑛𝑑
(1)
và khi phát hiện tắc nghẽn trong một RTT:
𝐶 𝑤𝑛𝑑 =
𝐶 𝑤𝑛𝑑
2
(2)
Quy trình tăng giảm kích thước cho phép TCP tận dụng băng thông
tuyến kết nối đầu cuối tới đầu cuối.
Kích thước của cửa sổ thay đổi tùy theo trạng thái của mạng. Khi cửa sổ
nhỏ, kích thước của nó có thể tăng nhanh chóng, nhưng khi đạt đến một giá trị
nhất định thì kích thước của nó chỉ có tăng chậm. Khi hiện tượng tăng nghẽn mạng
được pháp hiện, kích thước cửa sổ giảm mạnh. Cơ chế động này cho phép giải
quyến tắc nghẽn nhanh chóng và sử dụng hiệu quả băng thông của mạng.
* Wth : ngưỡng bắt đầu chậm. Cửa sổ bắt đầu ở giá trị gói tin đơn lẻ được truyền.
Khi gói tin ACK của gói tin này quay trở lại, ta có thể truyền 2 gói tin. Đối với
mỗi gói tin ACK của 2 gói tin này, cửa sổ tăng thêm 1 giá trị, mục đích là khi
các gói tin ACK của 2 gói tin này quay trở lại, ta có thể truyền 4 gói tin hay
24
cửa sổ tăng theo số mũ. Giai đoạn này được gọi là “bắt đầu chậm” do thay vì
cửa sổ to dẫn lên nhanh chóng, nó chỉ lớn lên từ từ nếu ta bắt đầu đến với giá
trị W = Wth .
* Nếu W = Wth , ta chuyển qua giai đoạn “tránh tắc nghẽn”. Khi đó, mỗi gói tin
ACK quay lại sẽ làm cửa sổ W tăng lên [1/W]. Sau khi truyền W gói tin, W
tăng lên 1. Nếu ta truyền W gói tin cần t thời gian thì truyền W+1 cần t+RTT
và W+2 cần t+2RTT,...vv. Ta thấy độ lớn của cửa sổ thay đổi tuyến tính.
* Mất các gói tin
* Không chỉ W động mà Wth cũng như vậy. Nó được cố định trong TCP khi một
gói mất thì giá trị của W giảm đi một nửa.
* Phương pháp cải thiện TCP như sau:
Phương pháp New-Reno: Cửa sổ giảm xuống 1 nếu như phát hiện ra gói tin bị
mất trong thời gian quá hạn. Khi một gói tin mất bị phát hiện ra thông qua gói
tin ACK bị lặp, cửa sổ giám sát tắc nghẽn giảm xuống ½. Giai đoạn slow start
sẽ không khởi tạo và ta vẫn ở trạng thái “tránh tắc nghẽn”.

Weitere ähnliche Inhalte

Was ist angesagt?

thông tin di động ptit
thông tin di động ptitthông tin di động ptit
thông tin di động ptitThích Chiều
 
Các loại mã đường truyền và ứng dụng neptune
Các loại mã đường truyền và ứng dụng neptuneCác loại mã đường truyền và ứng dụng neptune
Các loại mã đường truyền và ứng dụng neptune給与 クレジット
 
[BTL] Kiểm tra tính ổn định của hệ thống liên tục
[BTL] Kiểm tra tính ổn định của hệ thống liên tục[BTL] Kiểm tra tính ổn định của hệ thống liên tục
[BTL] Kiểm tra tính ổn định của hệ thống liên tụcPham Hoang
 
Chapter5 lan mac
Chapter5 lan macChapter5 lan mac
Chapter5 lan macNghia Simon
 
trắc nghiệm ôn tập thông tin di động
trắc nghiệm ôn tập thông tin di độngtrắc nghiệm ôn tập thông tin di động
trắc nghiệm ôn tập thông tin di độngPTIT HCM
 
Truyen song-va-anten
Truyen song-va-antenTruyen song-va-anten
Truyen song-va-antenĐỗ Kiệt
 
Hướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerHướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerBình Tân Phú
 
Báo cáo t hiết kế mạng doanh nghiệp
Báo cáo t hiết kế mạng doanh nghiệpBáo cáo t hiết kế mạng doanh nghiệp
Báo cáo t hiết kế mạng doanh nghiệpLe Trung Hieu
 
Phần bai tap mau anten & truyen song (mang tinh chat tham khao)
Phần bai tap mau anten & truyen song (mang tinh chat tham khao)Phần bai tap mau anten & truyen song (mang tinh chat tham khao)
Phần bai tap mau anten & truyen song (mang tinh chat tham khao)tiểu minh
 
Bài giảng wcdma 1
Bài giảng wcdma 1Bài giảng wcdma 1
Bài giảng wcdma 1Huynh MVT
 
Ly thuyet da truy nhap va trai pho
Ly thuyet da truy nhap va trai phoLy thuyet da truy nhap va trai pho
Ly thuyet da truy nhap va trai phoQuangthuc Nguyen
 
Trac nghiem thong tin di dong
Trac nghiem thong tin di dongTrac nghiem thong tin di dong
Trac nghiem thong tin di dongLittle April
 

Was ist angesagt? (20)

thông tin di động ptit
thông tin di động ptitthông tin di động ptit
thông tin di động ptit
 
Các loại mã đường truyền và ứng dụng neptune
Các loại mã đường truyền và ứng dụng neptuneCác loại mã đường truyền và ứng dụng neptune
Các loại mã đường truyền và ứng dụng neptune
 
Mã đường truyền
Mã đường truyềnMã đường truyền
Mã đường truyền
 
[BTL] Kiểm tra tính ổn định của hệ thống liên tục
[BTL] Kiểm tra tính ổn định của hệ thống liên tục[BTL] Kiểm tra tính ổn định của hệ thống liên tục
[BTL] Kiểm tra tính ổn định của hệ thống liên tục
 
Chapter5 lan mac
Chapter5 lan macChapter5 lan mac
Chapter5 lan mac
 
Xử lý tín hiệu số
Xử lý tín hiệu sốXử lý tín hiệu số
Xử lý tín hiệu số
 
trắc nghiệm ôn tập thông tin di động
trắc nghiệm ôn tập thông tin di độngtrắc nghiệm ôn tập thông tin di động
trắc nghiệm ôn tập thông tin di động
 
Truyen song-va-anten
Truyen song-va-antenTruyen song-va-anten
Truyen song-va-anten
 
Chap9
Chap9Chap9
Chap9
 
Luận văn: Ứng dụng công nghệ IoT cho giám sát môi trường, HAY
Luận văn: Ứng dụng công nghệ IoT cho giám sát môi trường, HAYLuận văn: Ứng dụng công nghệ IoT cho giám sát môi trường, HAY
Luận văn: Ứng dụng công nghệ IoT cho giám sát môi trường, HAY
 
Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ
Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ
Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ
 
Hướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerHướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracer
 
Báo cáo t hiết kế mạng doanh nghiệp
Báo cáo t hiết kế mạng doanh nghiệpBáo cáo t hiết kế mạng doanh nghiệp
Báo cáo t hiết kế mạng doanh nghiệp
 
Phần bai tap mau anten & truyen song (mang tinh chat tham khao)
Phần bai tap mau anten & truyen song (mang tinh chat tham khao)Phần bai tap mau anten & truyen song (mang tinh chat tham khao)
Phần bai tap mau anten & truyen song (mang tinh chat tham khao)
 
Bài giảng wcdma 1
Bài giảng wcdma 1Bài giảng wcdma 1
Bài giảng wcdma 1
 
Ly thuyet da truy nhap va trai pho
Ly thuyet da truy nhap va trai phoLy thuyet da truy nhap va trai pho
Ly thuyet da truy nhap va trai pho
 
Đề tài: Mạch điều khiển thiết bị bằng Android qua Bluetooth, HAY
Đề tài: Mạch điều khiển thiết bị bằng Android qua Bluetooth, HAYĐề tài: Mạch điều khiển thiết bị bằng Android qua Bluetooth, HAY
Đề tài: Mạch điều khiển thiết bị bằng Android qua Bluetooth, HAY
 
Đề tài: Hệ thống Iot điều khiển và giám sát ngôi nhà, HAY, 9đ
Đề tài: Hệ thống Iot điều khiển và giám sát ngôi nhà, HAY, 9đĐề tài: Hệ thống Iot điều khiển và giám sát ngôi nhà, HAY, 9đ
Đề tài: Hệ thống Iot điều khiển và giám sát ngôi nhà, HAY, 9đ
 
Trac nghiem thong tin di dong
Trac nghiem thong tin di dongTrac nghiem thong tin di dong
Trac nghiem thong tin di dong
 
ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!
ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!
ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!
 

Andere mochten auch

[Báo cáo] Bài tập lớn Tổ chức quy hoạch mạng viễn thông: Mentor
[Báo cáo] Bài tập lớn Tổ chức quy hoạch mạng viễn thông: Mentor[Báo cáo] Bài tập lớn Tổ chức quy hoạch mạng viễn thông: Mentor
[Báo cáo] Bài tập lớn Tổ chức quy hoạch mạng viễn thông: MentorThe Nguyen Manh
 
[Báo cáo] Bài tập lớn Thông tin Quang: Tìm hiểu về bộ lọc thông dải dịch pha ...
[Báo cáo] Bài tập lớn Thông tin Quang: Tìm hiểu về bộ lọc thông dải dịch pha ...[Báo cáo] Bài tập lớn Thông tin Quang: Tìm hiểu về bộ lọc thông dải dịch pha ...
[Báo cáo] Bài tập lớn Thông tin Quang: Tìm hiểu về bộ lọc thông dải dịch pha ...The Nguyen Manh
 
[Báo cáo] Bài tập lớn Hệ thống viễn thông: Viết phần mềm tính toán các tham s...
[Báo cáo] Bài tập lớn Hệ thống viễn thông: Viết phần mềm tính toán các tham s...[Báo cáo] Bài tập lớn Hệ thống viễn thông: Viết phần mềm tính toán các tham s...
[Báo cáo] Bài tập lớn Hệ thống viễn thông: Viết phần mềm tính toán các tham s...The Nguyen Manh
 
[Báo cáo] Bài tập lớn Thông tin di động: mô phỏng kênh PSDCH trong 4G LTE
[Báo cáo] Bài tập lớn Thông tin di động: mô phỏng kênh PSDCH trong 4G LTE[Báo cáo] Bài tập lớn Thông tin di động: mô phỏng kênh PSDCH trong 4G LTE
[Báo cáo] Bài tập lớn Thông tin di động: mô phỏng kênh PSDCH trong 4G LTEThe Nguyen Manh
 
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...The Nguyen Manh
 
[Báo cáo] Bài tập lớn Thông tin vô tuyến: Truyền tín hiệu giữa 2 máy tính qua...
[Báo cáo] Bài tập lớn Thông tin vô tuyến: Truyền tín hiệu giữa 2 máy tính qua...[Báo cáo] Bài tập lớn Thông tin vô tuyến: Truyền tín hiệu giữa 2 máy tính qua...
[Báo cáo] Bài tập lớn Thông tin vô tuyến: Truyền tín hiệu giữa 2 máy tính qua...The Nguyen Manh
 
[Báo cáo] Bài tập lớn Xử lý tín hiệu số: Thiết kế bộ lọc FIR
[Báo cáo] Bài tập lớn Xử lý tín hiệu số: Thiết kế bộ lọc FIR[Báo cáo] Bài tập lớn Xử lý tín hiệu số: Thiết kế bộ lọc FIR
[Báo cáo] Bài tập lớn Xử lý tín hiệu số: Thiết kế bộ lọc FIRThe Nguyen Manh
 
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư việnThe Nguyen Manh
 
Step by step_create_om_infotype
Step by step_create_om_infotypeStep by step_create_om_infotype
Step by step_create_om_infotypeJoshiRavin
 
My flight and hotel
My flight and hotelMy flight and hotel
My flight and hotelalvinaruby
 
Venturi Business Intelligence Development Brochure
Venturi Business Intelligence Development BrochureVenturi Business Intelligence Development Brochure
Venturi Business Intelligence Development BrochureVenturiLtd
 
Project Management Professional(PMP) Broucher | KnowledgeHut.com
Project Management Professional(PMP) Broucher | KnowledgeHut.comProject Management Professional(PMP) Broucher | KnowledgeHut.com
Project Management Professional(PMP) Broucher | KnowledgeHut.comKnowledgeHut_Global
 
Chatrapati Shivaji Mumbai Airport Outdoor Advertising Advertisement Branding ...
Chatrapati Shivaji Mumbai Airport Outdoor Advertising Advertisement Branding ...Chatrapati Shivaji Mumbai Airport Outdoor Advertising Advertisement Branding ...
Chatrapati Shivaji Mumbai Airport Outdoor Advertising Advertisement Branding ...Suraj Partaap Singh
 
Mumbai kiosk Outdoor Advertising Advertising Media - Shrii Ganness Advt - Uni...
Mumbai kiosk Outdoor Advertising Advertising Media - Shrii Ganness Advt - Uni...Mumbai kiosk Outdoor Advertising Advertising Media - Shrii Ganness Advt - Uni...
Mumbai kiosk Outdoor Advertising Advertising Media - Shrii Ganness Advt - Uni...Suraj Partaap Singh
 

Andere mochten auch (15)

[Báo cáo] Bài tập lớn Tổ chức quy hoạch mạng viễn thông: Mentor
[Báo cáo] Bài tập lớn Tổ chức quy hoạch mạng viễn thông: Mentor[Báo cáo] Bài tập lớn Tổ chức quy hoạch mạng viễn thông: Mentor
[Báo cáo] Bài tập lớn Tổ chức quy hoạch mạng viễn thông: Mentor
 
[Báo cáo] Bài tập lớn Thông tin Quang: Tìm hiểu về bộ lọc thông dải dịch pha ...
[Báo cáo] Bài tập lớn Thông tin Quang: Tìm hiểu về bộ lọc thông dải dịch pha ...[Báo cáo] Bài tập lớn Thông tin Quang: Tìm hiểu về bộ lọc thông dải dịch pha ...
[Báo cáo] Bài tập lớn Thông tin Quang: Tìm hiểu về bộ lọc thông dải dịch pha ...
 
[Báo cáo] Bài tập lớn Hệ thống viễn thông: Viết phần mềm tính toán các tham s...
[Báo cáo] Bài tập lớn Hệ thống viễn thông: Viết phần mềm tính toán các tham s...[Báo cáo] Bài tập lớn Hệ thống viễn thông: Viết phần mềm tính toán các tham s...
[Báo cáo] Bài tập lớn Hệ thống viễn thông: Viết phần mềm tính toán các tham s...
 
[Báo cáo] Bài tập lớn Thông tin di động: mô phỏng kênh PSDCH trong 4G LTE
[Báo cáo] Bài tập lớn Thông tin di động: mô phỏng kênh PSDCH trong 4G LTE[Báo cáo] Bài tập lớn Thông tin di động: mô phỏng kênh PSDCH trong 4G LTE
[Báo cáo] Bài tập lớn Thông tin di động: mô phỏng kênh PSDCH trong 4G LTE
 
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
 
[Báo cáo] Bài tập lớn Thông tin vô tuyến: Truyền tín hiệu giữa 2 máy tính qua...
[Báo cáo] Bài tập lớn Thông tin vô tuyến: Truyền tín hiệu giữa 2 máy tính qua...[Báo cáo] Bài tập lớn Thông tin vô tuyến: Truyền tín hiệu giữa 2 máy tính qua...
[Báo cáo] Bài tập lớn Thông tin vô tuyến: Truyền tín hiệu giữa 2 máy tính qua...
 
[Báo cáo] Bài tập lớn Xử lý tín hiệu số: Thiết kế bộ lọc FIR
[Báo cáo] Bài tập lớn Xử lý tín hiệu số: Thiết kế bộ lọc FIR[Báo cáo] Bài tập lớn Xử lý tín hiệu số: Thiết kế bộ lọc FIR
[Báo cáo] Bài tập lớn Xử lý tín hiệu số: Thiết kế bộ lọc FIR
 
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
 
Step by step_create_om_infotype
Step by step_create_om_infotypeStep by step_create_om_infotype
Step by step_create_om_infotype
 
My flight and hotel
My flight and hotelMy flight and hotel
My flight and hotel
 
Rad p pt 2013
Rad p pt 2013Rad p pt 2013
Rad p pt 2013
 
Venturi Business Intelligence Development Brochure
Venturi Business Intelligence Development BrochureVenturi Business Intelligence Development Brochure
Venturi Business Intelligence Development Brochure
 
Project Management Professional(PMP) Broucher | KnowledgeHut.com
Project Management Professional(PMP) Broucher | KnowledgeHut.comProject Management Professional(PMP) Broucher | KnowledgeHut.com
Project Management Professional(PMP) Broucher | KnowledgeHut.com
 
Chatrapati Shivaji Mumbai Airport Outdoor Advertising Advertisement Branding ...
Chatrapati Shivaji Mumbai Airport Outdoor Advertising Advertisement Branding ...Chatrapati Shivaji Mumbai Airport Outdoor Advertising Advertisement Branding ...
Chatrapati Shivaji Mumbai Airport Outdoor Advertising Advertisement Branding ...
 
Mumbai kiosk Outdoor Advertising Advertising Media - Shrii Ganness Advt - Uni...
Mumbai kiosk Outdoor Advertising Advertising Media - Shrii Ganness Advt - Uni...Mumbai kiosk Outdoor Advertising Advertising Media - Shrii Ganness Advt - Uni...
Mumbai kiosk Outdoor Advertising Advertising Media - Shrii Ganness Advt - Uni...
 

Ähnlich wie [Báo cáo] Bài tập lớn Cơ sở truyền số liệu

thi tốt nghiệp môn chính trị
thi tốt nghiệp môn chính trịthi tốt nghiệp môn chính trị
thi tốt nghiệp môn chính trịchauminhtricntt
 
Mo hinh osi compatibility mode
Mo hinh osi compatibility modeMo hinh osi compatibility mode
Mo hinh osi compatibility mode24071983
 
Giai ma mang
Giai ma mangGiai ma mang
Giai ma mangHà nội
 
Giải nh mvt
Giải nh mvtGiải nh mvt
Giải nh mvtbuzzbb37
 
Chapter7 transport layer
Chapter7 transport layerChapter7 transport layer
Chapter7 transport layerNghia Simon
 
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng PythonBeezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng PythonBeezo
 
Chương 1 Khái niệm và ứng dụng của mạng máy tính - Giáo trình FPT
Chương 1 Khái niệm và ứng dụng của mạng máy tính - Giáo trình FPTChương 1 Khái niệm và ứng dụng của mạng máy tính - Giáo trình FPT
Chương 1 Khái niệm và ứng dụng của mạng máy tính - Giáo trình FPTMasterCode.vn
 
Mcsa 2012 mạng căn bản phần 3
Mcsa 2012 mạng căn bản phần 3Mcsa 2012 mạng căn bản phần 3
Mcsa 2012 mạng căn bản phần 3laonap166
 
Giao trinh mang may tinh
Giao trinh mang may tinhGiao trinh mang may tinh
Giao trinh mang may tinhChuong Nguyen
 
Báo Cáo Cơ Sở Truyền Số Liệu
Báo Cáo Cơ Sở Truyền Số LiệuBáo Cáo Cơ Sở Truyền Số Liệu
Báo Cáo Cơ Sở Truyền Số LiệuNguyễn Đức Quý
 
Báo cáo thực tập athena lê chương
Báo cáo thực tập athena   lê chươngBáo cáo thực tập athena   lê chương
Báo cáo thực tập athena lê chươngLe Chuong
 
Các giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiCác giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiUDCNTT
 
Tài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tínhTài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tínhJojo Kim
 
Tcp Udp
Tcp UdpTcp Udp
Tcp Udpyanhul
 
Network 1206754309287969-2
Network 1206754309287969-2Network 1206754309287969-2
Network 1206754309287969-2Tiệu Vây
 
Mang va-truyen-so-lieu
Mang va-truyen-so-lieuMang va-truyen-so-lieu
Mang va-truyen-so-lieuHuynh MVT
 

Ähnlich wie [Báo cáo] Bài tập lớn Cơ sở truyền số liệu (20)

thi tốt nghiệp môn chính trị
thi tốt nghiệp môn chính trịthi tốt nghiệp môn chính trị
thi tốt nghiệp môn chính trị
 
Mo hinh osi compatibility mode
Mo hinh osi compatibility modeMo hinh osi compatibility mode
Mo hinh osi compatibility mode
 
Giai ma mang
Giai ma mangGiai ma mang
Giai ma mang
 
Giải nh mvt
Giải nh mvtGiải nh mvt
Giải nh mvt
 
Chapter7 transport layer
Chapter7 transport layerChapter7 transport layer
Chapter7 transport layer
 
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng PythonBeezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
 
Chương 1 Khái niệm và ứng dụng của mạng máy tính - Giáo trình FPT
Chương 1 Khái niệm và ứng dụng của mạng máy tính - Giáo trình FPTChương 1 Khái niệm và ứng dụng của mạng máy tính - Giáo trình FPT
Chương 1 Khái niệm và ứng dụng của mạng máy tính - Giáo trình FPT
 
Mcsa 2012 mạng căn bản phần 3
Mcsa 2012 mạng căn bản phần 3Mcsa 2012 mạng căn bản phần 3
Mcsa 2012 mạng căn bản phần 3
 
Giao trinh mang may tinh
Giao trinh mang may tinhGiao trinh mang may tinh
Giao trinh mang may tinh
 
Mạng máy tính
Mạng máy tínhMạng máy tính
Mạng máy tính
 
Network
NetworkNetwork
Network
 
Báo Cáo Cơ Sở Truyền Số Liệu
Báo Cáo Cơ Sở Truyền Số LiệuBáo Cáo Cơ Sở Truyền Số Liệu
Báo Cáo Cơ Sở Truyền Số Liệu
 
Báo cáo thực tập athena lê chương
Báo cáo thực tập athena   lê chươngBáo cáo thực tập athena   lê chương
Báo cáo thực tập athena lê chương
 
Các giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiCác giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osi
 
ch01.ppt
ch01.pptch01.ppt
ch01.ppt
 
Tài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tínhTài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tính
 
Tcp Udp
Tcp UdpTcp Udp
Tcp Udp
 
Network 1206754309287969-2
Network 1206754309287969-2Network 1206754309287969-2
Network 1206754309287969-2
 
Hiệu năng hệ thống đa chặng phối hợp trên kênh Fading rayleigh
Hiệu năng hệ thống đa chặng phối hợp trên kênh Fading rayleigh Hiệu năng hệ thống đa chặng phối hợp trên kênh Fading rayleigh
Hiệu năng hệ thống đa chặng phối hợp trên kênh Fading rayleigh
 
Mang va-truyen-so-lieu
Mang va-truyen-so-lieuMang va-truyen-so-lieu
Mang va-truyen-so-lieu
 

Mehr von The Nguyen Manh

Sugar. Sweet but Dangerous
Sugar. Sweet but DangerousSugar. Sweet but Dangerous
Sugar. Sweet but DangerousThe Nguyen Manh
 
[Slide] Bài tập lớn Thông tin Quang: Tìm hiểu về bộ lọc thông dải dịch pha dự...
[Slide] Bài tập lớn Thông tin Quang: Tìm hiểu về bộ lọc thông dải dịch pha dự...[Slide] Bài tập lớn Thông tin Quang: Tìm hiểu về bộ lọc thông dải dịch pha dự...
[Slide] Bài tập lớn Thông tin Quang: Tìm hiểu về bộ lọc thông dải dịch pha dự...The Nguyen Manh
 
Slide bài tập lớn ngôn ngữ lập trình - phần mềm quản lý thư viện
Slide bài tập lớn ngôn ngữ lập trình - phần mềm quản lý thư việnSlide bài tập lớn ngôn ngữ lập trình - phần mềm quản lý thư viện
Slide bài tập lớn ngôn ngữ lập trình - phần mềm quản lý thư việnThe Nguyen Manh
 
[Báo cáo] Bài tập lớn: Thiết kế anten Yagi
[Báo cáo] Bài tập lớn: Thiết kế anten Yagi[Báo cáo] Bài tập lớn: Thiết kế anten Yagi
[Báo cáo] Bài tập lớn: Thiết kế anten YagiThe Nguyen Manh
 
Kinh nghiệm slide đẹp
Kinh nghiệm slide đẹpKinh nghiệm slide đẹp
Kinh nghiệm slide đẹpThe Nguyen Manh
 
Hướng dẫn viết báo cáo chuẩn - HUST
Hướng dẫn viết báo cáo chuẩn - HUSTHướng dẫn viết báo cáo chuẩn - HUST
Hướng dẫn viết báo cáo chuẩn - HUSTThe Nguyen Manh
 

Mehr von The Nguyen Manh (7)

Light pollution
Light pollutionLight pollution
Light pollution
 
Sugar. Sweet but Dangerous
Sugar. Sweet but DangerousSugar. Sweet but Dangerous
Sugar. Sweet but Dangerous
 
[Slide] Bài tập lớn Thông tin Quang: Tìm hiểu về bộ lọc thông dải dịch pha dự...
[Slide] Bài tập lớn Thông tin Quang: Tìm hiểu về bộ lọc thông dải dịch pha dự...[Slide] Bài tập lớn Thông tin Quang: Tìm hiểu về bộ lọc thông dải dịch pha dự...
[Slide] Bài tập lớn Thông tin Quang: Tìm hiểu về bộ lọc thông dải dịch pha dự...
 
Slide bài tập lớn ngôn ngữ lập trình - phần mềm quản lý thư viện
Slide bài tập lớn ngôn ngữ lập trình - phần mềm quản lý thư việnSlide bài tập lớn ngôn ngữ lập trình - phần mềm quản lý thư viện
Slide bài tập lớn ngôn ngữ lập trình - phần mềm quản lý thư viện
 
[Báo cáo] Bài tập lớn: Thiết kế anten Yagi
[Báo cáo] Bài tập lớn: Thiết kế anten Yagi[Báo cáo] Bài tập lớn: Thiết kế anten Yagi
[Báo cáo] Bài tập lớn: Thiết kế anten Yagi
 
Kinh nghiệm slide đẹp
Kinh nghiệm slide đẹpKinh nghiệm slide đẹp
Kinh nghiệm slide đẹp
 
Hướng dẫn viết báo cáo chuẩn - HUST
Hướng dẫn viết báo cáo chuẩn - HUSTHướng dẫn viết báo cáo chuẩn - HUST
Hướng dẫn viết báo cáo chuẩn - HUST
 

[Báo cáo] Bài tập lớn Cơ sở truyền số liệu

  • 1. 1
  • 2. 2 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG BÁO CÁO BÀI TẬP LỚN Môn: Cơ sở truyền số liệu Đề tài: Kiểm tra thuật toán điều khiển luồng sử dụng TCP Giảng viên hướng dẫn: PSG. TS. Nguyễn Hữu Thanh Sinh viên thực hiện: MSSV Lớp Dương Văn Hoàn 20111601 ĐTTT08-K56 Nguyễn Mạnh Thế 20112240 ĐTTT06-K56 Hà Nội, tháng 11 năm 2014
  • 3. 3 LỜI MỞ ĐẦU Mạng Internet là mạng máy tính rộng lớn sử dụng nhiều công nghệ mạng khác nhau và cho phép chia sẻ tài nguyên mạng một cách phân tán. Chính khả năng này là nguyên nhân chính đem lại sự thành công to lớn của công nghệ Internet. Trong phần lớn lưu lượng trên mạng Internet, lưu lượng TCP/IP đóng góp một phần đáng kể vì phần lớn ứng dụng trên mạng Internet, ví dụ như lướt Web và truyền file, đều sử dụng giao thức TCP/IP. Giao thức chính của TCP/IP là TCP và UDP. TCP là giao thức cho phép truyền giữ liệu một cách tin cậy còn UDP là giao thức tuy không đưa ra các cơ chế truyền tin tin cậy nhưng lại có hiệu suất truyền lớn, trễ truyền nhỏ, thích hợp cho các ứng dụng thời gian thực. Khi mạng viễn thông ngày càng phát triểnrộng lớn, dịch vụ mới càng gia tăng, nhu cầu sử dụng cao,… thì yêu cầu điều khiển luồng và chống tắc nghẽn trở nên là một vấn đề khó khăn và ngày càng phức tạp. Bài toán về điều khiển luồng và chống tắc nghẽn trong viễn thông trở nên được quan tâm. Do vậy với đề tài: “ Kiểm tra thuật toán điều khiển luồng sử dụng TCP”, em hi vọng mình có thêm những kiến thức hữu ích về vấn đề điều khiển luồng trong mạng viễn thông, từ đó có cái nhìn tổng quan hơn về mạng thông tin. Em xin cảm ơn sự giúp đỡ của thầy Nguyễn Hữu Thanh, đã giúp em hoàn thành bài tập lớn này. Nhưng do thời gian tìm hiểu có hạn và tầm hiểu biết còn hạn chế nên có thể không tránh khỏi những thiếu sót. Rất mong sự góp ý của thầy.
  • 4. 4 MỤC LỤC LỜI MỞ ĐẦU 2 I. PHÂN TÍCH ĐỀ BÀI 5 I. PHÂN CHIA NHIỆM VỤ 6 II. CƠ SỞ LÝ THUYẾT 6 1. Vấn đề điều khiển luồng và chống tắc nghẽn trong viễn thông 6 2. Giao thức TCP/IP và UDP 7 MÔ PHỎNG 13 KẾT QUẢ MÔ PHỎNG 16 KẾT LUẬN 22
  • 5. 5 I. PHÂN TÍCH ĐỀ BÀI · Tạo ra một mạng cần mô phỏng sử dụng NS-2 giống như trên hình vẽ. Tạo ra 2 kết nối TCP và UDP sử dụng nguồn/đích TCP và nguồn/đích UDP. Nguồn của TCP sử dụng TCP Reno (TCP Reno là một phiên bản của TCP đã được hỗ trợ trong NS-2). · Thiết lập cửa sổ chống tắc nghẽn tối đa (maximal congestion window size) của luồng TCP là 32 gói. · Kích thước các gói UDP và TCP là 512 bytes. · Chạy mô phỏng trong 200s. · Các nguồn UDP và TCP đều phát gói liên tục. Luồng UDP có tốc độ phát là 512kbit/s (sử dụng nguồn CBR) - Chạy mô phỏng và đo băng thông trung bình của luồng TCP (băng thông trung bình được tính bằng: Số byte được truyền đi của luồng TCP/thời gian mô phỏng) - Lặp lại thí nghiệm trong trường hợp tốc độ phát của luồn UDP là 1 Mbit/s, 2 Mbit/s, 3 Mbit/s và 4Mbit/s. - Vẽ đồ thị thể hiện băng thông của TCP so sánh với băng thông của UDP. - Trong trường hợp tốc độ của luồng UDP là 500kbit/s và 4Mbit/s, vẽ kích thước cửa sổ trượt “congestion window” của TCP (trục tung: kích thước cửa sổ, trục hoành: thời gian). - Có kết luận gì về kích thước của Congestion Window và băng thông của luồng TCP trong các trường hợp tải UDP đã xét.
  • 6. 6 I. PHÂN CHIA NHIỆM VỤ 1. Dương Văn Hoàn 2. Nguyễn Mạnh Thế II.CƠ SỞ LÝ THUYẾT 1. Vấn đề điều khiển luồng và chống tắc nghẽn trong viễn thông Thực trạng hiện nay cho thấy yêu cầu trao đổi thông tin ở mọi lúc, mọi nơi là rất lớn, trong khi đó tài nguyên mạng chỉ ở mức độ giới hạn, do đó việc gây ra tắc nghẽn là điều không tránh khỏi. Vì vậy cần phải có biện pháp để chống tắc nghẽn xảy ra. Điều khiển luồng là phương pháp kiểm soátthông tin giữa hai thiết bị đầu cuối cụ thể, nó là một trong những biện pháp giúp cho lưu thông lưu lượng giữa các thiết bị thu và phát, đảm bảo việc truyền tin của phía phát không vượt quá khả năng xử lý của phía thu. Cơ chế điều khiển luồng được thiết kế để điều khiền luồng dữ liệu giữa giữa người nhận và người gửi sao cho vùng đệm của người nhận không bị tràn. Nếu bị tràn, các khung hoặc gói dữ liệu bị mất. Điều khiển luồng được dùng trong tầng liên kết dữ liệu để điều khiển các liên kết điểm – điểm và trong tầng chuyển tải để điều khiển luồng end-to-end trên mạng có định tuyến. Cơ chế điều khiển luồng và điều khiển tắc nghẽn theo phương pháp cửa sổ được hoạt động tương tự như các cơ chế phát lại ARQ( Automatic Repeat Request - yêu cầu lặp lại tự động). Cơ chế phát lại này được chia làm 3 loại với những đặc điểm và hoạt động khác nhau. 1.1. Điều khiển luồng kết hợp ARQ – Stop-and-wait(dừng và đợi) 1.2. Phương pháp điều khiển luồng Go back – N 1.3. Điều khiển luồng kết hợp ARQ – Selective repeat
  • 7. 7 2. Giao thức TCP/IP và UDP Để các máy máy tính có thể liên lạc với nhau qua mạng, chúng phải sử dụng cùng 1 ngôn ngữ hay còngọi là 1 giao thức (Protocol).Giao thức là 1 hệ luật và chuẩn cho phép các máy tính trong mạng liên lạc với nhau. TCP/IP là được dùng cho hầu hết mọi giao thức trên mạng hiện nay - TCP/IP là viết tắt của Transmission Control Protocol (Giao thức Điều Khiển Truyền Thông) / Internet Protocol (Giao thức Internet). - TCP/IP không chỉ gồm 2 giao thức mà thực tế nó là tập hợp của nhiều giao thức. Chúng ta gọi đó là 1 Hệ Giao Thức hay Bộ Giao Thức (Suite Of Protocols).. 2.1. Tổng quátvề TCP/IP Để cho các máy tính trao đổi dữ liệu với nhau TCP/IP sử dụng mô hình truyền thông 4 tầng hay còn gọi là Mô Hình DoD (Mô hình của Bộ Quốc Phòng Mỹ). Các tầng trong mô hình này là (Theo thứ tự từ trên xuống): + Tầng Ứng Dụng (Application Layer) + Tầng Giao Vận (Transport Layer) + Tầng Liên Mạng (Internet Layer) + Tầng Giao Diện Mạng (Network Interface Layer) - Mỗi giao thức của Họ TCP/IP đều thuộc 1 trong các tầng này. Ta sẽ cùng tìm hiểu từng tầng. a.Tầng Giao Diện Mạng (Network Interface Layer): - Tầng Giao Diện Mạng có trách nhiệm đưa dữ liệu tới và nhận dữ liệu từ phương tiện truyền dẫn. Tầng này gồm các thiết bị phần cứng vật lí chẳng hạn như Card Mạng và Cáp Mạng.
  • 8. 8 - 1 Card Mạng chẳng hạn card Ethernet chứa 1 số HEX 12 kí tự (00-18-37-03-C0- F4) được gọi là Địa Chỉ MAC (Media Access Control) hay Địa Chỉ Truy Nhập Phương Tiện. MAC đóng vai trò quan trọng trong việc gán địa chỉ và truyền dữ liệu. - 1 số giao thức tiêu biểu thuộc tầng này gồm: + ATM (Asynchronous Transfer Mode) + Ethernet + Token Ring + FDDI (Fiber Distributed Data Interface) + Frame Relay b.Tầng Liên Mạng (Internet Layer): - Nằm bên trên tầng giao diện mạng. Tầng này có chức năng gán địa chỉ, đóng gói và định tuyến (Route) dữ liệu. 4 giao thức quan trọng nhất trong tầng này gồm + IP (Internet Protocol): Có chức năng gán địa chỉ cho dữ liệu trước khi truyền và định tuyến chúng tới đích. + ARP (Address Resolution Protocol): Có chức năng biên dịch địa chỉ IP của máy đích thành địa chỉ MAC + ICMP (Internet Control Message Protocol): Có chức năng thông báo lỗi trong trường hợp truyền dữ liệu bị hỏng. + IGMP (Internet Group Management Protocol): Có chức năng điều khiển truyền đa hướng (Multicast) c.Tầng Giao Vận (Transport Layer): - Có trách nhiệm thiết lập phiên truyền thông giữa các máy tính và quy định cách truyền dữ liệu. 2 giao thức chính trong tầng này gồm: + UDP (User Datagram Protocol):Còngọi là Giao Thức Gói Người Dùng. UDP cung cấp các kênh truyền thông phi kết nối nên nó không đảm bảo truyền dữ liệu 1 cách tin cậy. Các ứng dụng dùng UDP thường chỉ truyền những gói có kích thước nhỏ, độ tin cậy dữ liệu phụ thuộc vào từng ứng dụng + TCP (Transmission Control Protocol): Ngược lại với UDP, TCP cung cấp các kênh truyền thông hướng kết nối và đảm bảo truyền dữ liệu 1 cách tin cậy. TCP thường truyền các gói tin có kích thước lớn và yêu cầu phía nhận xác nhận về các gói tin đã nhận. d.Tầng Ứng Dụng (Application Layer): - Gồm nhiều giao thức cung cấp cho các ứng dụng người dùng. Được sử dụng để định dạng và trao đổi thông tin người dùng. 1 số giao thức thông dụng trong tầng này là: + DHCP (Dynamic Host Configuration Protocol): Giao Thức Cấu Hình Trạm Động + DNS (Domain Name System): Hệ Thống Tên Miền + SNMP (Simple Network Management Protocol): Giao Thức Quản Lý Mạng Đơn Giản + FTP (File Transfer Protocol): Giao Thức Truyền Tập Tin
  • 9. 9 + TFTP (Trivial File Transfer Protocol): Giao Thức Truyền Tập Tin Bình Thường + SMTP (Simple Mail Transfer Protocol): Giao Thức Truyền Thư Đơn Giản + TELNET ***Bảng sau mô tả khái quát về Bộ Giao Thức TCP/IP: TCP - Transmission Control ProtocolGiao thức điều khiển vận chuyển, nằm ở lớp Transport trong mô hình OSI và là một trong những giao thức cốt lõi của bộ giao thức TCP/IP, nhằm kết nối các máy tính trên mạng với nhau, chia sẻ và trao đổi dữ liệu. Hỗ trợ nhiều giao thức ứng dụng phổ biến trên Internet như HTTP, FTP, SMTP… Trong bộ giao thức TCP/IP, TCP là tầng trung gian giữa Internet Protocol (IP) bên dưới và tầng ứng dụng bên trên, là giao thức truyền dữ liệu chính xác, tin cậy TCP đòi hỏi phải thiết lập kết nối trước khi truyền dữ liệu. Đó là quá trình bắt tay 3 bước(3- way handshake).
  • 10. 10 Quy trình  Client yêu cầu mở cổng cho một dịch vụ( vd: web port 80) bằng cách gửi gói tin SYN(gói tin TCP yêu cầu đồng bộ) tới server( máy chủ chứa dịch vụ web), trong gói tin thì số sequence number được gán một giá trị ngẫu nhiên X.  Server sẽ trả về cho Client gói tin SYN – ACK chấp nhận cho thiết lập kết nối, tham số acknowledgment được gán giá trị bằng X+1, tham số sequence number được gán một giá trị ngẫu nhiên Y.  Để hoàn tất quá trình thiết lập kết nối( 3 – way handshark) thì Client phải gửi cho Server thêm một gói tin là ACK tới Server, với số sequence number được gán là X+1, số acknowledgment được gán là Y+1(số Y nhận của Server) nhằm cho Server biết là đã thiết lập kêt nối với Client hợp lệ. Quá trình kết thúc truyền dữ liệucó 4 bước Các kết nối sử dụng TCP có 3 giai đoạn kết nối 1. thiết lập kết nối. 2. truyền dữ liệu. 3. kết thúc kết nối. TCP giải quyết nhiều vấn đề nhằm cung cấp một dòng dữ liệuđáng tin cậy như:  Dữ liệu đến đích đúng thứ tự.  Sửa lỗi dữ liệu ở mức tối thiểu( thật ra là truyền lại).  Dữ liệu trùng lặp bị loại bỏ.  Các gói tin thất lạc/loại bỏ được gửi lại.  Kiểm soát tắc nghẽn giao thông trong việc truyền/nhận dữ liệu.
  • 11. 11 2.2. UDP (User Datagram Protocol) Một trong những giao thức cốt lõi của bộ giao thức TCP/IP. UDP không cung cấp sự tin cậy và thứ tự truyền nhận, các gói dữ liệucó thể đến không đúng thứ tự hay bị mất mà không có thông báo. Tuy nhiên UDP nhanh và hiệu quả hơn đối với các ứng dụng truyền những filekích thước nhỏ và yêu cầu khắt khe về thời gian. Do bản chất không trạng thái nên UDP hữu dụng trong việc trả lời các truy vấn nhỏ cho số lượng lớn người yêu cầu. Được hỗ trợ bởi nhiều dịch vụ phổ biến như DNS, streaming media, VoiIP, TFTP… UDP không thực hiện quá trình bắt tay khi gửi và nhận thông tin, do đó được gọi là connectionless( truyền không đảm bảo). UDP không đảm bảo cho các tầng phía trên rằng thông điệp đã được gửi và người gửi cũng không có trạng thái thông điệp UDP một khi gói tin đã được gửi. Cấu trúc gói tin UDP UDP thích hợp với rất nhiều ứng dụng dựa vào một số đặc điểm như sau - No connection establishment: TCP đòi hỏi quá trình bắt tay 3 bước trước khi thiết lập một kết nối, trong khi đó thì UDP không yêu cầu quá trình thiết lập này, do đó nó không làm chậm quá trình kết nối của mạng. Đó là lý do tại sao DNS lại chạy nhanh hơn khi sử dụng UDP( DNS chạy cả trên TCP lẫn UDP). - No connectin state: TCP lưu giữ trạng thái kết nối( thông số gửi và nhận gói tin, ACK, sequence number, …) trong buffer do đó làm tốn tài nguyên hệ thống. Trong khi đó UDP không hề lưu giữ thông số nào về gói tin đã gửi đi so đó làm tốn ít tài nguyên hệ thống hơn, giúp server có thể phục vụ nhiều client truy cập hơn. - Small segment header overhead: trong khi header của TCP chứa 20 bytes dữ liệu thì header của UDP chỉ có 8 bytes giúp UDP truyền đi nhanh hơn.
  • 12. 12 - Unragulated send rate: TCP có cơ chế điều tiết tốc tộ truyền khi gặp những link hỏng hay khi mạng bắt đầu bị đụng độ, cơ chế này phục vụ cho những ứng dụng thời gian thực (có thể có những packet hỏng nhưng thời gian truyền lại packet đó sẽ ngắn). Bên cạnh đó, UDP chỉ phụ thuộc vào tốc độ của ứng dụng phục vụ việc truyền gói tin( như tốc độ CPU, clock-rate…) chứ không phụ thuộc vào mạng có bị đụng độ(congestion ) hay không. 2.3. So sánh TCP & UDP Giống nhau:  Đều là nền tảng trong việc truyền thông tin trên mạng IP, hỗ trợ nhiều ứng dụng.  Có cơ chế checksum( 16 bits).  Không hỗ trợ truyền dữ liệu theo dòng(stream).  Không hỗ trợ Multi-homing. Khác nhau:  TCP yêu cầu Length field trong header còn UDP thì không.  Kích thước gói tin khác nhau(gói TCP Header 20 bytes, UDP chỉ có 8 bytes).  Truyền dữ liệu không lỗi(do cơ chế sửa lỗi/ truyền lại).  Truyền dữ liệu theo đúng thứ tự( dựa vào số sequence numbers).  Truyền lại các gói dữ liệu bị mất trên đường truyền.  Loại bỏ các gói dữ liệu trùng lặp.  Có cơ chế tránh tắc nghẽn đường truyền.
  • 13. 13 MÔ PHỎNG Code mô phỏng #Tao 1 doi tuong mo phong set ns [new Simulator] #Dinh mau cho luong du lieu $ns color 1 Red $ns color 2 Blue #Mo file bam vet trace set tf [open out.tr w] $ns trace-all $tf #Mo file bam vet NAM set nf [open out.nam w] $ns namtrace-all $nf # Tao 2 File chua thong tin bang thong set f1 [open bwtcp.tr w] set f2 [open bwudp.tr w] # Tao ra cwnd chua thong tin ve cua so truot set cwnd [open cwnd.tr w] #Dinh nghia thu tuc "finish". proc finish {} { global ns tf nf f2 f1 cwnd $ns flush-trace #Close the NAM trace file close $nf close $tf close $f1 close $f2 close $cwnd #Execute NAM on trace file exec nam out.nam & exec xgraph cwnd.tr -bg white -zg blue -t "Congestion Window" & exec xgraph bwtcp.tr bwudp.tr -bg white -y "Bandwith (Mbps)" -x "Time (s)" -t "Do thi bang thong" -geometry 800x400 & exit 0 } #Tao 7 node set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set n4 [$ns node]
  • 14. 14 set n5 [$ns node] set n6 [$ns node] set n7 [$ns node] #Tao lien ket hai chieu giua cac node. $ns duplex-link $n0 $n2 10Mb 10ms DropTail $ns duplex-link $n2 $n4 10Mb 10ms DropTail $ns duplex-link $n1 $n3 10Mb 10ms DropTail $ns duplex-link $n3 $n4 10Mb 10ms DropTail $ns duplex-link $n4 $n5 5Mb 5ms DropTail $ns duplex-link $n5 $n6 5Mb 10ms DropTail $ns duplex-link $n5 $n7 5Mb 10ms DropTail #Giam sat kich thuoc hang doi giua r1 r2 $ns duplex-link-op $n4 $n5 queuePos 0.5 #Sap xep vi tri cac node trong NAM & dat nhan trong Topo. $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n3 orient right-up $ns duplex-link-op $n2 $n4 orient right-down $ns duplex-link-op $n3 $n4 orient right-up $ns duplex-link-op $n4 $n5 orient right $ns duplex-link-op $n5 $n6 orient right-up $ns duplex-link-op $n5 $n7 orient right-down # Gan nhan cho cac node $n0 label "TCP Source" $n1 label "UDP Source" $n6 label "TCP Sink" $n7 label "UDP Sink" #Thiet lap ket noi TCP set tcp [new Agent/TCP/Reno] $tcp set fid_ 1 $tcp set maxcwnd_ 32 $tcp set Packet_Size_ 512 $ns attach-agent $n0 $tcp set sink [new Agent/TCPSink/DelAck] $ns attach-agent $n6 $sink $ns connect $tcp $sink #Thiet lap mot FTP qua ket noi TCP set ftp [new Application/FTP] $ftp attach-agent $tcp $ftp set type_ FTP #Thiet lap ket noi UDP set udp [new Agent/UDP] $ns attach-agent $n1 $udp set null [new Agent/LossMonitor] $ns attach-agent $n7 $null $ns connect $udp $null
  • 15. 15 $udp set fid_ 2 #Thiet lap CBR qua ket noi UDP set cbr [new Application/Traffic/CBR] $cbr attach-agent $udp $cbr set Packet_Size_ 512 $cbr set rate_ 1Mb # Thay cac gia tri 2Mb, 3Mb, 4Mb vao #$cbr set interval_ 0.005 proc record {} { global tcp cwnd sink null f1 f2 udp set ns [Simulator instance] set time 0.1 #so byte nhan duoc tu moi luong set bw1 [$sink set bytes_] set bw2 [$null set bytes_] #Thiet lap thoi gian hien tai set now [$ns now] #tinh toan bang thong va ghi no vao file puts $f1 "$now [expr $bw1/$time*8/1000000]" puts $f2 "$now [expr $bw2/$time*8/1000000]" #Reset gia tri sink $sink set bytes_ 0 $null set bytes_ 0 set cwnd0 [$tcp set cwnd_] set now [$ns now] puts $cwnd "$now $cwnd0" $ns at [expr $now+$time] "record" } # In ra toc do CBR puts "CBR rate = [$cbr set rate_]" #Cai dat thoi gian chay ung dung. $ns at 0.1 "record" $ns at 0.5 "$ftp start" $ns at 1.0 "$cbr start" #Goi thu tuc "Finish". $ns at 50.0 "finish" $ns run
  • 16. 16 KẾT QUẢ MÔ PHỎNG Hình : Mô phỏng NAM Hình: Đồ thị băng thông khi CBR= 1 Mb
  • 17. 17 Hình: Cửa sổ tắc nghẽn khi CBR=1Mb Khi CBR= 2Mb
  • 18. 18
  • 22. 22 KẾT LUẬN * Sự chia sẻ băng thông giữa UDP và TCP. * Khi tốc độ của UDP thấp, không có hiện tượng tắc nghẽn xảy ra thì UDP chiếm một băng thông không đổi, còn TCP chiếm một khoảng băng thông đều đặn không đổi. * Khi tốc độ UDP càng tăng thì khoảng băng thông mà TCP chiếm nhỏ dần.
  • 23. 23 * Kích thước của Congestion Window và băng thông của luồng TCP trong các trường hợp tải UDP. * Khi tốcđộ UDP tăng đến mức xảy ra tắc nghẽn, khoảng băng thông mà TCP chiếm giảm đáng kể, do thời gian truyền một bản tin UDP là ngắn hơn nhiều so với TCP và tốc độ độ của UDP là không đổi nên UDP sẽ đến các sever nhanh hơn TCP nên nó được xử lý nhiều hơn, do đó chiếm băng thông nhiều hơn như hình vẽ ta thấy băng thông trung bình của UDP lớn hơn băng thông trung bình của TCP. Nhưng băng thông của UDP không còn gần như một đường thẳng nữa. Do khả năng phục vụ của sever là cố định, nên nếu băng thông UDP tăng thì băng thông của TCP giảm và ngược lại. Đây chính là sự chia sẻ băng thông giữa UDP và TCP khi xảy ra tắc nghẽn. Sau một RTT không có tắc nghẽn, cho mỗi bản tin ACK nhận được, cửa sổ tắc nghẽn được cập nhật theo công thức: 𝐶 𝑤𝑛𝑑 = 𝐶 𝑤𝑛𝑑 + 1 𝐶 𝑤𝑛𝑑 (1) và khi phát hiện tắc nghẽn trong một RTT: 𝐶 𝑤𝑛𝑑 = 𝐶 𝑤𝑛𝑑 2 (2) Quy trình tăng giảm kích thước cho phép TCP tận dụng băng thông tuyến kết nối đầu cuối tới đầu cuối. Kích thước của cửa sổ thay đổi tùy theo trạng thái của mạng. Khi cửa sổ nhỏ, kích thước của nó có thể tăng nhanh chóng, nhưng khi đạt đến một giá trị nhất định thì kích thước của nó chỉ có tăng chậm. Khi hiện tượng tăng nghẽn mạng được pháp hiện, kích thước cửa sổ giảm mạnh. Cơ chế động này cho phép giải quyến tắc nghẽn nhanh chóng và sử dụng hiệu quả băng thông của mạng. * Wth : ngưỡng bắt đầu chậm. Cửa sổ bắt đầu ở giá trị gói tin đơn lẻ được truyền. Khi gói tin ACK của gói tin này quay trở lại, ta có thể truyền 2 gói tin. Đối với mỗi gói tin ACK của 2 gói tin này, cửa sổ tăng thêm 1 giá trị, mục đích là khi các gói tin ACK của 2 gói tin này quay trở lại, ta có thể truyền 4 gói tin hay
  • 24. 24 cửa sổ tăng theo số mũ. Giai đoạn này được gọi là “bắt đầu chậm” do thay vì cửa sổ to dẫn lên nhanh chóng, nó chỉ lớn lên từ từ nếu ta bắt đầu đến với giá trị W = Wth . * Nếu W = Wth , ta chuyển qua giai đoạn “tránh tắc nghẽn”. Khi đó, mỗi gói tin ACK quay lại sẽ làm cửa sổ W tăng lên [1/W]. Sau khi truyền W gói tin, W tăng lên 1. Nếu ta truyền W gói tin cần t thời gian thì truyền W+1 cần t+RTT và W+2 cần t+2RTT,...vv. Ta thấy độ lớn của cửa sổ thay đổi tuyến tính. * Mất các gói tin * Không chỉ W động mà Wth cũng như vậy. Nó được cố định trong TCP khi một gói mất thì giá trị của W giảm đi một nửa. * Phương pháp cải thiện TCP như sau: Phương pháp New-Reno: Cửa sổ giảm xuống 1 nếu như phát hiện ra gói tin bị mất trong thời gian quá hạn. Khi một gói tin mất bị phát hiện ra thông qua gói tin ACK bị lặp, cửa sổ giám sát tắc nghẽn giảm xuống ½. Giai đoạn slow start sẽ không khởi tạo và ta vẫn ở trạng thái “tránh tắc nghẽn”.