Bài giảng thơng tin dữ liệu và mạng máy tính Chương 6: TCP/IP và các ứng dụng
ĐH Kỹ thuật Công nghệ Trang 106
Chương 6: TCP/IP VÀ CÁC ỨNG DỤNG
6.1 Tổng quan về TCP/ IP:
Mô hình TCP/IP ra đời trong những năm 1970, được phát triển dựa trên mô hình OSI.
Giao thức TCP/IP cung cấp các phương tiện truyền thông liên mạng giúp cho các hệ thống
mạng khác nhau có thể làm việc với nhau. TCP/IP được sử dụng như giao thức mạng và
vận chuyển trên mạng Internet. TCP (Transmission Control Protocol) là giao thức thuộc
tầng vận chuyển và IP (Internet Protocol) là giao thức thuộc tầng mạng của mô hình OSI.
Cấu trúc của mô hình TCP/IP và sự liên quan giữa các lớp của mô hình TCP/IP với OSI
như sau :
OSI TCP/IP
Application
Presentation
Session
Application
Transport Transport
Network Internet
Data Link
Physical
Network Interface
6.1.1 Lớp ứng dụng (Application Layer):
Gồm nhiều giao thức cung cấp ứng dụng cho người dùng, được sử dụng để đònh
dạng và trao đổi thông tin người dùng. Một số giao thức thông dụng của lớp này là:
+ DHCP (Dynamic Host Configuration Protocol)
+ DNS (Domain Name System)
+ SNMP (Simple Network Management Protocol)
+ FTP (File Transfer Protocol)
+ TFTP (Trivial File Transfer Protocol)
+ SMTP (Simple Mail Transfer Protocol)
+ TELNET
của máy đích thành đòa chỉ MAC.
+ ICMP (Internet Control Message Protocol): có chức năng gửi các thông
báo điều khiển (báo cáo về tình trạng lỗi xảy ra trên mạng). Các tình
trạng lỗi có thể là: một gói tin IP không tới đích, một router không đủ bộ
nhớ, bộ đệm để lưu và chuyển một gói tin…
+ IGMP (Internet Group Management Protocol): thực hiện điều khiển
truyền dẫn đa hướng hay multicast trong TCP/IP.
6.1.4 Lớp giao diện mạng (Network Interface layer):
Lớp giao diện mạng có trách nhiệm nhận và truyền dữ liệu giữa các thiết bò mạng,
đồng thời xác nhận loại thiết bò cho quá trình truyền. Tầng này gồm có các thiết bò
phần cứng vật lý như card mạng, cáp mạng … Các giao thức thuộc lớp này gồm : ATM,
Ethernet, Token Ring, Frame Relay … Lớp giao diện mạng của mô hình TCP/IP có
nhiệm vụ tương đương như lớp vật lý của giao hình OSI.
6.2 Đòa chỉ IP (IP address):
- Đòa chỉ IP có chức năng đánh đòa chỉ gói dữ liệu và đònh tuyến chúng đến đích. Để
thực hiện được việc này thì thiết bò nguồn và đích phải xác đònh được vò trí của nhau.
Trong cuộc sống hằng ngày, chúng ta sử dụng tên, đòa chỉ nhà … để phân biệt người
này người kia, nhà này nhà khác. Trong mạng TCP/IP, mỗi máy, mỗi nút mạng sử
dụng một đòa chỉ để phân biệt và xác đònh vò trí lẫn nhau. Đòa chỉ này gọi là đòa chỉ IP.
- Đòa chỉ IP của mỗi thiết bò mạng là duy nhất. Trong trường hợp một thiết bò nối với
nhiều mạng khác nhau thì các interface của thiết bò này phải có đòa chỉ IP khác nhau.
- Đòa chỉ IP (version 4) là một đòa chỉ nhò phân dài 32 bit và gồm hai phần :
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 6: TCP/IP và các ứng dụng
+ Đònh danh mạng (network ID)
+ •Đònh danh host (host ID)
Và được chia làm 4 octets, mỗi octet gồm 1 byte. Để dễ sử dụng và dễ nhớ, đòa chỉ IP
được viết dưới dạng X.Y.Z.W, trong đó: X, Y, Z, W là một số thập phân từ 0 ÷ 255.
Ví dụ: ta có đòa chỉ như sau:
ĐH Kỹ thuật Công nghệ Trang
108
chỉ host trong mỗi mạng. Tuy nhiên, phần hostID có tất cả các bit bằng 0
hoặc tất cả các bit bằng 1 thì không được dùng để gán đòa chỉ cho host. Do
vậy , tổng số host hợp lệ được dùng trong mạng lớp A là: 2
24
– 2 = 16777214
Ví dụ: đối với mạng 10.0.0.0 thì những giá trò host hợp lệ là:
10.0.0.1 đến 10.255.255.254
• Lớp B:
+ Sử
dụng 2 byte đầu cho phần netID, 2 byte còn lại cho hostID
+ Đòa chỉ lớp B có hai bit đầu tiên
là bit nhận dạng luôn làø 10, và 6 bit còn lại là
tùy ý. Như vậy, số nhỏ nhất có giá trò là: 10000000 (giá trò thập phân là 128),
và số lớn nhất là 10111111 (giá trò thập phân là 191). Kết quả là những đòa chỉ
nằm trong khỏang 128 ÷ 191 là đòa chỉ lớp B và có tất cả 2
14
= 16384 mạng lớp
B (128.0.0.0 ÷ 191.255.0.0).
+ Phần hostID dài 16 bit => tổng số host có trong mạng lớp B là: 2
16
-2 = 65534
host (bỏ đi 2 trường hợp
tất cả các bit bằng 0 hoặc tất cả các bit bằng 1).
Ví dụ: đối với mạng 172.29.0.0 thì những giá trò host hợp lệ là:
172.29.0.1 ÷ 172.29.255.254
• Lớp C:
+ Sử dụng 3 byte cho netID, 1 byte cho hostID
+ Đòa chỉ lớp C có 3 bit đầu tiên là bit nhận dạng luôn làø 110 => những đòa chỉ
nằm trong khỏang 11000000 ( giá trò thập phân là 192) ÷ 11011111 (giá trò thập
phân là 223) là đòa chỉ lớp C và có tất cả 2
mạng đó. Đòa chỉ này không thể dùng để đặt cho một interface, phần hostID
của đòa chỉ chỉ chứa các bit 0.
Ví dụ: 176.10.0.0 là một đòa chỉ mạng
Đòa chỉ Broadcast (Broadcast address): là đòa chỉ IP được dùng để đại
diện cho tất cả các host trong mạng, phần hostID của đòa chỉ chỉ chứa các bit
1. Đòa chỉ này không thể dùng để đặt cho một interface.
ĐH Kỹ thuật Công nghệ Trang
110
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 6: TCP/IP và các ứng dụng
ĐH Kỹ thuật Công nghệ Trang
111
Ví dụ: 176.10.255.255 là một đòa chỉ broadcast
Các đòa chỉ bắt đầu với 127 là các đòa chỉ sử dụng cho chức năng loopback.
Một thông điệp được đánh đòa chỉ loopback được gởi bởi phần mềm TCP/IP
cục bộ đến chính nó. Đòa chỉ loopback được dùng để kiểm tra xem phần
mềm TCP/IP có hoạt động không. Đòa chỉ 127.0.0.1 thøng được sử dụng
nhất.
6.2.3 Đòa chỉ chung và đòa chỉ riêng:
- Tất cả các IP host khi kết nối vào mạng Internet đều phải có một đòa chỉ IP
do tổ chức IANA (Internet Assigned Numbers Authority) cấp phát – gọi là đòa chỉ
hợp lệ (hay là được đăng ký). Tuy nhiên, số lượng host kết nối vào mạng ngày
càng gia tăng dẫn đến tình trạng khan hiếm đòa chỉ IP. Một giải pháp đưa ra là
dùng cơ chế NAT kèm theo là RFC 1918 quy đònh danh sách đòa chỉ riêng.
- RFC 1918 dành riêng một vài dãy đòa chỉ IP cho các mạng riêng. Với giả
đònh là các dãy đòa chỉ riêng này không được kết nối vào Internet, vì thế các đòa
chỉ này không là duy nhất. Trên thế giới hiện nay, các dãy đòa chỉ ẩn này thường
được sử dụng cho mạng được bảo vệ, nằm sau các thiết bò chuyển đổi mạng:
• 10.0.0.0 ÷ 10.255.255.255
• 172.16.0.0 ÷ 172.31.255.255
bò NAT trở nên rất phổ biến trong các mạng cục bộ.
Hình 6.1: Một thiết bò chuyển đổi đòa chỉ mạng
6.2.5 Phân chia mạng con (subneting)
Người quản trò mạng đôi khi cần phân chia một mạng thành những mạng con
nhỏ hơn, nhằm mục đích:
– Giảm kích thứơc broadcast domain, tối ưu việc thực hiện mạng.
– Bảo mật mạng tốt hơn.
– Quản lý đơn giản hơn và nếu có sự cố thì cũng dễ kiểm tra và xác đònh đựơc
nguyên nhân gây lỗi hơn là trong một mạng lớn.
Lấy ví dụ, xét một mạng lớp A như hình 6.1:
ĐH Kỹ thuật Công nghệ Trang
112
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 6: TCP/IP và các ứng dụng
Hình 6.2: Phân phối dữ liệu đến một mạng lớp A
Vấn đề là làm thế nào để phân phối datagram khi nó đi vào không gian đòa chỉ
99.0.0.0. Một mạng lớp A có phạm vi trên 16 triệu đònh danh host. Mạng này
có thể bao gồm hàng triệu host, đường đi – đây là một con số rất lớn trong
phạm vi một mạng con đơn lẻ.
Để phân phối hiệu quả trên một mạng lớn, không gian đòa chỉ có thể được
phân nhỏ thành các đoạn mạng nhỏ hơn (xem hình 6 -2).
ĐH Kỹ thuật Công nghệ Trang
113
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 6: TCP/IP và các ứng dụng
Hình 6.3: Tổ chức mạng để phân phối hiệu quả
Việc phân đoạn thành các mạng vật lý riêng biệt làm tăng dung lượng toàn
bộ của mạng và do đó làm cho mạng có thể sử dụng phần không gian đòa chỉ nhiều
ĐH Kỹ thuật Công nghệ Trang
115
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 6: TCP/IP và các ứng dụng
Số bit dùng cho phần subnetID bao nhiêu là tùy thuộc vào chiến lược chia
mạng con của người quản trò. Tuy nhiên, subnetID không thể chiếm trọn số bit
trong phần hostID ban đầu, cụ thể là: subnetID ≤ hostID – 2
8 24 - x x
Lớp A NetID subnetID HostID
16 16 - x x
Lớp B NetID subnetID HostID
24 8 - x x
Lớp C NetID
SubnetID HostID
Ví dụ:
Số bit trong phần subnetID xác đònh số lượng mạng con, giả sử số bit là n thì
2
n
là số lượng mạng con có được. Tuy nhiên, các luật phân chia mạng con chính
thức không cho phép các dạng tòan bit 1 hoặc tòan bit 0 trong các đònh danh
subnet. Như vậy, số subnet hợp lệ chỉ còn là: 2
n
– 2 (với n là số bit mượn để chia
subnet).
Vậy: Số bit tối thiểu có thể mượn để chia subnet là: 2 bit
Số bit tối đa có thể mượn để chia subnet là:
Lớp A: 22 bits ~ 2
22
- 2 = 4.194.302 subnet.
Bước 1: Xác đònh số subnet ID cần.
Bước 2: Xác đònh khỏang đòa chỉ host trên mỗi subnet
Bước 3: Tìm subnet mask dựa trên số bit đã mượn để chia subnet.
Bước 4: Xác đònh đòa chỉ broadcast trên mỗi subnet
• Đòa chỉ 172.16.0.0: là đòa chỉ lớp B
Subnet mask mặc đònh là: 255.255.0.0
• Số subnet ≤ 2
n
– 2 (với n là số bit mượn để chia subnet)
2
n
– 2 = 6 => n = 3
Ư mượn 3 bit để chia subnet
ĐH Kỹ thuật Công nghệ Trang
Subnet 0: .00000000.00000000 = 0
Subnet 1: .00100000.00000000 = 32 = 1x2
5
Subnet 2: .01000000.00000000 = 64 = 2x2
5
Subnet 3: .01100000.00000000 = 96 = 3x2
5
Subnet 4: .10000000.00000000 = 128 = 4x2
5
Subnet 5: .10100000.00000000 = 160 = 5x2
5
Subnet 6: .11000000.00000000 = 192 = 6x2
5
Subnet 7: .11100000.00000000 = 224 = 7x2
5
6.3 Giao thức phân giải đòa chỉ (ARP):
Để các máy tính có thể thông tin với nhau, thiết bò gởi (source) phải biết cả
đòa chỉ IP và đòa chỉ MAC (đòa chỉ vật lý) của thiết bò nhận (destination).
Các máy tính trên một mạng cục bộ sử dụng giao thức lớp Internet được gọi
là giao thức phân giải đòa chỉ – Address Resolution Protocol (ARP) để ánh xạ các
ĐH Kỹ thuật Công nghệ Trang
118
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 6: TCP/IP và các ứng dụng
đòa chỉ IP vào các đòa chỉ vật lý. Một host phải biết đòa chỉ vật lý của bộ tương
thích mạng đích để gởi bất kỳ dữ liệu nào đến nó. Bộ tương thích mạng được xác
đònh bởi đòa chỉ IP của nó. Đòa chỉ IP phải được ánh xạ đến một đòa chỉ vật lý để
một thông điệp đến đích của nó.
Mỗi máy tính trên một đoạn mạng duy trì một bảng trong bộ nhớ được gọi là
bảng ARP. Bảng ARP chứa đòa chỉ MAC và đòa chỉ IP của các thiết bò mạng được
kết nối đến trong cùng một LAN. Bảng ARP được hình thành một cách tự động.
Khi một máy tính cần gửi dữ liệu đến một máy tính khác trên đoạn mạng,
máy tính sẽ kiểm tra bảng ARP để xác đònh đòa chỉ vật lý của nơi nhận. Nếu đòa
chỉ MAC và đòa chỉ IP của trạm nhận dữ liệu không được liệt kê trong bảng ARP,
máy tính gởi một broadcast được gọi là một khung yêu cầu ARP.
Khung yêu cầu ARP chứa đòa chỉ IP (đòa chỉ IP chưa được phân giải) của trạm
nhận và đòa chỉ MAC (đòa chỉ MAC là đòa chỉ broadcast gồm 6 byte: FF-FF-FF-FF-
FF-FF). Khung yêu cầu ARP cũng chứa đòa chỉ IP và đòa chỉ vật lý của máy tính
gởi yêu cầu. Các máy tính khác trên đoạn mạng nhận yêu cầu ARP thì sẽ kiểm tra
xem đòa chỉ IP của nó có giống với đòa chỉ trong khung yêu cầu không. Nếu không
giống, máy tính nhận sẽ bỏ qua yêu cầu này. Nếu giống thì máy tính nhận sẽ gởi
trả lời khung được gọi là khung đáp ứng ARP có chứa đòa vật lý của nó đến máy
tính gởi yêu cầu. Sau đó, máy tính gởi yêu cầu cập nhật đòa chỉ IP và đòa chỉ MAC
vào bộ nhớ ARP.
Ví dụ: máy tính gởi (Source) cần truyền dữ liệu đến máy tính nhận (destination)
như hình 6.6
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 6: TCP/IP và các ứng dụng
Hình 6.12: Đòa chỉ MAC và đòa chỉ IP của máy nhận được cập nhật trong bảng ARP
của máy gởi
Khi 2 máy tính ở cách xa nhau:
Hình 6.13: Trường hợp máy tính truyền và máy tính nhận ở cách xa nhau (khác LAN)
Khi máy tính truyền muốn gởi dữ liệu đến một máy tính ở xa, trước tiên nó phải tìm
đòa chỉ phần cứng của router mặc đònh. Để làm điều này, máy truyền sẽ gởi quảng bá
khung yêu cầu ARP chứa đòa chỉ IP của router mặc đònh. Sau đó, router mặc đònh gởi
trả lời ARP để thông báo đòa chỉ phần cứng của nó cho máy tính truyền. Lúc này, máy
truyền có thể gởi dữ liệu, gói dữ liệu gởi đi có chứa đòa chỉ IP của máy nhận và đòa chỉ
MAC của router. Khi nhận đòa chỉ gói dữ liệu, router tìm đòa chỉ IP đích trong bảng
đònh tuyến và sử dụng thông tin này để truyền dữ liệu tới đích.
6.4 Giao thức phân giải đòa chỉ ngược (RARP):
RARP là viết tắt của Reverse ARP (Giao thức phân giải đòa chỉ ngược). RARP trái
ngược với ARP. RARP được sử dụng khi biết đòa chỉ vật lý nhưng không biết đòa chỉ IP.
RARP thường được sử dụng kết hợp với giao thức BOOTP để khởi động các trạm làm
việc không có ổ đóa.
BOOTP (boot PROM)— Nhiều bộ tương thích mạng có một khe cắm trống để thêm một
mạch tích hợp được gọi là một Rom boot. Chương trình bootPROM bắt đầu ngay khi máy
tính được bật nguồn. Nó tải một hệ điều hành vào máy tính bằng cách
đọc từ một máy chủ
mạng thay vì một ổ đĩa cục bộ. Hệ điều hành được tải tới thiết bị BOOTP được cấu hình trước
một địa chỉ IP cụ thể.
ĐH Kỹ thuật Công nghệ Trang
122