Như nhiều bộ giao thức khác, bộ giao thức TCP/IP có thể được coi là một tập hợp các tầng, mỗi tầng giải quyết một tập các vấn đề có liên quan đến việc truyền dữ liệu, và cung cấp cho các
Trang 1MỤC LỤC
LỜI NÓI ĐẦU 2
THUẬT NGỮ VIẾT TẮT 3
DANH SÁCH BẢNG BIỂU 4
CHƯƠNG I: GIAO THỨC TCP/IP 5
1.1 Cấu trúc tầng giao thức tcp/ip 5
1.2 So sánh với mô hình OSI 7
1.3 Kết luận chương I 8
CHƯƠNG II: CƠ CHẾ ARQ TRONG GIAO THỨC TCP/IP 9
2.1 Đặc điểm của ARQ 9
2.2.Vấn đề khi trao đổi dữ liệu 9
2.3 Kết luận chương II 11
CHƯƠNG III: ĐIỀU KHIỂN LUỒNG TRONG VIỄN THÔNG 12
3.1 Khái niệm 12
3.2 Các kỹ thuật điều khiển luồng 12
3.2.1 Kỹ thuật dừng và đợi (Stop and wait) 12
3.2.2 Kỹ thuật cửa sổ trượt (Sliding Window) 14
3.3 Kết luận chương III 15
CHƯƠNG IV: ĐIỀU KHIỂN TẮC NGHẼN 16
4.1 Khái niệm 16
4.2 Các kỹ thuật được sử dụng trong quản lý tắc nghẽn 17
4.3 Điều khiển tắc nghẽn và tránh tắc nghẽn trong mạng TCP 18
TỔNG KẾT 22
TÀI LIỆU THAM KHẢO 23
Trang 2LỜI NÓI ĐẦU
Ngày nay nghành công nghiệp viễn thông đã đạt được những thành tựu to lớn
và trở thành một ngành không thể thiếu trong đời sống con người Nhờ sự phát triển của kỹ thuật số, kỹ thuật phần cứng và các công nghệ phần mềm đã và đang đem lại cho người sử dụng các dịch vụ mới đa dạng và phong phú
Mạng IP và các dịch vụ ứng dụng công nghệ IP với các ưu điểm như tính linh hoạt, khả năng mở rộng dễ dàng và đạt hiệu quả cao… đã và đang dần chiếm ưu thế trên thị trường viễn thông thế giới Nhiều nghiên cứu về công nghệ IP đã được thực hiện để đưa ra các giải pháp tiến đến một mạng hội tụ toàn IP Tuy nhiên, với tốc độ yêu cầu ngày càng cao thì việc sẩy ra tắc nghẽn là điều không tránh khỏi.do đó việc quản lý lưu lượng càng tốt sẽ đảm bảo cho sự hoạt động của hệ thống ổn định, đáp ứng được nhu cầu sử dụng đó luôn là một bài toán khó với các nhà khoa học máy tính cũng như ngành viễn thông nói riêng
Hiện nay với sự phát triển không ngừng của khoa học công nghệ đã đáp ứng được yêu cầu về phần cứng của hệ thống, tuy nhiên các thuật toán nhằm đạt được sự tối ưu vẫn luôn là một đề tài nóng hổi.nó đòi hỏi phải có sự nghiên cứu chuyên sâu và một hiểu biết sâu sắc vè các vần đề liên quan đến hệ thống mạng
do vậy với đề tài “Điều khiển lưu lượng trong mạng viễn thông” nhóm của
em sẽ trình bày các phương thức điều khiển lưu lượng và chống tắc nghẽn trong giao thức TCP/IP sử dụng cơ chế ARQ
Do lĩnh vực của đề tài này tương đối rộng, và kiến thức còn có nhiều hạn chế nên bài báo cáo này không tránh khỏi nhiều sai sót Em rất mong được sự góp ý và chỉ bảo của các thầy cô và các bạn sinh viên để bài báo cáo được hoàn thiện và phong phú hơn
Trang 3THUẬT NGỮ VIẾT TẮT
thức
chặng
thực
nguyên
Protocol
Giao thức quản lý mạng đơn giản
Trang 4DANH SÁCH BẢNG BIỂU
1 Hình 1.1: Mô hình tầng giao thức TCP/IP 6
2 Hình 1.2: Đóng gói dữ liệu trong gói tin UDP của gói tin IP 7
3 Hình 2.1: Mô hình truyền khung cơ chế ARQ 10
4 Hình 3.1: Hiệu suất kỹ thuật dừng và đợi 13
5 Hình 3.2: Kỹ thuật cửa sổ trượt 14
Trang 5CHƯƠNG I: GIAO THỨC TCP/IP
Bộ giao thức TCP/IP, viết tắt là TCP/IP (tiếng Anh: Internet protocol suite hoặc IP suite hoặc TCP/IP protocol suite - bộ giao thức liên mạng), là một
bộ các giao thức truyền thông cài đặt chồng giao thức mà Internet và hầu hết các mạng máy tính thương mại đang chạy trên đó Bộ giao thức này được đặt tên theo hai giao thức chính của nó là TCP (Giao thức Điều khiển Giao vận)
và IP (Giao thức Liên mạng) Chúng cũng là hai giao thức đầu tiên được định nghĩa
Như nhiều bộ giao thức khác, bộ giao thức TCP/IP có thể được coi là một tập hợp các tầng, mỗi tầng giải quyết một tập các vấn đề có liên quan đến việc truyền dữ liệu, và cung cấp cho các giao thức tầng cấp trên một dịch vụ được định nghĩa rõ ràng dựa trên việc sử dụng các dịch vụ của các tầng thấp hơn Về mặt lôgic, các tầng trên gần với người dùng hơn và làm việc với dữ liệu trừu tượng hơn, chúng dựa vào các giao thức tầng cấp dưới để biến đổi dữ liệu thành các dạng mà cuối cùng có thể được truyền đi một cách vật lý
1.1.Cấu trúc tầng giao thức tcp/ip
Bộ giao thức IP dùng sự đóng gói dữ liệu hòng trừu tượng hóa (thu nhỏ lại quan
niệm cho dễ hiểu) các giao thức và các dịch vụ Nói một cách chung chung, giao
thức ở tầng cao hơn dùng giao thức ở tầng thấp hơn để đạt được mục đích của mình
Trang 6Hình 1.1: Mô hình tầng giao thức TCP/IP
Những tầng gần trên nóc gần với người sử dụng hơn, còn những tầng gần đáy gần với thiết bị truyền thông dữ liệu Mỗi tầng có một giao thức để phục vụ tầng trên nó, và một giao thức để sử dụng dịch vụ của tầng dưới nó (ngoại trừ giao thức của tầng đỉnh và tầng đáy)
Cách nhìn các tầng cấp theo quan niệm: hoặc là cung cấp dịch vụ, hoặc là sử dụng dịch vụ, là một phương pháp trừu tượng hóa để cô lập các giao thức của tầng trên, tránh quan tâm đến thực chất của vấn đề, như việc truyền tải từng bit
qua Ethernet chẳng hạn, và phát hiện xung đột (collision detection), trong khi
những tầng dưới không cần phải biết đến chi tiết của mỗi một chương trình ứng dụng và giao thức của nó
Sự trừu tượng hóa này cho phép những tầng trên cung cấp những dịch vụ mà các tầng dưới không thể làm được, hoặc cố ý không làm Chẳng hạn IP được thiết kế với độ đáng tin cậy thấp, và được gọi là giao thức phân phát với khả năng tốt nhất (thay vì với "độ tin cậy cao" hoặc "đảm bảo nhất") Điều đó có nghĩa là tất cả các tầng giao vận đều phải lựa chọn, hoặc là cung cấp dịch vụ đáng tin cậy, hoặc là không, và ở mức độ nào UDP đảm bảo sự toàn vẹn của dữ
Trang 7liệu (bằng cách dùng kiểm tra tổng (checksum)), song không đảm bảo sự phân
phát dữ liệu tới đích; TCP cung cấp cả hai, sự toàn vẹn của dữ liệu, và đảm bảo
sự phân phát dữ liệu tới đích (bằng cách truyền tải lại gói dữ liệu, cho đến khi nơi nhận nhận được gói dữ liệu)
Hình 1.2: Đóng gói dữ liệu trong gói tin UDP của gói tin IP
1.2.So sánh với mô hình OSI
Bộ giao thức IP (và chồng giao thức tương ứng) đã được sử dụng, trước khi mô hình OSI được thành lập, và từ đó, rất nhiều lần trong sách in cũng như trong lớp học, chồng giao thức IP đã được so sánh với mô hình OSI rất nhiều lần Các tầng cấp của OSI cũng thường được dùng để diễn tả chức năng của các thiết bị mạng
Tương tự như chồng giao thức IP, các tầng dưới của mô hình OSI không có nhiều chức năng, đủ để nắm bắt được thực trạng công việc của bộ giao thức IP Chẳng hạn, chúng ta cần phải có một "tầng liên kết mạng" gắn vào khoảng trống giữa tầng mạng và tầng giao vận, để chỉ ra nơi tồn tại của ICMP (Internet Control Message Protocol - Giao thức điều khiển thông điệp Internet) và IGMP (Internet Group Management Protocol - Giao thức quản lý nhóm Internet) Thêm vào đó, chúng ta cũng cần phải có một tầng ở giữa tầng mạng và tầng liên kết dữ liệu dành cho ARP (Address Resolution Protocol - Giao thức tìm địa chỉ)
và RARP (Reverse Address Resolution Protocol - Giao thức tìm địa chỉ ngược lại) Không những thế, nó còn chịu ảnh hưởng của việc thiết kế chỉ nhắm vào một cài đặt đơn giản của mạng lưới, với một tầng liên kết dữ liệu mà thôi (chẳng hạn người dùng ADSL dùng giao thức đường hầm (tunnelling protocol)
Trang 8để "đào hầm" thông vào mạng lưới của công ty liên hiệp, dùng IP trên PPTP, hơn là dùng IP trên PPPoA, thông qua liên kết ADSL)
1.3 Kết luận chương I
TCP/IP cho ta một phương thức kết nối hiệu quả, linh hoạt làm cho việc chuyển mạch sử dụng giao thức TCP/IP chống được tắc nghẽn giải quyết xung đột đơn giản tuy nhiên, giao thức TCP/IP gây ra một quá trình sử lý phức tạp đòi hỏi phần cứng xử lý nhiều, các trường kiểm tra lỗi không hiệu quả Do đó giao thức TCP/IP không thích hợp cho một kết nối tổng thể trong mạng viễn thông Tuy nhiên, với những ưu điểm có được của TCP/IP, nó vẫn đang được tiếp tục nghiên cứu nhằm định hướng cho phát triển tương lai
Trang 9CHƯƠNG II: CƠ CHẾ ARQ TRONG GIAO THỨC TCP/IP
2.1 đặc điểm của ARQ
Trong thực tế có 2 loại cơ sở ARQ đó là idle RQ được dùng với truyền định hướng ký tự ,continious RQ được dùng với các loại truyền lại selective repeat hoặc goback N.Loại RQ liên tục thường dùng với truyền định hướng bit
Nguyên lý kiểm soát lỗi idle RQ được định nghĩa để cho phép các khung của ký
tự được truyền một cách tin cậy để phân biệt phía gửi (nguồn),và phía nhận đích các thuật ngữ P (primary) và S(secondary) sẽ được sử dụng.để phân biệt các khung dữ liệu và các khung giám sát ta thường dùng các thuật ngữ I-Frame
và ACK hay NAK Frame
Idle RQ hoạt động ở chế độ mode bán song công,bởi vì sau khi P gửi một Frame nó phải chờ bên S báo cho biết là khung trước đó đã nhận đúng hay sai.Và P sẽ truyền một khung mới nếu thông tin nhận được là đúng ,và yêu cầu gửi lại khung cũ nếu thông tin nhận được là sai Có 2 cách thực hiện nguyên lý này là truyền hiểu ngầm và truyền tường minh
I-Khi truyền thông tin trong mạng, thông tin truyền từ phía phát sang phía thu có thể bị sai lỗi hoặc mất Trong trường hợp thông tin bị mất, cần phải thực hiện truyền lại thông tin Với trường hợp thông tin bị sai, có thể sửa sai bằng một trong hai cách:
-Sửa lỗi trực tiếp bên thu: phía thu sau khi phát hiện lỗi có thể sửa lỗi trực tiếp ngay bên thu mà không yêu cầu phải phát lại để có thể thực hiện được điều này, thông tin trước khi truyền đi phải được cài các mã sửa lỗi (bên cạnh việc có khả năng phát hiện lỗi, cần có khả năng sửa lỗi)
-Yêu cầu phía phát truyền lại: phía thu sau khi kiểm tra và phát hiện có lỗi sẽ yêu cầu phía phát truyền lại thông tin
2.2.Vấn đề khi trao đổi dữ liệu
Một số vấn đề khi hai thiết bị kết nối trực tiếp truyền nhận dữ liệu:
đồng bộ khung
điều khiển tốc độ truyền dữ liệu
Xử lý lỗi gặp phải trên đường truyền
Trang 10định vị địa chỉ (trong cấu hình multipoint)
Phân biệt dữ liệu và thông tin điều khiển
Quản lý liên kết
Nội dung
điều khiển dòng dữ liệu
điều khiển lỗi
Một số nghi thức điều khiển liên kết dữ liệu
điều khiển dòng dữ liệu
Bên nhận thường có bộ đệm để nhận dữ liệu
Khi dữ liệu đến, bên nhận thường thực hiện một số xử lý trước khi gửi lên lớp cao hơn
điều khiển dòng: đảm bảo bên phát không gởi dữ liệu quá nhanh Ngăn ngừa việc tràn bộ đệm
*Mô hình truyền khung:
Hình 2.1: Mô hình truyền khung cơ chế ARQ
Trang 112.3.Kết luận chương II
ARQ (Automatic Repeat Request) , có thể dịch là cơ chế tự động phát lại , ở giao thức TCP có sử dụng đến cơ chế này Nó dùng để điều khiển luồng và điều khiển chống tắc nghẽn nó tạo ra một số cơ chế nhằm thực hiện phát lại các khung tin bị sai ở đây chúng ta quan tâm đến việc sử dụng cơ chế này vào mục đích điều khiển lưu lượng trong bộ giao thức TCP/IP Chúng ta thấy rằng, khi
có hiện tượng quá tải trên đường truyền thì gói tin không đến được đich Lúc này gói tin coi là bị mất phía phát sẽ căn cứ vào thông tin thu thập được này để tiến hành các hoạt động điều chỉnh mức lưu lượng phía phát cho phù hợp
Trang 12CHƯƠNG III: ĐIỀU KHIỂN LUỒNG TRONG VIỄN THÔNG 3.1 Khái niệm
Điều khiển luồng là cơ chế nhằm đảm bảo việc truyền tin của bên phát không vượt quá khả năng xử lý của bên thu.Được thực hiện trong môi trường không
có lỗi
Cơ chế điều khiển luồng được thiết kế để điều khiển luồng dữ liệu 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 sẽ 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
Phân loại Bao gồm:
+Điều khiển luồng từ trạm tới trạm(End-2-End)
+Điều khiển luồng theo từng nút(Hop-By-Hop)
3.2.Các kỹ thuật điều khiển luồng
3.2.1.Kỹ thuật dừng và đợi(Stop and wait)
Stop -and-wait là một dạng của điều khiển dòng truyền dừng và đợi đã mở rộng để chứa các chức năng truyền lại dữ liệu trong trường hợp dữ liệu bị mất hoặc hư hỏng để việc truyền lại có thể thực hiện được bổ sung vào cơ cấu dòng truyền 4 tính chất sau:
Thiết bị gửi lưu bản copy khung được truyền cuối cùng cho đến khi nó nhận được ACK của khung đó Việc này cho phép thiết bị gửi truyền lại khung bị mất hoặc khung bị hư hỏng đến khi chúng được nhận đúng để nhận dạng đúng,
cả khung dữ liệu lẫn khung ACK được đánh số luân phiên 0 và 1 Khung dữ liệu 1 được nhận biết bởi khung ACK1 có nghĩa là thiết bị nhận đã nhận được
dữ liệu 1 và bây giờ đang chờ nhậnn dữ liệu 0 việc đánh số này cho phép nhận dạng khung dữ liệu trong trường hợp dữ liệu truyền 2 lần (điều này là quan trọng khi các khung ACK bị mất) Nếu một lỗi được phát hiện trong khung dữ liệu thì nơi nhận gửi khung NAK Các khung NAK không được đánh số , thiết
bị tự hiểu cần phải truyền lại khung cuối Stop -and-wait ARQ đòi hỏi thiết bị gửi đợi đến khi nhận ACK khung cuối, trước khi truyền khung tiếp theo Khi thiết bị gửi nhận khung NAK nó gửi lại khung đã được truyền sau ACK cuối
mà bỏ qua số khung của nó
Thiết bị gửi được trang bị đồng hồ Nếu chờ khung NAK trong một thời gian xác định mà không thấy thì cho rằng khung dữ liệu cuối đã bị mất và gửi lại khung đó
Trang 13a.Hoạt động
Bên phát nhận được báo nhận sẽ phát khung tin F1,cứ như vậy quá trình di Bên phát sẽ phát khung tin F0 sau đó dừng lại đợi báo nhận của bên thu.Khi bên thu nhận được F0,sẽ gửi báo nhận(ACK) với số hiệu tương ứng với khung tin mong muốn được nhận (lúc này là ACK1)cho bên phát (lưu ý rằng vì muốn tiết kiệm băng thông,nên người ta chỉ sử dụng 1 bit để dánh số,tức là ACK ở kỹ thuật này chỉ có giá trị 0 và 1)
b Đặc điểm:
- A sẽ không làm gì khi chờ đợi ACK
- Không yêu cầu phải cho vào bộ đệm nào cả.(theo cơ chế có cầu thì mới có cung)
- Hiệu suất hạn chế
c.Hiệu suất:
Gọi n là hiệu suất của kỹ thuật dừng và đợi
Hình 3.1: hiệu suất kỹ thuật dừng và đợi
Tf là thời gian truyền 1 khung tin
Td là thời gian trễ
Trang 14Tp là thời gian xử lý 1 khung tin
Tack là thời gian phát ACK của bên thu
Tp’ là thời gian xử lý ACK
Gọi T là thời gian cần thiết để phát xong 1 khung tin:
T=Tf+Td+Tp+Tack+Td+Tp’
n = Tf / T
Do Tp,Tp’,Tack là rất nhỏ so với Tf nên T = Tf+2Td
Vậy n = Tf / (Tf+2Td) = 1 / (1+2a) với a = Td / Tf
3.2.2.Kỹ thuật cửa sổ trượt (Sliding Window)
Giả sử cần k bit đánh số thứ tự các khung tin thì 1<= w <= 2^k - 1
Vd :Dùng 3 bit đánh số thứ tự các khung tin => w<8,chọn w=7
Hình 3.2: kỹ thuật cửa sổ trượt
Trang 15b.Hiệu suất
Hiệu suất của kỹ thuật sliding window được tính như sau
+n = 1 nếu w>=2a+1
+n = w / (1+2a) nếu w<2a+1
3.3.Kết luận chương III
Với các kỹ thuật này của cơ chế ARQ nó cho phép cơ chế ARQ có thể giải quyết xung đột và điều khiển luồng tuy nhiên, trong các kỹ thuật trên thì kỹ thuật cửa sổ trượt (siding-windown) là kỹ thuật chính Kỹ thuật dừng và đợi (stop-and-wait) được coi như kỹ thuật cửa sổ trượt với W=1
Trang 16CHƯƠNG IV: ĐIỀU KHIỂN TẮC NGHẼN
4.1 Khái niệm
Trong các mạng chuyển mạch gói, các gói tin đi vào và đi ra các bộ đệm, hàng đợi hay thiết bị chuyển mạch giống như khi nó được chuyển qua mạng Một đặc điểm quan trọng của mạng là các gói tin đến dưới dạng bó từ một hoặc nhiều nguồn khác nhau Các bộ đệm sẽ giúp các router thu hút các bó cho đến khi chúng nhận được Khi các bó đến vượt quá kích thước bộ đệm thì các gói đến sau sẽ bị loại bỏ Việc tăng bộ đệm không phải là giải pháp do nếu kích thước bộ đệm quá lớn thì sẽ tạo ra trễ lớn Tắc nghẽn xảy ra khi lưu lượng từ nhiều tuyến đổ dồn về một tuyến và tuyến này không có khả năng xử lý hết được Tắc nghẽn cũng xảy ra ngay bên trong bản thân router tại mạng lõi của mạng khi các node nhận được nhiều lưu lượng hơn so với thiết kế của nó Khi mạng xảy ra tắc nghẽn nếu không được xử lý kịp thời sẽ gây ra các hậu quả nghiêm trọng: các gói tin không được xử lý, không chuyển được đến đầu cuối người nhận sẽ ùn tắc trong mạng,mạng không hoạt động được trong thời gian dài sẽ khong thể truyền tải được dữ liệu,các thành phần có thể bị hư hỏng Do
đó vần đề quan trọng cần phải là phải điều khiển đuợc tắc nghẽn trong mạng
Đó có thể hành động điều khiển ngay khi có tắc nghẽn để phòng tránh tăc nghẽn
và cũng có thể là điều khiển tắc nghẽn khi nó đã xảy ra
Các tính năng của điều khiển tắc nghẽn cho phép điều khiển bằng việc sắp xếp lại các gói được gửi ra giao diện trên cơ sở ấn định các độ ưu tiên cho các gói Quản lý các gói yêu cầu phải đưa ra các loại hàng đợi, ấn đinh các gói vào hàng đợi bằng việc phân lớp các gói, sau đó lập lịch các gói và đưa ra đường truyền Tính năng quản lý hàng đợi trong QoS cung cấp 4 loại giao thức hàng đợi khác nhau, chúng sắp xếp các loại lưu lượng có mức độ khác nhau được gửi đi Trong các chu kỳ của lưu lượng nếu không có tắc nghẽn thì các gói
sẽ được gửi đi với tốc độ như khi nó đến, nếu xảy ra tắc nghẽn thì các gói sẽ đến với tốc độ lớn hơn tốc độ truyền nó ở giao diện đầu ra Nếu ta dùng các chức năng quản lý tắc nghẽn thì các gói bị ứ đọng tại giao diện sẽ được sắp xếp vào hàng đợi để gửi đi cho đến khi giao diện rỗng Sau đó được lập lịch để gửi đi tuỳ theo độ ưu tiên được ấn định cho từng gói và cơ cấu hàng đợi được thiết kế cho từng giao diện Router thực hiện trình tự truyền dẫn của các gói bằng việc