1nh I-1 Mô tả 7 lớp OSI: 4 lớp đầu định nghĩa cách thức cho đầu cuối thiết lập kết nối với nhau để trao đổi dữ liệu, 3 lớp trên dùng để phát triển các ứng dụng để đầu cuối kết nối với n
Trang 1'TR- ỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
LÊ QUANG MINH
GIAO THUC TCP/IP TRONG MANG
THONG TIN KHONG DAY
Luận văn thạc sĩ Điện tử - viễn thông
Hà Nội 10/2004
Trang 2LÊ QUANG MINH
GIAO THUC TCP/IP TRONG MANG
THONG TIN KHONG DAY
Chuyên ngành: Điện từ— Viễn thông
Luận văn thạc sĩ Điện tử - viễn thông
Ng- ỡi h- ổng dẫn khoa học: "E8 Phạm công hùng
Hà Nội 10/2004
Trang 3C6 thể nói, 30 năm trổ lại đây là thời đại của máy tính và Internet
Với việc giúp đỡ cơn ng- ời từ những việc đơn giản nhất cho đến những
công việc phức tạp nhất mà một mình bản thân con ng- oi không thể làm
nổi, máy tính đã trở thành một bộ phận không thể thiếu trong cuộc sống
của cơn ng- oi hiện đại chúng ta Đơn cử một ví dụ, hiện nay chúng ta cố thể gửả (h- điện tữ qua mạng Internet nhanh chống, tiện ích cùng nhiễu
tính năng trên đỗ hơn là gi th- qua d-ờng b-u chính thông th- ðng mã
gửi th- qua đ- ng b-u chính còn không chắc bao lâu mới đến hay cố bị
thất lạc hay không đồng thời chí phí nhiều khi lại rất cao Hơn thể nữa
chúng ta có thể trực tiếp nói chuyện với ng: ời thân, bạn bè hay dối tác
kinh doanh với chỉ phí thấp qua voice và qua cả video với những dịch vụ
miễn phí trên mạng Internet Chúng ta có thể ngổi một nơi và truy cập vào kho dữ liệu không lồ trên IntemecL, có thể thấy tất cả những gì chúng
ta cẩn Và cồn rất nhiễu tiện ích khác từ mạng Imtemel, cái mà ảnh
h-ởng không nhỏ đến đời sống của mỗi chúng 1a một cách trực tiếp hay
gián tiếp
Để đáp ứng d- ợc căng nhiều nhu cầu của con ng- ời, cằng làm cho
việc sử dụng của ng- ời dùng đơn giản bao nhiêu thì công nghệ để thực
hiện chúng cầng phức tạp bấy nhiêu Với mạng Internel cũng vậy, để có
d- ợc những tiện ích không giới hạn cho ng- ời sử dụng, Internet phải vận
hành trên một cơ cẩu rất phức tạp cả vẻ phần cứng lẫn phần mềm Trái
tim của Internet chính là họ giao thức TCP/IP (Transmission Control
Protocol Antemet Protocol), nói đơn giản thì TCPIP là bộ những qui lắc
chính thống để trao đổi đữ liệu đ- ợc dig trong mang toàn cầu Iniemet Trong những năm gần đây, sự bùng nổ cúa thông tin không dây càng
lam cho Intemet trổ nên quan trọng và tiện dụng hơn bao giờ hếi Không còn bị buộc phải nằm một chỗ, giờ đây máy tính có thể chu du khắp nơi
mà vẫn thông tin liên lạc đ- ợc với nhau và truy cập Internet đó là nhờ
công nghệ thông tin không dây Các nhà khoa học, các doanh nhân và những ng- ời th- òng xuyên phải tiếp xúc và làm việc với Intemet có thể vào mạng ở bất kì đâu, không nhất thiết là ở văn phòng hay ở nhà - nơi
có đ- ờng kết nối Intemet, chỉ cần họ có trang bị thiết bị truy nhập không
đây nh- mấy tính xách tay có hỗ trợ truy nhập không day hay PDA Trong khuôn khổ đồ án này, tôi xin trình bày một phần nhỏ vẻ công
nghệ thông tin không dây: Giao thức TCPAIP trong mạng thủng tin khong day
Dé dn nay d- ge trinh bay then 6 ch- ong:
Ch- ong I: Téng quan vé m6 hinh két nối hệ théng mé (OSD Ch- ong
này khái quất về mô hình cấu trúc phan lớp, cấu trúc này phổ biến trong
hầu hết các giao thức thông tin hiện nay
Ch- ơng II: Giao thức TCP/IP Ch- ơng này trình bày một cách chỉ
tiết về những qui tắc của 'TCP/IP có nghĩa là tìm hiểu xem các máy tính trong mạng "nói chuyện" với nhau nh- thế nào
Trang 4
đây và các giao thức TCP phổ biến trong các mạng thông tin không dây
hiện hành
Ch- ơg TV: Giao thức Snoop Một cái nhìn cụ thể về một giao thức 'TCP không dây cụ thể, đó là giao thức Snoop Giao thức này đặc biệt
hiệu quả trong mạng không đây nội bộ WLAN
Ch- ơng V- Giao thức Wirclcss TCP Giao thức này rất thích hợp cho
rạng không đây diện rộng WWAN Ch- ưng này trình bày chỉ liết về
các thuật toần áp dụng trong WTCP và cách khắc phục những bất lợi của môi tr- ờng thông tin không dây
Ch- ong VI: Sit dung phan mém NS-2 (Network Simulator version 2)
để mô phóng các hoạt động của mạng TCP/IP bao gồm cả TCP/IF cho
mạng không dây
Ngày 19 tháng 09 năm 2004
Lé Quang Minh
Trang 5CH- ONG I: TONG QUAN VỀ MÔ HÌNH KẾT NỔI HỆ THỐNG MỞ
1 Chức năng của mô hình QST Error! Bookmark not defined
TI Cấu trúc mô hình OSE ror! Bookmark not defined
DEFINED
1 Khái quái về giao thức TC/IE,
1I Giaa thức TCP/UDP trong lớp hast to host
Error! Bookmark not defined
ror! Bookmark not defined III Ciiao thức [P ở lốn Inferner Errpr! Ronkmark noi refined
CH- ƠNG HI: TCP TRONG MÔI TR- - ÔNG THÔNG TIN KHÔNG
1 Giới thiệu Error! Bookmark not defined
Error! Bookmark not defined
Error! Bookmark not defined
1V, Các giao thức TCP trong mạng thông tin khong day .Srror? Bookmark not defined
V T6m tất * Error! Bookmark not defined
CH- ONG FV: GIAO THỨC 8 SNOOP (SNOOP PROTOCOL) ERROR!
BOOKMARK NOT DEFINED
1 Gidi thiệu örror! Bookmark noí defined
11 Giao thức TCP Errur† Bonkmark not rielined
TH Giao thức Snoop Error! Bookmark not defined
IV Ưu điểm của Snoop ooo Error! Bookmark not defined
¥ So sinh hiệu suất của mô hình TCP có thực hiện 8noop và mô hình TCP không thực hiện Snoap: “ oo Error! Boukmark not defined
CH- ONG V: GIAO THC WIRELESS TCP (WTCP’
BOOKMARK NOT DEFINED
1 Giới thiệu
I1 Các đặc tinh cia moi tr- mg WWAN
III Giao thite WTCP
IV Thuat ton WTCP
-Error! Bookmark not defined
_Errort Bookmark not defined
Error! Boukmark not defined
.Error! Bookmark not defined
V, So sánh WTCP với giao thức TCP, Error! Bookmark not defined
VI Kết luận 2 Error! Bookmark not defined CH- ƠNG VI: MÔ PHONG QUÁ ‘TRINH HOAT DONG TREN MẠNG VỚI NS-2 ERROR! BOOKMARK NOT DEFINED
1 Giới thiệu ce Error! Bookmark not defined
TT Hai ngôn ngữ chính trong NS-2 -Error† Bookmark noi defined 1H, Tiến hành mô phỏng ror! Hookmark not defined
Trang 7ASCII American Standard Code for Information Interchange
BER But Error Rate
CDMA Code Division Multi Access
CDPD Cellar Digtal Packet Dala
CSMA/CD Carricr Scnse Multiple Access/Collisian Detection
CTL Control
CWND Congestion Window
DNS Domain Name Service
ĐUPACE Duplicate Acknowledgment
EBCDIC Lixtened Binary Coded Decimal interchange Code
EASN, Explicil Bad State Notification
ELS Explicit Loss Notification
FEC Forward Enror Correction
TN Vintsh
TTP File Transfer Protocol
GPRS General Packct Radio Scrvicz
GSM Global System For Mobile Communications
HITP llypertext Iransfer Pretocol
ICT Inlerface Control Information
ICMP Internet Control Message Protocol
ICMP Internet Control Management Protocol
1D Identification
IMAP Inlernel Mail Access Protocol
IP Internct Protocol
IPX Internetwork Packet Exchange
Iso International Organizaiton for Standardization
JPEG Joint Photographic Experts Group
LAN Local Area Network
LLC Logical Link Control
MAC Media Access Contral
MITP Mobile End Transport Protocol
MSS Maximmun Segment Size
M-TCP Mobile TCP
MTU Maximum ‘Transfer Unit
Trang 8
NIC ‘Network Information Center
G81 Open System Interconnection
POP Post Office Protocol
RARP Reverse Address Resolution Protocol
SMART Simple Method to Aid ReTransmissions
SMTP Simple Mail Transfer Protocol
SNMP Simple Network Management Protocol
SOL Structured Query Language
SSTHRESH Slow Start Threshold
TCP Transmission Control Protocol
TFTP Trivial File Transfer Protocol
TULIP ‘Transport Unaware Link Improvement Protocol
UDP User Dalagram Protocal
WAE Wireless Application Environment
VAP Wireless Application Protocal
WDE Wireless Data Profoool
WLAN Wireless Local Area Network
WSP Wireless Session Protocol
WTLS Wireless Transport Layer Security
WTP Wireless ‘Transaction Protocol
WWAN Wirless Wide Area Network
Trang 9
Error! Bookmark not defined Error! Bookmark not defined Error! Bookmark not defined
Hình I-1: Mô lũnh 7 16p OSI
Hinh 1-2: Ba lép tiên của mô tình OSI
Hinh I-3: Quá trình đóng gói dữ liệu
Hình I-4: Các thủ tục tại l6p Transport Error! Bookmark not defined Hình I-5: The Three - Way Handshake Error1 Bookmark nof defined Hình 1-6: Vị trí của lớp mạng trong mô hinh giao thic Error? Bookmark not
defined
¡Tình I~7: l.ớp liên kết đữ liệu (Data Link layer)
Hình 1-8: Lớp vật tý (Physicat layer) an,
Hình I-I; Mô hành phân lớp giao thức TCPIP
Hình I-2: Bộ giao thức TCP/IP
Tĩnh IE3: Định dụng TCP Header
Hình I-4: UDP segmaent -
Hình I-5: Một số cổng trong TCP và UDP
Tĩnh IE6: Ví dụ Port Number
1ình II-7: 'Three-wav handshake
Hình II-8: Số Acknowledgmeni Error! Bookmark nol defined
Hình I-9: Cita s6 TCP Error! Bookmark not defined
Hình II-I0: Minh hoa ede tr- ang théng tin cia |P Header Error! Bookmark not
Hình I†-I4: Cấu trúc của một lựa chọn bang ghi nhớ đ- ðng trong một gói tín IP
- -Error! Bookmark not defined
‘a mội lựa chọn đ- òng đi từ nguồn .Krror! Bookmark nof
.Error! Bookmark not defined .Error! Bookmark not defined .Error! Bookmark not defined
i1ình IH-6: Ciateway trong WAP
Hinh JH-7: Cac lép cla WAP
Hình IV-1: Cơ chế truyền lại gói tin
Hinh IV-2; Snoop trong int tram sốt
Hình IV-3: Mô tình mạng không dây có Snoop
Hình IV-4: Mô hình 8uoop
Trang 10
defined
Hình IV-7: Théng I- gng nhận đ- ợc tại máy di động ở các tỉ lệ lỗi khác nhau (thang
log2) s ¬- Error! Bookmark nol tlefined Hinh IV-8: S6 tht ty trong truyén dif ligu dén muty di dang qua kénh cS BER
3.8⁄10 ” (1/256Kbif) .Errprf Bookmark noi defined
Hình V-3: Hiệu suất của TCP trong mạng CDPD khi di chuyển với vận tốc S5
dặm/giờ Lĩnh (b) mô tả tr- ðng hợp mất tin hiện Error Bookmark not defined
tình V-4: Hiệu suất của W TCP trong rnạng CDPD khi di chuyển với vậu tốc 55
dặm/giờ Hình (b) mô tả tr- ðng hợp mắt tín hiệu Error! Bookmark nut
defined.
Trang 11CH- ONG I: TONG QUAN VE MO HINH KET NOI
HE THONG MG (OSD
(OPEN SYSTEM INTERCONNECTION)
Mô hình kết nối hệ thống mở đ- ợc Tổ chức quấc tế về tiêu chuẩn
hod ISO (Intemational Organizaiton for Standardization) d-a ra nhằm
cung cấp một mô hình chuẩn chơ các nhà sản xuất và cùng cấp sản
phẩm viễn thông áp dụng theo để phát triển các sản phẩm viễn thông Y t-ởng mô hình hoá đ- ợc tạo ra còn nhằm hỗ trợ cho việc kết nối giữa các
hệ thống và modul hoá các thành phần phục vụ mạng viễn thông,
1 CHỨC NĂNG CUA MO HINH OSI
M6 hinh OSI e6 mét sé chite nding chinh nh- sau:
«_ Cung cấp kiến thức về hoạt động của kết nối liên mạng
® Đ-ar7a trình tự công việc để thiết lập và thực hiện một giao thức
co kết nối các thiết bị trên mang
Vô hình OSI cồn có một số thuận lợi sau
* Chia nhé các hoạt động phức tạp của mạng thành các phần công
việc dơn giản
* Cho phép các nhà thiếi kế có khả nang phát triển trên từng modul chức năng
5 Cung cấp các khả năng định nghĩa các chuẩn giao tiếp có lính
tong thích cao OPlug and PhụyD và tích hợp nhiều nhà cung
cấp sản phẩm
II CẤU TRÚC MÔ IÌNH OSI
Mô hình ©5I gồm 7 lớp (level), mỗi lớp thực hiện các chức nâng
riêng cho hoạt động kết rối mạng
1nh I-1 Mô tả 7 lớp OSI: 4 lớp đầu định nghĩa cách thức cho đầu
cuối thiết lập kết nối với nhau để trao đổi dữ liệu, 3 lớp trên dùng để phát
triển các ứng dụng để đầu cuối kết nối với nhau và ng- ời đùng
Trang 12
Network Layer Data Lower
Ba lớp trên cùng của mô hình OSI th- ờng đ- ợc gọi là các lớp ứng
dụng (Applicafion layers) hay còn gọi là các lớp cao Các lớp này
th- ờng liên quan tới giao tiếp với ng- ời dùng, định dạng của dữ liệu và
ph- ơng thức truy nhập các ứng dụng đó
a Lop ting dung (Application layer)
Đây là lớp cao nhất trong mô hình Nó là nơi mà ng- ời sử dụng giao tiếp với mạng, là nơi kết nối các ch- ơng trình ứng dụng với các thủ
tục cho phép truy nhập vào mạng
b Lop trinh bay (Presentation layer)
Lớp trình bày cung cấp các mã và chức năng để chuyển đổi đ- ợc cung cấp bởi lớp ứng dụng Các chức năng đó đảm bảo rằng dữ liệu từ lớp ứng dụng trong một hệ thống có thể đ- ợc đọc bởi lớp ứng dụng của
một hệ thống khác Ví dụ: dùng để mã hoá dữ liệu từ lớp ứng dụng: nh-
mã hoá anh jpeg, gif Mã đó cho phép ta có thể hiện lên trang web
e Lớp phiên (Session layer)
Lớp phiên đ- ợc sử dụng để thiết lập, duy trì và kết thúc phiên làm
việc giữa các lớp trình bày Việc trao đổi thông tin ở lớp này bao gồm
yêu cầu dịch vụ và đáp ứng yêu cầu của các ứng dụng trên thiết bị khác
Hình I-2 Mô tả các lớp trên và cung cấp thông tin với các chức năng của nó qua ví dụ:
~ Lớp ứng dụng: chức năng giao Telnet
Application |tiẾp giữa ng-ời sử dụng va các HTTP
ch- ơng trình ứng dụng
~ Lớp trình bày: cách thức chuẩn ASSCI
Presentation | hoá dữ liệu và trình bày số liệu
~ Có chức năng đặc biệt là mã hoá EBCDI
dữ liệu ng- ời sử dung Ế
Trang 13Bốn lớp d-ới của mô hình OSI sử dụng để định nghĩa làm thế nào
để dữ liệu đ- ợc truyền đi trong các dây nối vật lý, các thiết bị mạng và đi đến trạm đầu cuối cuối cùng là đến các lớp ứng dụng
Sử dụng ph-ơng pháp Protocol staek để kết nối giữa hai thiết bị trong mạng Protocol stack là một tập hợp các quy định dùng để định
nghĩa làm thế nào để dữ liệu truyền qua mạng Ví dụ: với TCP/IP mỗi
lớp cho phép dữ liệu truyền qua Các lớp đó trao đổi các thông tin để cung cấp cuộc liên lạc giữa hai thiết bị trong mạng Các lớp giao tiếp với nhau sử dụng Protocol Data Unit (PDU) Thông tín điểu khiển của PDU đ-ợc thêm vào với dữ liệu ở lớp trên Và thông tin điều khiển này nằm trong tr- ờng gọi là tr- ờng Heađer và Trailer
TCP Header | Upper Layer Data ‘Transport Segme
nt
Hình I-3: Quá trình đóng gói dữ liệu
Trang 14
H@i vi PDU bao gồm các thông tin khác nhau và nở đ- ợc trao đổi
lên xuống giữa các lốp do đồ nó d- ợc đặt tên theo thông tin mà nó mang
theo,
VD : với TCP/P Stack
«Tại lớp vận chuyển, TCP Header đ- ợc điển vào dữ liệu của lớp
trên nó d- ợc gọi là Ñcgment
« Segment di xuéng ldp mang va d- gc dién thém IP header va
d- ge goi la Datagram
« Dalagram qua lớp lên kết đữ liệu đ-ực điển thên Header và
Trailer gọi là Frame
« Cuối cùng Rrame d- ợc cắt nhỏ ra chuyển thành các bít và đổi
thành tín hiện điện để truyền qua mạng truyền thông,
Ph-ơng pháp truyền đữ liệu qua các lớp, thêm Ileader và Trailer
vào dữ liệu nh- trên đ-ợc gọi là Eneapsulation (đóng gồi đữ liệu) Sau
khi đữ liệu d- ợc đóng gối và truyền qua mạng, nhận sẽ loại bỏ các thông
tin điều khiển đã đ- ợc điển thêm vào 'Ihiết bị nhận lấy thông tin trong 1leader để xác định đữ liệu đ- ợc truyền lén lớp trên đến ứng dụng chính
Xxấc
Đóng gói dữ liệu (Dafa kneapsnlafion) là một khái niệm rất quan
trong trong mang Mac đầu EneapsulaLiun là một khái niệm triu t- ng
nh- ng nó rất đơn giản, hãy 1- ởng t- ợng bạn muốn gửi đến bạn của ban
tại một thành phố khác mội cấi cốc sứ uống cafe Bạn không thể rang dén d- gc, do dé ban cần phải gửi d- ờng bộ hoặc máy bay dén do dé ban phải chọn một hãng chuyển phát - a thích Không chỉ có vậy bạn phải có
thông tin về địa chỉ của ng- ời bạn Sau đây là các b- ớc làm:
¢ B-de 1 : déng géi hang vào một cái hộp
© B-Ge 2: dan nbiin dia chi vao hop
« B-ớc3: đ-a hộp đến hãng dịch vu
«Ắ B-đc4:hộp d-ợc gửi đi
Quá trình đó cũng t-ơng tự nh- ph-ơng thức Encapsulation ma Đrotocol Stack sử dụng để gữi dữ liệu qua mạng Sau khi gói quà đến chỗ ng- ời bạn th họ sẽ làm ng- ợc lại để lấy cái cốc và quá trình đó là de- encapsulation
a Lp van chuyén (Transport layer)
Để kết nối hai thiết bị trong cơ cấu mạng thì một kết nối (Conneefion) hoặc môt phiên (Session) phải đ- ợc thiết lập Tại lớp vận
chuyển, dịnh nghĩa các nguyên tắc thiết lập kết nối End to End giữa hai
trạm dầu cuối Một Session cấu thành một kết nối logic giữa trạm nguồn
(Dource end station) va tran dich (Destination end station).
Trang 15Ngoài ra lớp vận chuyển cồn có một số chức năng sau :
« Trong thi tye TCP/IP xác dịnh các cổng (Port number) Tai lớp vận chuyển sử dụng cổng đó để sử dụng cho lớp ứng dụng cho một mục dích nào đó nh- FTP, Telnet Ví dụ cổng 23 chơ
> Cung cấp khả năng truyền lại dữ liệu (Retransmi:
các Scpment khi không nhận đ- ợc phúc đáp
ion) của
> Sap xép cdc Segment theo thứ tự chính xác tại nơi nhận
> Cũng cấp khả năng tránh tắc nghẽn và diều khiển tắc nghẽn
Tại lớp vận chuyển, đữ liệu đ- gc truyền đã unột cách tín cậy hoặc không tin cậy Cho TP tỉì thủ tục TCP là thủ lục tin cậy hay là thủ tục
h-ớng-kết nối còn UDP là không tin cậy hay là thủ tục phi kết nị (Connectionless) Một ví dụ là một cuộc điện thơại là thỗ tục h- ớng-kết nổi Với một cuộc gọi bạn phải thiết lập đ- ợc kết nối để liên lạc đ- ợc với nơi cẩn gọi
Trang 16
Nh- trong một cuộc gọi thoại, với một dịch vụ h- đng-kếi nối, dầu
tiên bạn phải thiết lập kết nếi Và cũng nh- vậy với 1CP/IF, trạm phát và trạm nhận phải thực hiện một quá trình thiết lập cuộc gọi (Three-way handshake trong Hình T-5) Quá trình 3 b- ức bát tay để kết nối dể hoàn
thành quá trình gửi và nhận gói tin đồng bộ và phúc đáp trả lời Cũng
nh- cuộc gọi thoại là nói hello để báo rằng sẵn sàng nói chuyện
Sau khi dã đồng bộ thì quá trình trao đổi tin bất dầu Trong quá
trình truyền tin hai trạm dâu cuối trao đổi thì tại Header của PDU trong
lớp mạnh sẽ xác định xem dữ liệu đ- ợc truyền có chính xác không Nếu
trạm nhận không phúc đáp trong một khoảng thời gian đ- ợc định nghĩa
tr-c thì đầu phát sẽ truyền lại gối tin Sau khi đữ liệu d- ợc truyền song thì quá trình kết nối sẽ kết thúc
2 Lép mang (Network layer)
Lớp mạng quy định ph- ơng thức dữ liệu đ- ợc truyền giữa các thiết
bị mà không kết nối trực tiếp cùng chung một vùng quảng bá (roadcasL domain) Và do đó trong lớp mạng phải có hai tr-òng để
cung cấp thông tin 18 :
«- Địa chỉ logic liên kết giữa trạm gửi và trạm nhận
«- Đ-ờng di trong mạng để kết nối đến địa chỉ đến mong muốn
Tlinh 1-6; Vi tri cua lép mạng trong mỏ hình giao Lhức
Sứ dụng địa chỉ logic để xác định mạng trơng một liên mạng và khu
vực của thiết bị trong phạm vì mạng
c Lép liên kết dữ liệu (Data Link layer)
“Ir- ớc khi dữ liệu d- ge truyền di trên mạng thì dữ liệu phải chứa các thông tin chỉ tiết là nó phải đ- ợc gửi đến đâu và ở đó sẽ làm gì khi
nhận đ- ợc dữ liệu Lớp liên kết dữ liệu cung cấp nhiệm vụ đó Lớp liên
kat dữ liệu là lớp 2 trong md hinh OSI va n6 06 sự khác nhau phụ thuộc vào cấu hình cũa mạng Hình d- ới dây mô tả lớp liên kết dữ liệu
Trang 17
Hình I-7: Lớp Hên két dir ligu (Data Link layer)
Mục đích của lớp liên kết dữ liệu là cung cấp các giao tiếp giữa các
máy trạm tại lớp logic đầu tiên dựa trên các bit trên đ- ong day Bai vay,
có rất nhiều chức năng đ- ực thực hiện tại lớp liên kết dữ liệu nh- đánh địa chỉ vật lý các trạm đầu cuối để hỗ trợ thiết bị rạng xác định cố nên chuyển phần thông tin lên mức cao hơn Tại lớp này cũng có các tr- ðng
xác định đữ liệu sẽ đ- ợc chuyển tới thủ tục cao hơn nào nh- IP, IPX,
Anpletalk Lớp lên kết dữ liệu hỗ trợ các địch vụ h-ớng - kếi nối
(Cønncction - Oricntcd %erviccs) hay các dịch vụ phi kết nối
(Cunnevlionless Sevices), trật tự khung và điều khiển luồng Lớp liên
kết đữ liệu do IEEE định nghĩa bao gổm 2 lớp nhỏ hơn là
«Media Access Conol (MÁC) (chuẩn 82.3): miễu tả ph- ong
thức tín hiệu truyền qua dây dẫn vật lý Phần này của lớp liên kết dữ liệu thả liên kết với lớp vật lý Nö định nghĩa các chức năng nh- : địa chỉ vật lý, mô hình mạng, các yêu cầu về d- ðng
truyền, các thông báo lỗi, trật tự truyền khung thông tin và các
lựa chọn để điều khiển luồng,
« Logical Link Control (LLC) (chudn 802.2): xc định các loại
thủ tục logic khác nhau đ- ợc sử dụng và đóng gối dữ liệu, loại
mã hoặc điểm truy nhập địch vụ (Service Áccess Puint = SAP)
để truyền đi trong mạng Loại khung LLC sử đụng bởi trạm đầu cuối phụ thuộc vào loại thủ tục xác định nào mà lớp trên sử
dụng Thêm nữa lựa chọn L1 bao gồm các hỗ trợ cho kết nối
giữa các ứng dụng chạy trong mạng nội bộ LAN, điểu khiển
luồng tới lớp trên và bịt điều khiển thir ty (Sequence Control
Bit) Voi mét vai thi tuc, | xác định sự tin cậy hay không tin cậy của dịch vụ cho đữ liệu truyền thay thể cho lớp vận
V35
Hinh I-8: Lép vat 1¥ (Physical layer}
Trang 18Lớp vật lý định nghữa các loại chuyển đổi, bộ kết nối và tín hiệu
Nó bao gồm tín hiệu điện, thiết bị cơ khí, thủ tục và các chức năng yêu
cầu cho hoạt động, bảo quản và ngừng hoạt động của các kết nối vật lý kết nối của hệ thống Nó cũng bao gồm mức điện thế, tần xuất dữ
khả năng truyền xa của và kết nối vật lý Nh- ví dụ ở phân trên: lớp vật
lý nh- con d- ðng mà chiếc cốc đ- ợc chuyển đi, Cơn đ- éng là kết nối vật
lý giữa hai thành phố cho phép chúng ta đi từ thành phố này đến thành phố kia Và có thể có nhiều con đ- ðng và mỗi con đ-ồng thì lại khác
nhau cũng nh- trong mạng môi đ- ðng có tốc độ giới hạn (Speed limit}
và trọng L- gng t6i da (Weight limit)
Trang 19
CH- ƠNG II: GIAO THỨC TCP/IP
1 KHÁI QUÁT VỀ GIAO THỨC TCP/IP
Thủ tục thông dụng nhất trong mạng truyền dữ liệu ngày nay là bộ
thủ tục TCP/IP (Lransport Control Protocol/nternet Protocol = giao
thức diều khién truyénigiao thite Internet), né d-ge ứng đụng trong hoạt
động mạng và d- ợc biết đến nh- là một bộ thñ tục của Internet
TCPAP đ- ợc phát triển trong một phần nghiên cứu của Bộ quốc
phòng Mỹ nhằm bảo toàn dữ liệu và duy trì kết nối trong chiến tranh
Sau đó, nó trở thành phiên bản phần mềm UNIX của Herkerley Nếu
đ-ợc thiết kế và áp dụng chính xác thì một mạng TCP/IF rất đáng tin cậy
và linh hoạt
Hộ thổ tục Internet bao gồm không chỉ các đặc tính của Lớp thứ 3
và Lớp thứ 4 (nh- TP và TCP), mà cồn có cả các đặc tr-ng cho các Ứng dụng chung nh- email, kết nối từ xa, truyền Hle, rô phông thiết bị
(terminal emulation)
lộ thủ tục TCP/IP có mối liên hệ chặt chế với mô hình OSI ở 4
mức thấp bao gồm cả tiêu chuẩn vật lý và thú tục kết nối đữ liệu Iình
vé sau day minh hoa m6 hinh TCP/IP và mối liên hệ với mê hình O§I
Ngày nay TCP/IP mang đến nhiều ứng dụng trên mạng Các thủ tục
sau dây d- ợc ứng dụng trên nên TCP/IP
*® Truyền file (File Tranfer); TIFTP, [TP và NFS
® E-mail: SMTP, POP, IMAP
® Kết nối từ xa: Telnet, rlogin
Trang 20® Quản trị mang 1- 61: NMTP
® Quản lý tên miễn: DNS
2, Lớp vận chuyền ([Just 10 host)
Lớp vận chuyển cho phép ng- ời sứ đụng phân đoạn và tái lập một
vài ứng dụng của lớp ứng dụng mức cao vào dùng một lớp vận chuyển
dòng dữ liệu
Lớp vận chuyển có nhiệm vụ cung cấp dịch vụ vận tải từ đầu cuối
này tới đầu cuối kia (end-to-end service) Nó thiết lập kết nối logic giữa
các dầu cuối của liên mạng: trạm gửi, trạm nhận
Lớp vận chuyển có 2 chức năng chính:
ø Điều khiển luồng: bằng kỹ thuật cửa số tr- ạt Nó cho phép các
trạm liên lạc với nhau sẽ thoả thuận 1- ợng dữ liệu truyền đi mỗi
lần
s An toàn dữ liệu: dùng số thứ tự và phúc đáp gói tin nhận đ- ợc
để đảm bảo sự phân phối chính xác các gói dữ liệu
Hai thủ tục chính hoạt động trên mức vận chuyển là
« Thủ Lục điểu khiến truyền dẫn (TCP): thủ tục h- dng kết nối
và an toàn đữ liệu Trong môi tr- ờng kết nối h- ớng dữ liệu, một
kếi nối đ- ợc thiết lập giữa 2 trạm tr- đc khi thông tin đ-ợc bái
đầu truyền tải TCP chịu trách nhiệm chia nhỏ bản tin thành các
doan (segment) va tai lap lai bản tin ban đầu ở phía ng- ời nhận, truyền lại các gới tin bị mất trong quá trình truyền TCP cung
cấp mạch ảo giữa các ứng dụng của đầu cuối ng- ời sử dụng
+ Thủ tục datagram (UDP): ng- ợc lại với TCP, nó không cẩn
thủ tục lập kết nối (connectionless) và thủ tục phúc đáp
(unacknowledged) UDP chuyển phần nhiệm vụ an toàn đữ liệu
cho lớp cao hơn đảm nhận
3 Lớp Internet
Lớp Intemet I- ơng đ- ơng với lớp Mạng của mô lủnh OSI, dinh ra các giao thức liên quan dến việc truyền logic các gối trong mạng Nó
quản lý địa chỉ của máy chủ bằng cách gần cho mỗi máy một địa chỉ IP
và điều khiển định tuyến giữa các mạng Nó cũng đảm nhận điều khiển
luồng giữa bai mây chủ
4 Lớp truy nhập mang (Network Access)
D-ới cùng của mê hình TCP/IP 14 lớp truy nhập mạng, nó t- ong
đ-ơng với lớp liên kết dữ liệu và lớp vật lý của mô hình OSI, lép nay theo đối việc trao đổi dữ liệu giữa lai máy trong mạng Lớp truy nhập
mang quan lý địa chỉ vật lý và định ra giao thức truyền vật lý dữ liệu
Trang 21
Hình II-2: Bộ giao thức TCP/IP
IL GIAO THỨC TCP/UDP TRONG LỚP HOST TO HOST
Nhiệm vụ chính của lớp Hosl to Host là để tránh cho lớp ứng dụng phía trên khỏi sự phức tạp của mạng l.ớp này nói với lớp phía trên rằng
“Hãy cứ trao cho tôi dòng đữ liệu của anh, với bất kì cấu trúc nào, tôi sẽ
xứ lý để truyền đi.”
“Tại lớp này có hai giao thức:
«- Giao thức điều khiển truyền dẫn (TCP)
« Giao thite User Datagram (UDP)
1 Giao thức điều khiển truyén dan (TCP)
'LCP nhận một gói lớn các thông tin của ứng dụng và chia nhỗ nó
thành các đoạn (segment), nó đánh số và sắp xếp các segment để TCP
của bên nhận có thể ghép các segrent lại theo đúng thứ tự ban đầu Sau khi giti segment, TP (của bên phát) sẽ đợi phúc dáp của bên nhận, nếu không nhận d- ợc thì 'TÚP sẽ truyền lại các seament đó
Tr- Ge khi gửi đi các segnent, giao thức TCP ở bên phát sẽ liên lạc
với TÚP ä bên nhận để tạo một kết nối Cái đ- ge tạo ra đó gọi là mạch
do (virtual circuit) Kiểu kết nối này gọi là h- ớng - kết nối (connection-
oriented) 'Irong quá trình thiết lập, hai lớp TCP sẽ nhất trí với nhau về l-ợng thông tin sẽ d- ge truyền di tr- đc khi 'IÚP của bên nhận gửi về một
phúc đáp Với những thông tin đ- ợc thiết lập trên, một đ- ðng truyền
đáng tin cậy d- gc thiết lập để sẩn sàng cho việc trao đổi thông ln
11
Trang 22lồø phải khôi phục lại dữ liệu bị mất hay bị hỏng nên 'ICP gần cho
mỗi segment đ- ợc truyền đi một số thứ tự và yêu cầu bên nhận phúc đáp
lại Nếu trong một khoảng thời gian định tr-óc mà không nhận d- ge
phúc đáp thì segment đó sẽ d- ợc truyền lại Hên nhận đựa vào số thứ tự
đó để sắp xếp lại các segment theo đúng thứ tự ban đảu của chúng dù các
gói đó nhận đ- ợc không theo thứ tự, số thứ tự cũng đ- ợc dùng để tránh
việc nhận hai scgmment giống nhau Để nhận biết scgmeni hỏng, TCP dùng tr-ờng Checksum, tr- ờng này chứa thông tin kiểm tra gói, phía
nhận sẽ kiểm tra và so sánh với tr- ờng này, nếu sai nghĩa là gối bị hỏng,
gói đố sẽ bị hủy và phía nhận yêu cầu phía phát truyền lại chính gói đó
Trong TCP, phía nhận có thể khống chế I- ợng dữ liệu phát đi: trong mỗi một gói tin phúc đáp bên nhận gửi lại cho bên phát đều có một
trừng Window chỉ rõ kích th- de lối đa của một gối mã bên nhận có thể
nhận d- ợc Cơ chế đó d- ợc gọi là diều khiển luồng (flow control), Diéu
khiển luồng giúp cho việc trao đổi dữ liệu thuận lợi hơn: tránh trần bộ đệm của bên nhận do bên phát gửi một segmenr có kích th- óc lớn hơn
kích th- ớc của bộ đệm bên nhận Do đó điều khiển luồng giúp cho việc
trao đổi thông tin không bị ngất quãng
Để nhiều ứng dụng trong một máy chủ có thể đồng thời sử dựng kết
nối TCP, giao thức này cung cấp một số địa chỉ hay cồn gọi là cổng
(port) trong xuỗi máy chủ Việc kết hợp địa chỉ mạng và địa chỉ máy chú trong lớp Intemel tạo nên một socket, một đôi sockel xác định duy nhất
một kết nối trong khi một socket cố thể déng thời d- ợc sử dụng trong nhiều kết nối Việc liên kết các cổng để xử lý đ-ợc tiến hành độc lập trong các máy chủ Sẽ tiện hơn rất nhiều nếu gắn mỗi ứng dung th- dng
dùng với mội sackel cố định
Độ tin cậy và cơ chế điều khiển luồng đồi hồi 1P phải thiết lập và
duy tri một trạng thái thông tin cố định cho mỗi một dòng: đữ liệu Các
thông tin này bao gồm: socket, số thứ tự, kích th- ớc cửa số và d- ợc gọi
là kết nối Mỗi kết nối đ- ợc xác định duy nhất bởi một cặp socket giữa
hai bên Khi hai ứng dụng cùng yêu cầu thông tin, TCP tr- ớc hết phải
thiết lập một kết nối Khi việc thông tin kết thúc, kết nối bị cắt để trả lại
tầi nguyên chơ các ứng dụng khác Khi bất buộc phải tạo kết nối giữa
những máy chủ không đáng tin cậy trong một mạng cũng không đáng tin
cậy thì TCP sử dụng một cơ chế bắt tay với việc đánh số thứ tự dựa vào
nhịp đồng hồ để tránh lỗi khởi tạo kết nối
TCP là một giao thức song công, kết nối có h- ớng, đáng tin cậy và
chính xác Nh- ng để thiết lập tất cả những thông số trên, lại thêm cá việc
nhận dạng lỗi thả quả là không đơn giản TCP cực kĩ phức tạp và không
có gì ngạc nhiên là chỉ phí của nó trong mạng là rất cao Các mạng ngày
nay đáng tin cậy hơn nhiều so với tr- ớc đây và thêm vào sự tin cậy là
không cần thiết
Dinh dang Segment của TCP:
12
Trang 23Các lớp ở trên gửi dòng dữ liệu cho giao thức ở lớp vận chuyển,
TCP cắt dồng dữ liệu ra thành các segment và gửi chúng xuống lớp
Intemet Lớp Itemel định tuyến các scgment chạy trong mạng giống
nh- định tuyển gói tin Các sepment này khi đến lớp Host to Host của
bên nhận sẽ đ- ợc ghép lại thành dòng dữ liệu ban đầu rồi gửi lên lớp
trên
TCP d- ợc biết đến nh- là một thủ tục h- ớng-kết nối (connecdian-
oriented), cO nghia la cdc tram dâu cuối kết nối với nhau phải thiết lập một kết nối giữa chúng
Một ví dụ điển hình của kỹ thuật h- ởng kết nối đó chính là cuộc hội
dầm trên điện thoại giữa 2 ng- ời Đầu tiên, có một thủ tục xác nhận kết
nối giữa các ng- ời tham gia và có thể đầu trao đổi thông tin, sự xác
nhận dé bắt đầu cuộc đàm thoại đó là từ "Hello"
Tình vẽ sau minh hoa mot segmeat ca TCP Các tr- ðng này cung
cấp liên lạc giữa các trạm và điều khiển trao đổi thông tin giữa chúng
Hình TI-3: Định dang TCP Header
Bang II-1; Chite nang cia cae (r- ong (rong TCP leader
Sourcc For | Số nhận dạng của cổng gọi tới 16
Destination port | Sd nhan dang của cổng bị gọi 16
Sequence | Số dùng để đảm bảo trình tự của đữ
number - | liệu gửi tới
Trang 24Code bits | Chức năng điều khiển nh- thiết lập và 6
uỷ bộ 1 phiên lâm việc Window | Sé byte ma thiết bị sắn sàng nhận 16
Checksum | Tính toán tổng số bịt chanflé trong 16
phn header vit data Urgent | Chỉ thị sự kếi thúc của dữ liệu khẩn l6
Option Dung Ì- ợng phân đoạn TCP lớn nhất 0/32
Data Dữ liệu từ thủ tục lớp cao hơn Biến đổi
Chú ý: Độ dài header của TCP là 20 byte Việc chuyển tải nhiều gói
tin với l-ơng dữ liệu lớn sẽ lang phi bang thông và kém hiệu quả so với
chuyển tải ít gói tin nh- ng cố độ dài phần dữ liệu lớn hơn
2 Giao thức User Datagram (UDP)
Nếu so với TCP, UDP là mô hình giản l- ợc hơn nhằm tiết kiệm chi
phí Có khi LDP cồn được gọi là giao thức “gầy”, như một người gầy gò
ngồi trên ghế đá công viên, giao thức “gây” không chiếm nhiều chỗ hay
trong Ir- ðng hợp nầy là không chiếtn nhiều dải thông của mạng
UDP dam nhận một nhiệm vụ thật khó tin là truyền thông tin mà
không đồi hỏi độ tin cậy UDP cũng đ- ợc dùng trơng mội vài thành phần
cia mang UDP d-go bid đến nh- là thủ tục phi kết nối
(pownectionlass), t- ơng tự nh- dịch vụ gi th-, bạn cho th- vào thùng và
hy vọng nó có thế đến đ- ợc đúng nơi bạn gửi tới
Trong một vài tr- ờng hợp, việc lựa chọn UDP là khôn ngoàn hơn
TCP Trong tr émg hop cia SNMP (Simple Network Management
Protocol) chang han, SNMP theo đối mạng, gửi các bản tin ngất quãng
và dêu dạn gửi các trạng thái d- ợc cập nhật và các cảnh báo, đặc biệt là trong các mạng lớn Chi phí để thiết lập, duy trì và ngất các kết nối TCP
cho mỗi một bản tin con con sẽ tăng lên, điều đó là không tốt với mạng
Một tr ờng hợp khác có thé thay thế 'LCP bằng UDP là khi đệ tin
cậy của mạng đã đ- ợc đảm bảo ở lớp ứng dụng Hệ thống tệp tin mạng
(Wensark File System-NFS) quản lý độ tìn cậy của chính nổ làm cho việc dùng TTCP là không thực tế và thừa Nh- ng cuối cũng, quyên quyết định dùng TCP hay UDP thuộc về ng- ời thiết kế các ứng dụng chứ không phải ng- ði sử dụng, những ng- ời luôn muốn truyền dữ liệu nhanh hơn
UDP không xếp thứ tự các segruent và cũng không quan tâm đến
thứ ty các segment nhận d-ực ở bên nhận Sau đó, DP sẽ gửi những
segmient cuối và quên luôn chúng Nó không theo đến cùng, không kiểm
tra hay thậm chí là không cho phép phúc đáp, hoàn toàn bỏ rơi Chính vì
thế, nó đ- ợc gọi là giao thức không đáng tin cậy Nh-ng điều đó không
Trang 25có nghĩa là UDP không hiệu quả, chỉ có nghĩa là nó không chịu trách
nhiệm về độ tin cậy
Hơn nữa UDP không tạo ra một mạch ảo, cũng không liên lạc với
bên nhận tr- ớc khi truyền dữ liệu cho nó Vì thế nó đ- ợc gọi là giao thức
phi kết nối (connectionless) Một khi UDP đ- ợc dùng thì ứng dụng sẽ
phải tự đảm bảo độ tin cậy Do đó ng- ời thiết kế ứng dụng có quyền lựa
chọn: TCP cho độ tin cậy và UDP cho truyền dữ liệu nhanh hơn
Dinh dang segment ctia UDP:
Hinh vé sau minh hoa segment ctia UDP, UDP segment lu6n bang
Hinh IL-4; UDP segment
Bảng II-2: Chức năng các tr- ing cla UDP segment
Source Port Số nhận dạng của cổng gọi tới 16
Destination port | Số nhận dạng của cổng bị gọi 16
Length Độ dài của UDP header và dữ liệu
UDP
Checksum Tính toán tổng số bịt chan/lé trong 16
phan header va data
Data Dữ liệu từ thủ tục lớp cao hơn Biến đổi
Hinh IL-5: Mot sé cong trong TCP va UDP
Trang 26
Cả 2 thủ tục 'LCP và LJIDP đểu dùng số nhận dạng cổng để chuyển thông tin lên mức cao hơn Port Number đ- ợc dùng để theo đối các cuộc thông tin truyền lâi qua mạng trong cùng ruột thời điểm Hình sau đây
định nghĩa một vài Port Number đ- ợc sử dụng bởi ‘TCP va UDP
Ng-ði phất triển các ứng dụng trên mạng đều sử dụng cdc Port
Nhmber thông dụng, d- ợc điểu khiển bởi Tổ chức dăng ký Port Number
cila Intemet (IANA)
Ví dụ: bất cứ cuộc thông tin nào cổ liên quan đến ứng dụng FTP
dễu sử dụng số chuẩn là 21 Các cuộc thông tin không liên quan tối ứng
dụng với Port Number chuẩn đ- ợc đăng ký với một số ngẫu nhiên trong
khoảng định tr-ớc Các Port Number nay đ-ợc xem nh- các địa chỉ
nguồn và đích trong thủ tục TCP
C6 một số cổng đ- ợc đành dự trữ cho cả TCP và UDP nh- ng các
ứng dụng có thể không hỗ trợ cho các cổng đố Port Number cố khoảng
ding ky sau
* S6 nhé hon 1024 d- ge danh cho các cổng thông dụng
# Số lớn hơn 1024 đ- ợc đăng ký động cho các cổng
Hinh L-6: Vi dy Port Number
Các hệ thống đầu cuối sử dụng các Port Number để lựa chọn các
ứng dụng thích hợp Phía Pon Number của nguồn th- ðng đ- ợc đăng ký
bởi trạm nguồn, các số th- ờng lớn hơn 1023
16
Trang 274 Thiết lập kết nối TCP: Three-way handshake
TCPF là thủ tục h- ớng - kết nổi, vì vậy nó đòi hỗi phải thiết lập kết
nối tr- ốc khi truyền dữ liệu đi Để thiết lập hay khởi động kết nối, cả hai
trạm phải đ- ợc đồng bộ với cùng mội số thứ tự ban đầu (initidÏ xeguence mưnber) Sự đồng bộ đ- go thực hiện khí trao đối gối tin khởi động kết
nối cổ bịt điều khiển (đ- go gọi là SYN hay bít đồng bộ) và số thứ tự bạn dau Nói ngắn gọn, gói tin mang bịt đồng bộ Do đó, đại ra một giải pháp
sử dụng kỹ thuật thích hợp để khởi tạo số thứ tự
Sự đồng bộ yêu cầu mỗi phía phải truyền số thứ tự ban đầu của riêng mình và nhận lại một xác nhận của phía thu thông báo việc truyền
gói tin thành công (cồn gọi là gói phúc đáp Acknowledgment)
Seq=300 Ack=101 CHU=SYN, Ack
}Tmiet lap
Seq=101 Ack=30L
GI=Ack
Hinh II-7: Three-way handshake
Sau đây là trình tự Lhiết lập:
B- 6 1: Tost A gi đến IIost B mội SYN segienl: Số thứ tự cũa
gói tin của tôi là 100, số ACK là 0, ACK bịt không khới tạo, số SYX
đ-ợc khởi tạo
B- ức 2: Host lì gửi lại Host A một gới ACK: tôi muốn đ- ợc nhận
gồi thứ 101 tiếp theo, số thứ tự của tôi là 300, ACK bit d- ợc thiết lập
Host B téi Host A SYN bit d- 9c thiét lap
B- de 3: Host A lai giti cho Host B: Tdi mudn nhgn 301 tiếp theo,
số thứ tự của t6i 1a 101, ACK bit d- ge thiết lập, SYN bít d- ge thiết lập
Quá trình trao đối trên đ-ợc gọi là quá trình bắt tay ba b-ớc (Three-way handshake) Qua trinh bat tay ba b- ớc làm giảm thiểu sự rớt kết nối Nó là một biện pháp để dung hoà giữa bộ nhớ và thông tin
17
Trang 282 "TCP ở phía bên kia gửi một tín hiệu kết thúc đến (FIN)
4 Cả hai đểu
ết thúc đồng thời
'Tr- ờng hợp I: Ng- ời sử dụng yêu cầu kết thúc
Trong tr-ờng hợp này, một segmeni FIN đ- ợc tạo ra và xếp vào
hàng đợi sogmenL TCP ngừng không gửi dữ liệu đi nữa và nó chuyển
sang trang thai FIN-WAIT-1 Trong khi đó nó vẫn nhận các gới d- ợc gửi
đến Lất cả các segment tr- 6c dé ké cA FIN segment déu đ- ợc truyền đi
nhiều lần cho đến khi nhận đ- ợc phúc đáp Khi TCP phía bên kia phúc
dap va gửi di FIN scgrucnt của chính nó, TCP phía bên này sẽ phúc đáp
lại L-u ý rằng một LCP sẽ phúc đáp khi nhận đ- ợc IIN nh-ng nó sẽ
không gửi LIN segment cua chinh né néu ng- ời sử dụng của nó không ra
lệnh kết thúc kết nối
r- ờng hợp 2: TCP nhận d- ợc KIN segment
Nếu nhận đ- ợc một I'IN segment, JCP sẽ phúc đáp và báo với ng- ời sứ dụng kết nối đang đ- ợc kết thúc Ng- ời sử dụng ra lệnh kết
thúc kết nối, TCP sẽ chỉ gửi di FTN scgment sau khi nó gửi di toàn bộ dữ
liệu đang gửi LCP sẽ đợi cho đến khi !!IN của nó đ- ợc phúc đáp thì kết thúc kết nổi Nếu sau một khoảng thời gian nhất định mà không đ- ợc
phúc đáp lại, kết nối sẽ bị đồng và TCP thông báo cho ng- ời sử dụng
r- ong hop 3: Hai ng- ời sử dụng dếu ra lệnh kết thúc cùng một
lúc
Tr- ờng hợp này cả hai bên sẽ trao đổi FIN cho nhau Khi tất cả các
segment u- Ge FIN déu d- ge giti di va plide dap, mdi TCP déu 06 thé phúc dáp FTN mà nó nhận d- ợc Cho đến khi cả hai bên dếu nhận d- ợc
phúc đáp cho I!IN của nó thì kết nổi sẽ bị đóng,
6, Điều khiến luéng trang TCP
Để khống chế d- ge luồng dữ liệu trao dổi giữa các thiết bị thông
tin, TCP sit dụng một kỹ thuật điều khiển luồng 'TCP phía nhận sẽ thông báo I cứa sổ tới TCP phía phát Cửa sổ này chỉ rõ số byte, bắt đầu với số
Ack mà TCP phía thu dang sản sàng nhận
Cửa sổ của TCP có thể thay đổi trong suốt quá trình kết nối Mỗi
một phúc đáp chứa 1 cửa sổ thông báo cố bao nhiéu byte phía thu có thể
chấp nhận TCP cũng duy trì cửa số điều khiến tắc nghén thông th- dng
bằng kích cỡ cửa sổ của phía thu và bị cất một nữa nếu l gới tin bị mất (vi du trong tr-ờng hợp có tắc nghẽn) Điều này cho phép cửa sổ có thể
mở rộng hoặc thu hẹp lại nếu cần thiết để quản lý đ-ợc khoáng trống trong vùng nhớ đệm và khả năng xử lý của các tiến trình
18
Trang 29SourccPorL | Dest Port | Seq # | Ack # | |
Toi vừa
#11 Bay gid tôi muốn fa)
khiển luồng một cách hiệu quả Với kích cỡ cửa số =l, mỗi gói tin gửi đi
phải đ- ợc phúc đáp trở về tr- óc khi truyền tiếp một gồi tin khác Nó
không phải là ph- ơng pháp cổ hiệu quả vì sẽ tốn bảng thông của d- ờng
truyén
TCP có khả năng đặt thứ tự các gói dữ liệu với ACK, mai gói dữ
liệu đ- ợc đánh số Ir- đc khi truyền đi Tại phía thu, TCP kếi hợp các gói
tin thành toàn bộ bản tin Nếu một số thứ tự bị sai, không theo trình tự
thì gói tin đố sẽ phải truyền lại Gói tin không a ge phtic dép trong mét
khoảng thời gian cũng sẽ đ- gơ phát lại Hình II-8 mình họa vai trồ của
số ACK khi đữ liệu của ng- ði sử dụng đ- ge truyền đi
Trong hình II-9, ng- ời gửi truyền đi 3 gói tin tr- ớc khi nhận đ- ợc 1
phúc đáp Ng- Oi nhận chỉ có thể xử lý d- ợc với cửa sổ bằng 2, do đồ sẽ huỷ gói tin thứ 3 nhận đ- ợc và chỉ rõ 2 là gối tin tiếp theo ng-ời nhận
phát lại, đồng thời xác định cửa sổ bằng 2 Ng-ời gửi truyền tiếp 2 gói
tin nh- ng vẫn chỉ rõ cửa sổ của họ bằng 3 (có thể xử lý đ- ợc 3 gối tin)
Ng- ði nhận trả lời bằng yêu cầu gồi tin thứ 5 và chỉ rõ cửa số bằng 2
Trang 30
Hình Ii-9: Cửa số TCP
TCP có rất nhiều chức năng đ- ợc miêu tả ở trên nh- đặt cửa sổ, số
thứ tự Nh- ng UDP không có chức nang trén do UDP không có tr- ờng
Seq, hay Window trong Header Các chức năng đó có thể d- ợc cũng cấp
bởi lớp ứng dụng tuy nhiên nó có -u điểm chính là tốc độ nhanh do không phải xử lý nhiều
7 Tóm tất về giao thite Host to Host
Chúng ta đã biết cả hai giao thức; h- ớng-kết nối (TCP) và phi kết
nối (UDP) Sẽ tốt hơn nếu tóm tắt cả hai giao thức trên bằng bảng d- ới
đây
Trang 31Điiểu khiển luỗng bằng | Không dùng cửa sổ và
Bảng TT-3: Tóm tắt giao thức lớp Hast to Host
Nh- đã nói trên TCP là một giao thức h- ớng-kết nối nghĩa là tr- ớc
khi truyền đữ liệu, hai máy chủ phải thiết lập một liên kết (giống nh-
con d- ờng ảo giữa hai máy) Quá trình trao đổi thông tin gồm 3 b- de
thiết lập kết nối; duy trì kết nối và ngắt kết nối Trong quá trình duy trì
kết nối để đảm bảo thông tin ố- ợc truyền và nhận chính xác TCP áp
dụng nhiễu cơ chế: đánh số thứ thự các gồi lin (segment); co chế phúc
đấp một gói tin nhận đ- ợc; cơ chế điều khiển luồng bằng cửa sổ tr-ợt
Chính những -u điểm đó của TCP đã giúp nó trở thành giao thức thông
tin phổ biến trong mdi tr ờng mạng Internet hiện nay,
IIL GIAO TIC IP 6 LOP INTERNET
Hai chức năng chính của lớp Iniemet là định tuyến và lạo ra một
giao diện mạng duy nhất cho các giao thức ở lớp trên Ngoài ra không cổ
một giao thức nào khác, cả lớp trên lẫn lớp đ- ới có chức năng định tuyến
kể trên, nhiệm vụ phức tạp và quan trọng này giao hoàn toàn cho lớp
Imtemet Nhiệm vụ thứ hai của lớp Intemet là cung cấp một giao điện mạng duy nhất cho các giao thức ở lớp trên Không có lớp này, ng ời lập
trình ứng dụng phải viết thêm các liên kết cho mỗi ứng dụng ứng với các giao thức truy nhập mạng khác nhau Điều đố không chỉ mất công mà
cồn lạo ra rất nhiễu phiên bản của mỗi ứng dụng: một phiên bản cho Fthemet, mét cho Token Ring và nhiễu phiên bản khác nữa Để tránh
điều này, IP cung cấp một giao diện mạng duy nhất cho tất cả các giao
thức ở các lớp phía trên Thậi hoàn hão, IP và các giao thức truy nhập
mạng khác nhau có thể cùng nhau làm việc Tất cả các giao thức ở lớp
Intemet và các giao thức ở các lớp trên dến sử dụng IP Tất cả các con
d- ong trong m6 hinh TCP/IP déu phai di qua IP
Lớp Intemet là một phần của giao thức TCP/IP có nhiệm vụ đánh
địa chỉ cho các trạm trên mạng và lựa chọn đ- òng đi từ các trạm đó đến
đích mong muốn Đây là lớp mà các bộ Router thực hiện nhận dạng các
Trang 32
tuyển d- dng đi cho các gói tin trên mạng, nh- ng ngoài ra còn có các
chức năng khác đ- ợc thực hiện ở lớp này
Có một vài thủ tục hoạt động trên lớp Intemet của giao thức TCP/IP t-ơng đ- ơng với lớp Network của mô hình OSI, Sau đây là một vài thủ
tục liên quan đến lớp Iniernet
* Thi tuc Internet {IP): Iruyền dữ liệu kiểu phi kết nối cung
cấp khả năng lựa chọn các tuyến đ-ờng cho các gói tin, IP
không quan tâm đến nội dung các gói tin mã chỉ xác định làm
sao chon d- oc luyến đ- ờng thích hợp để truyền các gói lin đến
liên kết dữ liệu
1 Cấu trúc Header cia IP Datagram
Giao thie Internot (TP) về cơ bản La 1ép Intemet Cac giao thức khác
trong lớp này chỉ dơn thuần là hỗ trợ cho IP IP là một bức tranh lớn và
có thể nối là toàn cảnh, nó chứa đựng tất cả những gì về các mạng nội
kết nối Nó có thể làm đ- ợc điều đố vì tất cả các máy trong mạng đều có
một địa chỉ phần mễm hay địa chỉ logic gợi chung là địa chỉ IP,
TP quản lý địa chỉ của gói đữ liệu, sau đó sứ dụng bảng định tuyến,
nó sẽ quyết định gửi gói tin đến dau, theo d- ờng tối - u nhất Giao thức ở
lớp truy nhập mạng, lớp cuối cùng của mô hình TCP/TP không ảnh
h-ởng đến phạm vi của IP trong toàn bộ mạng, nố chỉ liên quan đến lliên
kết vật lý mà thôi
Mãi thiết bị trong mạng đêu cẩn hai câu trả lời: Nó dang nằm trong
mang nao? Dia chỉ của nó trong mạng đó là gì? Câu trả lời thứ nhất là
địa chỉ logic, câu trả lời thứ hai Ì ý Tất cá các máy chủ trong mạng đều có ruột địa chỉ logie gọi là địa chỉ IP Nó chứa đựng thông tin mã hoá rất quan trọng để làm don giản hoá đến mức tối da quá
trình định tuyến vốn rất phức tạp
IP nhận các sogmemt từ lớp Host to Host và chia nhỏ chúng thành
các Datagram IP ở bên thu lai ghép cdc Datagram thanh cdc segment
Mỗi datagram đ- ợc đánh dấu bằng địa chỉ nguồn và địa chi dich Router
nhận đ- ợc gối và định tuyến đựa vào chỉ đích của gói đó
Hình d- ới là một IP header, nó sẽ cho biết IP làm việc thế nào khi
có đử liệu từ lớp trên gửi xuống
tà t
Trang 33Hinh II-10: Minh hoa cac tr- dng thong tin cua IP Header
Bảng II-4: Chức năng của các tr- ing trong Header cia IP
Priorily & Type of [Ph-ơng thức gồi tin đ-ợc xử lý 8
Service 3 bit đầu tiên là bit kiểm tra chan lẻ
Total length "Tổng số byte cúa gối tin 16
Flags Chỉ rõ gói tin có bị chia nhỏ hay không 3
Tragment Ottset Cung cấp sự phan chia gới tin để phù hợp 13
với các kích cỡ của Inrernet
Time to live "Thời gian tổn lại của gối lin trên mang §
Protocol Mã nhận dạng của các giao thức lớp cao 8
hon
Header checksum Kiểm tra lính chẩn lẻ của tổng các bịL 16
trong header
IP option Tuy chọn chức năng an toàn, phát hiện 0/32
lỗi và kiểm tra của mạng
Data Dữ liệu của thủ tục cao hơn gửi tới Thay
đối
Để hiểu một cách chỉ tiết hơn, sau đây là diễn giải một số tưr- ờng
của IP Header:
Trang 34a Tr- ịng phiên bắn (Version)
Gém 4 bit, chứa dựng phiên bản của giao thức IP d- ợc đùng trong gĩi tin Tr-ững này đ-ợc dùng để kiểm tra xem bên nhận, bên gửi và
galeway trung gian cố chấp nhận câu trúc của gĩi tin hay khong Tit cd
các phần mềm 1P đều phải kiểm tra tr-ờng này để xem nĩ cố khả năng
xử Lý đ- ợc phiên bản nầy hay khơng Nếu nh- phiên bản của gĩi tin khác
với phiên bản mà nĩ cĩ thể xử lý thì ch- ơng trình sẽ khơng xử lý và báo
lỗi
b Tr- ðng độ dài (Length)
Tr ong nay gồm 4 bịt chỉ ra độ dài của phần header của gối tin tính
theo đơn vị số từ 32 bít Thơng tin độ dài của phần header là 20 byte
Phân header cĩ độ dài tối thiểu là 5 từ 32 bịt
c Tổng độ dài (total length)
Gém 16 bit biểu thị độ đài của một gĩi tín tính bằng byte bao gồm
cả độ đài của header và dữ liệu Độ dài của phần đữ liệu cĩ thể ở- ợc tinh
bằng phép trừ giữa tr- ờng tổng độ dài và tr- ờng độ dai Vi tr Ong nay cd
16 bit nên kích th- ớc tối đa của một gối tin là 2! bit tic 1A 65.535 byte
d Tr- ong kiéu dich vu (service type)
Gém c6 8 bit chi ra cdch thitc mi mét gdi tin d- ge air ly Tr ang
Tr- ðng độ - u tiên chỉ ra độ - u tiên của gồi tín, giá trị này cĩ thể từ
0 đến 7 Tuy nhiên phần nhiều các máy chil vi gateway th- dng khơng xử
lý tr-ờng nầy Các tr-ờng D, T và R chỉ ra kiểu tmyển đữ liệu mong
muốn trên gĩi tin D cĩ nghĩa là yêu cầu độ trễ thấp; T yêu cầu thơng
Long cau; R yêu cầu độ tin cậy cao Tuy nhiên khơng cĩ sự đảm bảo
rằng các yêu cẩu này d- ợc thực hiện tại các nút vì cố thể các yêu cầu
khơng thực hiện d-ợc, ví dụ nh- khơng cĩ d-ðng tới dích cĩ tính chất
nh- yêu cầu
Các yêu cầu của tr- ững 1D, 'T' và R d- ợc xem là gợi ý cho thuật tộn
chọn đ- ờng, chứ khơng phải nh- một yêu cầu Nếu một gateway cĩ thể lái một gĩi tin theo nhiều đ- ờng khác nhau nĩ sẽ dùng các yêu cầu này
để chọn ruột d-ờng phù hợp Ví dụ nh- gateway od hai d- ờng để truyền
các gi tin: một đ- ờng thuê riêng (leased line) nh- ng cĩ thơng ]- ợng Ít
và một đ- ờng băng rộng qua vệ tỉnh cĩ độ trễ lớn Một ch-ơng trình
TELNET thực hiện một chế độ làm việc t- ong tác với ng- di dũng, cần
truyền một kí tự đi mỗi khi cĩ một nhím gõ xuống cần thiết lập bit D để
gateway chọn d-ờng thuê bao riêng Cịn một ch- ơng trình truyền file
lớn cần thiết lập bít T để dùng đ- ờng băng thơng rộng qua vệ tính
Trang 35e Kich th- 6c géi tin, MTU va phản đoạn
Kích th- ứ gói lin, MTU
Khi truyền dữ liệu, giao thức IP giá gói tin xuống tầng d-ới để
truyền dữ liệu di trong mạng Tại tầng d- ới, tầng liên kết dữ liệu, gói tin
sẽ đ- ợc bọc ngoài phần header của tầng này và chuyển tiếp xuống tầng
vật ly để gửi đi Tại tầng vật lý, gối tín lại đ- ợc bọc bằng một header của
tầng này Do đó, cẩn thiết phải chọn một kích th- đc của gối ún IP, sao
cho nó có thể thích hợp với các gói tin ở tầng d- đi và truyền đi trong
mang dé dang
Đối với một mạng, có một giới hạn về kích th- ớc dữ liệu có thể
truyền đi trong một gối tin trên tầng vật lý Ví dụ nh- trong mạng
Ethemet, giGi han này là 1500 byte, trong khi mạng PRONET cho phép
tới 2044 byIe Giới hạn này gợi là đơn vị truyền lối đa MTU (Maximun Transfer Unit) MO vii mang chỉ cho phép MTU là 128 byie Nếu ta giới hạn kích th- óc của gối tin IP dé phù hợp với kích th- óc nhỏ nhất
của gới tin trên tầng vật lý thì sẽ không biệu quả khi IP hoạt động trên mạng có MIU lớn Còn nếu chọn kích th- ốc của gói tin IP theo kích
th- ốc lớn nhất của gối tin trên tầng vật lý thì gói tin này sẽ không phù hợp với các mạng có MTU nhỏ
Hình II-12: 1.- ợ: đã miên tả quá írình nhân đoạn
Với lý đo trên, thay vì thiết kế một gối tin cố kích th- ớc cổ định,
giao thức IP sẽ chọn một kích th- de gói tin thích hợp và đùng một cơ cÍ
cho phép chia nhỏ gối tin thành các phân nhỏ để đi qua mạng có MU nhỏ Các phần này gọi là các phân đoạn ?agmem), quá trình chia nhỏ
gối tin đ-ợc gọi là qua trinh phan doan (fragmentation) Hinh trén cho
thấy quá trình phân đoạn xuất hiện tại gateway, nơi nối giữa hai mạng,
một mạng có MTU lớn và một mạng c6 MTU nhé: hai tram A va B tai hai mạng Nel và Nel3 đều có MTU là 1500 bwte Do vậy dữ liệu gửi
qua lại giữa hai trạm có kích th- ác là 1500 byte Hai mạng Net] va Net3
thông qua mạng Net2 có MU là 600 byte Do vậy gói tin gửi tir A sang
Trang 36
H sẽ bị phân đoạn tại gateway (11 Cồn các gối dữ liệu gửi từ H sang Á sẽ
bị phân đoạn tai gateway G2
Kích th- đc của một phân đoạn d- ợc chọn sao chợ nó vừa khít với
một gói tin tại trạm đó Sau khi d- ge phân đoạn, các phân đoạn sẽ đ- ọc lắp ráp lại với nhau (reassembled) để tạo lại gói tin gốc tại đích
Giao thức IP không giới hạn kích th- ớc của một gói tin Bên gửi IP
có thể chọn bất ki kích th- ớc nào mà nố nghĩ là thích hợp Việc phân
đoạn và lấp ráp lại sẽ d- ợc làm tự động mà không cẩn bên nhận phải
thực biện một xử lý đặc biệt nào Theo đặc tả của IP REC 791 [22],
gateway phải chấp nhận các gối tin có kích th-ớc lên đến MTU của
mang Gateway th- ờng cố thể chấp nhận các gối tin có kích th- óc lên tới
576 byle
Cấu trúc của một phân đoạn bao gồm cố phần header và phần dữ
liệu Phần header chứa thông tin giống hệt phần header của gối tin ngoại
trừ tr- ðng FLAG, mà chỉ ra rằng nó là một phân đoạn Phần dữ liệu chứa
đựng các phần nhỏ dữ liệu của gối tin,
Nối kết các nhân duạn
Trong giao thức TCPIP, khi một gối tin bị phản đoạn, các phân
đoạn của nó sẽ di chuyển độc lập trên mạng theo các h- ứng khác nhau
để tới d- ge dich cuối cùng lại đích các phân đoạn này đ-ợc nối kết thành gối tin gốc
Việc để các phân đoạn di chuyển độc lập trong mạng cho tới khi nó
tới đích có một vài nh- ợc điểm Thứ nhất là bởi vì các phân đoạn không
đ-ợc kết nối lại ngay sau khi đi qua mạng có MTU nhỏ mà nó đ- ợc giữ
nguyên nên khi dĩ qua mạng cổ MTU lớn thì tính hiệu quả sẽ thấp Thứ
hai là nếu bất kì một phân đoạn nào bị mất, gói tin sẽ không thể kết nối
đ-ợc Tại bên nhận, khi nhận đ-ợc phân đoạn đầu tiên, nó khởi động
đồng hổ đếm Nếu thời gian đã hết tr-ớc khi tất cả các phân đoạn tới
dich bên nhận sẽ xoá tất cả các phân đoạn đã nhận d- ợc tr-ớc dó Việc
mất một phân đoạn bất kì sẽ làm mất gối tin t- ơng ứng và phải truyền lại toàn bộ các phân đoạn Điều này làm tăng xác suất mất gới tin
"tuy có vài nh-ợc điểm nh- ng ph-ơng pháp này cho thấy nó vẫn
hoạt động tốt Nó cho phép các phân đoạn di chuyển một cách độc lập và
không bắt buộc các gateway phải cất giữ và kết nối các phân đoạn
Điền khiển quá trình nhân đoạn
Có 3 tr-ờng trong header của gối tin điểu khiến quá trình phân
đoạn, đó là tr- ờng nhận dang (indentification), u- ong cd (flag) và tr- Ing offset của phân đoạn Tr- ng nhận dạng chứa một tên duy nhất của gói
tin, Ur Ong nay d- ợc sao chép vào trong phần header của phân đoạn Bên nhận sẽ dùng tr- ng này và địa chỉ nguồn để nhận biết phân đoạn thuộc
về gói tin nào Tuy nhiên là bên gửi cũng phải đẩm bảo sinh ra một nhận
đạng duy nhất cho mỗi gồi tin Một trong các kĩ thuật đ- ợc sử dụng là
Trang 37
dùng một bộ đếm Hộ đếm sẽ đ- ge tăng lên một sau mỗi lần tạo một gối
tin vA gin vio tr- ng nhận dạng của gói tín
'Ir-ờng offset của phân đoạn chỉ ra vị trí của phần dữ liệu chứa trong phản đoạn trong phần dữ liệu của gối tin Khoảng cách đ- ợc tính
từ vị trí 0 và tính theo đơn vị 8 byte
Hai bịt thấp trong tr- ờng llag liên quan đến việc phản đoạn Hit thứ nhất chỉ ra gói đữ liệu có thể đ- ợc phân đoạn hay không Khi bit này đ-ợc thiết lập tũ gới tin không thể bị phân đoạn Œateway mà cẩn phải
phân doạn gối tin để gửi di khi gập bịt này sẽ trả về một thông báo lỗi
cho bên gửi, Bit tiếp theo chỉ ra phân đoạn chữa dữ liệu thuộc về phần
giữa trong gói tin hay là phần cuối cùng trong gói Khi bít này đ-ợc
thiết lập có nghĩa là dữ liệu trong nó thuộc về dữ liệu ở giữa gối tín, cồn không thì là dữ liệu cuối cùng trong gối tin Khi nhận d- ợc phân đoạn
với bit này bằng 0, bên nhận có thể biết là nó đã nhận hết các phân đoạn
của gối tín
J Thoi gian séng TTL (Lime To Live)
Tr- dng TTL chi 1a sé don vi tinh bing giây một gối tin có thể tồn
tai trong mang Khi gửi một gối tin di, bên gửi sẽ gần giá trị này vào
trong mỗi gối tin Gateway và các trạm xử lý gối tin sé gidm tr: dng TTL
đi một đơn vị mỗi khi nó xử lý một header của gối tin Ngoài ra để xử lý
tr- ng hợp có sự trễ tại gateway, khi nhận đ- ợc một gói tìn nổ sẽ ghỉ lại thời điểm nhận và khi chuyển gõi tin di nó sẽ ghi lại thời diểm gửi Ciateway sẽ trừ tr-ðng TL di một giá trị bằng thời gian gối tin ở lại
trong gateway
Khi tr-ờng 'LI1 bằng không, gateway sẽ loại bổ gới tin và gửi thông báo lỗi về cho bên gửi Việc dùng ‘I'L cho phép loai bé kha ning
một gói tin có thể tổn tại nội trong mạng ngay cả khi bắng chọn đ- òng
của galcway gặp sự cố và gatcway gửi gói lin bi Jap tong mang
g Tr- éng giao thite (Protecol)
Tr- dng giao thie gdm 8 bit chi ra giao thite niio 6 dng trén di d- ge dùng để tạo ra gồi tin ở tần trên, tức là chỉ ra cấu trúc của phần dữ liệu
Giao thức đ- ợc chỉ ra bằng giá trị của một số nguyên
°h Tr- òng mĩ kiếm tra (Checksum)
Tr- ờng mã kiểm tra gồm l6 bit dùng để kiểm tra tính toàn vẹn của
phan header Checksum d- gc tinh toán bảng ph- ơng nháp CRC và khi
tính toán checksum, giá trị của tr- ding nay đ- ợc giả thiết bằng 0
8 Tr- ờng địa chỉ nguồn và đích
'Ir-ờng địa chỉ nguồn (source IP address) và tr-ờng địa chỉ đích
(destination IP address} là số 32 bit chữa địa chỉ LP của trạm nguồn và
Trang 38J Tr- ong twa chon (options)
Tr dng Iya chon d-ge dat tiếp theo -ờng dia chi trạm dích và
không phải là bất buộc trong gối tin Tr-ờng này lúc dầu đợc thiết kế
cho kiểm tra và tìm lỗi trong mạng '1T- ðng lựa chọn đ- ợc coi nh- là một
phần của giao thức IP nẻn mọi cài đạt của IP đểu phải bao gồm việc xứ
ly tr- dng nay
Độ dài của tr- ðng lựa chợn là khác nhau và phụ thuộc vào số l- ong các lựa chọn đ- ợc dùng Tr-ờng lựa chọn có thể chỉ dài 1 byte, khi nó chứa rnñ lựa chọn Ngoài ra nó cố thể có độ dài khác nhau, Các lựa chọn
d- ợc đặt liên tiếp nhau trong gối tin mà không có phân ngăn cách Mỗi
lựa chọn bao gồm phần mã lựa chọn | byte Sau đó có thể là 1 byte dd
dài của lựa chọn và phần dữ liệu của lựa chọn Phần mã lựa chọn đ- ợc miêu tả trong hành d- đi
| Copy Lớp lựa chọn Số lựa chọn
Hình II-13: Phân chia fr- ờng mã lựa chọn thành 3 tr- ờng nhỏ
Phần mã lựa chọn bao gồm 1 bi cờ COPY, 2 bít lớp lựa chọn (option class) và 5 bit số lựa chợn (option number) Cờ COPY chỉ ra
phdn gateway có sao chsp các lựa chọn vào cấc phân đoạn trong quá
trình phân đoạn Nếu tr- ðng này bằng 0 thi cé nghia IA gateway chi sao
chớp các lựa chọn và trong phân đoạn đầu tiên, mà không phải Lất cả các
phân đoạn
Bảng I-5: Các lựa chọn có thể đ- ợc gần cho gói tin
Các tr- ờng lớp lựa chọn có số lựa chọn chỉ ra lớp của lựa chọn và
lựa chọn cụ thể trong lớp đó Bảng d- ới chỉ ra các lớp lựa chọn:
Lớp lựa chọn [ Sốlựachọn | Độ dài Ý nghĩa
t 0 — | Chối danh sách lựa chon D-ge ding Khi vị trí cuối danh,
sich d- gc lựa chọn không trùng với vị trí cuối header
a 1 _ | NOP Ding ae ngăn chia vi sấp xến ode lựa chọn vào
H z 1L | Giấhạm vé độ bảo mặt vàkiểm soát
l 3 thay đổi | Dùng để Lãi một gối tin theo mot d- ing d-qc chỉ ra
8 7 thay đổi | Dũng để dồ vết ú- ăng di
8 5 4 — | T6noônmộlđòng dữ hệu
8 3 thay đổi | Chọn đ-àng chính xác theo nguồn (strict source route}
Trang 39một gói tin theo một tÌ- ðng d- go chỉ ra
2 | 4 thay đổi Tnfemel Ding dé ghi nhấn lhời giam dọc
|
Bảng TI-6: các lựa chọn của TP với lớp lựa chọn và số lựa chọn (- ong ting
Luựa chọn bản ghỉ nhớ d- ờng (record route)
Các lựa chọn bản ghi nhớ đ- ờng và lựa chọn nhãn thời gian là quan
trọng, Nó cho phép quan trắc và điểu khiển cách thức mà các gateway
chọn đ- ờng cho các gói tim Lựa chọn bản ghi nhớ đ- ðng cho phép bên
gửi tạo ra một danh sách trống các dịa chỉ TP và cho phép các galcway
mà xử lý gói tin này có thể chèn vào danh sách các địa chỉ IP của nó, Hình d- ới chỉ ra cấu trúc của một bản ghi nhớ đ- ờng
Hình II-14: Cấn trúc của một lựa chọn hàng ghi nhớ đ- ờng
trong một gói tin IP
Tr- Ong mã chỉ ra lớp lựa chọn và số lựa chọn Trong tr- ờng hợp
nay tr- dng mf cé gid tri 1a 7 Tr- dng do dai chi ra độ đài của lựa chọn bao gồm cả 3 byle đầu tiên Các Ir-ờng sau Ir-ờng con trổ cho biết
khoảng cách t- ơng dối của một vùng cồn trống dế pateway diễn địa chỉ
IP vào
Khi một máy chủ xử lý một gói tin có tr- ờng bản ghi lựa chọn đ- ợc
thiết lập, nó sẽ chèn địa chỉ của nó vào danh sách bản ghi đ- ờng Để
chèn vào danh sách tr- ớc hết nó phải so sánh tr- ờng cơn trỏ và tr- Sng do
đài Nếu tr ờng con trỗ lớn hơn tr- ờng độ dài thì có nghĩa là danh sách
thêm nữa Cồn nếu không nó sẽ chèn thêm:
địa chỉ của nó vào và tăng giá trị con trổ lên 4 đơn vị
Khi tới đích, danh sách các tr- Ong nay sẽ d- ợc lấy ra và xứ lý Tuy
nhiên nếu bên nhận không lựa chọn bản ghi d- ờng thì danh sách này bị
bổ qua
Lya chon d- ờng đi từ nguồn (source route)
Laa chon niy cung e@p kha nding cho ng- ời gữi có thể chỉ ra d- dng
di của gối tin trên mạng Ví dụ nh- để kiểm tra thông l-ợng trên một
mạng vật lý N đặc biệt nào đó, ng- ời quản trị hệ thống có thể dùng lựa
chợn này để buộc gói tin phải đi qua mạng N ngay cả khi gateway bình
th: Ờng chọn một đ-ờng khác khong qua mang N, Kha nang thực hiện các kiểm tra này là rất cô ý nghĩa trong môi tr- ờng công nghiệp vì nô
cho phép ng- di quan tri mạng có thể truyễn các gói tin theo các mạng
Trang 40hoạt động tốt trong khi có thể cùng một lúc kiểm tra hoạt động của các
mạng khác
Giao thức IP hỗ trợ hai loại lựa chọn đ- ờng đi từ nguồn Loại lựa
chon d-dng di ti nguén chinh xdc (strict source route) va lua chon
d- Ong di tir nguén chinh khong chinh xdc (loose source reute), Cau tric
cfia hai loai nay 1a giéng nhau va d- ge chi ra trong hinh d- di
Hình II-15: Cấu trúc của một lựa chọn đ- ờng đi từ nguồn
Trong lựa chọn đ- ờng đi từ nguồn chính mội cách chính xác, gói
tin IP di theo các dịa chỉ IP chỉ ra phải d- ge tuân thủ Ð- ðng dị giữa hai địa chỉ IP liên tục chỉ ra trong lựa chọn phải bao gồm duy nhất một
mạng vật lý Một lỗi sẽ đ-ợc trả về nếu nh- gateway không thể theo
đ-ực đ- ờng đi ghỉ trong lựa chọn
'Trong tr- ờng hợp lựa chọn đ-ờng đi từ nguồn không chính xác trong đây các địa chi IP chỉ ra trong lựa chọn cố thể cho phép một số
b- ớc nhấy Có nghĩa là giữa hai dia chi TP liên Lục trong :lanh sách có
không phải là một mà là một số mạng trung gian Khi đó đ- ờng đi giữa
hai địa chỉ IP này sẽ tùy thuộc vào gateway lựa chon
Trong cấu trúc của lựa chọn, hai tr-ờng con trỏ và tr- ờng độ dài dùng để kiểm tra xem danh sách đã hết ch- a INếu tr- ờng cơn trẻ lớn hơn tr-ờng độ đài có nghĩa là đã hết danh sách và th- ờng gói tin cũng đã tới
đích Cồn nếu danh sách ch-a hối, gateway sẽ lấy một địa chỉ IP lừ
tr- ðng con trổ, đặt nó vào gỡi tin và pửi theo dịa chỉ này đẳng thời tăng giá trị của con trẻ lên 4 đơn vị
Lya chon nhãn thời gian
Lafa chon nhãn thời gian hoạt động giống nh- lựa chọn bản ghi
đ-ờng Lựa chọn lúc đầu gồm một danh sách gồm nhiều vùng dữ liệu
trống Trên đ- ờng đi mỗi gateway nó sẽ đ- ợc chèn vào các vùng dữ liệu này Mỗi vùng địa chỉ gồm có 2 từ 32 bíi Từ đầu tiên là địa chỉ IP của
gateway và từ thử 2 là nhãn thời gian
Hình II-16: Cấn trúc của một lựa chọn nhân thời gian
30