Tải bản đầy đủ (.doc) (115 trang)

TCP-IP TRONG MẠNG ATM_ CLASSICAL IP OVER ATM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (551.58 KB, 115 trang )

Đồ án tốt nghiệp
Giới thiệu đề tài:
TCP/ IP TRONG MẠNG ATM_ CLASSICAL IP OVER ATM
Khi thời đại công nghệ thông tin phát triển mạnh mẽ dưới sự trợ giúp của công nghệ
viễn thông tiên tiến , chúng ta đã và đang nghĩ đến một mạng thông tin thế hệ mới.
Hiện tại , Internet là sản phẩm của sự tích hợp giữa các mạng truyền thống với mạng
nền tảng TCP/ IP đang phát triển với lượng lớn các thuê bao ngày càng tăng mạnh mẽ.
Tuy nhiên nó chưa đáp ứng được một cách thực sự cho các yêu cầu dịch vụ giá trị gia
tăng cũng như quy mô đa phương tiện trên mạng thống nhất.
Mặt khác , công nghệ ATM lại có vai trò vô cùng to lớn , đưa ra những điều kiện
quan trọng cho sự phát triển của kĩ thuật mạng cục bộ LAN lẫn các mạng diện rộng
WAN . Nó cho phép thiết lập một hệ thống mạng đa dịch vụ không chỉ cho phép tiếng
nói và số liệu được vận chuyển trên cùng một mạng dịch vụ nền tảng TCP/ IP mà còn
có thể cho phép tích hợp cùng các luồng dữ liệu video có tốc độ truyền thay đổi theo
yêu cầu sử dụng .
Một giải pháp kế thừa mang tính tối ưu cho sự phối hợp độc đáo giữa TCP/ IP và
ATM ( họ giao thức thiết kế cho mạng không kết nối – connectionless và mạng sử dụng
kĩ thuật hướng kết nối – connection oriented ) bằng việc áp dụng vào mạng backbone
được đưa ra tại triển lãm TELECOM 99 tổ chức tại Geneve .
Dựa trên kiến thức trên cơ sở của họ giao thức TCP/IP và công nghệ ATM , hơn nữa
được sự phân công của nhà trường , khoa Điện - Điện tử và bộ môn Kỹ thuật viễn
thông nên trong thời gian làm đồ án em đã tìm hiểu vấn đề “TCP/IP trong mạng ATM –
Classical IP over ATM “ . Với khuôn khổ của một đồ án tốt nghiệp , em xin trình bày
các vấn đề chủ yếu để làm rõ vấn đề này như sau:
Phần I: Tổng quan về Internet và họ giao thức TCP/IP
• Cấu trúc phân lớp trong TCP/IP
• Giao thức Internet – IP
• Giao thức điều khiển truyền – TCP
• Hoạt động của TCP/IP
Phần II : Giới thiệu mạng truyền không đồng bộ ATM
• Tổng quan về ATM


• Cấu trúc phân lớp trong ATM, lớp tương thích ATM AAL –5
• Chuyển mạch ATM
• Báo hiệu và cấu trúc địa chỉ của ATM
Phần III: Kết nối TCP/IP qua mạng ATM – Classical IP over ATM
• Các mô hình kết nối TCP/IP qua mạng ATM
TCP/IP trong mạng ATM- Classical IP over ATM
1
Đồ án tốt nghiệp
• Classical IP over ATM
• Bao đóng gói tin tại lớp tương thích ATM AAL –5
• Phân giải địa chỉ ATM dựa vào giao thức ATMARP/InATMARP
• Các giao thức hỗ trợ cho Classical IP over ATM
TCP/IP trong mạng ATM- Classical IP over ATM
2
Đồ án tốt nghiệp
PHẦN MỘT:
INTERNET VÀ HỌ GIAO
THỨC TCP/IP
TCP/IP trong mạng ATM- Classical IP over ATM
3
Đồ án tốt nghiệp
1.GIỚI THIỆU SỰ RA ĐỜI VÀ PHÁT TRIỂN CỦA INTERNET
CÙNG HỌ GIAO THỨC TCP/IP
Mạng Internet có tiền thân là ARPANET do cục các dự án nghiên cứu tiên tiến
ARPA( Advanced Research Project Agency) thuộc Bộ quốc phòng Mỹ xây dựng lên
vào khoảng cuối những năm 60 của thế kỉ 20 . Thời gian này , giao thức truyền thống
dùng trong ARPANET được đặt tên là NCP (Network control protocol).Tuy nhiên do
nhu cầu thực tế , các nhà thiết kế ARPANET ngay từ buổi ban đầu đã nhận thức được
rằng cần xây dựng một “ mạng của các mạng” và vào những năm 70 , họ giao thức
TCP/IP ra đời cùng tồn tại với mạng NCP đến năm 1983 thì hòan tòan thay thế NCP

trong ARPANET .
ARPANET nhanh chóng mở rộng tầm hoạt động và trở thành một mạng quốc gia.
Trong thời gian đó , hãng Xerox đã phát triển một trong những công nghệ sớm nhất và
phổ biến nhất của mạng cục bộ là Ethernet với phương pháp truy nhập đường truyền
vật lý CSMA/CD. Họ giao thức TCP/IP được tích hợp vào môi trường điều hành (do
trường đại học California ở Berkeley sáng tạo ra) và sử dụng chuẩn Ethernet để kết nối
các trạm làm việc với nhau . Đến khi xuất hiện các máy tính cá nhân PC thì TCP/IP lại
được chuyển sang môi trường PC , cho phép các máy PC chạy DOS và các tạm làm
việc chạy UNIX có thể liên tác trên cùng một mạng . Cứ thế TCP/IP ngày càng được
sử dụng nhiều tron cả mạng diện rộng WAN lẫn trong mạng cục bộ LAN .
Thuật ngữ “Internet” xuất hiện lần đầu tiên vào khoảng năm 1974, nhưng mạng với
tên gọi ARPANET vẫn tồn tại chính thức đến đầu những năm 80. Đến năm 1986, Ủy
ban khoa học quốc gia Mỹ - NSF ( National Science Foundation) bảo trợ cho năm trung
tâm siêu tính của toàn liên bang và kết nối chúng với nhau thành một trạm xương sống
phục vụ cho nghiên cứu khoa học. Vào năm 1978 mạng NSF ra đời cho phép kết nối 7
mạng vùng với các trạm siêu tính ở trên. Sự xuất hiện của mạng xương sống NSF và
các mạng vùng đã thúc đẩy mạnh mẽ sự phát triển của Internet. Sau đó các tổ chức
chính phủ cùng giới kinh doanh cũng vào cuộc và ngày càng chiếm tỷ trọng đáng kể
trong thế giới Internet. Internet nhanh chóng vượt ra khỏi nước Mỹ và trở thành mạng
toàn cầu.
Vậy Internet là một mạng truyền thông dữ liệu diện rộng, bao trùm cả thế giới với
cấu hình mạng nhện nhằm hướng đến sự an toàn thông tin khi có sự cố xảy ra (chiến
tranh, phá hoại......)
Mạng Internet là một xa lộ thông tin liên kết các máy tính lại với nhau thông qua
mạng điện thoại hay các kênh chuyên dùng đặc biệt . Thông qua Internet người dùng có
thể liên lạc với nhau, tìm kiếm dữ liệu thông tin hoặc truy xuất một số dịch vụ khác
nhau.....
TCP/IP trong mạng ATM- Classical IP over ATM
4
Đồ án tốt nghiệp

