Chương 2 CễNG NGHỆ IP
2.2.2.4 Định tuyến IP[2,3]
Định tuyến IP dựa trờn nguyờn tắc đỏnh địa chỉ IP như sau:
Cỏc trạm làm việc kết nối trong 1 mạng “vật lý” phải cú cựng phần địa chỉ mạng IP. Việc định tuyến IP đồng nghĩa với việc xỏc định đường tới mạng IP.
Mỗi kết nối mạng phải cú 1 địa chỉ mức liờn kết xỏc định, ứng với 1 địa chỉ mức liờn kết cú 1 địa chỉ IP và ngược lại.
Việc định tuyến IP dựa trờn bảng định tuyến, được lưu trữ tại mỗi trạm làm việc và thiết bị định tuyến. Bảng định tuyến cho biết cỏc số liệu sau:
Địa chỉ mạng đớch (Network Destination) Địa chỉ IP của thiết bị chuyển tiếp (Gateway)
Cờ cho biết, đối với mỗi địa chỉ mạng đớch cú thể đạt tới trực tiếp qua kết nối mạng vật lý hay phải qua thiết bị chuyển tiếp khỏc (Flag)
Sau đõy là mụ tả bảng định tuyến trờn trạm làm việc dựng hệ điều hành UNIX, gồm cỏc trường:
Destination: địa chỉ đớch của mạng hay của trạm
Gateway: Chỉ cổng dựng để với tới đớch đĩ được chỉ định Flags: Mụ tả những đặc trưng của tuyến đường này như:
- U: chỉ ra rằng tuyến đường này là hoạt động (UP) - H: chỉ ra rằng đõy là 1 tuyến đường tới 1 trạm (Host) - G: chỉ ra rằng tuyến đường này dựng Gateway.
Refcnt: chỉ số lần mà 1 tuyến đường được đề cập đến để thực hiện kết nối. Trường “sử dụng” (USE) chỉ ra số cỏc gúi số liệu đĩ được chuyển qua tuyến đường này.
Interface: Chỉ ra tờn của kết nối mạng được dựng của tuyến đường này Thuật toỏn định tuyến được mụ tả như sau:
Giảm trường TTL của gúi IP.
Hủy bỏ
Gửi thụng điệp ICMP bỏo lỗi cho thiết bị gửi
Nếu địa chỉ đớch là 1 trong cỏc địa chỉ IP của cỏc kết nối mạng trờn hệ thống, nghĩa là gúi số liệu IP được gửi chớnh cho hệ thống này, thỡ xử lý gúi số liệu IP tại chỗ
Xỏc định địa chỉ mạng đớch bằng cỏch nhõn logic (AND) mặt nạ mạng (Network mask) với địa chỉ IP đớch.
Nếu địa chỉ mạng đớch khụng tỡm thấy trong bảng định tuyến thỡ hủy bỏ gúi số liệu này và gửi thụng điệp ICMP bỏo lỗi “mạng đớch khụng đến được” cho thiết bị gửi
Nếu địa chỉ mạng đớch bằng địa chỉ mạng của hệ thống, nghĩa là thiết bị đớch được kết nối trong cựng mạng với hệ thống, thỡ tỡm địa chỉ mức liờn kết tương ứng trong bảng thớch ứng địa chỉ IP-MAC, nhỳng gúi IP trong gúi số liệu mức liờn kết và chuyển tiếp gúi số liệu IP trong mạng
Trong trường hợp địa chỉ mạng đớch khụng bằng địa chỉ mạng của hệ thống thỡ chuyển tiếp đến thiết bị định tuyến cựng mạng.
Thụng thường, khi kết nối cỏc mạng cục bộ LAN ở mức mạng IP, sử dụng cỏc bộ định tuyến IP, người ta gỏn 1 địa chỉ phần mạng IP thuộc 1 lớp địa chỉ IP nào đú cho 1 mạng LAN, tựy theo độ lớn của mạng LAN đú. Như vậy, số địa chỉ mạng IP sẽ tăng nhanh chúng, phụ thuộc vào nhu cầu kết nối của mạng cục bộ, làm cạn dần nguồn tài nguyờn địa chỉ mạng vốn dĩ đĩ ớt ỏi và được cấp phỏt khụng phải là nhanh chúng.
Để giải quyết vấn đề này, người ta sử dụng 1 phần địa chỉ thiết bị cuối (một số bit bất kỳ) để tạo ra địa chỉ cỏc phõn mạng IP (IP subnet) trong phần địa chỉ mạng IP đĩ cú. Cấu trỳc mạng IP trờn cơ sở phõn mạng IP cũn được gọi là cấu trỳc phõn mạng IP (subnet topology). Địa chỉ phõn mạng IP sẽ được gỏn cho cỏc mạng cục bộ cần được kết nối. Đối với “bờn ngồi”, ta vẫn cú 1 mạng IP. Thực chất, cỏc mạng cục bộ “bờn trong” được kết nối trờn cơ sở phõn mạng IP, sử dụng cỏc bộ định tuyến cục bộ
Hỡnh 2.6. Mụ phỏng Subnet mask
Để xỏc định địa chỉ phần mạng, cú thể dựng mặt nạ phần mạng (subnet mask), tương tự như mặt nạ mạng. Mặt nạ phần mạng khụng nhất thiết phải bắt đầu và kết thỳc ở danh giới Byte. Thụng thường, người ta chọn phần địa chỉ thiết bị cuối làm địa chỉ phần mạng sao cho địa chỉ mạng và địa chỉ phần mạng tạo thành địa chỉ liờn tục. Vớ dụ: nếu địa chỉ mạng thuộc lớp địa chỉ
mặt nạ phần mạng, vỡ vậy, cũng tạo thành một mặt nạ liờn tục. Tất cả cỏc trạm làm việc trong cựng 1 phần mạng IP sẽ cú cựng giỏ trị mặt nạ phần mạng.
2.3 Một số giao thức điều khiển
2.3.1 ICMP[2,3]
ICMP (Internet Control Message Protocol) là 1 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 số liệu (Flow control): khi cỏc gúi số liệu đến quỏ nhanh, thiết bị đớch hoặc thiết bị định tuyến ở giữa sẽ gửi 1 thụng điệp ICMP trở lại thiết bị gửi, yờu cầu thiết bị gửi tạm thời ngừng việc gửi số liệu
- Thụng bỏo lỗi: trong trường hợp địa chỉ đớch khụng tới được thỡ hệ thống sẽ gửi 1 thụng bỏo lỗi “Destination Unreachable”.
- Định hướng lại cỏc tuyến đường: Một thiết bị định tuyến sẽ gửi 1 thụng điệp ICMP “định tuyến lại” (Redirect Router) để thụng bỏo với 1 trạm là nờn dựng thiết bị định tuyến khỏc để tới thiết bị đớch. Thụng điệp này cú thể chỉ được dựng khi trạm nguồn ở trờn cựng 1 mạng với cả hai thiết bị định tuyến.
- Kiểm tra cỏc trạm ở xa: một trạm cú thể gửi 1 thụng điệp ICMP “Echo” để kiểm tra xem 1 trạm ở xa cú hoạt động hay khụng.
Hỡnh 2.8. Phõn loại ICMP
2.3.2 ARP[2,3]
ARP (Address Resolution Protocol) là giao thức được sử dụng để xỏc định thớch ứng địa chỉ mạng IP và địa chỉ mức liờn kết số liệu (địa chỉ MAC). Vớ dụ: Khi cần gửi 1 gúi số liệu IP cho 1 hệ thống khỏc trờn cựng mạng vật lý Ethernet, hệ thống gửi cần biết địa chỉ Ethernet của hệ thống đớch để mức liờn kết số liệu xõy dựng khung số liệu với địa chỉ đớch xỏc định.
Thụng thường, mỗi hệ thống lưu giữ và cập nhật bảng thớch ứng địa chỉ IP-MAC tại chỗ (cũn gọi là bảng ARP Cache). Bảng thớch ứng địa chỉ được cập nhật bởi người quản trị hệ thống hoặc tự động bởi giao thức ARP sau mỗi lần xỏc định được 1 thớch ứng mới.
Mỗi khi cần tỡm thớch ứng địa chỉ IP-MAC, cú thể tỡm tương thớch địa chỉ đú trước tiờn trong bảng tương thớch địa chỉ IP-địa chỉ MAC ở mỗi hệ thống. Nếu khụng tỡm thấy, cú thể sử dụng giao thức ARP để làm việc này. Trạm làm việc gửi yờu cầu ARP (ARP-Request) tỡm thớch ứng địa chỉ IP-MAC đến mỏy phục vụ ARP Server. Mỏy phục vụ ARP tỡm trong bảng thớch ứng địa chỉ IP-MAC của mỡnh và trả lời bằng ARP-Response cho trạm làm việc. Nếu khụng, mỏy phục vụ chuyển tiếp yờu cầu nhận được dưới dạng quảng bỏ cho tất cả cỏc trạm làm việc trong mạng. Trạm nào cú trựng địa chỉ IP được yờu cầu sẽ trả lời với địa chỉ MAC của mỡnh.
2.3.3 RARP[2,3]
trờn, nghĩa là: cho trước địa chỉ mức liờn kết MAC, tỡm địa chỉ IP tương ứng. Nguyờn tắc hoạt động của giao thức RARP hồn tồn tương tự như nguyờn tắc hoạt động của giao thức ARP.
2.4 Giao thức TCP
2.4.1 Cấu trỳc gúi số liệu TCP[2,3]
Hỡnh 2.9. Cấu trỳc gúi số liệu TCP
- Source Port và Destination Port: Số hiệu cổng TCP. Cựng với địa chỉ IP nguồn và địa chỉ IP đớch trong gúi số liệu IP, số hiệu cổng TCP định danh duy nhất hai tiến trỡnh ở hai đầu kết nối TCP.
- Sequence number: Số tuần tự phỏt, định danh byte đầu tiờn của phần số liệu thuộc gúi số liệu TCP trong dũng số liệu từ thực thể TCP gửi đến thực thể TCP nhận. Số tuần tự phỏt là khoảng cỏch tương đối của byte đầu tiờn phần số liệu với phần đầu của dũng byte là số khụng dấu 32 bit, cú giỏ trị từ 0 đến 232
-1
Nếu ta coi dũng byte là luồng số liệu 1 chiều từ 1 ứng dụng này tới ứng dụng kia thỡ TCP đỏnh số tất cả cỏc byte với giỏ trị gọi là số tuần tự sequence number.
Khi một kết nối được thiết lập, trường số tuần tự chứa giỏ trị khởi tạo ISN (Initial Sequence Number) được thực thể TCP chọn cho kết nối này.
Byte số liệu đầu tiờn sẽ cú số tuần tự bằng ISN+1.
- Acknowlegement: Vị trớ tương đối của byte cuối cựng đĩ nhận đỳng bởi thực thể gửi gúi ACK cộng thờm 1. Giỏ trị của trường này cũn được gọi là số tuần tự thu. Giỏ trị trường này đỳng khi bit cờ ACK=1.
- Data Offset: Khoảng cỏch tương đối của trường số liệu với phần tiờu đề của TCP (TCP header) tớnh theo từ 32 bit. Thụng thường, trường này cú giỏ trị bằng 5 vỡ độ dài thụng thường của phần tiờu đề TCP là 20 byte
- Code bits: Cú 6 bit cờ trong phần tiờu đề TCP. Một hay nhiều cờ cú thể được thiết lập tại cựng 1 thời điểm.
URK=1: thụng bỏo giỏ trị trường Urgent Pointer đỳng.
ACK=1: thụng bỏo giỏ trị trường Acknowledgement đỳng.
PSH=1: thực thể nhận phải chuyển số liệu này cho ứng dụng tức thời.
RST=1: tỏi khởi tạo kết nối, dựng để kết thỳc kết nối
SYN=1: đồng bộ trường số thứ tự, dựng để thiết lập kết nối TCP
FIN=1: Thụng bỏo thực thể gửi đĩ kết thỳc gửi số liệu
- Window size: độ lớn cửa sổ, quy định tổng số byte số liệu mà thực thể thu cú thể nhận được (đồng nghĩa với độ lớn bộ đệm thu), tớnh khởi đầu từ giỏ trị trường số tuần tự thu (Acknowledgement Number).
- Checksum: Byte kiểm tra, là giỏ trị bự 1 của tổng cỏc 16 bit trong phần đầu và phần số liệu TCP. Giỏ trị này tớnh cả 12 byte tiờu đề giả của TCP.
- Urgent Pointer: Vị trớ tương đối của byte trong trường số liệu TCP cần được xử lý đầu tiờn. Giỏ trị trường này đỳng khi bit cờ URG=1.
- Options: Tựy chọn. Tựy chọn duy nhất dược dựng hiện nay là quy định về độ dài lớn nhất MSS (Maximum Segment Size) của 1 gúi số liệu TCP
- Pad: Vỏ thờm vào phần tiều đề độ lớn của nú là bội của 4 byte - Data: Số liệu của ứng dụng TCP
2.4.2 Thiết lập và kết thỳc kết nối TCP