Trong xu hướng phát triển bùng nổ thông tin ngày này, các nhu cầu về thông tin liên lạc ngày càng mở rộng. Nó đi đôi với nhu cầu đòi hỏi cao về chất lượng dịch vụ. Đối với nhà khai thác mạng nâng cao chất lượng dịch vụ đồng nghĩa với khả năng tăng khả năng cạnh tranh. Điều đó được ví như một điều tất yếu mà một nhà khai thác phải làm tốt để tồn tại.
Việt Nam được đánh giá là một quốc gia có nhu cầu về thông tin lớn. Hệ thống viễn thông mạng Việt Nam rất đa rạng, phong phú, trong đó công nghệ mạng trên nền chuyển mạch gói là rất phổ biến. Song song với việc cung cấp nhiều loại hình dịch vụ mục tiêu nâng cao chất lượng dịch vụ đang là một vấn đề trọng tâm của các nhà cung cấp đặt ra.
Mạng hiện thời đang tồn tại ở Việt Nam so với một số nước trong khu vực còn chưa thật sự ổn định, vẫn còn nhiều hiện tượng nghẽn mạng hay tốc độ truy cập mạng còn thấp. Ngoài biên pháp cải thiện băng thông (rất tốn kém), chưa thể đáp ứng ngay thì chúng ta cần phải cải thiện chất lượng dịch vụ theo một số hướng khác. Bản đồ án này tìm hiểu về QoS trong mạng IP và một số giải pháp nâng cao QoS phổ biến đang được áp dụng.
Được sự hướng dẫn và giúp đỡ nhiệt tình của Thầy giáo Nguyễn Tiến Ban, bản đồ án với đề tài “Nghiên cứu chất lượng dịch vụ trong mạng IP” đã đề cập đến những vấn đề cơ bản về chất lượng dịch vụ trong mạng IP. Sau một thời gian tìm hiểu và nghiên cứu bản đồ án đã hoàn thành với những nội dung chính sau đây:
Chương 1: Tổng quan về mô hình TCP/IP.
Chương 2: Chất lượng dịch vụ trong mạng IP.
Chương 3: Các thành phần QoS trong mạng IP.
Chương 4: Một số kỹ thuật hỗi trợ QoS trong mạng IP.
Do nội dung kiến thức của đề tài tương đối mới mẻ, khả năng còn hạn chế và kiến thức thực tế chưa nhiều nên bản đồ án này chắc chắn không tránh khỏi những thiếu sót. Em rất mong nhận được sự chỉ bảo của các thầy cô giáo và các bạn để bản đồ án được chính xác, đầy đủ và hoàn thiện hơn.
116 trang |
Chia sẻ: oanhnt | Lượt xem: 2595 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Đề tài QoS trong mạng IP và một số giải pháp nâng cao QoS phổ biến đang được áp dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC
DANH MỤC HÌNH VẼ
Hình 1.1: Mô hình tham chiếu TCP/IP 3
Hình 1.2: Mô tả đóng gói dữ liệu theo kiến trúc TCP/IP 4
Hình 1.3: Sự tương quan giữa hai mô hình TCP/IP và OSI 5
Hình1.4: Mô hình phân lớp bộ giao thức TCP/IP 5
Hình 1.5 Phần tiêu đề TCP 9
Hình 1.6 Cửa sổ trượt 11
Hình 1.7 Định dạng của UDP datagram 13
Hình 1.8 Tiêu đề IP datagram 14
Hình 1.9 Hoạt động của ARP 17
Hình 1.10 Hoạt động của RARP 18
Hình 1.11 Tiêu đề IPv4 19
Hình 1.12: Gói IPv6 21
Hình 1.13: Định dạng gói IPv6 21
Hình 1.14. Ví dụ về địa chỉ IPv6 22
Hình 3.1: Chất lượng dịch vụ tạo ra từ sự liên kết với nhau 39
Hình 3.2: Mạng biên -tới- biên của một mức là một kết nối mức khác. 41
Hình 3.3: Hàng đợi FIFO trên router nỗ lực tối đa 43
Hình 3.4: Phân loại, hàng đợi và lập lịch từng chặng cho phép hàng đợi và bộ lập lịch có thể độc lập. 45
Hình 3.5: Sự phân đoạn trước lập lịch cải tiến việc chèn trên kết nối tốc độ thấp. 46
Hình 3.6: Những yêu cầu định hình lập lịch thời gian nhỏ 48
nhất trên những router xác định 48
Hình 3.7 Hàng đợi thay đổi thứ tự sắp xếp lại cho những 51
gói đã đánh dấu và không đánh dấu 51
Hình 3.8: Định tuyến cho cân bằng tải trọng 53
Hình 3.9: Quá trình đóng gói dữ liệu cho tạo ống IP 55
Hình 3.10:Kỹ thuật đường hầm trong IP 55
Hình 3.11: Kỹ thuật truyền dẫn với định tuyến đường chuyển mạch nhãn. 56
Hình 4.1: Bộ định tuyến IP hỗi trợ tối đa thông thường 62
Hình 4.2: Sự phân loại từng chặng điều khiển chặng kế tiếp, hàng đợi và lập lịch. 63
Hình 4.3 Trường ToS trong Ipv4 65
Hình 4.4 Trường DiffServ 66
Hình 4.5: Bộ đệm được yêu cầu nếu bộ phân loại là chậm hơn tốc độ đỉnh đến 70
Hình 4.6: Các token Bucket cung cấp chức năng đo đơn giản 72
Hình 4.7: Minh hoạ hoạt động của một token Bucket 72
Hình 4.8 Lựa chọn token Bucket thực hiện chức năng đo 73
Hình 4.9: khả năng loại bỏ biến thay đổi với thời gian chiếm dụng hàng đợi 79
hình 4.10: Đánh dấu gói có thể thay đổi chức năng loại bỏ 81
Hình 4.11:ARED thay đổi giá trị maxp 82
Hình 4.12 Nhiều hàng đợi cho một bộ lập lịch 86
Hình 4.13:Lưu lượng có thể có sự phận cấp trong quan hệ nội bộ 89
Hình 4.14 Bộ lập lịch phân cấp được yêu cầu 90
Hình 4.15 : Mô hình dịch vụ tích hợp 93
Hình 4.16: leaky and token bucket 97
Hình 4.17: Đồ thị lưu lượng trong token bucket 97
Hình 4.18: Node dịch vụ tích hợp 98
Hình 4.19: Bộ lập lịch trọng số phù hợp 99
Hình 4.20: Dịch vụ khác biệt tập trung đơn giản sự phức tạp định tuyến lõi 102
Hình 4.21: Kiến trúc dịch vụ khác biệt 103
Hình 4.22 : Điều khiển lưu lượng ở một node dịch vụ khác biệt 104
Hình 4.23 Hàng đợi cơ sở phân loại 105
THUẬT NGỮ VIẾT TẮT
ARED
Adapted Random Early Detection
Tìm kiếm sớm ngẫu nhiên thích ứng
ARP
Address Resolution Protocol
Giao thức phân giai địa chỉ
ARPA
Advance Research Projects Agency
trung tâm nghiên cứu cấp cao
BB
Bandwidth Brokering
Thu hồi băng thông
BGP
Border Gateway Protocol
CBQ
Class Base Queuing
Hàng đợi cơ sở lớp
CBR
Contant Bitrate Rate
tốc độ bit cố định
CL
controlled Load
Tải điều khiển
CPU
Center Processor Unit
Khối xử lí trung tâm
CQS
Classify Queue Shedule
Lập lịch hàng đợi phân loại
CAC
Call Adminission Contron
Điều khiến xác nhận cuộc gọi
CE
Congestion Experience
Nghẽn trải qua
DFF
Drop from Front
Loại bỏ phía trước
DiffServ
Differentiated Service
Dịch vụ khác biệt
DNS
Domain Name System
Hệ thống tên miền
DOD
Deparment of Defense
thuộc bộ quốc phòng Mĩ
DRR
Deficit Round Robin
DSCP
Difserv Code-Point
Điểm mã dịch vụ khác biệt
ECN
explicit congestion notification
thông báo nghẽn cụ thể
FBI
forwarding information base
Khối chuyển tiếp
FIFO
first in first out
Hàng đợi theo nguyên tắc vào trước ra trước
FRED
Flow Random Early Detection
Tìm kiếm ngẫu nhiên sớm theo luồng
FTP
File Transfer Protocol
Giao thức truyền file
GS
guaranteed Service
Dịch vụ đảm bảo vụ
HL
Header length
Độ dài tiêu đề
ICMP
Internet Control Message Protocol
Giao thức tín hiệu điều khiển internet
IHL
Identifed Header Length
Trường xác nhận độ dài tiêu đề
Intserv
Intergrated Service
Dịch vụ tích hợp
IP
internet Protocol
Giao thức Internet
LSP
Label-switching Paths
Đường dẫn chuyển mạch nhãn
MF
Multi field
Đa trường
MPLS
Multi protocol lable Switching
Chuyển mạch nhãn đa giao thức
MTU
Maximum Transfer Unit
Đơn vị truyền tối đa
OSI
Open Systems Interconection
Mô hình tham chiếu “liên kết hệ thống mở”
OSPF
Open Sortest Path First
Đường dẫn đầu tiên ngắn nhất mở
PHB
PNNI
Private network Node Interface
Giao diện node mạng riêng
PQ
Priority Queue
Hàng đợi ưu tiên
QoS
Quality of service
Chất lượng dịch vụ
RAP
Resource Allocation Protocol
Giao thức phân phát tài nguyên
RARP
Reverse Address Resolution Protocol
Giao thức phân giải địa chỉ ngược
RED
Random Early Detection
Tìm kiếm ngẫu nhiên sớm
RIO
RED With IN/ OUT
Tìm kiếm ngẫu nhiên sớm theo vào ra
RSVP
Resource Reservation Protocol
Giao thức dành trước tài nguyên
SDH
synchronous Digital Hiearachy
Phân cấp số đồng bộ
SLA
Service level agreement
Thỏa thuận mức dịch vụ
SMTP
Simple Mail Transfer Protocol
Giao thức truyền thư điện tử đơn giản
TCP
Tranmission Control Protocol
Gíao thức điều khiển truyền dẫn
Telnet
Terminal NETwork
Mạng đầu cuối
TL
Total length
Độ dài tổng
TOS
Type Of Service
Loại dịch vụ
TTL
Time-to-live
Thời gian sống
UDP
User Datagram protocol
Giao thức người sử dụng
VCI
Virtual circuit Identify
Nhận biết kênh ảo
VPI
Virtual Path Identify
Nhận biết đường ảo
VPN
IP virtual private Network
IP virtual private Network
WRED
Weight Random Early Detection
Tìm kiếm ngẫu nhiên sớm theo trọng số
WRED
Weighted Random Early Detection
Tìm kiếm sớm ngẫu nhiên theo trọng số
LỜI NÓI ĐẦU
Trong xu hướng phát triển bùng nổ thông tin ngày này, các nhu cầu về thông tin liên lạc ngày càng mở rộng. Nó đi đôi với nhu cầu đòi hỏi cao về chất lượng dịch vụ. Đối với nhà khai thác mạng nâng cao chất lượng dịch vụ đồng nghĩa với khả năng tăng khả năng cạnh tranh. Điều đó được ví như một điều tất yếu mà một nhà khai thác phải làm tốt để tồn tại.
Việt Nam được đánh giá là một quốc gia có nhu cầu về thông tin lớn. Hệ thống viễn thông mạng Việt Nam rất đa rạng, phong phú, trong đó công nghệ mạng trên nền chuyển mạch gói là rất phổ biến. Song song với việc cung cấp nhiều loại hình dịch vụ mục tiêu nâng cao chất lượng dịch vụ đang là một vấn đề trọng tâm của các nhà cung cấp đặt ra.
Mạng hiện thời đang tồn tại ở Việt Nam so với một số nước trong khu vực còn chưa thật sự ổn định, vẫn còn nhiều hiện tượng nghẽn mạng hay tốc độ truy cập mạng còn thấp. Ngoài biên pháp cải thiện băng thông (rất tốn kém), chưa thể đáp ứng ngay thì chúng ta cần phải cải thiện chất lượng dịch vụ theo một số hướng khác. Bản đồ án này tìm hiểu về QoS trong mạng IP và một số giải pháp nâng cao QoS phổ biến đang được áp dụng.
Được sự hướng dẫn và giúp đỡ nhiệt tình của Thầy giáo Nguyễn Tiến Ban, bản đồ án với đề tài “Nghiên cứu chất lượng dịch vụ trong mạng IP” đã đề cập đến những vấn đề cơ bản về chất lượng dịch vụ trong mạng IP. Sau một thời gian tìm hiểu và nghiên cứu bản đồ án đã hoàn thành với những nội dung chính sau đây:
Chương 1: Tổng quan về mô hình TCP/IP.
Chương 2: Chất lượng dịch vụ trong mạng IP.
Chương 3: Các thành phần QoS trong mạng IP.
Chương 4: Một số kỹ thuật hỗi trợ QoS trong mạng IP.
Hà Nội, ngày 26 / 10 / 2005
Sinh viên: Phó Tiến Dũng
Do nội dung kiến thức của đề tài tương đối mới mẻ, khả năng còn hạn chế và kiến thức thực tế chưa nhiều nên bản đồ án này chắc chắn không tránh khỏi những thiếu sót. Em rất mong nhận được sự chỉ bảo của các thầy cô giáo và các bạn để bản đồ án được chính xác, đầy đủ và hoàn thiện hơn.
CHƯƠNG I
TỔNG QUAN VỀ MÔ HÌNH TCP/IP
1.1 Mô hình TCP/IP
Vấn đề đặt ra: Trước yêu cầu truyền thông tin giữa các thiết bị việc truyền tải là rất khó khăn khi mở rộng mô hình . Do các thiết bị trong một mạng có thể do nhiều nhà cung cấp khác nhau ,nhiều thiết bị khác nhau . Điều đó đặt ra một vấn đề về sự tương thích các thiết bị với nhau, để có thể truyền thông tin cho nhau . Việc đưa ra một chuẩn để làm công cụ tham chiếu là một giải pháp duy nhất để giải quyết vấn đề này. TCP/IP là mô hình đầu tiên được đưa ra để giải quyết khó khăn trên.
1.1.1 Khái niệm và lịch sử ra đời của bộ giao thức
Sự ra đời của bộ giao thức TCP/IP:Vào cuối những năm 1960 và 1970, trung tâm nghiên cứu cấp cao (Advance Research Projects Agency –ARPA) thuộc bộ quốc phòng Mĩ (Deparment of Defense – DoD) được giao trách nhiệm phát triển mạng APARNET. Mạng này kết nối các văn phòng quân đội , các tổ chức giáo dục, các tổ chức nghiên cứu, các trường đại học. Ngày nay ARPA được gọi là DARPA. Năm 1980, một bộ giao thức mới được đưa ra làm bộ giao thức chuẩn cho mạng ARPANET và các? của DoD mang tên DARPA, nó còn được gọi là bộ giao thức TCP/IP, và ngày nay thường được dùng với tên này.
Khái niệm: Như vậy TCP/IP là bộ giao thức phân cấp từ các khối tương tác, mỗi khối cung cấp những chức năng riêng nhưng các khối không nhất thiết phải phụ thuộc lẫn nhau. Trong khi mô hình OSI định nghĩa chức năng nào thuộc về lớp nào thì các lớp trong bộ giao thức TCP/IP lại chứa các giao thức khá độc lập với nhau, chúng có thể trộn lẫn và phối hợp với nhau tuỳ theo yêu cầu của hệ thống. Thuật ngữ phân cấp có nghĩa là một giao thức lớp trên được một hay nhiều giao thức lớp dưới hỗi trợ.
Việc phân tầng (hay phân cấp ) phải đảm bảo một số nguyên tắc sau:
Một lớp được tạo ra khi cần đến mức trừu tượng hoá tương ứng.
Mỗi lớp cần thực hiện những chức năng được định nghĩa rõ ràng.
Việc chọn chức năng cho mỗi lớp cần chú ý tới việc định nghĩa các quy tắc chuẩn hoá quốc tế.
Ranh giới các mức cần chọn sao cho thông tin đi qua là ít nhất
Số mức phải đủ lớn để các chức năng tách biệt không nằm trong cùng một lớp và đủ nhỏ để mô hình không quá phức tạp.
Một mức có thể phân thành các lớp nhỏ nếu cần thiết.
Các mức con có thể bị loại bỏ.
Hai hệ thống khác nhau có thể truyền cho nhau nếu chúng đảm bảo thoả mãn nguyên tắc chung (cùng một giao thức truyền thông).
1.1.2 Kiến trúc của TCP/IP
Application layer
Transport Layer
Internet
Layer
Phyiscal
Network Access Layer
lớp ứng dụng
lớp vận chyển
lớp mạng
lớp truy nh mạng
Hình 1.1: Mô hình tham chiếu TCP/IP
Theo cách nhìn từ lớp vật lý về phía ứng dụng thì như sau: bộ giao thức được chia ra làm bốn lớp:
Network Access Layer / Network Interface and Hardware (lớp truy nhập đôi khi còn gọi là lớp giao diện mạng) nó cung cấp các giao tiếp với mạng vật lý bao gồm các thiết bị hệ thống vận hành, các cạc giao diện mạng tương ứng…Lớp này thực hiện nhiệm vụ các chi tiết phần cứng hoặc các giao tiếp vật lý với cáp. Ngoài ra thực hiện việc kiểm soát lỗi dữ liệu phân bổ trên mạng vật lý. Lớp này không định nghĩa một giao thức riêng nào, nó hỗi trợ tất cả các giao thức chuẩn và độc quyền ví dụ như Ethenet, Token Ring, Wireless, IP…Lớp này thực tế cũng quyết định khá nhiều tới chất lượng cung cấp dịch vụ của mạng, tuy nhiên việc cải tiến trên là khó khăn , do vậy người ta thường cải thiện theo hướng nâng cấp phần mềm.
Internet Layer (lớp internet hay còn gọi là lớp mạng): cung cấp chức năng đánh địa chỉ, độc lập với phần cứng , nhờ đó dữ liệu có thể truyền độc lập giữa cấc
mạng có mô hình vật lý khác nhau. Lớp này chịu trách nhiệm truyền các gói qua mạng, hỗi trợ các giao thức liên mạng IP, định tuyến các gói trong liên mạng.
Transpost Layer (lớp vận chuyển): chịu trách nhiệm truyền thông điệp từ một tiến trình tới một tiến trình khác, (tiến trình là một chương trình đang chạy). Nó có hai giao thức rất khác nhau là: giao thức điều khiển truyền dẫn (TCP) và giao thức người sử dụng (UDP) .
Applycation Layer (lớp ứng dụng): điều khiển từng ứng dụng cụ thể. Nó tương ứng với các lớp ứng dụng, và phiên trong mô hình OSI. Nghĩa là nó cũng bao gồm các giao thức mức cao, mã hóa điều khiển hội thoại…hiện nay có hàng chăm thậm chí đến hàng nghìn giao thức thuộc lớp này.
Sự hoạt động mô tả theo mô hình TCP/IP
Cũng giống như trong mô hình tham chiếu OSI , dữ liệu gửi từ tầng ứng dụng đi xuống , và khi qua mỗi tầng nó được định nghĩa riêng về dữ liệu mà nó sử dụng.
Hình 1.2: Mô tả đóng gói dữ liệu theo kiến trúc TCP/IP
Tại nơi gửi, mỗi tầng nó coi gói tin từ tầng trên gửi xuống như là dữ liệu của nó và thêm vào gói tin các thông tin điều khiển của mình, sau đó nó lại chuyển tiếp xuống tầng dưới. Tại nơi nhận thì quá trình lại ngược lại, tại mỗi tầng nó tách thông tin điều khiển của mình ra , tiếp đó nó chuyển tiếp lên tầng trên.
Sự tương quan giữa hai mô hình TCP/IP với mô hình OSI:
Mô hình TCP/IP ra đời trước mô hình OSI lên nó hoàn toàn không hề phụ thuộc vào mô hình chuẩn này. Tuy nhiên do hai mô hình đều có mục tiêu như nhau do đó nên có sự tương quan giữa hai mô hình .
ứng dụng
Trình diễn
phiên
Giao vận
Mạng
vật lý
Ứng dụng
Mô hình OSI I
Ứng dụng
Trình diễn
Phiên
Giao vận
Mạng
Mô hình TCP/IP I
Giao vận
Mạng
Truy nhập
Liên kết
Hình 1.3: Sự tương quan giữa hai mô hình TCP/IP và OSI
1.2 Một số giao thức cơ bản trong mô hình TCP/IP
Hình1.4: Mô hình phân lớp bộ giao thức TCP/IP
Bản thân TCP/IP là tập hợp nhiều giao thức với nhau: được chia ra nằm trong các lớp khác nhau, có chức năng khác nhau như (SMTP, FTP,SNMP… ; TCP, UDP; IP).
1.2.1 Tầng ứng dụng
Tầng ứng dụng cung cấp các dịch vụ dưới dạng các giao thức cho ứng dụng của người dùng. Một số giao thức tiêu biểu tại tầng này như:
SMTP: Giao thức truyền thư điện tử giữa các máy tính. Đây là dạng đặc biệt của truyền tệp được sử dụng để gửi các thông báo tới một máy chủ qua thư hoặc giữa các máy với nhau. Nó được sử dụng rất phổ biến trên Internet ,dùng để gửi các message “email” dựa trên địa chỉ của email.
FTP: Đây là một dịch vụ hướng kết nối và tin cậy, sử dụng TCP để cung cấp truyền tệp giữa các hệ thống hỗ trợ FTP.
Telnet: Cho phép các phiên đăng nhập từ xa giữa các máy tính. Do Telnet hỗ trợ chế độ văn bản nên giao diện người dùng thường ở dạng dấu nhắc lệnh tương tác. Chúng ta có thể đánh lệnh và các thông báo trả lời sẽ được hiển thị.
DNS (Domain Name System): Chuyển đổi tên miền thành địa chỉ IP. Giao thức này thường được các ứng dụng sử dụng khi người dùng ứng dụng này dùng tên chứ không dùng địa chỉ IP.
1.2.2 Tầng giao vận
Một giao thức tầng giao vận thường có nhiều chức năng. Một trong số đó là tạo một truyền thông tiến trình-tới-tiến trình. Để thực hiện điều này, TCP sử dụng cổng. Một chức năng khác của giao thức tầng giao vận là tạo một cơ chế điều khiển luồng và điều khiển lỗi ở mức giao vận. TCP sử dụng giao thức cửa sổ trượt để thực hiện điều khiển luồng. Nó sử dụng gói xác nhận, thời gian chờ và truyền lại để thực hiện điều khiển lỗi.
1.2.2.1 Giao thức TCP
TCP là một giao thức hướng kết nối. Nó có trách nhiệm thiết lập một kết nối với phía nhận, chia luồng dữ liệu thành các đơn vị có thể vận chuyển, đánh số chúng và sau đó gửi chúng lần lượt.
Truyền thông tiến trình-tới-tiến trình
IP có trách nhiệm truyền thông ở mức máy tính (truyền thông trạm-tới-trạm). Là một giao thức tầng mạng, IP chỉ có thể chuyển phát các thông báo tới máy đích. Tuy nhiên, đây chưa phải là một chuyển phát hoàn chỉnh. Thông báo cần được xử lý bởi đúng chương trình ứng dụng. Trách nhiệm chuyển thông báo tới chương trình ứng dụng thích hợp là chức năng của TCP.
Địa chỉ cổng
Mặc dù có một số cách để thực hiện truyền thông tiến trình-tới-tiến trình, nhưng cách thông dụng nhất là thực hiện thông qua mô hình khách-chủ (client-server). Một tiến trình trên máy cục bộ, được gọi là khách, cần một dịch vụ từ một ứng dụng trên trạm ở xa, được gọi là chủ.
Cả hai tiến trình (khách, chủ) có cùng một tên. Ví dụ, để lấy thời gian và ngày tháng từ một máy chủ ở xa, chúng ta cần một tiến trình khách Daytime chạy trên máy cục bộ và một tiến trình chủ Daytime chạy trên máy ở xa.
Các hệ điều hành hiện nay hỗ trợ cả môi trường đa người dùng và đa chương trình. Một máy ở xa có thể chạy nhiều chương trình ứng dụng cùng lúc, giống như nhiều máy cục bộ có thể chạy một hoặc nhiều chương trình khách cùng lúc.
Trạm cục bộ và trạm ở xa được xác định sử dụng địa chỉ IP. Để xác định các tiến trình, chúng ta cần một số hiệu nhận dạng thứ hai, đó là số cổng. Trong TCP/IP, số cổng là một số nguyên nằm trong khoảng từ 0 đến 65535 (số 2 byte).
Chương trình khách tự xác định nó bằng một số cổng được chọn ngẫu nhiên. Cổng này được gọi là cổng ngẫu nhiên.
Chương trình chủ cũng phải tự xác định bằng một số cổng. Tuy nhiên, cổng này không thể được chọn ngẫu nhiên. Nếu máy chủ ở xa chạy một tiến trình chủ và lấy một số ngẫu nhiên là số cổng, thì ứng dụng ở máy khách muốn truy nhập và sử dụng dịch vụ trên máy chủ đó sẽ không biết được số cổng cần sử dụng. Tất nhiên, một giải pháp có thể là gửi một gói đặc biệt để yêu cầu số cổng của một ứng dụng chủ cụ thể, tuy nhiên cách này làm tăng lưu lượng mạng. TCP/IP đã chọn cách sử dụng các số cổng thông dụng cho các ứng dụng chủ. Mọi tiến trình khách phải biết số cổng của tiến trình chủ tương ứng.
Bây giờ, chúng ta đã biết rằng địa chỉ IP và số cổng đóng vai trò khác nhau trong việc chọn đích cuối cùng của dữ liệu. Địa chỉ IP đích xác định trạm trong số nhiều trạm khác nhau. Sau khi trạm đã được chọn, số cổng xác định một tiến trình trên trạm cụ thể đó.
Các số cổng được chia thành ba vùng: thông dụng, đăng ký và động.
Cổng thông dụng: Các cổng nằm trong khoảng từ 0 đến 1023 là các cổng thông dụng. Những cổng này được gán và giám sát bởi IANA.
Cổng đăng ký: Các cổng nằm trong khoảng từ 1024 đến 49151 không do IANA gán và điều khiển. Chúng chỉ có thể được đăng ký với IANA để tránh trùng lặp.
Cổng động: Các cổng nằm trong khoảng từ 49152 đến 65535 có thể được sử dụng bởi mọi tiến trình. Chúng còn được gọi là các cổng ngẫu nhiên.
Địa chỉ socket
Để thiết lập kết nối, TCP cần hai số hiệu nhận dạng: địa chỉ IP và số cổng. Sự kết hợp địa chỉ IP và số cổng được gọi là địa chỉ socket. Để sử dụng dịch vụ TCP, chúng ta cần một cặp địa chỉ socket: địa chỉ socket khách và địa chỉ socket chủ. Địa chỉ socket khách để định danh duy nhất ứng dụng khách. Địa chỉ socket chủ để định danh duy nhất ứng dụng chủ. Bốn thông tin này là một phần của tiêu đề IP và tiêu đề TCP. Tiêu đề IP chứa địa chỉ IP; tiêu đề TCP chứa địa chỉ cổng.
Các dịch vụ TCP
Dịch vụ dữ liệu luồng:
TCP được xem như một dịch vụ luồng tầng giao vận, nghĩa là TCP gửi chấp nhận một luồng ký tự từ chương trình ứng dụng gửi, tạo gói (được gọi là phân đoạn) có kích thước thích hợp được trích ra từ luồng dữ liệu, và gửi chúng qua mạng. TCP nhận nhận các phân đoạn, trích phần dữ liệu, sắp xếp thứ tự nếu chúng đến không đúng thứ tự, và chuyển chúng dưới dạng một luồng ký tự tới chương trình ứng dụng nhận.
Để chuyển phát theo luồng, TCP phía gửi và phía nhận sử dụng các bộ đệm. TCP gửi sử dụng một bộ đệm gửi để lưu dữ liệu đến từ chương trình ứng dụng gửi. TCP nhận lưu các phân đoạn nhận được ở bộ đệm nhận.
Dịch vụ song công:
TCP cung cấp dịch vụ song công, nghĩa là dữ liệu có thể chảy theo hai hướng cùng lúc. Sau khi hai chương trình ứng dụng được kết nối với nhau, chúng có thể gửi và nhận dữ liệu. Một kết nối TCP có thể mang dữ liệu từ ứng dụng A đến ứng dụng B cùng lúc với dữ liệu từ ứng dụng B đến ứng dụng A. Khi gói được gửi từ A đến B, nó có thể mang thông tin xác nhận về các gói mà A đã nhận được của B và ngược lại. Nghĩa là dữ liệu có thể được gửi kèm xác nhận. Tất nhiên, nếu một phía không có dữ liệu để gửi, nó có thể chỉ gửi xác nhận mà không có dữ liệu.
Dịch vụ tin cậy
TCP là một giao thức giao vận tin cậy. Nó sử dụng cơ chế xác nhận để kiểm tra sự an toàn và sự đến của dữ liệu.
Mào đầu của phân đoạn TCP
Phần tiêu đề có chiều dài từ 20 byte đến 60 byte, theo sau là dữ liệu từ chương trình ứng dụng. Tiêu đề có chiều dài 20 byte nếu nó không chứa tùy chọn và có chiều dài tối đa 60 byte nếu nó chứa một số tùy chọn.
Hình 1.5 Phần tiêu đề TCP
Các trường của phần tiêu đề:
- Cổng nguồn (Source Port): Trường 16 bít này xác định số cổng của chương trình ứng dụng gửi.
- Cổng đích (Destination Port): nó x