Mạng Internet có thể coi là một cộng đồng các mạng LAN kết nối với nhau sử dụng
bộ giao thức TCP/IP
2. HỌ GIAO THỨC TCP/IP
Khái niệm giao thức là một khái niệm cơ bản của mạng truyền thông . Có thể hiểu
một cách khái quát rằng đó là tập hợp tất cả các qui tắc , qui ước cần thiết ( các thủ tục ,
khuôn dạng dữ liệu , cơ chế phụ trợ ...) cho phép các thao tác trao đổi thông tin trên
mạng được thực hiện một cách chính xác và an toàn . Có rất nhiều họ giao thức đang
được thực hiện trên mạng truyền thông hiện nay như IEEE 802 .X dùng trong mạng cục
bộ , CCITT –X25 dùng cho mạng diện rộng và đặc biệt là họ giao thức chuẩn của ISO
(tổ chức tiêu chuẩn hóa quốc tế ) dựa trên mô hình tham chiếu bẩy tầng cho việc kết nối
các hệ thống mở . Và gần đây họ giao thức TCP/IP đã được đưa vào sử dụng .
Bộ giao thức TCP/IP ( Transport Control Protocol/ Internet Protocol- giao thức điều
khiển truyền số liệu / giao thức Internet) lấy tên hai giao thức quan trọng nhất , là họ
giao thức cùng làm việc với nhau để cung cấp phương tiện truyền thông liên mạng .
TCP là giao thức hướng liên kết ( connection oriented ) ở lớp 4 trong mô hình 7 lớp
OSI cung cấp phương thức truyền dữ liệu tin cậy , chính xác , cho phép truyền lại các
gói tin bị mất trong quá trình truyền . IP là họ giao thức “ không hướng liên kết”
( connectionless) ở lớp 3 trong mô hình mạng 7 lớp OSI , cung cấp phương thức truyền
linh hoạt , nó tạo ra một liên kết ảo khi truyền các gói dữ liệu . Đây là bộ giao thức có
thể được đảm bảo về độ tin cậy khi truyền tin trong môi trường WAN .
Hình 1.1 dưới đây minh họa kiến trúc kết nối các mạng con sử dụng TCP và IP ,
trong đó tất cả các hệ thống thành viên của liên mạng đòi hỏi phải cài đặt IP ở tầng
mạng.
TCP/IP trong mạng ATM- Classical IP over ATM
5
Đồ án tốt nghiệp
DHa, PHYa: Giao thức truy nhập mạng của host A
DHb, PHYb: Giao thức truy nhập mạng của host B
Hình 1.1:Kết nối các mạng con thành liên mạng với TCP/I
2.1 CẤU TRÚC PHÂN LỚP TRONG TCP/IP

Để có một cái nhìn tổng quan về họ giao thức TCP/IP , hình 1.2 dưới đây sẽ mô tả
kiến trúc của nó với sự so sánh cùng mô hình tham chiếu chuẩn OSI.
Mô hình OSI
Mô hình TCP/IP
Hình 1.2: So sánh mô hình phân lớp của TCP/IP và OSI
Và hình 1.3 là kiến trúc chi tiết của họ giao thức TCP/IP
TCP/IP trong mạng ATM- Classical IP over ATM
Ứng dụng
Trình diễn
Phiên
Giao vận
Mạng
Liên kết dữ liệu
Vật lý
Ứng dụng
Giao vận
Internet
Truy nhập mạng
6
Đồ án tốt nghiệp

Ứng dụng
Giao vận
Mạng
Giao diện
Hình 1.3:Kiến trúc họ giao thức TCP/IP
Từ hai hình trên ta nhận thấy . TCP/IP được cấu trúc thành 4 lớp :
• Lớp truy nhập mạng (Network Access Layer)
• Lớp liên mạng ( Internet Layer)
• Lớp vận chuyển ( Transport Layer)

• Lớp ứng dụng( Application Layer)
2.1.1 LỚP TRUY NHẬP MẠNG

Network Access Layer là lớp thấp nhất trong cấu trúc phân cấp của TCP/IP . Giao
thức ở lớp này cung cấp hệ thống phương thức để truyền dữ liệu trên các tầng vật lý
khác nhau của mạng . Nó định nghĩa cách thức truyền các khối dữ liệu IP . Các giao
thức ở đây phải biết chi tiết các phần cấu trúc vật lý mạng ở dưới nó (bao gồm cấu trúc
gói , địa chỉ....) để định dạng được chính xác các dữ liệu sẽ được truyền tùy thuộc vào
từng mạng cụ thể.
So sánh với cấu trúc OSI thì lớp này của TCP tương ứng với ba lớp Network , Data
Link và Physical trong cấu trúc OSI .
Chức năng định dạng dữ liệu được truyền ở lớp này bao gồm việc bao đóng gói các gói
dữ liệu IP vào các frame sẽ được truyền trên mạng và việc sắp xếp các địa chỉ IP vào
phần địa chỉ vật lý được dùng cho mạng.
2.1.2 LỚP LIÊN MẠNG
TCP/IP trong mạng ATM- Classical IP over ATM
7
Đồ án tốt nghiệp
Internet Layer là lớp ở ngay trên lớp Network Access trong cấu trúc phân lớp của
TCP/IP . Internet Protocol – IP là giao thức trung tâm của TCP/IP và là phần quan
trọng nhất của lớp Internet . IP cung cấp các gói lưu chuyển cơ bản mà thông qua đó
các mạng dùng TCP/IP được xây dựng .
IP bao gồm một số chức năng sau:
• Định nghĩa khối dữ liệu (datagram)- khối cơ bản của việc truyền tin.
• Định nghĩa hệ thống địa chỉ IP
• Truyền dữ liệu giữa lớp Transport và lớp Network Access
• Định tuyến đường để gửi các gói dữ liệu đến các trạm ở xa
• Thực hiện việc phân đoạn và tái lắp ráp các khối dữ liệu
2.1.3.LỚP VẬN CHUYỂN
Lớp giao thức nằm ngay trên IP là Transport . Hai giao thức quan trọng nhất trong

lớp này là TCP và UDP . TCP cung cấp dịch vụ truyền dữ liệu được tin tưởng với khả
năng phát hiện lỗi và sửa lỗi theo kiểu End – to –end . Còn UDP cung cấp các chương
trình ứng dụng thâm nhập trực tiếp đến các dịch vụ lưu chuyển Datagram , điều này
cho phép trao đổi các thông điệp ra ngoài mạng với một số lượng nhỏ các giao thức. Cả
hai giao thức này đều truyền dữ liệu giữa lớp ứng dụng và lớp Internet.
Trong khi IP là giao thức thuộc loại “ không hướng liên kết” như đã nói ở trên thì TCP
thuộc loại “ có hướng liên kết” nghĩa là phải có thủ tục thiết lập liên kết và giải phóng
liên kết . Về chức năng TCP tương đương với lớp giao thức đầy đủ nhất của giao thức
chuẩn Transport của OSI . Tuy nhiên , khác với mô hình OSI , TCP sử dụng phương
pháp trao đổi các dòng dữ liệu ( data stream) giữa người sử dụng . Dữ liệu theo dòng
cũng được phân đoạn thành các TPDU ( Transport Protocol Data Unit ) để truyền đi.
Giao thức UDP là một giao thức “ không hướng liên kết “. Trong hệ thống mạng,
UDP truyền dữ liệu một cách trực tiếp . Nó sử dụng 16 bit để ghi nhận cổng nguồn và
cổng đích trong phần header của dữ liệu . Cổng ở đây có khái niệm như là một số với
giá trị từ 0 đến 1023. Các cổng chuẩn là các cổng hay được dùng tới , ý nghĩa của từng
cổng được qui định theo một chuẩn nhất định . UDP làm một công việc rất đơn giản ,
nó truyền từng thông điệp tới IP để yêu cầu truyền . Do IP là loại giao thức không thực
nên ở đó không có gì đảm bảo cho sự truyền.Khi lớp ứng dụng gửi một yêu cầu qua
UDP datagram và lời đáp không quay trở lại trong một số lần nào đó thì nó sẽ yêu cầu
lớp ứng dụng gửi lại yêu cầu.
2.1.4.LỚP ỨNG DỤNG
Lớp ứng dụng là giao thức nằm trên cùng trong cấu trúc phân lớp của bộ giao thức
TCP/IP . Lớp này bao gồm tất cả các tiến trình dùng các giao thức của lớp Transport để
truyền dữ liệu . Có nhiều giao thức ứng dụng ở lớp này . Phần lớn chúng đều cung cấp
cho người dùng các dịch vụ tương ứng . Các dịch vụ thông dụng trên lớp này:
• Telnet: cung cấp khả năng truy cập từ xa thông qua mạng
TCP/IP trong mạng ATM- Classical IP over ATM
8
Đồ án tốt nghiệp
• FTP: dùng để truyền file trên mạng

