Các giao thức tầng Internet của bộ giao thức TCP/IP
Tầng Internet của bộ giao thức TCP/IP tương ứng với tầng
network của mô hình OSI, gồm hai giao thức IP và ICMP.
-
Giao thức IP: thực hiện truyền không có kiểm soát (best
effort) và phi kết nối (connectionless) các datagram trên hệ thống mạng. Một
địa chỉ IP duy nhất được gán cho mỗi cổng kết nối (interface) của thiết bị
mạng.
-
Giao thức ICMP (internet control message protocol): thực
hiện gửi thông điệp và thông báo lỗi liên quan tới TCP/IP. Ví dụ, ứng dụng ping
có trong hầu hết các bộ giao thức TCP/IP, nó sẽ gửi thông điệp ICMP tới thiết
bị đích, sau đó sẽ nhận lại thông điệp trả lời. Ping
giúp ta biết được máy nguồn có đi đến được máy đích hay không và nếu đến được
thì mất bao nhiêu thời gian.
Datagram của giao thức IP (gọi tắt IP datagram)
Hình sau minh họa các trường của IP datagram:
-
Version (4 bit):
cho biết phiên bản của giao thức IP.
-
Header length
(4 bit): kích thước của header, tính bằng từ nhớ 32 bit (bao gồm cả phần options).
-
Type of service
(ToS) (8 bit): xác định cách thức xử lý datagram trong mạng. Xác định lưu lượng
truyền cho một QoS (quality of service) cụ thể.
-
Total length
(16 bit): số octet của phần header và data.
-
Identification
(16 bit), flag (3 bit), và fragment offset (13 bit): được sử dụng
trong trường hợp datagram cần phải chia nhỏ - chia thành nhiều packet – để
truyền trên hệ thống mạng mà nó không hỗ trợ datagram có kích thước lớn.
-
Time to live
(TTL) (8 bit): là một số nguyên, xác định thời gian sống của một datagram, giúp
đảm bảo datagram không bị truyền lặp vô hạn trên hệ thống mạng; trường này sẽ
bị giảm đi một khi đi qua một router.
-
Protocol (8
bit): cho biết giao thức đã được sử dụng để đóng gói dữ liệu ở tầng cao hơn
(tầng transport). Cụ thể, nó cho biết kiểu của segment mà datagram sẽ đóng gói
và truyền đi, giá trị 6 tương ứng với giao thức TCP, giá trị 17 là UDP, các
giao thức định tuyến có thể có các giá trị khác.
-
Header checksum (16
bit): giá trị giúp kiểm tra tính đúng của header khi máy đích nhận được
datagram.
-
Source và
destination IP address (32 bit cho mỗi trường): địa chi IP nguồn và IP đích
của datagram.
-
IP option và
padding (có kích thước thay đổi): được sử dụng để dò tìm và kiểm tra lỗi.
-
Data (có
kích thước thay đổi): dữ liệu của tầng cao hơn (transport).
Giao thức tầng data link của TCP/IP
Tầng data link của mô hình TCP/IP tương đương với tầng data
link của mô hình OSI. Tại tầng này hệ thống sử dụng giao thức ARP (address
resolution protocol), để chuyển đổi địa chỉ IP thành địa chỉ MAC.
Định tuyến (Routing)
Phần này sẽ đề cập đến hoạt động của router, giới thiệu về bảng
định tuyến (routing table) và giao thức định tuyến (routing protocol). Router
làm việc tại tầng network của mô hình OSI. Chức năng chính của router là xác
định đường đi tốt nhất và gửi gói tin tới đích. Tại router, packet sẽ được đóng
gói trong một frame mới trước khi truyền đi.
Công việc của router tương tự như một nhân viên bưu điện,
nhân viên sẽ đọc địa chỉ trên lá thư (giống như địa chỉ IP của packet), xác
định đường đi cho lá thư (packet), cuối cùng là gửi lá thư đi. Ví dụ minh họa
trong hình dưới đây:
Chú ý: chức năng của router vừa
trình bày ở trên chỉ là chức năng cơ bản. Hiện nay, router còn có thêm nhiều
chức năng khác như QoS, bảo mật.
Router làm việc tại ba tầng dưới cùng của mô hình OSI
Router không quan tâm tới dữ liệu trong trường data của một
packet, nó chỉ quan tâm tới việc chọn đường đi tốt nhất và gửi packet đi. Tuy
nhiên, do router phải truyền dữ liệu trên nhiều môi trường truyền (media) khác nhau,
nên nó phải quan tâm tới hai tầng bên dưới là data link và physical.
Ví dụ, router có thể nhận dữ liệu từ mạng Ethernet LAN, sau
đó truyền dữ liệu này trên mạng WAN theo công nghệ Frame relay, điều này đòi
hỏi router phải làm việc được với cả hai
môi trường Ethernet LAN và Frame relay.
Router thực hiện tách gói dữ liệu nhận được từ tầng network,
sau đó, đóng gói dữ liệu theo dạng frame và bit thích hợp. Hình sau minh họa rõ
hơn điều này, trong ví dụ, máy PC bên trái sẽ gửi dữ liệu cho PC bên phải.
Router đã xác định được đường đi theo chiều mũi tên, đây là đường đi tốt nhất
để truyền dữ liệu.
Chú ý: ở hình trên cho thấy, chỉ có PC là làm việc với đủ
bảy tầng của mô hình OSI, còn router chỉ quan tâm tới ba tầng bên dưới.
Bảng định tuyến (routing table)
Để xác định đường đi tốt nhất cho một packet, router phải
biết được địa chỉ mạng đích (destination network) của packet.
Router học (nhận biết) địa chỉ các mạng bằng ba cách: một là
có kết nối trực tiếp với mạng, hai là học thông qua các router khác, ba là được
cấu hình bởi người quản trị mạng.
Thông tin về đường đi, được cấu hình bởi người quản trị mạng
gọi là đường đi cố định (static route), các thông tin này chỉ mất đi khi người
quản trị mạng thay đổi hoặc gỡ bỏ. Đường đi tới các router có kết nối trực tiếp
gọi là đường kết nối trực tiếp (directly connected route). Router học về đường
đi từ các router khác bằng các giao thức định tuyến.
Trong các đường đi mà router đã học được, nó sẽ giữ lại một
hoặc một số đường đi tốt nhất cho mỗi đích đến trong bảng định tuyến.
Bảng định tuyến chứa danh sách tất cả các mạng mà router
biết đường đi tới. Với mỗi mạng, bảng định tuyến cung cấp các thông tin sau:
-
Cách thức router có được thông tin về đường đi (được
cấu hình bởi người quản trị mạng hay học thông qua giao thức định tuyến).
-
Địa chỉ mạng đích mà router có thể gửi dữ liệu tới.
-
Cổng ra (interface hay port) để đi tới mạng đích.
-
Đánh giá về đường đi (metric).
Tiêu chuẩn để đánh giá đường đi là tốt nhất (best) hay
không, tùy thuộc vào giao thức định tuyến. Ví dụ, một vài giao thức định tuyến
đánh giá đường đi tốt nhất dựa vào số chặng (hop) phải đi qua trước khi tới
đích, càng ít chặng càng tốt; trong khi đó, một vài giao thức lại định nghĩa
đường đi tốt nhất là đường đi có băng thông cao nhất.
Ví dụ, trong hình dưới đây, metric được đo bằng số chặng
giữa router và mạng đích. Cả hai router đều biết đường đi tới ba mạng A, B, C.
Router X biết mạng A,
B vì nó kết nối trực tiếp tới hai mạng này (metric = 0), router X biết được
mạng C nhờ học từ router Y (metric = 1).
Router Y biết mạng B và C vì nó kết nối trực tiếp tới 2 mạng
này (metric = 0) và router Y biết mạng A nhờ học từ router X (metric = 1).
Các giao thức định tuyến
Router sử dụng các giao thức định tuyến để trao đổi thông
tin về đường đi. Giao thức định tuyến giúp các router học được thông tin đường đi
của nhau. Lưu ý, hai router muốn giao tiếp được với nhau phải sử dụng chung một
giao thức.
Bộ giao thức TCP/IP gồm các giao thức định tuyến sau:
-
RIP (routing information protocol) phiên bản 1 và 2
(RIPv1 và RIPv2).
-
EIGRP (enhanced interior gateway routing protocol).
-
OSPF (open shortest path first).
-
IS – IS (integrated intermediate system – to –
intermediate system).
-
BGP (border gateway protocol) phiên bản 4 (BGP-4).
LGC - Lược dịch “Designing for Cisco Internetwork
Solutions”