1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO cáo bài tập lớn cơ sở MẠNG THÔNG TIN đề tài kiểm tra thuật toán điều khiển luồng sử dụng TCP

23 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 394,28 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thiết lập cửa sổ chống tắc nghẽn tối đa maximal congestion  Tạo ra một mạng cần mô phỏng sử dụng NS-2 giống như trên hình window size của luồng TCP là 32 gói.. - TCP/IP không chỉ gồm 2

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

KHOA ĐIỆN TỬ VIỄN THÔNG

  

BÁO CÁO BÀI TẬP LỚN

CƠ SỞ MẠNG THÔNG TIN

Đề tài : Kiểm tra thuật toán điều khiển luồng sử dụng TCP

Giáo viên hướng dẫn : Trương Thu Hương

Sinh viên thực hiện : Đỗ Anh Việt 20083126

Vũ Thanh Hà 20080836 Lợi Quang Hảo 20080893 Chhoeung Yean 20083634 Lương Thế Diện 20080442 Phạm Văn Phong 20081973

Hà Nội- 11/2011

Trang 2

MỤC LỤC

Trang 3

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ântá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ạngInternet, 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

Trang 4

I Yêu cầu : Kiểm tra thuật toán điều khiển luồng sử

dụng TCP

TCP (Transmission Control Protocol) là giao thức cho phép truyền

dữ liệu một cách tin cậy giữa 2 máy tính bất kỳ TCP dựa vào phươngpháp điều khiển luồng theo cửa sổ trượt Mặt khác, UDP là giao thứckhông đưa ra các cơ chế truyền tin một cách tin cậy, tuy nhiên UDPlại có đặc điểm là đơn giản, trễ truyền dữ liệu nhỏ, hiệu suất truyềnlớn nên thích hợp cho các ứng dụng thời gian thực Một câu hỏi đặt ra

là khi truyền cả TCP và UDP trên mạng Internet thì 2 giao thức trênchia sẻ băng thông như thế nào, hoạt động của chúng ra sao trongtrường hợp mạng xảy ra tắc nghẽn Bài tập

này cho phép sinh viên khảo sát và trả lời các câu hỏi trên thông quacác bước như sau:

Tạo ra một mạng cần mô phỏng sử dụng NS-2 giống như trên hình

 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ộtphiê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

 Tạo ra một mạng cần mô phỏng sử dụng NS-2 giống như trên hình

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

 Tạo ra một mạng cần mô phỏng sử dụng NS-2 giống như trên hình

Chạy mô phỏng trong 300s

 Tạo ra một mạng cần mô phỏng sử dụng NS-2 giống như trên hình

Các nguồn UDP và TCP đều phát gói liên tục Luồng UDP có tốc độ

 Tạo ra một mạng cần mô phỏng sử dụng NS-2 giống như trên hình

phát là 512kbit/s (sử dụng nguồn CBR)

Trang 5

7.1 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ủaluồng TCP/thời gian mô phỏng)

7.2 Lặp lại thí nghiệm 7.1 trong trường hợp tốc độ phát của luồnUDP là 1 Mbit/s, 2

Mbit/s, 3 Mbit/s và 4Mbit/s

7.3 Vẽ đồ thị thể hiện băng thông của TCP so sánh với băng thôngcủa UDP

7.4 Trong trường hợp tốc độ của luồng UDP là 500kbit/s và 4Mbit/s,

II Phân chia công việc

STT Họ và Tên Công việc

TCP&UDP

NỘI DUNG

A Cơ sở lý thuyết

Trang 6

I Giới thiệu bộ giao thức TCP/IP

Trước khi đi vào hai giao thức TCP và UDP, ta tìm hiểu về bộ giaothức TCP/IP

- Để các máy tính có thể liên lạc với nhau qua mạng, chúng phải

cùng chung sử dụng một ngôn ngữ hay gọi là môt giao thức(Protocol) Giao thức là 1 hệ luật và chuẩn cho phép các máytính liên lạc được với nhau

- 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

nhiều giao thức gọi là bộ giao thức (Suite of Protocol)

- Để 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 ( nằm trong mô hình 7 lớp OSI):

 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 một trong các tầng này

II Transmission Control Protocol (TCP)

Trang 7

TCP là giao thức cho phép truyền dữ liệu một cách tin cậy giữa 2 máytính bất kỳ dựa trên phương pháp điều khiển luồng theo cửa sổ trượt.Phía phát được phép phát liên tục nhiều gói Số gói cực đại được phépphát khia chưa nhận được ACK từ bên thu là W- kích thước cửa sổ.

1 Mô tả TCP

1.1 Mục đích của TCP và điều khiển luồng theo cơ chế của sổ