• SMTP: truyền thư điện tử
• Các dịch vụ khác như Gopher, Mosaic..........
Ngoài các lớp phân tích ở trên , như trong kiến trúc chi tiết của họ giao thức TCP/IP
ta còn gặp một số những thủ tục trợ giúp như ICMP, ARP và RARP...
 Thủ tục ICMP ( Internet Control Message Protocol)
Thủ tục này dùng để gửi các bản tin và thông tin điều khiển giữa các host theo giao
thức IP , nó rất có ích cho việc gỡ rối cho mạng và thông báo tình trạng của mạng . Các
router phát bản tin ICMP để báo cho các host trong trường hợp gói tin không tới hoặc
tồn tại đường đi tốt hơn. Một số tình huống thường xảy ra
• Bản tin không tới được đích do có lỗi hoặc không tìm được đường đi
• Thay đổi đường đi của bản tin do tồn tại đường đi tối ưu hơn
• Hết / quá thời gian khi TTL về 0
• Xuất hiện yêu cầu trả lời
 Thủ tục ARP( Address Resolution Protocol)
Mỗi ghép nối mạng có một địa chỉ giao thức mạng (IP) và địa chỉ giao thức dữ liệu
riêng. Do đó cần có bảng ánh xạ giữa hai địa chỉ này (tức là giữa địa chỉ ảo và địa chỉ
vật lý) . Việc ánh xạ này đã được giải quyết thông qua thủ tục ARP.Các gói tin ARP
được đóng gói trong khung dữ liệu liên kết (datalink frame)
ARP ánh xạ địa chỉ IP sang địa chỉ của dữ liệu liên kết . Trạm tin sẽ gửi đi gói tin yêu
cầu ARP và nhận gói tin trả lời ARP
 Thủ tục RAPR (Reverse Address Resolution Protocol)
RAPR có chức năng ngược với ARP , nó được sử dụng để ánh xạ địa chỉ vật lý sang
địa chỉ mạng.
2.2.GIAO THỨC INTERNET IP
IP là giao thức cung cấp dịch vụ truyền thông theo kiểu “không hướng liên kết” hay
còn gọi là dịch vụ datagram( tên gọi của đơn vị dữ liệu sử dụng giao thức IP). Phương
thức không liên kết cho phép cặp đối tác không cần phải thực hiện việc thiết lập liên kết
trước truyền dữ liệu và do vậy cũng không cần phải giải phóng liên kết khi không còn
nhu cầu truyền dữ liệu nữa. Điều này làm giảm nhẹ công sức cài đặt hệ thống nhưng
tăng độ phức tạp kiểm soát luồng dữ liệu và tiếp nhận sự đúng đắn dữ liệu trong trường

hợp nhiều người sử dụng đồng thời trên mạng.
Cấu trúc dữ liệu được truyền ở lớp IP được định nghĩa là các datagram. Mỗi
datagram có một header chứa các thông tin cần thiết để truyền dữ liệu đi. Trong phần
header này có chứa địa chỉ đích và IP sẽ truyền dữ liệu bằng cách kiểm tra địa chỉ đích
này. Nếu địa chỉ đích là địa chỉ của một trạm nằm trong cùng một mạng với máy nguồn
thì các gói dữ liệu sẽ được truyền thẳng tới đích , còn nếu địa chỉ đích không nằm trong
TCP/IP trong mạng ATM- Classical IP over ATM
9
Đồ án tốt nghiệp
cùng một mạng với máy nguồn thì các gói dữ liệu phải được gửi đến một gateway để
truyền đi( gateway thực hiện lưu chuyển các gói dữ liệu nằm giữa hai mạng vật lý khác
nhau)
2.2.1.KHUÔN DẠNG GÓI DỮ LIỆU IP
Đơn vị dữ liệu sử dụng trong giao thức truyền thống IP là datagram, gồm hai phần :
• Phần thông tin điều khiển ( header) có chiều dài lớn nhất đến 60 octets và chiều
dài nhỏ nhất là 20 octets
• Phần dữ liệu người sử dụng có kích thước không quá 65.536 octets.
Các thành phần trong một datagram có thể tóm tắt như sau:
Bit 0 3 4 7 8 15 16 31
Header
Error! Not a valid link.
Hình 1.4: Khuôn dạng của IP datagram
• Version ( phiên bản giao thức IP ) : gồm 4 bit dùng để chỉ phiên bản hiện hành
của IP được cài đặt . Các phiên bản hiện hành không liên kết làm việc được với
các phiên bản cũ. Nếu một datagram đến mang phiên bản không phù hợp sẽ bị
hủy bỏ bởi phần mềm của phiên bản hiện hành.
• Internet Header Length ( chiều dài tiêu đề _IHL) : trường này chỉ độ dài của
header , được tính theo đơn vị là word of service ( loại dịch vụ sử dụng): là
trường chứa thông tin
1 word = 32 bit = 4 byte

Độ dài tối thiểu của một header là 5 word
• Type of service : Nó gồm 8 bit, thông báo cho mạng biết về chất lượng của dịch
vụ QoS được yêu cầu như mức độ ưu tiên, thời gian trễ cho phép , độ tin cậy ,
hiệu suất đường truyền.....
• Total length( chiều dài tổng cộng của datagram): trường này sử dụng16bit để
chỉ độ dài toàn bộ datagram tính theo đơn vị octets . Kích thước tối đa của
datagram là 65.535 octets . Hiện nay chưa có datagram nào đạt tới giá trị này
bởi việc sử dụng các bộ đệm khác nhau về kích thước cũng như kĩ thuật mạng
cũng làm giới hạn kích cỡ datagram.
TCP/IP trong mạng ATM- Classical IP over ATM
Version IHL Type of service Total length
Identification Flags Fragement offset
Time to live Protocol Header checksum
Source Address
Destination
Option + Padding
Data (max: 65.535 bytes)
10
Đồ án tốt nghiệp
• Phân đoạn và tái lắp ráp datagram: các trường Identification , Flag và Fragment
–offset đóng vai trò chính trong việc phân đoạn và tái lắp ráp datagram.
Identification( trường nhận dạng ) : gồm 16 bit, định danh duy nhất từng datagram
khi nó còn trên mạng. Thông tin này giúp trạm đích nhận ra những đoạn dữ liệu mà nó
được phân ra từ một datagram.
Flag( cờ):gồm 3 bit

