Bài 5: CÁC BỘ GIAO THỨC
1. Các mô hình và giao thức
1.1. Giới thiệu chung
Giao thức liên
mạng IP là một trong những giao thức quan trọng nhất của bộ giao thức TCP/IP. Mục
đích của giao thức liên mạng IP là cung cấp khả năng kết nối các mạng con thành
liên mạng để truyền dữ liệu. IP là giao thức cung cấp dịch vụ phân phát
datagram theo kiểu không liên kết và không tin cậy nghĩa là không cần có
giai đoạn thiết lập liên kết trước khi
truyền dữ liệu, không đảm bảo rằng IP datagram sẽ tới đích và không duy trì bất
kỳ thông tin nào về những datagram đã gửi đi.
Ý nghĩa các tham số trong IP
header:
−
Version (4 bit): chỉ phiên bản (version) hiện hành của IP được cài đặt.
−
IHL (4 bit): chỉ độ dài phần header tính theo đơn vị từ (word - 32 bit)
−
Type of Service (8 bit): đặc tả tham số về yêu cầu dịch vụ
−
Total length (16 bit): chỉ độ dài toàn bộ IP datagram tính theo byte. Dựa
vào trường này và trường header length ta tính được vị trí bắt đầu của dữ liệu
trong IP datagram.
−
Indentification (16 bit): là trường định danh, cùng các tham số khác như
địa chỉ nguồn (Source address) và địa chỉ đích (Destination address) để định danh duy nhất cho mỗi datagram được gửi
đi bởi 1 trạm. Thông thường phần định danh (Indentification) được tăng
thêm 1 khi 1 datagram được gửi đi.
−
Flags (3 bit): các cờ, sử dụng trong khi phân đoạn các datagram.
Bit 0: reseved (chưa sử dụng, có
giá trị 0)
bit 1: ( DF ) = 0 (May fragment)
= 1 (Don’t fragment)
bit 2 : ( MF) =0 (Last fragment)
=1 (More Fragment)
−
Fragment Offset (13 bit): chỉ vị trí của đoạn phân mảnh (Fragment) trong
datagram tính theo đơn vị 64 bit.
−
TTL (8 bit): thiết lập thời gian tồn tại của datagram để tránh tình trạng datagram bị quẩn trên mạng.
TTL thường có giá trị 32 hoặc 64 được giảm đi 1 khi dữ liệu đi qua mỗi router.
Khi trường này bằng 0 datagram sẽ bị hủy bỏ và sẽ không báo lại cho trạm gửi.
−
Protocol (8 bit): chỉ giao thức tầng trên kế tiếp
−
Header checksum (16 bit): để kiểm soát lỗi cho vùng IP header.
−
Source address (32 bit): địa chỉ IP trạm nguồn
−
Destination address (32 bit): địa chỉ IP trạm đích
−
Option (độ dài thay đổi): khai
báo các tùy chọn do người gửi yêu cầu, thường là:
Độ an toàn và bảo mật,
Bảng ghi tuyến mà datagram đã đi
qua được ghi trên đường truyền,
Time stamp,
Xác định danh sách địa chỉ IP mà datagram phải qua nhưng
datagram không bắt buộc phải truyền qua router định trước,
Xác định tuyến trong đó các
router mà IP datagram phải được đi qua.
1.2. Các giao thức.
Giao thức có
khả năng định tuyến: Là các giao thức cho phép đi qua các thiết bị liên mạng
như Router để xây dựng các mạng lớn có qui mô lớn hơn
Ví dụ, các giao thức có khả năng
định tuyến là: TCP/IP, SPX/IPX
Giao thức không có khả năng định
tuyến: Ngược với giao thức có khả năng định tuyến, các giao thức này không cho
phép đi qua các thiết bị liên mạng như Router để xây dựng các mạng lớn.
Ví dụ về giao thức không có khả
năng định tuyến là : NETBEUI Hiện có 3 loại giao thức thường hay sử dụng:
- TCP/IP
- SPX/IPX (Novell Netware)
- Microsoft Network
- Bộ giao thức TCP/IP (Transmission
Control Protocol / Internet Protocol)
TCP/IP được thiết kế hoàn toàn độc
lập với các phương pháp truy cập mạng, cấu trúc gói dữ liệu (data frame), môi
trường truyền, do đó mà TCP/IP có thể dùng để liên kết các dạng mạng khác nhau
như mạng LAN Ethernet, LAN Token Ring hay các dạng WAN như: Frame Relay, X.25
TCP/IP là một lớp các giao thức (protocol
stack) bao gồm các giao thức:
+
FTP (File Transfer Protocol): FTP cung cấp phương pháp truyền nhận file giữa
các máy với nhau, nó cho phép người sử dụng có thể gởi một hay nhiều file từ
máy mình lên hệ thống bất kỳ (upload) và nhận một hay nhiều file từ một hệ thống
bất kỳ về máy mình (download)
+Telnet:
Với Telnet, người sử dụng có thể kết nối vào các hệ thống ở xa thông qua mạng
Internet
+SMTP
(Simple Mail Transfer protocol): Là giao thức cho phép thực hiện dịch vụ truyền
nhận mail trên mạng Internet.
+ TCP và UDP: Hai giao thức này
đóng vai trò của tầng transport, có trách nhiệm tạo liên kết và dịch vụ kết nối
dữ liệu (datagram communication service).
TCP (Transmission Control
Protocol) là giao thức chuyển giao chính trong TCP/IP. TCP cung cấp một đường
truyền có độ tin cậy cao, là liên kết có định hướng (connection oriented
protocol), khôi phục các gói dữ liệu bị mất trong qúa trình truyền. Quá trình
truyền dữ liệu theo TCP là các byte, gói dữ liệu TCP bao gồm các thông tin sau
IP (Internet protocol) là dạng
giao thức cho phép tìm đường (routable protocol), nhận dạng địa chỉ
(addressing), phân tích và đóng gói.
ARP (Address Resolution Protocol)
có chức năng phân giải một địa chỉ IP thành một địa chỉ giao tiếp trên mạng.
ICMP (Internet Control Message
Protocol) có chức năng thông báo lại các lỗi xảy ra trong qua trình truyền dữ
liệu.
NDIS (Network Driver Interface
Specification) và ODI (Open Data Interface): Hai giao thức này đóng vai trò của
tầng DataLink, cho phép một card giao tiếp (interface card) có thể giao tiếp với
nhiểu giao thức khác nhau trên mạng.
ODI được phát triển bởi Novell và
Apple, ban đầu ODI driver được viết cho Novell và Macintosh
NDIS được phát triển bởi
Microsoft và 3 COM có các phiên bản như NDIS, NDIS2 và NDIS3. Các phiên bản cũ
dùng cho Windows for workgroup, NT 3.5, còn các phiên bản mới dùng cho WinNT
4.0 hay Windows 2000.
- Bộ giao
thức IPX/SPX (Internetwork Packet Exchange / Sequenced Packet Exchange)
2.
Internet Protocols
2.1. Giao thức IP
a. Họ giao thức TCP/IP
Sự ra đời của họ giao thức TCP/IP
gắn liền với sự ra đời của Internet mà tiền thân là mạng ARPAnet (Advanced Research
Projects Agency) do Bộ Quốc phòng
Mỹ tạo ra. Đây là bộ giao thức được dùng rộng rãi nhất vì tính mở của nó. Hai
giao thức được dùng chủ yếu ở đây là TCP (Transmission Control Protocol) và IP
(Internet Protocol). Chúng đã nhanh chóng được đón nhận và phát triển bởi nhiều
nhà nghiên cứu và các hãng công nghiệp máy tính với mục đích xây dựng và phát
triển một mạng truyền thông mở rộng khắp thế giới mà ngày nay chúng ta gọi là
Internet.
Đến năm 1981, TCP/IP phiên bản 4
mới hoàn tất và được phổ biến rộng rãi cho toàn bộ những máy tính sử dụng hệ điều hành UNIX. Sau này Microsoft cũng đã đưa
TCP/IP trở thành một trong những giao thức căn bản của hệ điều hành Windows 9x
mà hiện nay đang sử dụng. Đến năm 1994, một bản thảo của phiên bản IPv6 được
hình thành với sự cộng tác của nhiều nhà khoa học thuộc các tổ chức Internet
trên thế giới để cải tiến những hạn chế của IPv4.
Khác với mô hình ISO/OSI tầng
liên mạng sử dụng giao thức kết nối mạng "không liên kết"
(connectionless) IP, tạo thành hạt nhân hoạt động của Internet. Cùng với các
thuật toán định tuyến RIP, OSPF, BGP, tầng liên mạng IP cho phép kết nối một
cách mềm dẻo và linh hoạt các loại mạng "vật lý" khác nhau như:
Ethernet, Token Ring , X.25...
Giao thức trao đổi dữ liệu "có liên kết"
(connection - oriented) TCP được sử dụng ở tầng vận chuyển để đảm bảo tính
chính xác và tin cậy việc trao đổi dữ liệu dựa trên kiến trúc kết nối
"không liên kết" ở tầng liên mạng IP.
Các giao thức hỗ trợ ứng dụng phổ
biến như truy nhập từ xa (telnet), chuyển tệp (FTP), dịch vụ World Wide Web
(HTTP), thư điện tử (SMTP), dịch vụ tên miền (DNS) ngày càng được cài đặt phổ
biến như những bộ phận cấu thành của các hệ điều hành thông dụng như UNIX (và
các hệ điều hành chuyên dụng cùng họ của các nhà cung cấp thiết bị tính toán
như AIX của IBM, SINIX của Siemens, Digital UNIX của DEC), Windows9x/NT, Novell
Netware,...
b. Chức năng chính của giao thức
liên mạng IP (v4)
Trong cấu trúc bốn lớp của
TCP/IP, khi dữ liệu truyền từ lớp ứng dụng cho đến lớp vật lý, mỗi lớp đều cộng
thêm vào phần điều khiển của mình để đảm bảo cho việc truyền dữ liệu được chính
xác. Mỗi thông tin điều khiển này được gọi là một header và được đặt ở trước phần
dữ liệu được truyền. Mỗi lớp xem tất cả các thông tin mà nó nhận được từ lớp
trên là dữ liệu, và đặt phần thông tin điều khiển header của nó vào trước phần
thông tin này. Việc cộng thêm vào các
header ở mỗi lớp trong quá trình
truyền tin được gọi là encapsulation.
Quá trình nhận dữ liệu diễn ra theo chiều ngược lại: mỗi lớp sẽ tách ra phần
header trước khi truyền dữ liệu lên lớp trên.
Mỗi lớp có một cấu trúc dữ liệu
riêng, độc lập với cấu trúc dữ liệu được dùng ở lớp trên hay lớp dưới của nó.
Sau đây là giải thích một số khái niệm thường gặp. Stream là dòng số liệu được truyền trên cơ sở
đơn vị số liệu là Byte. Số liệu được
trao đổi giữa các ứng dụng dùng TCP được gọi là stream, trong khi dùng UDP,
chúng được gọi là message. Mỗi gói số
liệu TCP được gọi là segment còn UDP định nghĩa cấu trúc dữ liệu của nó là
packet.
Lớp Internet xem tất cả các dữ liệu như là các
khối và gọi là datagram. Bộ giao thức TCP/IP có thể dùng nhiều kiểu khác nhau của
lớp mạng dưới cùng, mỗi loại có thể có một thuật ngữ khác nhau để truyền dữ liệu.
Phần lớn các mạng kết cấu phần dữ
liệu truyền đi dưới dạng các packets hay là các frames.
- Thực hiện việc phân mảnh và hợp
nhất (fragmentation -reassembly) các gói dữ liệu và nhúng / tách chúng trong
các gói dữ liệu ở tầng liên kết.
c. Địa chỉ IP
Mỗi địa chỉ IP có độ dài 32 bits (đối với IP4)
được tách thành 4 vùng (mỗi vùng 1 byte), có thể được biểu thị dưới dạng thập
phân, bát phân, thập lục phân hoặc nhị phân. Cách viết phổ biến nhất là dùng ký
pháp thập phân có dấu chấm để tách giữa các vùng. Địa chỉ IP là để định danh
duy nhất cho một host bất kỳ trên liên mạng.
Khuôn dạng địa chỉ IP: mỗi host trên mạng
TCP/IP được định danh duy nhất bởi một địa chỉ có khuôn dạng
<Network Number, Host
number>
Do tổ chức và độ lớn của các mạng con của liên
mạng có thể khác nhau, người ta chia các địa chỉ IP thành 5 lớp ký hiệu A,B,C,
D, E. Các bit đầu tiên của byte đầu tiên được dùng để định danh lớp địa chỉ
(0-lớp A; 10 lớp B; 110 lớp C; 1110 lớp D; 11110 lớp E). Subneting
Trong nhiều trường hợp, một mạng có thể được chia thành nhiều mạng con
(subnet), lúc đó có thể đưa thêm các vùng subnetid để định danh các mạng con.
Vùng subnetid được lấy từ vùng hostid, cụ thể đối với 3 lớp A, B, C như sau:
Tham khảo chi tiết thêm trong
giáo trình “Thiết kế và xây dựng mạng LAN và WAN”
d. Cấu trúc gói dữ liệu IP
IP là giao thức cung cấp dịch vụ truyền thông theo kiểu “không liên kết”
(connectionless). Các gói dữ liệu IP được định nghĩa là các datagram. Mỗi datagram có
phần tiêu đề (header) chứa các thông tin cần thiết để chuyển dữ liệu (ví dụ địa
chỉ IP của trạm đích). Nếu địa chỉ IP đích là địa chỉ của một trạm nằm trên
cùng một mạng IP với trạm nguồn thì các gói dữ liệu sẽ được chuyển thẳng tới
đích; nếu địa chỉ IP đích không nằm trên cùng một mạng IP với máy nguồn thì các
gói dữ liệu sẽ được gửi đến một máy trung chuyển, IP gateway để chuyển tiếp. IP
gateway là một thiết bị mạng IP đảm nhận việc lưu chuyển các gói dữ liệu IP giữa
hai mạng IP khác nhau.
e. Phân mảnh và hợp nhất các gói
IP
Một gói dữ liệu IP có độ dài tối đa 65536
byte, trong khi hầu hết các tầng liên kết dữ liệu chỉ hỗ trợ các khung dữ liệu
nhỏ hơn độ lớn tối đa của gói dữ liệu IP nhiều lần (ví dụ độ dài lớn nhất MTU của một khung dữ liệu Ethernet
là 1500 byte). Vì vậy cần thiết phải có cơ chế phân mảnh khi phát và hợp nhất
khi thu đối với các gói dữ liệu IP.
P dùng cờ MF (3 bit thấp của trường
Flags trong phần đầu của gói IP) và trường Flagment offset của gói IP (đã bị
phân đoạn) để định danh gói IP đó là một phân đoạn và vị trí của phân đoạn này
trong gói IP gốc. Các gói cùng trong chuỗi phân mảnh đều có trường này giống
nhau. Cờ MF bằng 1 nếu là gói đầu của chuỗi phân mảnh và 0 nếu là gói cuối của
gói đã được phân mảnh.
f. Định tuyến IP
Có hai loại định tuyến:
- Định tuyến trực tiếp: Định tuyến
trực tiếp là việc xác định đường nối giữa hai
trạm làm việc trong cùng một mạng
vật lý.
-
Định tuyến không trực tiếp. Định
tuyến không trực tiếp là việc xác định
đường nối giữa hai trạm làm việc không nằm trong cùng một mạng vật lý và vì vậy,
việc truyền tin giữa chúng phải được thực hiện thông qua các trạm trung gian là
các gateway.
Để kiểm tra xem trạm đích có nằm trên cùng mạng vật lý với trạm
nguồn hay không, người gửi phải tách lấy phần địa chỉ mạng trong phần địa chỉ
IP. Nếu hai địa chỉ này có địa chỉ mạng giống nhau thì datagram sẽ được truyền
đi trực tiếp; ngược lại phải xác định một
gateway, thông qua gateway này chuyển tiếp các datagram.
2.2. Một số giao thức điều khiển
a. Giao thức ICMP
ICMP ((Internet Control Message Protocol) là một
giao thức điều khiển của mức IP, được dùng để trao đổi các thông tin điều khiển
dòng số liệu, thông báo lỗi và các thông tin trạng thái khác của bộ giao thức
TCP/IP. Ví dụ:
- Điều khiển lưu lượng dữ liệu (Flow control).
- Thông báo lỗi : ví dụ
"Destination Unreachable".
- Định hướng lại các tuyến đường: gói tin
redirect
- Kiểm tra các trạm ở xa: gói tin echo
Ví dụ khuôn dạng của thông điệp
ICMP redirect như sau:
b. Giao thức ARP và giao thức
RARP
Trên một mạng cục bộ hai 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. Như vậy vấn đề đặt ra là
phải thực hiện ánh xạ giữa địa chỉ IP (32 bits) và địa chỉ vật lý (48 bits) của
một trạm. Giao thức ARP (Address Resolution Protocol) đã được xây dựng để chuyển
đổi từ địa chỉ IP sang địa chỉ vật lý khi cần thiết. Ngược lại, giao thức RARP
(Reverse Address)
3. Apple Talk
Là kiến trúc mạng do hãng Apple
Computer phát triển cho họ các máy tính cá nhân Macintosh. Giao thức AppleTalk
cũng được phát triển trên tầng vật lý của Ethernet và Token Ring.
- Các vùng tối đa trên một phân mạng:
Phase 1 là 1; Phase 2 là 255 .
- Các node tối đa trên mỗi mạng:
Phase 1: 254; Phase 2: khoảng 16 triệu.
- Địa chỉ động dựa trên các giao
thức truy nhập : Phase 1: Node ID; Phase 2: Network Node ID; Phase 1&2:
LocalTalk , Phase 1: Ethernet; Phase 2: IEEE 802.2, IEEE 802.5.
- Định tuyến Split-horizon: Phase
1: không; Phase 2: có.
4.
Kiến trúc mạng số hóa.
4.1. Khái niệm chung
các mạng số liệu cục bộ thường được
gọi đơn giản là mạng cục bộ và gọi tắt là LAN. chúng thường được dùng để liên kết
các đầu cuối thông tin phân bố trong một tòa nhà hay một cụm công sở nào đó.
Thí dụ có thể dùng LAN để liên kết các trạm phân bố ở các văn phòng trong một
cao ốc hay trong khuôn viên của trường đại học, cũng có thể liên kết các trang
thiết bị mà nền tảng cấu tạo của chúng là máy tính phân bố xung quanh một nhà
máy hay một bệnh viện. Vì tất cả các thiết bị đều được lắp đặt trong phạm vi hẹp
nên các LAN thường được xây dựng và quản lý bởi một tổ chức nào đó. Chính vì lí
do này mà các LAN được xem là mạng dữ liệu tư nhân, điểm khác biệt chủ yếu giữa
một đường truyền thông tin được thiết lập bằng LAN và một cầu nối được thực hiện
thông qua mạng số liệu công cộng là một LAN thường cho tốc độ truyền số liệu
nhanh hơn do đặc trưng phân cách về mặt địa lý và cự ly ngắn. Trong ngữ cảnh của
mô hình tham chiếu OSI thì khác biệt này chỉ tự biểu lộ tại các lớp phụ thuộc mạng.
4.2. Cơ bản về ISDN
Mạng ISDN có những đặc điểm sau:
- Là một mạng đa dịch vụ, thay thế nhiều mạng
viễn thông khác nhau đang cùng tồn tại bằng một mạng duy nhất có khả năng cung
cấp tất cả các dịch vị hiện tại và các dịch vụ tương lai với một giao tiếp thuê
bao duy nhất.
- ISDN có hệ thống báo hiệu số 7
và các node chuyển mạch thông minh.
- Kiến trúc ISDN tương thích với mô hình OSI.
Các giao thức đã được phát triển có liên quan tới các ứng dụng của mô hình OSI
có thể sử dụng được trong ISDN. Các giao thức có thể phát triển sử dụng một
cách độc lập cho các tầng khác nhau, cho các chức năng riêng của từng tầng mà
không ảnh hưởng đến các tầng kề nhau. Mục tiêu chính của mạng là chuẩn hoá tất
cả các thiết bị đầu cuối, cho phép các phương tiện như âm thanhi, hình ảnh, văn
bản...được tích hợp chung vào một mạng duy nhất. Nhằm sử dụng có hiệu quả các
tài nguyên của mạng.
Nguyên lý chung của ISDN là liên kết các thiết
bị đầu cuối khác nhau lên cùng một đường dây thuê bao và có thể đồng thời truyền
thông số giữa thuê bao và mạng. Cước phí được tính theo dung lượng thông tin
truyền đi, không tính riêng cho mỗi loại dịch vụ sử dụng. Các dịch vụ khác nhau
được hỗ trợ bởi hệ thống báo hiệu số 7 giữa mạng và báo hiệu DSS1 thuê bao.
4.3. Các phần tử cơ bản của mạng ISDN - TE1
(Termination Equipment 1)
Là các thiết bị đầu cuối có các
thuộc tính ISDN như: điện thoại số ISDN, các đầu cuối thoại, số liệu, digital
fax,… - TE2 (Termination Equipment 2) là các thiết bị đầu cuối không có tính
năng ISDN, để có thể liên kết với ISDN phải có thêm các bộ phối ghép đầu cuối
TA (Terminal Adapter). - NT1 (Network Termination 1):Thực hiện các chức năng
thuộc tầng vật lý của mô hình OSI, tức là các tính năng về điện, về giao tiếp
giữa ISDN và người sử dụng, các chức năng kiểm soát chất lượng đường truyền, đấu
vòng,… - NT2 (Network Termination 2) là một thiết bị thông minh có khả năng đáp
ứng các chức năng đến tầng mạng của mô hình OSI. NT2 có thể là tổng đài riêng
PBAX, bộ điều khiển đầu cuối hoặc là mạng cục bộ LAN. R, S, T, U : Các điểm chuẩn
phân cách (R: rate, S: system, T: terminal, U: user)