- Điều chỉnh tốc độ truyền các gói dữ liệu sao cho phù hơp với

băng thông khả dụng

- Tránh hiện tượng nghẽn mạng

- Tạo kết nối tin cậy bằng cách truyền lại các gói tin bị thất lạc.

 Để điều khiển tốc độ truyền, số lượng các gói tin chưanhận (những gói tin mà nguồn chưa nhận được thông tinphản hồi từ đích là đã nhận được) bị giới hạn bởi một tham

số gọi là cửa sổ tắc nghẽn Điều này có nghĩa là nơi truyềncác gói tin buộc phải chờ và ngừng truyền các gói tin mà

nó truyền trước đó để chắc rằng đích đã nhận được dữ liệu

sử dụng bản tin xác nhận Để các gói tin được xác nhận và

có khả năng truyền lại khi bị thất lạc, mỗi gói tin đượctruyền đi phải có một số thứ tự

1.2 Các bản tin xác nhận

- Mục tiêu của các bản tin xác nhận:

 Điều chỉnh tốc độ truyền của TCP, đảm bảo rằng các góitin chỉ được truyền khi mà các gói tin khác đã được truyền

ra khỏi mạng

 Tạo đường kết nối đáng tin cậy bằng cách truyền tới nútnguồn các thông tin yêu cầu để truyền lại các gói tin khôngđến được đích

 Làm thế nào mà đích đến của các gói tin biết là gói tin đó

có bị thât lạc?

 Làm thế nào mà ta biết được một gói tin bị mất?

 Gói ACK (Acknowlegde) chứa thông tin gì?

- Gói ACK cho nguồn gửi tin biết số thứ tự của gói tin mà đích

đang chờ Ví dụ : Giả sử gói tin 1,2, 6 đến đích theo thứ tự thì

Trang 8

khi gói tin số 6 đến, đích gửi một gói tin ACK thông báo rằng

nó đang đợi gói tin số 7 Nếu gói tin số 7 đến thì đích yêu cầugói tin số 8 Giả sử gói tin số 8 bị thất lạc, gói tin số 9 có thể đếnđích được Tại thời điểm đó, đích gửi gói tin ACK có tên là

“ACK lặp” thông báo với nguồn gửi tin rằng nó chờ gói tin số 8.Phương pháp này được gọi là “ACK ẩn” (implicit ACK).Phương pháp này hiệu quả ngay cả khi mất gói tin ACK Hơnnữa, giả sử rằng gói tin ACK thông báo rằng đích đang đợi góitin số 5 bị mất Khi gói tin ACK tiếp theo đến và thông báo rằngđích đang đợi gói số 6, thì nguồn hiểu rằng đích đã nhận đượcgói số 5, vì vậy thông tin gửi bởi ACK đã bị mất được suy ra từgói tin ACK tiếp theo

- Gói tin TCP bị coi là mất nếu như:

 Có 3 gói tin ACK giống nhau thông tin cho nguôn về cùngmột gói tin được gửi

 Khi một gói tin truyền đi, có một đồng hộ đếm thời gian.Nếu gói tin ACK của gói tin đã được truyền không đếntrong khoảng thời gian To, có nghĩa là “quá hạn” (Time-out) và gói tin coi như bị mất Chọn To bằng cách nguồnước tính thời gian quay vòng RTT (round trip-time) trungbình bằng thời gian cần thiết cho một gói tin đến đích cộngvới thời gian cho gói tin ACK quay trở lại thông báo chonguồn

- Để giảm số lượng gói tin ACK trong hệ thống, TCP thường

xuyên sử dụng lựa chọn “ACK trễ” (delayed ACK) tại đó 1 góitin ACK được truyền chỉ cho d gói tin đến đích Tuy nhiên, trễ 1gói tin ACK đến tận khi d>1 gói tin được nhận có thể dẫn đếnviệc đình trệ hoàn toàn trong trường hợp kích thước cửa số nhỏ

Vì vậy, nếu gói tin đầu tiên (nằm trong d gói tin đang chờ đợi)đến đích thì sau một khoảng thời gian ngắt quãng (thường là100ms) nếu d gói tin vẫn chưa đến thì một bản tin ACK đượctạo thành mà không cần chờ đợi thêm nữa

Trang 9

1.3 Thuật toán điều khiển luồng TCP

- Thuật toán điều khiển luồng TCP sử dụng cơ chế cửa sổ và

thông báo đã nhận (ACK) đầu cuối tới đầu cuối để đảm bảotruyền tin một cách tin cậy trong mạng Bên gửi duy trì một cửa