0 1 2
Bit 0: có giá trị là 0, không được sử dụng
Bit 1: DF =0 cho phép phân đoạn datagram
DF =1 không cho phép phân đoạn datagram

Bit 2: MF =0 cho biết đây là đoạn cuối cùng
MF =1 cho biết còn đọan tiếp theo
datagram được phân đoạn, mỗi đoạn chuẩn gọi là Fragment block

Fragment – offset (độ lệch đọan) : gồm 13 bit, trường này cho biết vị trí tương đối
của đoạn dữ liệu so với đoạn bắt đầu của dữ liệu gốc( khoảng cách được tính từ block
đầu tiên) . Một fragment block tính theo nhóm 8 octets nghĩa là phải nhân giá trị
fragment –offset với 8 để tính độ lệch octets.
• Time to live( TTL - thời gian tồn tại của một datagram trên mạng )- 8bit : thời
gian này được tính theo đơn vị là giây. Nó biểu thị thời lượng tối đa mà một
đơn vị dữ liệu được phép tồn tại trên mạng trước khi tới đích. TTL được gán giá
bởi trị bởi trạm nguồn. Thời gian tồn tại này sẽ bị giảm đi tại mỗi router trung
gian.
Mục đích của trường này là qui định thời hạn tồn tại của gói dữ liệu , nếu thời hạn
đã chấm dứt thì gói dữ liệu bị hủy bỏ . Trường này có hai chức năng chính:
• Giới hạn thời gian tồn tại của các đoạn dữ liệu nhận từ lớp cao xuống
• Kết thúc vòng lặp định tuyến của mạng
Với trường này cần chú ý một số vấn đề:
Trạm chủ không được gửi 1 gói dữ liệu với giá trị TTL =0
Một giao thức lớp trên có thể được phép ấn định TTL để thực hiện cuộc dò tìm tài
nguyên mạng trong phạm vi rộng
• Protocol ( trường giao thức) – 4 bit :trường này chỉ ra giao thức tầng trên sẽ
tiếp nhận các đoạn dữ liệu datagram. Các giá trị điển hình cho các giao thức
tầng trên:
TCP/IP trong mạng ATM- Classical IP over ATM
11
0 DF MF
Đồ án tốt nghiệp
UDP: trường protocol =17
TCP: trường protocol =6

ICMP: trường protocol =1
EGP: trường protocol =8
OSPE: trường protocol =89
• Header checksum (trường kiểm tra mào đầu): gồm 16 bit , là phần kiểm tra lỗi
của header trong datagram, thường sử dụng phương pháp CRC , nó chứa giá trị
tổng kiểm tra được tính tóan trên tất cả các trường của header( trừ header
checksum) . Trường này phải luôn được cập nhật khi một datagram được phát
đi từ các router trung gian do một số các trường có giá trị thay đổi như thời gian
tồn tại, sự phân đoạn và cả giá trị tùy chọn được ghi vào từng option
• Source/ Destination address( trường địa chỉ nguồn / đích):32bit , trường này
bao gồm 2 phần:
Nhận dạng mạng
Nhận dạng trạm
• Datagram( trường dữ liệu ): bao gồm các header của các giao thức tầng cao hơn
và dữ liệu người sử dụng
• Option( phần tùy chọn) : trường này có độ dài và giá trị thay đổi theo số lượng
và loại hình dịch vụ đăng kí sử dụng. Một số dịch vụ điển hình:
 Xác định , định tuyến từ trạm nguồn( Source- route)
 Ghi lại các router được định tuyến qua( Record- route)
 Định tuyến bảo mật( Sercurity- route)
 Ghi lại các router được định tuyến qua cùng thời gian xử lý tại router
đó( Time- stamp)
Lớp A
Lớp B
Lớp C
Lớp D
TCP/IP trong mạng ATM- Classical IP over ATM
0 Net- id Host - id
1 0 Net- id Host-id
1 1 0 Net- id Host- id

1 1 1 0 Multicast Address
12
Đồ án tốt nghiệp
Lớp E
Hình 1.5: Cấu trúc các lớp địa chỉ IP
2.2.2. ĐỊA CHỈ IP
Giao thức IP sử dụng địa chỉ IP để định vị các trạm (host) và định tuyến dữ liệu .
Mỗi host được gán một địa chỉ IP. Tên của host được dịch sang địa chỉ IP bằng cách
truy vấn tới một bảng chứa tên và địa chỉ.
Mỗi địa chỉ IP gồm 32 bit nhị phân với 2 phần tương ứng:
1. Địa chỉ mạng( Net- id): xác định mạng mà host được gắn vào
2. Địa chỉ trạm( Host-id): xác định địa chỉ của host trên mạng đó
Để tiện cho việc quản lý người ta chia địa chỉ IP thành 5 lớp ( class) , mỗi lớp tương
ứng với một kích thước mạng khác nhau và số lượng các trạm làm việc nối vào( hình
1.5)
5 bit đầu tiên cho biết cấu trúc lớp của địa chỉ được sử dụng:
Lớp A 0
Lớp B 10
Lớp C 110
Lớp D 1110
Lớp E 11110
Các bit còn lại được sử dụng cho hai phần net-id và host – id. Biên giới giữa hai
vùng được định vị trên biên giữa hai byte để tiện cho việc giải mã
• Lớp A cho phép định danh mạng cỡ lớn :126 mạng thành viên với tối đa
16x1016 host trên mỗi mạng.
• Lớp B cho phép định danh mạng cỡ trung bình: 2x106 mạng thành viên với tối
đa 65534 host trên một mạng.
• Lớp C cho phép định danh mạng cỡ nhỏ:2x106 mạng thành viên , với tối đa 254
host trên mỗi mạng.
• Lớp D định danh mạng phục vụ đa truyền thông( multicast)

• Lớp E dùng để dự phòng trong tương lai khi số trạm cũng như số mạng được
kết nối vào liên mạng ngày càng tăng lên và các lớp địa chỉ hiện nay không đáp
ứng được
TCP/IP trong mạng ATM- Classical IP over ATM
1 1 1 1 0 Reserved for future use
13
Đồ án tốt nghiệp
classA
classB
classC
Sè l¦îng
m¸y
Sè l¦îng host
nèi m¹ng
Ph¹m vi cña
Netid
126
16.777.214
1-126
16.384
65.534
128-191
29.097.152
254
192-223
H×nh 1.6
Hình 1.6: Phân lớp địa chỉ IP
Tuy nhiên sẽ xảy ra trường hợp một mạng thành viên lại gồm nhiều mạng con hợp
lại. Trong trường hợp đó , người ta đưa thêm vào địa chỉ IP một vùng subnet-id lấy từ
host –id để định danh cho các mạng con này. Hình dưới đây minh họa việc đưa thêm

