Chương 1 : GIỚI THIỆU CHUNG VỀ MẠNG
1. Mạng thụng tin và ứng dụng
2.6. Lớp giao vận
Mục tiờu:
- Hiểu được tầng giao vận của mụ hỡnh mạng OSI
2.6.1. Vai trũ và chức năng của tầng giao vận
Tầng vận chuyển cung cấp cỏc chức năng cần thiết giữa tầng mạng và cỏc tầng trờn. nú là tầng cao nhất cú liờn quan đến cỏc giao thức trao đổi dữ liệu giữa cỏc hệ thống mở. Nú cựng cỏc tầng dưới cung cấp cho người sử dụng cỏc phục vụ vận chuyển.
Tầng vận chuyển (transport layer) là tầng cơ sở mà ở đú một mỏy tớnh của mạng chia sẻ thụng tin với một mỏy khỏc. Tầng vận chuyển đồng nhất mỗi trạm bằng một địa chỉ duy nhất và quản lý sự kết nối giữa cỏc trạm. Tầng vận chuyển cũng chia cỏc gúi tin lớn thành cỏc gúi tin nhỏ hơn trước khi gửi đi. Thụng thường tầng vận chuyển đỏnh số cỏc gúi tin và đảm bảo chỳng chuyển theo đỳng thứ tự.
Tầng giao vận nõng cấp cỏc dịch vụ của tầng mạng. Cụng việc chớnh của tầng này là đảm bảo dữ liệu được gửi từ mỏy nguồn phải tin cậy, đỳng trỡnh tự
và khụng cú lỗi khi tới mỏy đớch. Để đảm bảo truyền dữ liệu tin cậy, tầng giao
vận dựa trờn cơ chế kiểm soỏt lỗi được cung cấp bởi cỏc tầng bờn dưới. Tầng này là cơ hội cuối cựng để sửa lỗi. Dữ liệu cựng với thụng tin điều khiển mà tầng giao vận quản lý gọi là cỏc phõn đoạn(segment)
Tầng giao vận cũng chịu trỏch nhiệm kiểm soỏt luồng dữ liệu. Tốc độ truyền dữ liệu được xỏc định dựa trờn khả năng mà mỏy đớch cú thể nhận cỏc gúi dữ liệu được gửi đến nú như thế nào. Dữ liệu ở mỏy gửi được phõn chia thành cỏc gúi cú kớch thước tối đa mà loại mạng đú cú thể quản lý. Chẳng hạn, một mạng Ethernet khụng thể điều khiển cỏc gúi cú kớch thước lớn hơn 1500 byte, vỡ thế tầng giao vận nhận dữ liệu và chia nú thành cỏc gúi 1500 byte. Mỗi gúi con này được gắn một số trỡnh tự, dựng để hợp nhất nú ở vị trớ đỳng bởi tầng giao vận của mỏy nhận. Cụng việc này được gọi là sắp xếp theo trỡnh tự
(sequencing).
Khi gúi dữ liệu đến mỏy nhận, nú được hợp nhất theo đỳng trỡnh tự như lỳc gửi. Sau đú một thụng tin bỏo nhận (acknowledgement - ACK) được gửi quay trở lại mỏy gửi để bỏo cho nú biết rằng gúi dữ liệu đó đến chớnh xỏc. Nếu cú lỗi trong gúi dữ liệu thỡ một yờu cầu truyền lại gúi đú được gửi quay trở lại thay thế cho ACK. Nếu mỏy gửi ban đầu khụng nhận được thụng tin ACK (hoặc yờu cầu truyền lại) trong một khoảng thời gian định trước, gúi dữ liệu gửi được xem như bị thất lạc hoặc bị hư, khi đú nú sẽ được gửi lại.
Trong mạng TCP/IP, cỏc chức năng TCP (Transmission Control Protocol) thuộc về tầng giao vận. Trong mạng Novell Netware sử dụng IPX/SPX thỡ giao thức SPX (Sequence Packet Exchange) hoạt động ở tầng giao vận.
2.6.2. Giao thức chuẩn cho tầng giao vận
Tầng giao vận phụ trỏch luồng dữ liệu giữa hai trạm thực hiện cỏc ứng dụng của tầng trờn. Tầng này cú hai giao thức chớnh: TCP (Transmission Control Protocol) và UDP (User Datagram Protocol)
-TCP cung cấp một luồng dữ liệu tin cậy giữa hai trạm, nú sử dụng cỏc cơ chế như chia nhỏ cỏc gúi tin của tầng trờn thành cỏc gúi tin cú kớch thước thớch hợp cho tầng mạng bờn dưới, bỏo nhận gúi tin,đặt hạn chế thời gian time-out để đảm bảo bờn nhận biết được cỏc gúi tin đó gửi đi. Do tầng này đảm bảo tớnh tin cậy, tầng trờn sẽ khụng cần quan tõm đến nữa.
-UDP cung cấp một dịch vụ đơn giản hơn cho tầng ứng dụng. Nú chỉ gửi cỏc gúi dữ liệu từ trạm này tới trạm kia mà khụng đảm bảo cỏc gúi tin đến được tới đớch. Cỏc cơ chế đảm bảo độ tin cậy cần được thực hiện bởi tầng trờn
TCP và UDP là 2 giao thức ở tầng giao vận và cựng sử dụng giao thức IP trong tầng mạng. Nhưng khụng giống như UDP, TCP cung cấp dịch vụ liờn kết tin cậy và cú liờn kết. Cú liờn kết ở đõy cú nghĩa là 2 ứng dụng sử dụng TCP phải thiết lập liờn kết với nhau trước khi trao đổi dữ liệu. Sự tin cậy trong dịch vụ được cung cấp bởi TCP được thể hiện như sau:
- Dữ liệu từ tầng ứng dụng gửi đến được được TCP chia thành cỏc segment cú kớch thước phự hợp nhất để truyền đi .
- Khi TCP gửi 1 segment, nú duy trỡ một thời lượng để chờ phỳc đỏp từ trạm nhận. Nếu trong khoảng thời gian đú phỳc đỏp khụng tới được trạm gửi thỡ segment đú được truyền lại.
- Khi TCP trờn trạm nhận nhận dữ liệu từ trạm gửi nú sẽ gửi tới trạm gửi 1 phỳc đỏp tuy nhiờn phỳc đỏp khụng được gửi lại ngay lập tức mà thường trễ một khoảng thời gian .
- TCP duy trỡ giỏ trị tổng kiểm tra (checksum) trong phần Header của dữ liệu để nhận ra bất kỳ sự thay đổi nào trong quỏ trỡnh truyền dẫn. Nếu 1 segment bị lỗi thỡ TCP ở phớa trạm nhận sẽ loại bỏ và khụng phỳc đỏp lại để trạm gửi truyền lại segment bị lỗi đú. Giống như IP datagram, TCP segment cú thể tới đớch một cỏch khụng tuần tự. Dovậy TCP ở trạm nhận sẽ sắp xếp lại dữ liệu và sau đú gửi lờn tầng ứng dụng đảmbảo tớnh đỳng đắn của dữ liệu.
Khi IP datagram bị trựng lặp TCP tại trạm nhận sẽ loại bỏ dữ liệu trựng lặp đúTCP cũng cung cấp khả năng điều khiển luồng. Mỗi đầu của liờn kết TCP cú vựng đệm (buffer) giới hạn do đú TCP tại trạm nhận chỉ cho phộp trạm gửi truyền một lượng dữ liệu nhất định (nhỏ hơn khụng gian buffer cũn lại). Điều này trỏnh xảy ra trường hợp trạm cú tốc độ cao chiếm toàn bộ vựng đệm của trạm cú tốc độ chậm hơn.
Khuụn dạng của TCP segment được mụ tả trong Cỏc tham số trong khuụn dạng trờn cú ý nghĩa như sau:
− Source Port (16 bits ) là số hiệu cổng của trạm nguồn . − Destination Port (16 bits ) là số hiệu cổng trạm đớch .
− Sequence Number (32 bits) là số hiệu byte đầu tiờn của segment trừ khi bit SYN được thiết lập. Nếu bit SYN được thiết lập thỡ sequence number là số hiệu tuần tự khởi đầu ISN (Initial Sequence Number ) và byte dữ liệu đầu tiờn là ISN + 1. Thụng qua trường này TCP thực hiện viẹc quản lớ từng byte truyền đi trờn một kết nối TCP.
− Acknowledgment Number (32 bits). Số hiệu của segment tiếp theo mà trạm nguồn đang chờ để nhận và ngầm định bỏo nhận tốt cỏc segment mà trạm đớch đó gửi cho trạm nguồn .
− Header Length (4 bits). Số lượng từ (32 bits) trong TCP header, chỉ ra vị trớ bắt đầu của vựng dữ liệu vỡ trường Option cú độ dài thay đổi. Header length cú giỏ trị từ 20 đến 60 byte .
− Reserved (6 bits). Dành để dựng trong tương lai . − Control bits : cỏc bit điều khiển 30
URG : xỏc đinh vựng con trỏ khẩn cú hiệu lực. ACK : vựng bỏo nhận ACK Number cú hiệu lực. PSH : chức năng PUSH.
RST : khởi động lại liờn kết.
SYN : đồng bộ hoỏ cỏc số hiệu tuần tự (Sequence number). FIN : khụng cũn dữ liệu từ trạm nguồn.
− Window size (16 bits) : cấp phỏt thẻ để kiểm soỏt luồng dữ liệu (cơ chế cửa sổ trượt). Đõy chớnh là số lượng cỏc byte dữ liệu bắt đầu từ byte được chỉ ra trong vựng ACK number mà trạm nguồn sẫn sàng nhận.
− Checksum (16 bits). Mó kiểm soỏt lỗi cho tồn bộ segment cả phần header
và dữ liệu.
− Urgent Pointer (16 bits). Con trỏ trỏ tới số hiệu tuần tự của byte cuối cựng trong dũng dữ liệu khẩn cho phộp bờn nhận biết được độ dài của dữ liệu khẩn. Vựng này chỉ cú hiệu lực khi bit URG được thiết lập.
− Option (độ dài thay đổi ). Khai bỏo cỏc tuỳ chọn của TCP trong đú thụng thường là kớch thước cực đại của 1 segment: MSS (Maximum Segment Size).
− TCP data (độ dài thay đổi ). Chứa dữ liệu của tầng ứng dụng cú độ dài ngầm định là 536 byte. Giỏ trị này cú thể điều chỉnh được bằng cỏch khai bỏo trong vựng Option.
- UDP là giao thức khụng liờn kết, cung cấp dịch vụ giao vận khụng tin cậy được,sử dụng thay thế cho TCP trong tầng giao vận . Khỏc với TCP, UDP khụng cú chức năng thiết lập và giải phúng liờn kết, khụng cú cơ chế bỏo nhận (ACK),khụng sắp xếp tuần tự cỏc đơn vị dữ liệu (datagram) đến và cú thể dẫn đến tỡnhtrạng mất hoặc trựng dữ liệu mà khụng hề cú thụng bỏo lỗi cho người gửi. Khuụndạng của UDP datagram được mụ tả như sau :
− Số hiệu cổng nguồn (Source Port - 16 bit): số hiệu cổng nơi đó gửi datagram
− Số hiệu cổng đớch (Destination Port - 16 bit): số hiệu cổng nơi datagramđược chuyển tới
− Độ dài UDP (Length - 16 bit): độ dài tổng cổng kể cả phần header của gúi UDP datagram.
− UDP Checksum (16 bit): dựng để kiểm soỏt lỗi, nếu phỏt hiện lỗi thỡ UDPdatagram sẽ bị loại bỏ mà khụng cú một thụng bỏo nào trả lại cho trạm gửi. - UDP cú chế độ gỏn và quản lý cỏc số hiệu cổng (port number) để định danh duy nhất cho cỏc ứng dụng chạy trờn một trạm của mạng. Do cú ớt chức năng phức tạp nờn UDP cú xu thế hoạt động nhanh hơn so với TCP. Nú thường dựng cho cỏc
2.6.3. Dịch vụ OSI cho tầng giao vận
Dịch vụ Lớp truyền tải được định nghĩa trong tiờu chuẩn ISO/IEC 8072. Nú hỗ trợ truyền tải dữ liệu thụng suốt từ hệ thống này đến hệ thống khỏc. Nú làm cho cho cỏc người dựng (lớp trờn) của nú khụng phụ vào cỏc cụng nghệ truyền thụng cơ sở và cho phộp họ cú khả năng xỏc định một chất lượng của dịch vụ (chẳng hạn như cỏc thụng số về thụng lượng, tần suất tỏi hiện lỗi và xỏc suất hỏng húc). Nếu chất lượng của dịch vụ của cỏc dvụ mạng cơ sở khụng thớch đỏng thỡ Lớp truyền tải sẽ nõng cấp chất lượng của dịch vụ lờn mức cần thiết
bằng cỏch bổ xung giỏ trị (vớ dụ phỏt hiện/ khụi phục lỗi) trong giao thức riờng của nú. Dịch vụ truyền tải cú cả biến thể dựa vào kết nối và biến thể khụng cú kết nối.
Cỏc giao thức của Lớp truyền tải phải hỗ trợ dịch vụ dựa trờn kết nối được định nghĩa trong tiờu chuẩn ISO/IEC 8073. Cú năm cấp giao thức khỏc nhau sau đõy:
- Cấp 0 khụng bổ xung giỏ trị nào cho thiết bị mạng
- Cấp 1 hỗ trợ khắc phục lỗi khi Lớp mạng phỏt hiện cú lỗi - Cấp 2 hỗ trợ dồn cỏc kết nối truyền tải trờn một kết nối mạng - Cấp 3 thực hiện khắc phục và dồn kờnh
- Cấp 4 thực hiện phỏt hiện lỗi (kiểm tổng), khặc phục lỗi và dồn kờnh. Bằng cỏch sử dụng cỏc đặc tớnh khắc phục lỗi của mỡnh giao thức cấp 4 cú thể hoạt động trờn một dịch vụ mạng khụng kết nối để cung cấp một dịch vụ truyền tải cú kết nối. Giao thức hỗ trợ dịch vụ truyền tải khụng kết nối được định nghĩa trong tiờu chuẩn ISO/IEC 8602.