sổ tắc nghẽn, wnd c , đây là số gói tin có thể được máy gửi đitrong khi chờ bản tin ACK từ bên nhận Sau khi nhận được góitin số liệu, bên nhận chuẩn bị một bản tin ACK để thông báocho bên gửi về các bản tin đã nhận được Bên nhận cũng thôngbáo cho bên gửi một cửa sổ nhận, wnd r , là kích thước của bộđệm dành cho kết nối này Bên gửi không được nhiều hơn } ,min{ wnd wnd r c gói tin trong khi chờ nhận bản tin ACK Cửa

sổ nhận cho phép bên nhận điều khiển luồng vì nếu bên nhậnkhông thể xử lý kịp thông tin với tốc độ hiện thời, cửa sổ nhận

sẽ được làm nhỏ đi, và bên gửi sẽ giảm tốc độ gửi của mình.Cửa sổ tắc nghẽn có nhiệm vụ điều khiển luồng trong điều kiệntắc nghẽn Việc mất gói tin được phát hiện thông qua timeoutcủa các gói tin chưa được thông báo nhận hoặc nhận được nhiềubản tin ACK giống nhau, hoặc nhận được bản tin SAC từ bênnhận Với giao thức TCP, việc mất gói tin đồng nghĩa với tắcnghẽn trong mạng vì mất gói tin được giả thiết là do tràn bộđệm do lưu lượng vượt quá dung lượng trên tuyến kết nối đầucuối tới đầu cuối Bên gửi cập nhật kích thước cửa sổ tắc nghẽnkhi nhận được bản tin ACK cho các gói tin gửi đi và khi pháthiện tắc nghẽn Sau một RTT không có tắc nghẽn, cho mỗi bảntin ACK nhận được, cửa sổ tắc nghẽn được cập nhật theo côngthức:

Trang 10

 Kích thước của cửa sổ thay đổi tùy theo trạng thái củamạng Khi cửa sổ nhỏ, kích thước của nó có thể tăngnhanh 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ăngnghẽn mạng được pháp hiện, kích thước cửa sổ giảmmạnh Cơ chế động này cho phép giải quyến tắc nghẽnnhanh 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 tinnày, cửa sổ tăng thêm 1 giá trị, mục đích là khi các gói tin ACKcủa 2 gói tin này quay trở lại, ta có thể truyền 4 gói tin hay 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 tincần t thời gian thì truyền W+1 cần t+RTT và W+2 cầnt+2RTT, vv Ta thấy độ lớn của cửa sổ thay đổi tuyến tính.1.4 Mất các gói tin

- Không chỉ W động mà Wth cũng như vậy Nó được cố địnhtrong TCP khi một gói mất thì giá trị của W giảm đi một nửa

- Có một số phương pháp cải thiện TCP như sau:

 Phương pháp Tahoe: Bất kể khi nào pháp hiện ra một góitin bị mất thì cửa sổ giảm giá trị xuống 1 đơn vị và giaiđoạn slow start bắt đầu Điều này làm giảm kích cỡ cửa sổnhanh chóng và cũng như vậy với tốc độ truyền tin

 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ộtgó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 slowstart sẽ không khởi tạo và ta vẫ ở trạng thái “tránh tắc

Trang 11

2 Hoạt động của TCP

 TCP đòi hỏi thiết lập kết nối trướckhi bắt đầu gửi dữ liệu

và kết thúc kết nối khi việc gửi dữ liệu hoàn tất Cụ thểTCP có ba pha:

 Thiết lập kết nối

 Truyền dữ liệu

 Kết thúc kết nối

 Sơ đồ trạng thái của TCP

III User Datagram Protocol (UDP)

Dùng UDP, chương trình trên mạng máy tính có thể gửi những

dữ liệu ngắn được gọi là datagram tới máy tính khác UDP khôngcung cấp sự tin cậy và thứ tự truyền nhận, các gói dữ liệu có thể đếnkhông đúng thứ tự hoặc mất mà không thông báo Tuy nhiên, UDP

Trang 12

nhanh và hiệu quả hơn đối với những mục tiêu như kích thước nhỏ vàyêu cầu khắt khe về thời gian , hữu dụng đối với việc trả lời các truyvấn với số lượng lớn người yêu cầu.

1 Khái niệm cơ bản

- Packet: Trong truyền số liệu, một packet là một dãy các số nhị

phân, biểu diễn dữ liệu và tín hiệu điều khiển, các gói tin nàyđược truyền đi và chuyển tới một host Trong gói tín, thông tinđược sắp xếp theo một khuôn dạng cụ thể

- Datagram: Một datagram là một gói tin độc lập, tự chứa, mang

đầy đủ dữ liệu định tuyến từ nguồn tới đích mà không cần thôngtin thêm

- MTU (Maximum Transmission Unit) là một đặc trưng của tầng

liên kết, mô tả số byte dữ liệu tối đa có thể truyền trong một góitin Mặt khác, MTU là gói dữ liệu lớn nhất mà môi trường mạngcho trước có thể truyêng Ví dụ, Etherner có MTU cố định là

1500 byte Trong UDP, nếu kích thước của một datagram lớnhơn MTU, IP sẽ thực hienej phân đoạn, chia datagram thành cácphần nhỏ hơn (segment) vì vậy, mỗi đoạn có kích thước nhỏ hơnMTU

- Port:UDP sử dụng các cổng để ánh xạ dữ liệu đến một tiến trình

cụ thể đang chạy trên một máy tính UDP định hướng cho mộtpacket tại vị trí xác định bằng cách sử dụng số hiệu cổng đượcxác định trong header của datagram Các cổng được biểu diễnbởi các số 16 bit Các cổng được xem như là điểm cuối của cácliên kết logic

- TTL (Time To Live): Giá trị TTL là giá trị giới hạn trên các

router mà datagram có thể đi qua Giá trị TTL ngăn ngừa các góitin khỏi bị kẹt trong các vòng lặp định tuyến vô hạn TTL đượckhởi tạo từ bên gửi và giá trị được giảm đi bởi mỗi router quản

lý datagram Khi TTL = 0, datagram bị drop (loại bỏ)

- Multicasting là phương pháp dựa trên chuẩn có tính chất mở để

phân phối các thông tin giống nhau trên nhiều người dùng

Trang 13

Multicasting là một đặc trưng chính của UDP cho phép ta truyềntin theo kiểu một – nhiều Ví dụ: gửi thư điện tử nhiều ngườinhận, đài phát thanh trên Internet….

2 Hoạt động của UDP

Khi một ứng dụng dựa trên giao thức UDP gửi một dữ liệu tớimột host khác trên mạng, UDP thêm vào một header có độ dài 8byte chữa các số liệu cổng nguồn và đích, cùng với tổng chiềudài dữ liệu và thông tin checksum IP thêm vào header của riêng

nó vào đầu mỗi datagram để tạo nên một datagram IP

+ Bit 0-15 Bit 16-31

0 Source Port Destination Port

32 Length Checksum

64 Data

- Source port: Trường này xác định cổng của người gửi thông tin

và có ý nghĩa nếu muốn nhận thông tin phản hồi từ người nhận.Nếu không dùng đến thì đặt nó bằng 0

- Destination port: Trường xác định cổng nhận thông tin và

trường này là cần thiết

- Length: Trường có độ dài 16 bit xác định chiều dài của toàn bộ

datagram : phần header và dữ liệu: Chiều dài tối thiểu là 8 bytekhi gói tin không có dữ liệu chỉ có header

- Checksum có 16 bit dùng cho việc kiểm tra lôi của phần header

và dữ liệu

Trang 14

IV So sánh giữa TCP và UDP

- Giống nhau

 Đều là các giao thức của bộ giao thức TCP/IP

 Đều có chức năng kết nối các máy tính lại với nhau

và có thể gửi dữ liệu cho nhau

- Khác nhau: Các header của TCP và UDP khác nhau ở kích

thước (20 và 8 byte) do TCP hỗ trợ nhiều chức năng hữu ích hơn (như khả năng phục hồi lỗi) còn UDP dùng ít byte hơn

Dùng cho mạng WAN Dùng cho mạng LAN

Cần thiết lập kêt nối Không cần thiết lập kết nối

Sử dụng cơ chế điều khiển

luồng và chống tắc nghẽn

Không có cơ chế điều khiển luồng và chống tắc nghẽnKhông cho phép mất gói tin Cho phép mất gói tin

Đảm bảo việc truyền data Không đảm bảo việc truyền

dataTốc độ thấp hơn UDP Tốc độ truyền cao

B Quá trình thực hiện

1 Code

# Khoi tao

set ns [new Simulator]

# Dinh nghia mau cho cac luong du lieu

$ns color 1 Red

$ns color 2 Blue

# Tao 2 file chua thong tin bang thong

set thru(1) [open thru1.tr w]

set thru(2) [open thru2.tr w]

# Tao ra filetrace luu tat ca thong tin ve mang

set filetrace [open out.tr w]

$ns trace-all $filetrace

Ngày đăng: 11/01/2022, 10:47

HÌNH ẢNH LIÊN QUAN

 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 - BÁO cáo bài tập lớn cơ sở MẠNG THÔNG TIN đề tài  kiểm tra thuật toán điều khiển luồng sử dụng TCP
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 (Trang 4)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w