vùng subnet-id vào các lớp
Từ việc bổ xung vùng subnet-id , một khái niệm mới được đưa ra: Subnet Mask,
cũng giống như địa chỉ IP, subnet mask bao gồm 32 bits. Mục đích của nó là để dõi
theo vùng nào trên địa chỉ IP dùng làm địa chỉ subnet và vùng nào dùng làm địa chỉ
cho các trạm làm việc. Nội dung của địa chỉ subnet mask được qui định:
• Các bit 1: chỉ định địa chỉ mạng trên địa chỉ IP
• Các bit 0: chỉ định địa chỉ host làm việc trên địa chỉ IP
Cần lưu ý rằng các địa chỉ IP được dùng để định danh các host và các mạng ở tầng
mạng không phải là địa chỉ vật lý của các trạm đó trên một mạng cục bộ. Mặt khác, 2
trạm chỉ có thể liên lạc với nhau nếu chúng biết địa chỉ vật lý của nhau.Do vậy , vấn đề
đặt ra là phải thực hiện ánh xạ giữa địa chỉ IP (32 bit) và địa chỉ IP sang địa chỉ vật lý
khi cần thiết . Ngược lại, giao thức RARP được xây dựng để chuyển đổi từ địa chỉ vật
lý sang địa chỉ IP.
2.2.3.HOẠT ĐỘNG CỦA IP
Như ta đã biết , IP được cài đặt ở tất cả các hệ thống cuối và router. Nó hoạt động
như một chuyển tiếp để truyền khối dữ liệu từ một host qua một hoặc nhiều router đến
một host khác. Các datagram được giao thức IP hướng đến router nội bộ. Nếu router
TCP/IP trong mạng ATM- Classical IP over ATM
14
Đồ án tốt nghiệp
này không được kết nối đến mạng đích , datagram phải được gửi đến một router khác
và cứ thế cho đến khi tới trạm đích. Việc hướng các datagram này tới đích được thực
hiện nhờ kĩ thuật định đường IP
Bây giờ , để hiểu rõ hơn về hoạt động của giao thức liên mạng IP ta đi tìm hiểu 2
vấn đề:
 Các bước thực hiện bởi một thực thể IP( hay quá trình truyền và nhận một
datagram)
 Định đường cho IP datagram
2.2.3.1.QUÁ TRÌNH THỰC HIỆN BỞI MỘT THỰC THỂ IP
 Thực thể IP ở trạm nguồn:Khi nhận được lệnh SEND từ tầng trên , nó thực

hiện các bước :
• Tạo một IP datagram dựa trên các tham số của lệnh SEND
• Tính checksum và ghép vào phần đầu của datagram
• Ra quyết định chọn đường
• Chuyển datagram xuống tầng dưới
 Đối với gateway: khi nhận được datagram quá cảnh, nó thực hiện các
tác động sau:
• Tính checksum, nếu không đúng thì loại bỏ datagram
• Giảm giá trị tham số thời gian tồn tại. Nếu thời gian đã hết thì loại bỏ
checksum, fragmentation
• Chuyển datagram xuống tầng dưới để truyền qua mạng
• Cuối cùng tới trạm đích, nó sẽ được thực hiện các công việc sau:
• Tính checksum, nếu không đúng thì loại bỏ datagram
• Tập hợp các đoạn của datagram
• Chuyển dữ liệu và các tham số điều khiển lên tầng trên
2.2.3.2. ĐỊNH ĐƯỜNG CHO IP DATAGRAM
Trong IP , việc định tuyến được thực hiện tại một host hoặc tại một router bằng cách
lưu giữ một bảng chọn đường. Căn cứ vào bảng này, thuật toán định đường IP sẽ tính
toán và lựa chọn ra đường đi nào thích hợp nhất để gửi đi một datagram qua mạng vật
lý đến trạm đích là nơi nhận datagram. Các phần mềm định đường sẽ tiến hành phân
tích các vấn đề như: xem xet kiểu mạng, chiều dài của datagram hay các kiểu dịch vụ
mô tả trong datagram header để tìm ra đường đi nào tốt nhất
Việc định tuyến trong liên mạng chia ra làm hai loại:
• Chuyển trực tiếp(direct delivery)
• Chuyển gián tiếp( indirect delivery)
TCP/IP trong mạng ATM- Classical IP over ATM
15
Đồ án tốt nghiệp
Chuyển trực tiếp là việc truyền một datagram từ một host đến một host khác trong
mạng vật lý đơn lẻ. Hai host bất kì chỉ có thể tham gia vào quá trình chuyển trực tiếp

khi chúng được kết nối vào cùng một hệ thống truyền tin vật lý.
Trong cách này, để truyền một IP datagram, trạm nguồn sẽ bao đóng nó trong một
khung tin vật lý, ánh xạ địa chỉ IP của trạm đích sang địa chỉ vật lý rồi truyền nó qua
mạng.
Chuyển gián tiếp , cách này được thực hiện khi 2 trạm gửi và nhận phải xem xét
nên gửi datagram đến trạm đích thông qua router nào . Sau đó sẽ là công việc của
router, router tiếp tục chọn ra một đường đi tốt nhất cho việc chuyển datagram đến trạm
đích qua một mạng khác mà nó nối vào.
Quá trình gửi một datagram từ trạm nguồn đến trạm đích gồm các bước sau: đầu
tiên, trạm nguồn sẽ bao đóng gói datagram và gửi đến một router gần nhất . Datagram
cần gửi có thể sẽ phải qua nhiều router trước khi đến đích. Khi khung tin đến router đầu
tiên, phần mềm IP sẽ lấy datagram đã được bao đóng gói ra , phân tích , lựa chọn router
tiếp theo cần phải qua. Sau đó datagram lại được đặt vào khung rồi gửi qua mạng vật
lý đến router thứ hai. Quá trình này cứ tiếp tục cho đến khi datagram đến được trạm
đích.
2.2.3.2.1.THUẬT TOÁN ĐỊNH ĐƯỜNG IP
Việc xác định đường đi cho IP trên liên mạng được thực hiện dựa vào một thuật
toán gọi là “thuật toán định đường IP”. Thuật toán này sẽ lựa chọn ra một đường đi tốt
nhất cho từng chặng trong quá trình chuyển datagram dựa trên chính datagram đó và
bảng định đường IP.
 Bảng định đường IP
Bảng định đường IP chứa những thông tin về các đích có thể đến và làm thế nào để
đến được các đích đó.
Trong liên mạng , tất cả các trạm làm việc cũng như các router đều có chứa bảng
định đường IP. Mỗi khi cần gửi một datagram , phần mềm IP trên trạm hoặc router sẽ
tham khảo đến bảng định đường IP để tìm ra đường đi cho datagram
Trở lại thuật toán định đường IP, giả sử gọi D là địa chỉ IP của trạm đích và N là
một tiền tố của mạng thì thuật toán định đường IP được phát biểu như sau:
if N khớp với địa chỉ mạng kết nối trực tiếp nào đó
Chuyển datagram đến đích D thông qua mạng đó ( việc này bao gồm cả chuyển đổi

từ địa chỉ IP sang địa chỉ vật lý và bao đóng gói datagram rồi chuyển khung)
else if Bảng định đường chỉ rõ một tuyến đường để đến D
TCP/IP trong mạng ATM- Classical IP over ATM
16
Đồ án tốt nghiệp
Gửi datagram đến chặng tiếp theo được chỉ ra trong bảng
else if Bảng định đường chứa một tuyến cho mạng N
Gửi datagram đến chặng tiếp theo được chỉ ra trong bảng
else if Bảng định đường chứa một tuyến đường cố định
Gửi datagram đến router mặc định được chỉ ra trong bảng
else Đưa ra lỗi định đường
2.2.3.2.2. ĐỊNH ĐƯỜNG VỚI ĐỊA CHỈ IP
Như đã phân tích về quá trình chuyển một IP datagram trong liên mạng, việc định
đường IP ( qua các trạm hay router) hầu như không làm thay đổi datagram nguồn ngoại
trừ việc xem xét lại thời gian sống TTL và tính lại checksum để kiểm tra xem
datagram có thể tồn tại trên liên mạng nữa hay không. Khi IP tiến hành thuật toán định
đường , nó lựa chọn các địa chỉ IP mới, đó chính là địa chỉ IP của trạm mà datagram sẽ
được gửi qua kế tiếp.Nếu datagram được chuyển trực tiếp thì địa chỉ mới chính là địa
chỉ của trạm đích . Trên liên mạng , địa chỉ mới gần như là địa chỉ của router. Như vậy,
có thể nói rằng địa chỉ IP được lựa chọn bởi thuật toán định đường IP, nó cho biết
datagram sẽ được gửi đi đâu tiếp theo.
2.3.GIAO THỨC ĐIỀU KHIỂN TRUYỀN TCP
TCP là một giao thức tin cậy hướng kết nối kiểu mút tới mút( end to end), được thiết
kế để phù hợp với việc phân cấp giao thức theo tầng , trợ giúp cho các ứng dụng liên
mạng. TCP cung cấp liên lạc tin cậy cho việc tương tác giữa các cặp quá trình trong các
máy host nối với các mạng liên lạc máy tính khác nhau nhưng có tương tác kết nối.
TCP cho rằng nó đã có một dịch vụ datagram đơn giản , còn tương tác thiếu tin cậy từ
các giao thức thấp hơn. Về nguyên tắc, TCP cần có khả năng điều hành trên một phạm
vi rộng các hệ liên lạc từ các kết nối dây cứng( hard wired) tới các mạng chuyển mạch
kênh hay chuyển mạch gói.

Giao thức TCP phù hợp với một kiến trúc phân tầng và nó chỉ nằm trên một giao
thức cơ bản là IP. IP là giao thức cung cấp cho TCP khả năng gửi và nhận các segment
thông tin có độ dài thay đổi được chứa trong các gói dữ liệu( datagram) như đã trình
bày trong chương giao thức Internet
2.3.1.KHUÔN DẠNG ĐƠN VỊ DỮ LIỆU TRONG TCP
TCP/IP trong mạng ATM- Classical IP over ATM
17
Đồ án tốt nghiệp
Source Destination
Sequence Number
Acknowledgement Number
Data
offset
Reserved U
R
A
C
P
S
R
S
S
Y
F
I
Window
Checksum Urgent Pointer
Options + Padding
Data
Hình 1.7: Khuôn dạng của TCP segment

Đơn vị dữ liệu sử dụng trong TCP được gọi là segment, gồm hai phần:
• Phần thông tin điều khiển (header) có chiều dài tối thiểu là 20 octets
• Phần dữ liệu người sử dụng
• Các thành phần trong một segment có thể tóm tắt như sau:
• Source port (16 bit): Số hiệu cổng của host nguồn
• Destination port (16 bit): Số hiệu cổng của host đích
• Sequence number (32 bit): Số hiệu tuần tự của byte dữ liệu đầu tiên trong
segment(trừ trường hợp khi SYN hiện diện). Nếu có bit SYN thì số hiệu tuần
tự là số hiệu ban đầu . Đây là một số 32 bit có thể thay đổi được dùng để thực
hiện việc điều đình khi TCP mở một kết nối với một TCP ở xa.
• Acknowlegement number(32 bit): Đây là byte được dùng để TCP gửi thông
điệp. TCP dùng trong trường này để báo cho biết liệu dữ liệu có được nhận
thành công hay không. Trường này sẽ được kiểm tra khi cờ ACK được dựng .
Nếu ACK được đặt thì trường này chứa giá trị của số hiệu tuần tự tiếp theo mà
bên gửi segment đang mong nhận được. Một khi kết nối được thiết lập thì
trường này (tức bit ACK) luôn được gửi đi.
• Data offset (4 bit): Trường này nối với người nhận nơi phần dữ liệu người dùng
bắt đậu và gián tiếp nói độ dài của bất kì lựa chọn TCP nào ở cuối phần header
(các tùy chọn)
• Reserved(6 bit): Luôn luôn được đặt là 0. Trường này được dự trữ cho tương
lai.
• Các cờ:
 URG: cờ này được đặt sẽ nói cho bên nhận TCP rằng trường urgent
cho biết vị trí byte trong dòng dữ liệu của dữ liệu nên được giải quyết
trước so với các dữ liệu khác trong thông điệp.
 ACK: cờ này được thiết lập cho mục đích dùng trường acknowlegement
 PSH: trường này nói rằng một thông điệp được nhận nên được gửi đến
tiến trình kết hợp với một sự kết nối được thiết lập ngay lập tức.
TCP/IP trong mạng ATM- Classical IP over ATM
18

Đồ án tốt nghiệp
 RST: cờ này chỉ ra rằng việc kết nối nên được thiết lập lại khi phần
mềm hoặc phần cứng bị hỏng.
 SYN:được dùng lúc ban đầu khi thiết lập việc kết nối
 FIN: chỉ ra rằng người gửi không còn thêm dữ liệu để truyền tiếp
Khi cờ này được chuyển đi thì việc kết nối đóng một lần nữa, trong trường hợp này
người nhận FIN có thể tiếp tục gửi dữ liệu nhưng sẽ không nhận thêm bất kì gói dữ
liệu nào từ người gửi. Chỉ đến khi người nhận gửi FIN thì sự kết nối mới thực sự đóng.
• Window (16 bit): Chỉ ra số các byte dữ liệu được chấp nhận. TCP dùng trường
này để điều khiển dòng truyền và quản lý buffer.
• Urgent (16 bit) : Đây là byte đăng kí dữ liệu nào trong thông điệp nên được xử
lý trước tiên.
• Checksum(16 bit): Trường checksum là phần bù 16 bit của tất cả các từ trong
header và dữ liệu. Nếu một segment có tổng số byte của header và dữ liệu là lẻ
khi kiểm tra thì byte cuối cùng sẽ được gán thêm vào bên phải bằng các giá trị 0
tạo nên một từ 16 bit để tính checksum. Phần thêm vào này không được truyền
như một thành phần của segment. Khi tính toán checksum, trường checksum tự
nó thay thế bằng các giá trị 0. Checksum cũng bao gồm có một header giả 96
bits được quan niệm gắn vào trước TCP header. Header giả này chứa địa chỉ
nguồn (Source Address), địa chỉ đích (Destination Address), giao thức
(Protocol), và độ dài TCP (TCP length). Việc này cho phép TCP tránh khỏi các
segment gửi nhầm đường . Thông tin này được mang trong IP và được truyền
qua giao diện của TCP với mạng theo các đối số hoặc các kết quả của những
trường gọi từ TCP tới IP.

Hình 1.8: Header giả của trường checksum
TCP length là độ dài của TCP header cộng thêm dữ liệu tính theo byte (đây không phải
là số lượng đã được truyền đi mà chỉ là số lượng được tính toán) và nó không tính 12
byte của header giả.
• Option(tùy chọn):

Tùy chọn (Option) có thể chiếm không gian ở cuối của TCP header và là bội của 8 bit
về độ dài . Tất cả các option đều được đưa vào trong checksum. Một option có thể bắt
đầu ở bất cứ ranh giới byte nào. Có 2 trường hợp cho khuôn dạng của option:
Trường hợp 1:Một byte kiểu option đơn (Option kind)
Trường hợp 2:Một byte kiểu option đơn , một byte độ dài option (Option length) và các
dữ liệu option thực tế (Option data)
TCP/IP trong mạng ATM- Classical IP over ATM
19
Source Address
Destination Address
Zero Protocol TCP length
Đồ án tốt nghiệp
Option Length đếm số lượng hai byte của Option kind và Option length cũng như các
byte của Option Data
Chú ý rằng , danh sách các option có thể ngắn hơn những gì mà trường data offset chỉ
ra. Nội dung của header cho tới option End of Option phải được chèn vào header(tức là
chèn bằng các số 0)và mỗi TCP segment phải thiết lập các option.
• Trường TCP datagram:
Trường này có độ dài thay đổi, nó chứa dữ liệu của tầng trên với độ dài tối đa ngầm
định là 563 bytes. Giá trị này có thể điều chỉnh bằng cách khai báo trong vùng option.
2.3.2.KHÁI NIỆM CỔNG , SOCKET VÀ CỬA SỔ TRƯỢT
2.3.2.1.CỔNG (PORT)
Trong cấu trúc phân lớp họ giao thức TCP/IP . TCP được đặt ở tần trên so với IP .
TCP sử dụng cổng giao thức để xác định một trạm nào đó trong liên mạng . Số hiệu
cổng cho các ứng dụng khách hàng được gán động nhờ hệ thống hoạt động khi có yêu
cầu về dịch vụ . Với các ứng dụng khách hàng “well known”, số hiệu cổng được gán
bởi IANA (Internet Assigned Numbers Authority) và không thay đổi.
Số hiệu cổng “well known” nằm trong khoảng từ 1 đến 1024 được sử dụng để truy
cập các dịch vụ đã được tiêu chuẩn hóa . Bảng sau đây sẽ chỉ ra một số cổng “well
known” và ứng dụng của nó:

Cổng Ứng dụng Mô tả
9 Loại bỏ Loại bỏ tất cả các dữ liệu đến
19 Bộ chuyển Trao đổi luồng các kí tự
20 FTP- Dữ liệu Cổng truyền dữ liệu, file
21 FTP Cổng hội thoại truyền file
23 TELNET Cổng truy nhập từ xa bằng TELNET
25 SMTP Cổng giao thức truyền mail đơn giản
103 X400 Sử dụng cho dịch vụ truyền mail X400
110 POP3 Sử dụng cho dịch vụ truyền mail PC
2.3.2.2.SOCKET
Socket là một khái niệm tương tự để điều khiển file, trong đó nó có chức năng như
một điểm kết cuối đối với quá trình thông tin trên mạng. Mỗi ứng dụng tạo ra một
socket bởi ba thuật ngữ tiêu biểu là địa chỉ IP của host, kiểu dịch vụ (TCP cho dịch vụ
hướng liên kết, UDP cho dịch vụ không hướng liên kết) và cổng mà ứng dụng đang sử
dụng.Mỗi ứng dụng có thể tạo ra một socket và sử dụng nó để gửi lưu lượng không
TCP/IP trong mạng ATM- Classical IP over ATM
20
Đồ án tốt nghiệp
hướng kết nối đến một socket thuộc ứng dụng khác . Sau đó dữ liệu có thể được gửi đi
một cách tin cậy qua kết nối này.
Các ứng dụng của socket
TCP port UDP port TCP port TCP port
69 25 23
20,21
0 65356 0 65356
Hình 1.9: Quan hệ giữa cổng và socket.
2.3.2.3.CỬA SỔ TRƯỢT TCP
Để giải quyết hai vấn đề:truyền có hiệu quả và điều khiển luồng dữ liệu, TCP đã sử
dụng kĩ thuật cửa sổ trượt . Với kĩ thuật này, nhiều TCP segment sẽ được gửi đi trước
khi nhận được báo hiệu đến từ nơi nhận và do đó làm tăng thông lượng truyền trên liên

mạng. Ngoài ra, kĩ thuật cửa sổ trượt TCP còn cho phép bên nhận tránh được tình trạng
dữ liệu gửi đến nếu như bộ đệm của nó không thể chứa nhiều dữ liệu.
Kĩ thuật cửa sổ trượt được tiến hành ở mức byte, các byte của luồng dữ liệu được
đánh số một cách tuần tự và khi cần truyền, giao thức sẽ đặt một cửa sổ nhỏ lên các
byte. Những byte nào nằm trong vùng cửa sổ ở một thời điểm nhất định sẽ được truyền.
Một cửa sổ TCP được định nghĩa bởi ba con trỏ như hình dưới đây:
Cửa sổ trượt
TCP/IP trong mạng ATM- Classical IP over ATM
21
FTP
Serv
TFTP
Server
SMT
P
TELNET
Server
Socket Interface
TCP UDP
IP
Đồ án tốt nghiệp
TCP

....
Các con trỏ
Hình 1.10.: Ví dụ về cửa sổ trượt
Tại mỗi thời điểm , con trỏ đầu tiên trỏ vào mép bên trái của cửa sổ , con trỏ thứ hai
trỏ vào mép bên phải của cửa sổ và con trỏ thứ ba xác định vị trí các byte đã được gửi
đi.
Quá trình truyền tin được thực hiện : đầu tiên , cửa sổ chứa vị dụ 8 byte từ 1 đến 8, 8

byte này được gửi cho bên nhận . Tiếp đó cửa sổ sẽ trượt để byte thứ 9 được gửi đi
ngay sau khi nhận được tín hiệu báo nhận ACK của byte thứ nhất từ trạm đích. Quá
trình trượt như vậy cứ tiếp tục cho đến khi tất cả các byte được gửi đi hết.
Kích thước của cửa sổ trượt TCP phụ thuộc vào số lượng dữ liệu có thể được nhớ
đệm tại bên nhận, nghĩa là nó có thể thay đổi theo thời gian . Trong mỗi báo nhận đều
có thông báo về tình trạng bộ đệm tại bên nhận , cho biết nó có thể tiếp nhận thêm bao
nhiêu byte dữ liệu nữa. Nếu có thông báo rằng kích thước bộ nhớ còn ít thì bên gửi sẽ
giảm kích thước của cửa sổ bên nó và không gửi số liệu vượt giới hạn của bộ đệm .
Còn nếu thông báo là kích thước bộ đệm tăng lên thì bên gửi cũng sẽ tăng cửa sổ lên
một cách tương ứng.
Do liên kết TCP là loại liên kết đầy đủ, dữ liệu có thể được truyền theo hai hướng ,
tức là tại mỗi thời điểm dữ liệu có thể được truyền từ hai đầu cuối của liên kết một cách
độc lập nên tại mỗi đầu sẽ có thể duy trì hai cửa sổ một để gửi dữ liệu và một để nhận
dữ liệu.
2.3.4.HOẠT ĐỘNG CỦA TCP
Các quá trình truyền dữ liệu được thực hiện bằng cách nhờ đến TCP và các vùng
đệm dữ liệu làm đối số . TCP đóng gói dữ liệu từ các vùng đệm này thành các segment
và nhờ các modul Internet để truyền từng segment tới TCP đích. TCP nhận sẽ đặt dữ
liệu từ một segment vào trong vùng đệm của người sử dụng nhận và thông báo cho
người đó. Các TCP sẽ gửi kèm các thông tin điều khiển vào các segment để đảm bảo
việc truyền dữ liệu tin cậy.
TCP/IP trong mạng ATM- Classical IP over ATM
9 10 11 12
22
Đồ án tốt nghiệp
CLOSED
LISTEN
CLOSED
ESTAB
SYN RCVD

SYN SENT
FIN WAIT 1
FIN WAIT 2
CLOSE WAIT
LAST ACK
CLOSING
TIME WAIT
Active Open
send SYN
close
Passive Open
close
close/snd FIN
close/snd FIN
Rcv SYN,ACK/snd ACK
rcv ACK of FIN/x
rcv ACK of FIN/x
rcv ACK of FIN
rcv ACK of FIN/x
Time out
close/snd FIN
Rcv ACK of SYN/x
RCV SYN/snd ACK
x=kh«ng lµm g×, rcv:nhËn, snd: göi
H×nh 1.11
snd,rcv Data

Hình 1.11: Đồ thị trạng thái của TCP
Để hiểu rõ hoạt động của TCP , ta sử dụng mô hình lý thuyết “máy trạng thái hữu
hạn của TCP”(The TCP finite state machine) hay còn gọi là đồ thị trạng thái của TCP

Trong đồ thị :
• Các vòng tròn đại diện cho các trạng thái
• Mũi tên thể hiện quá độ từ trạng thái này sang trạng thái khác khi nhận được tín
hiệu đầu vào và phải trả lời cho tín hiệu này(tín hiệu nhận/trả lời)
o CLOSED: trạng thái máy chưa kết nối với máy khác trong hệ thống
o ESTABLISHED:trạng thái hệ thống đã kết nối , quá trình trao đổi dữ
liệu đang diễn ra
o FINWAIT-1(2): trạng thái phía nguồn đã hết dữ liệu để truyền
o TIMED WAIT: trạng thái để giải quyết các tồn đọng của hệ thống trước
khi kết thúc
o CLOSING( CLOSE WAIT): trạng thái chuẩn bị kết thúc
TCP/IP trong mạng ATM- Classical IP over ATM
23
Đồ án tốt nghiệp
Từ đồ thị , để thiết lập kết nối có hai cách: kết nối thụ động( passive open) do máy
khác yêu cầu kết nối; kết nối chủ động(active open) do chính máy này yêu cầu. Khi đó
máy gửi lệnh SYN và quá độ sang trạng thái SYNSED - trạng thái đã gửi SYN và chờ
trả lời . Khi nhận được SYN+ACK, nó sẽ trả lời ACK và quá độ sang ESTABLISH ở
trạng thái này, quá trình trao đổi dữ liệu được thực hiện. để hủy bỏ kết nối , nó gửi lệnh
FIN và trả lời ACK đồng thời quá độ sang trạng thái chuẩn bị kết thúc CLOSING. Nếu
phía bên kia còn dữ liệu để gửi , nó nhận được trả lời ACK và quá độ sang trạng thái
FINWAIT-2, nhận nốt dữ liệu của bên kia và cuối cùng nhận được lệnh FIN để kết
thúc (liên kết bị xóa bỏ).
2.3.3.1.THIẾT LẬP VÀ XOÁ BỎ LIÊN KẾT TCP
Để xác định các luồng dữ liệu riêng biệt mà TCP có thể điều khiển . TCP cung cấp
một bộ xác định cổng. Do các bộ xác định cổng được lựa chọn độc lập bởi từng TCP
nên chúng có thể không đồng nhất. Để cung cấp các địa chỉ đồng nhất TCP , chúng ta
ràng buộc một địa chỉ Internet định danh TCP với một bộ xác định cổng để tạo ra một
socket. Socket này là duy nhất trong toàn bộ các mạng được nối với nhau.
Một kết nối được xác định đầy đủ bằng một cặp socket tại hai đầu. Một socket có thể

tham gia nhiều kết nối với các socket ở xa khác nhau.Một kết nối có thể dùng để mang
dữ liệu theo hai hướng , có nghĩa là “full duplex” (hai chiều đầy đủ)
Các TCP được tự do liên kết các cổng với các quá trình . Tuy nhiên , cần có một vài
khái niệm cơ bản cho các cách thiết lập TCP . Nhất định phải có các socket chung mà
TCP liên kết chỉ với các quá trình tương ứng theo những cách xác định. Giả thiết là các
quá trình có thể sở hữu các cổng , và các quá trình cũng có thể khởi tạo các kết nối chủ
trên các cổng mà chúng sở hữu.
Một kết nối được xác định trong lời gọi OPEN bằng các đối số cổng cục bộ và các
socket ở xa. Đến lượt mình, TCP cung cấp một tên kết nối cục bộ mà qua đó người
dùng sẽ tham chiếu tới kết nối trong các lời gọi tiếp theo. Có một số điều cần ghi nhớ
về một kết nối . Để lưu trữ thông tin này ta cần có một cấu trúc dữ liệu gọi là khối điều
khiển truyền (Transmision Control Block hay TCB). Một thiết lập phải có tên kết nối
cục bộ là một con trỏ tới TCB cho kết nối đó. Lời gọi OPEN cũng phải xác định hoặc
việc thiết lập kết nối là chủ động phát ra (active) hoặc là nó đợi thụ động (passive).
Một yêu cầu passive OPEN có nghĩa là quá trình chấp nhận các yêu cầu kết nối từ
xa đến hơn là khởi tạo một kết nối . Thường thì quá trinh yêu cầu một passive OPEN sẽ
chấp nhận một yêu cầu kết nối từ bất cứ người gọi nào. Trong trường hợp này , một
socket ở xa bằng 0 biểu thị một socket không xác định. Các socket ở xa không xác định
chỉ được phép trong các OPEN dạng passive.
TCP/IP trong mạng ATM- Classical IP over ATM
24
Đồ án tốt nghiệp
Một quá trình cung cấp các dịch vụ cho các quá trình khác phải phát ra một yêu cầu
Passive OPEN với các socket ở xa không xác định. Khi đó, một kết nối có thể được tạo
ra với bất kì yêu cầu kết nối với socket cục bộ nào.
Các socket chung là một cơ chế thuận tiện để liên kết có ưu tiên một địa chỉ socket
với dịch vụ tiêu chuẩn . Chẳng hạn , quá trình “telnet- server” được gán cố định cho
một socket đặc biệt , còn các socket khác được dành cho file transfer, Remote jop entry,
text generator, Echoer....Khái niệm về một socket chung là một phần của chi tiết kĩ
thuật cho TCP , nhưng việc gán các socket cho dịch vụ này là tuỳ thiết lập.

Các quá trình có thể phát ra passive OPEN và đợi các active OPEN phù hợp từ các quá
trình khác và được TCP thông báo khi kết nối đã được thiết lập . Hai quá trình cùng
phát ra active OPEN cho nhau vào cùng một thời điểm cũng sẽ được kết nối đúng đắn.
Sự linh hoạt này cốt yếu là để trợ giúp cho việc tính toán phân tán, trong đó , các thành
phần hoạt động không đồng bộ với nhau.
Có hai trường hợp cơ bản để kiểm tra tính phù hợp của các socket trong các
passive OPEN cục bộ và một active OPEN ở xa . Trong trường hợp thứ nhất các
passive OPEN cục bộ xác định đầy đủ socket ở xa. Trong trường hợp này , sự phù hợp
phải là chính xác. Trong trường hợp thứ hai các passive OPEN cục bộ để các socket ở
xa là không xác định. Trong trường hợp đó, bất kì socket ở xa nào cũng là chấp nhận
được nếu như các socket cục bộ phù hợp . Những khả năng là các phù hợp được hạn
định một phần.
Nếu có vài passive OPEN chưa được xử lý( được ghi lại trong các TCB) có cùng
một socket cục bộ thì khi một active OPEN ở xa phù hợp. TCB có socket ở xa xách
định (nếu tồn tại một TCB như thế ) sẽ được chọn trước khi có socket ở không xác
định.
Các thủ tục thiết lập các kết nối sẽ sử dụng cờ điều khiển đồng bộ SYN và kềm
theo sự trao đổi 3 segment hay 3 message. Sự trao đổi này gọi là sự bắt tay 3 chiều
(hình 1.2a)
TCP/IP trong mạng ATM- Classical IP over ATM
25

×