Khái niệm mạng máy tính
Mạng máy tính là một tập h ợp các máy tính được nối với nhau bởi đường
truyền theo một cấu trúc nào đó và thông qua đó các máy tính trao đổi thông tin qua
lại cho nhau.
Đường truyền là hệ thống các thiết bị truyền dẫn có dây hay không dây dùng để
chuyển các tín hiệu điện tử từ máy tính này đến máy tính khác. Các tín hiệu điện tửđó
biểu thị các giá trị dữ liệu dưới dạng các xung nhị phân (on - off). Tất cả các tín hiệu
được truyền giữa các máy tính đều thuộc một dạng sóng điện từ.
Tùy theo tần số của
sóng điện từ có thể dùng các đường truyền vật lý khác nhau để truyền các tín hiệu. Ở
đây đường truyền được kết nối có thể là dây cáp đồng trục, cáp xoắn, cáp quang, dây
điện thoại, sóng vô tuyến .
Các đường truyền dữ liệu tạo nên cấu trúc của mạng. Hai
khái niệm đường truyền và cấu trúc là những đặc trưng cơ bản của mạng máy tính.
94 trang |
Chia sẻ: banmai | Lượt xem: 2168 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Căn bản về mạng máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
chữ số (địa chỉ host) tạo một địa chỉ duy nhất cho mỗi thiết bị trên mạng. Mỗi máy tính
trên mạng TCP/IP phải được cấp một định danh duy nhất hay địa chỉ IP. Địa chỉ IP
hoạt động ở lớp 3 định vị các máy tính khác trên mạng, các máy tính cũng có một địa
chỉ vật lý duy nhất được gọi là địa chỉ MAC. Các địa chỉ này được gán bởi nhà sản
xuất Card giao tiếp mạng (N IC) và địa chỉ này hoạt động ở lớp 2 của mô hình OSI.
Một địa chỉ IP là một tổ hợp 32 bit nhị phân. Hình 2.1 trình bày về một số 32 bit.
Hình 2.1.2.1a Khuôn dạng địa chỉ IP
Để làm cho địa chỉ IP dễ sử dụng, địa chỉ IP thường được viết dưới dạng bốn
số thập phân và được tách ra. Ví dụ, địa chỉ IP của một máy là 192.168.80.1, phương
pháp viết địa chỉ này được gọi là dạng thập phân có dấu chấm phân cách. Mỗi địa chỉ
IP được viết thành bốn phần phân cách nhau bởi dấu chấm, mỗi phần của địa chỉ IP
được gọi là một Octet bởi nó được tạo thành bởi 8 chữ số nhị phân.
Ví dụ, địa chỉ IP 192.168.1.8 sẽ có ký hiệu nhị phân là:
11000000.10101000.00000001.100000000, sử dụng dạng thập phân có dấu
chấm tạo ra dạng địa chỉ dễ hiểu hơn. Cả hai chữ số nhị phân và thập phân trong hình
2.2 biểu diễn cùng một giá trị nhưng rõ ràng dạng thập phân dễ nhìn hơn.
6.2.2 Các lớp của địa chỉ IP
Để phù hợp với các mạng có kích thước khác nhau và hỗ trợ trong việc
phân loại các mạng này, các địa chỉ IP được chia thành các nhóm gọi là các lớp. Mỗi
địa chỉ IP 32 bit hoàn chỉnh chia thành phần mạng và phần host. Mỗi bit hay một tuần
tự các bit bắt đầu mỗi địa chỉ sẽ xác định lớp của địa chỉ này. Có 5 lớp địa chỉ IP được
trình bày trong hình dưới đây:
Hình 2.1.2.2.a Các tiền tố lớp địa chỉ
Địa chỉ lớp A được thiết kế cho các mạng cực kỳ lớn, với nhiều hơn 16 triệu địa
chỉ host có sẵn. Các địa chỉ lớp A chỉ dùng Octet đầu tiên để chỉ địa chỉ mạng, ba
Octet còn lại cung cấp địa chỉ host.
Hình 2.1.2.2.b Địa chỉ lớp A
Địa chỉ lớp B được thiết kế cho các mạng vừa phải, với hơn 65 nghìn địa chỉ
host có sẵn. Một địa chỉ lớp B dùng hai Octet đầu làm địa chỉ mạng, hai Octet còn lại
là địa chỉ host.
Hình 2.1.2.2.c Địa chỉ lớp B
Không gian địa chỉ lớp C được dùng phổ biến nhất trong số các lớp của địa chỉ
IP. Không gian địa chỉ này được cung cấp cho các mạng nhỏ với tối đa 254 host.
Hình 2.1.2.2.d Địa chỉ lớp C
Lớp địa chỉ D được tạo ra để cho phép multicasting cho địa chỉ IP. Một địa chỉ
multicast là một địa chỉ mạng duy nhất hướng dẫn các gói đến một nhóm các địa chỉ
IP, nhóm địa chỉ IP được định nghĩa trước là địa chỉ multicast này. Do đó, một host có
thể truyền luồng số liệu đến nhiều host một cách đồng thời.
Hình 2.1.2.2.e Địa chỉ lớp D
Địa chỉ lớp E đã được định nghĩa. Tuy nhiên, IETF dành các địa này cho công
việc nghiên cứu riêng. Do đó, không có địa chỉ địa chỉ lớp E nào được cấp phát cho sử
dụng Internet.
Hình 2.1.2.2.g Địa chỉ lớp E
6.3 BỘ GIAO THỨC TCP/IP
6.3.1 Giới thiệu về TCP/IP
Vào cuối những năm 1960 và 1970, trung tâm nghiên cứu cấp cao của Mỹ được giao
trách nhiệm phát triển mạng APARN ET. Mạng APARN ET bao gồm những tổ chức
quân đội, các trường đại học và các tổ chức nghiên cứu và được dùng để hỗ trợ cho
những dự án nghiên cứu khoa học và quân đội (N gày nay, APRA được gọi là
DARPA). N ăm 1984, DOD chia APARN ET ra thành 2 phần APARN ET sử dụng cho
nghiên cứu khoa học và MILN ET sử dụng cho quân đội. Đầu những năm 1980, một
bộ giao thức mới được đưa ra làm giao thức chuNn cho mạng APARN ET và các mạng
của DOD mang tên DARPA Internet protocol suit, nó thường được gọi là bộ giao thức
TCP/IP hay còn gọi tắt là TCP/IP.
N ăm 1987, tổ chức nghiên cứu quốc gia Hoa Kỳ (N ational Science Foundation
- N SF) tài trợ cho việc kết nối 6 trung tâm siêu tính trên toàn liên bang lại với nhau
thành một mạng với tên gọi N SFN ET. Về mặt vật lý, mạng này kết nối 13 điểm làm
việc bằng đường điện thoại cao tốc được gọi là N SFN ET backbone, khoảng 8 đường
backbone đã được xây dựng. N SFN ET được mở rộng với hàng chục mạng địa phương
kết nối vào nó và kết nối vào mạng Internet của DARPA, cả N SFN ET và các mạng
con của nó đều sử dụng bộ giao thức TCP/IP.
Bộ giao thức TCP/IP có một số ưu điểm chính như sau:
- Giao thức chuNn mở thoải mái và sẵn sàng phát triển độc lập với phần cứng
và hệ điều hành. Bởi vì nó được hỗ trợ bởi nhiều nhà cung cấp, TCP/IP lý tưởng cho
việc hợp nhất phần cứng và phần mềm khác nhau, ngay cả khi truyền thông trên
Internet. Sự độc lập rành mạch với phần cứng vật lý của mạng cho phép TCP/IP hợp
nhất các mạng khác nhau. TCP/IP có thể chạy trên mạng Ethernet, mạng Token ring,
mạng quay số (Dial-up line), mạng X.25, mạng ảo và mọi loại môi trường vật lý
truyền thông.
- Một sơ đồ địa chỉ dùng chung cho phép mỗi thiết bị TCP/IP có duy nhất một
địa chỉ trên mạng ngay cả khi đó là mạng toàn cầu Internet.
- Tiêu chuNn hoá mức cao của giao thức phù hợp với ích lợi của dịch vụ người
dùng. Được tích hợp vào hệ điều hành UN IX, hỗ trợ mô hình client - server, mô hình
mạng bình đẳng, hỗ trợ kỹ thuật dẫn đường động.
DARPA hỗ trợ việc nghiên cứu kết nối nhiều loại mạng khác nhau lại thành
một mạng toàn cầu Internet. N goài việc sử dụng cho tất cả các máy trên Internet,
TCP/IP còn được sử dụng trong mạng nội bộ của một số tổ chức chính phủ hoặc
thương mại, những mạng này gọi là Intranet. TCP/IP có thể kết nối một số lượng lớn
các máy tính (150.000 máy trên nước Mĩ, Châu Âu, Châu Á) hay chỉ kết nối hai máy
tính trong phòng làm việc.
Sau đây chúng ta sẽ nghiên cứu về bộ giao thức truyền thông TCP/IP.
6.3.2 Tổng quan về bộ giao thức TCP/IP
Mặc dầu có nhiều giao thức trong bộ giao thức truyền thông TCP/IP, hai giao
thức quan trọng nhất được lấy tên đặt cho bộ giao thức này là TCP (Transmission
Control Protocol) và IP (Internet Protocol).
TCP/IP là bộ giao thức cho phép kết nối các mạng không đồng nhất vói nhau.
N gày nay, TCP/IP được sử dụng rộng rãi trong các mạng cục bộ cũng như mạng
Internet toàn cầu.
6.3.2.1 Kiến trúc phân tầng của TCP/IP
TCP/IP được xem là giản lược của mô hình OSI và được phân làm 4 tầng:
- Tầng mạng (N etwork Layer)
- Tầng Internet (Internet Layer)
- Tầng giao vận (Transport Layer)
- Tầng ứng dụng (Application Layer)
Trong đó
* Tầng liên kết mạng: là tầng thấp nhất trong mô hình TCP/IP bao gồm các
thiết bị giao tiếp mạng và các chương trình giao tiếp thông tin cần thiết để có thể hoạt
động và truy nhập đường truyền vật lý qua các thiết bị giao tiếp đó.
* Tầng Internet: Xủ lý quá trình truyền gói tin trên mạng. Tầng này bao gồm
các loại giao thức như IP (Internet protocol), ICMP (Internet control Message
Protocol), IGMP (Internet Group Message Protocol).
* Tầng giao vận: Phụ trách luồng dữ liệu giữa hai trạm thực hiện ứng dụng của
tầng trên. Tầng này bao gồm hai giao thức TCP (Transmisson Control Protocol) và
UDP (User Datagram Protocol). Giao thức TCP cung cấp một luồng dữ liệu tin cậy
giữa hai trạm, sử dụng các cơ chế như chia gói tin ở tầng trên thành các gói tin nhỏ
hơn ở tầng mạng bên dưới, báo nhận gói tin, đặt thời gian time - out để nhận biết thời
gian gói tin đã được gửi đi. Do tầng này đảm bảo tính tin cậy nên tầng trên không cần
phải quan tâm nữa. Giao thức UDP thì cung cấp một dịch vụ đơn giản hơn cho tầng
trên, nó chỉ gửi các gói dữ liệu từ tầng này tới tầng kia làm không đảm bảo đến được
đích, các cơ chế đảm bảo độ tin cậy cần được thực hiện bởi tầng trên.
* Tầng ứng dụng: Là tầng trên cùng của mô hình TCP/IP, bao gồm các tiến
trình và giao thức cung cấp sử dụng truy cập mạng. Có rất nhiều ứng dụng được cung
cấp cho tầng này như: Telnet phục vụ truy cập mạng từ xa, FTP dịch vụ truyền tệp,
Email gửi thư điện tử, WWW (Word-Wide-Web) …
Việc phân tầng này đảm bảo một số nguyên tắc sau:
- Một lớp được tạo ra khi cần đến mức trừu tượng hoá tương ứng.
- Mỗi lớp cần thực hiện các chức năng được định nghĩa rõ ràng.
- Việc chọn chức năng cho mỗi lớp cần chú ý tới việc định nghĩa các quy tắc
chuNn hoá quốc tế.
- Ranh giới các mức cần chọn sao cho thông tin đi qua là ít nhất (tham số cho
chương trình con là ít).
- Số mức phải đủ lớn để các chức năng tách biệt không nằm trong cùng một lớp
và đủ nhỏ để mô hình không quá phức tạp.
- Một mức có thể được phân thành các lớp nhỏ nếu cần thiết.
- Các mức con có thể lại bị loại bỏ.
- Hai hệ thống khác nhau có thể truyền thông với nhau nếu chúng bảo đảm
những nguyên tắc chung (cài đặt cùng một giao thức truyền thông).
- Các chức năng được tổ chức thành một tập các tầng đồng mức cung cấp chức
năng như nhau. Các tầng đồng mức phải sử dụng một giao thức chung.
- Một tầng không định nghĩa một giao thức đơn, nó định nghĩa một chức năng
truyền thông có thể được thi hành bởi một số giao thức. Do vậy, mỗi tầng có thể chứa
nhiều giao thức, mỗi giao thức cung cấp một dịch vụ phù hợp cho chức năng của
tầng.
- FTP (File transfer Protocol): Giao thức truyền tệp cho phép người dùng lấy hoặc gửi
tệp tới một máy khác
- Telnet: Chương trình mô phỏng thiết bị đầu cuối cho phép người dùng login vào
một máy chủ từ một máy tính nào đó trên mạng.
- SMTP (Simple Mail Transfer Protocol): Một giao thức thư tín điện tử.
- DNS (Domain N ame server): Dịch vụ tên miền cho phép nhận ra máy tính từ một
tên miền thay cho chuỗi địa chỉ Internet khó nhớ.
- SNMP (Simple N etwork Management Protocol): Giao thức quản trị mạng cung cấp
những công cụ quản trị mạng.
- RIP (Routing Internet Protocol): Giao thức dẫn đường động.
- ICMP (Internet Control Message Protocol): N ghi thức thông báo lỗi.
- UDP (User Datagram Protocol): Giao thức truyền thông không kết nối, cung cấp
dịch vụ truyền không tin cậy nhưng tiết kiệm chi phí truyền.
Application
Layer
Transport
Layer
(Host Layer)
Internet Layer
(GetwayLayer
)
Network
Interface
Layer
RIP
SN MSMTP
Transsmission Control
Protocol
User Datagram
Protocol
TELN EFTP
Internet Protocol
ICMP
ARP
Token Fiber Token BusEthernet
DN S
- TCP (Transmission Control Protocol): Giao thức hướng kết nối, cung cấp dịch vụ
truyền thông tin tưởng.
- IP (Internet Protocol): Giao thức Internet chuyển giao các gói tin qua các máy tính
đến đích.
- ARP (Address Resolution Protocol): Cơ chế chuyển địa chỉ TCP/IP thành địa chỉ
vật lý của các thiết bị mạng.
TCP là một giao thức có liên kết, nghĩa là cần thiết lập liên kết giữa hai thực thể
TCP trước khi chúng trao đổi dữ liệu với nhau. Một tiến trình ứng dụng trong một máy
tính truy nhập vào các dịch vụ của giao thức TCP thông qua một cổng của TCP. Một
cổng TCP kết hợp với địa chỉ IP tạo thành một đầu nối TCP/IP duy nhất trong liên
mạng. Một đầu nối TCP/IP có thể tham gia nhiều liên kết với các đầu nối TCP/IP ở xa
khác nhau. Trước khi truyền dữ liệu qua hai trạm cần phải thiết lập một liên kết TCP
giữa chúng và khi không còn nhu cầu truyền dữ liệu thì liên kết đó sẽ được giải
phóng.
* Các bước thực hiện để thiết lập một liên kết TCP/IP
Thiết lập một liên kết mới có thể được mở theo một trong 2 phương thức: Chủ
động (active) hoặc bị động (passive)
- Phương thức bị động, người sử dụng yêu cầu TCP chờ đợi một yêu cầu liên
kết gửi đến từ xa thông qua một đầu nối TCP/IP. N gười sử dụng dùng hàm passive
Open có khai báo cổng TCP và các thông số khác.
- Với phương thức chủ động, người sử dụng yêu cầu TCP mở một liên kết với
một đầu nối TCP/IP ở xa. Liên kết sẽ được xác lập nếu có một hàm Passive Open
tương ứng đã được thực hiện tại đầu nối TCP/IP ở xa đó.
6.4. Kỹ thuật chia mạng con của Internet (IP subnetting)
6.4.1. Nguyên nhân
N hư đã nêu trên địa chỉ trên Internet thực sự là một tài nguyên, một mạng khi
gia nhập Internet được Trung tâm thông tin mạng Internet ( N IC) phân cho một số địa
chỉ vừa đủ dùng với yêu cầu lúc đó, sau này nếu mạng phát triển thêm lại phải xin N IC
thêm, đó là điều không thuận tiện cho các nhà khai thác mạng.
Hơn nữa các lớp địa chỉ của Internet không phải hoàn toàn phù hợp với yêu cầu
thực tế, địa chỉ lớp B chẳng hạn, mỗi một địa chỉ mạng có thể cấp cho 65534 máy chủ,
Thực tế có mạng nhỏ chỉ có vài chục máy chủ thì sẽ lãng phí rất nhiều địa chỉ còn lại
mà không ai dùng được . Để khắc phục vấn đề này và tận dụng tối đa địa chỉ được N IC
phân, bắt đầu từ năm 1985 người ta nghĩ đến Địa chỉ mạng con.
N hư vậy phân địa chỉ mạng con là mở rộng địa chỉ cho nhiều mạng trên cơ sở
một địa chỉ mạng mà N IC phân cho, phù hợp với số lượng thực tế máy chủ có trên
từng mạng.
6.4.2. Phương pháp phân chia địa chỉ mạng con
Một số khái niệm liên quan tới việc phân địa chỉ các mạng con.
* Default Mask: (Giá trị trần địa chỉ mạng) được định nghĩa trước cho từng lớp
địa chỉ A,B,C. Thực chất là giá trị thập phân cao nhất (khi tất cả 8 bit đều bằng 1)
trong các Octet dành cho địa chỉ mạng - N et ID.
Default Mask:
Lớp A 255.0.0.0
Lớp B 255.255.0.0
Lớp C 255.255.255.0
*Subnet Mask: ( giá trị trần của từng mạng con)
Subnet Mask là kết hợp của Default Mask với giá trị thập phân cao nhất của các
bit lấy từ các Octet của địa chỉ máy chủ sang phần địa chỉ mạng để tạo địa chỉ mạng
con.
Subnet Mask bao giờ cũng đi kèm với địa chỉ mạng tiêu chuNn để cho người
đọc biết địa chỉ mạng tiêu chuNn này dùng cả cho 254 máy chủ hay chia ra thành các
mạng con. Mặt khác nó còn giúp Router trong việc định tuyến cuộc gọi.
*Nguyên tắc chung:
Lấy bớt một số bit của phần địa chỉ máy chủ để tạo địa chỉ mạng con.
Lấy đi bao nhiêu bit phụ thuộc vào số mạng con cần thiết (Subnet mask) mà
nhà khai thác mạng quyết định sẽ tạo ra.
Vì địa chỉ lớp A và B đều đã hết, hơn nữa hiện tại mạng Internet của Tổng công
ty do VDC quản lý đang được phân 8 địa chỉ mạng lớp C nên chúng ta sẽ nghiên cứu
kỹ phân chia địa chỉ mạng con ở lớp C.
a. Địa chỉ mạng con của địa chỉ lớp C
Class c:
Địa chỉ lớp C có 3 octet cho địa chỉ mạng và 1 octet cuối cho địa chỉ máy chủ vì
vậy chỉ có 8 bit lý thuyết để tạo mạng con, thực tế nếu dùng 1 bit để mở mạng con và 7
bit cho địa chỉ máy chủ thì vẫn chỉ là một mạng và ngược lại 7 bit để cho mạng và 1
bit cho địa chỉ máy chủ thì một mạng chỉ được một máy, như vậy không logic, ít nhất
phải dùng 2 bit để mở rộng địa chỉ và 2 bit cho địa chỉ máy chủ trên từng mạng. Do
vậy trên thực tế chỉ dùng như bảng sau.
Default Mask của lớp C : 255.255.255.0
Địa chỉ
máy chủ
255.255.255.1 1 0 0 0 0 0 0 ; 192 ( 2 bit đ/ chỉ mạng con 6 bit đ/chỉ máy chủ)
255.255.255.1 1 1 0 0 0 0 0 ; 224 ( 3 bit đ/chỉ mạng con 5 bit đ/chỉ máy chủ)
255.255.255.1 1 1 1 0 0 0 0 ; 240 ( 4 bit đ/chỉ mạng con 4 bit đ/chỉ máy chủ)
255.255.255.1 1 1 1 1 0 0 0 ; 248 ( 5 bit đ/chỉ mạng con 3 bit đ/chỉ máy chủ)
255.255.255.1 1 1 1 1 1 0 0 ; 252 ( 6 bit đ/chỉ mạng con 2 bit đ/chỉ máy chủ)
Default Mask Địa chỉ
mạng con
Khả năng chia mạng con của địa chỉ Lớp C
Trường Subnetmask Số lượng Số máy chủ trên
hợp mạng con từng mạng
1 255.255.255.192 2 62
2 255.255.255.224 6 30
3 255.255.255.240 14 14
4 255.255.255.248 30 6
5 255.255.255.252 62 2
N hư vậy một địa chỉ mạng ở lớp C chỉ có 5 trường hợp lựa chọn trên (Hay 5
Subnet Mask khác nhau), tuỳ từng trường hợp cụ thể để quyết định số mạng con.
* Trường hợp 1 - Hai mạng con
Subnet Mask 255.255.255.192.
Từ một địa chỉ tiêu chuNn tạo được địa chỉ cho hai mạng con, mỗi một mạng có
62 máy chủ.
Sử dụng hai bit (bit 7 và 6) của phần địa chỉ máy chủ để tạo mạng con. N hư vậy
còn lại 6 bit để phân cho máy chủ.
+ Tính địa chỉ mạng
Octet 4
Bit 7
6
5 4 3 2 1
0
xxx.xxx.xxx. 0
0
0 0 0 0 0
0
= xxx.xxx.xxx.0
xxx.xxx.xxx. 0
1
0 0 0 0 0
0
= xxx.xxx.xxx.64
xxx.xxx.xxx. 1
0
0 0 0 0 0
0
=
xxx.xxx.xxx.128
xxx.xxx.xxx. 1
1
0 0 0 0 0
0
=
xxx.xxx.xxx.192
Ghi chú: xxx.xxx.xxx là địa chỉ mạng tiêu chuNn của lớp C.
Địa chỉ của mạng là giá trị của bit 7 và 6 lần lượt bằng 0 và 1. Trong trường
hợp chia địa chỉ mạng con không bao giờ được dùng địa chỉ khi các bit đều bằng 0 hay
bằng 1. Do vậy trường hợp 2 mạng con nói trên, địa chỉ mạng con sẽ là:
Mạng con 1: Địa chỉ mạng xxx.xxx.xxx.64
Mạng con 2: Địa chỉ mạng xxx.xxx.xxx.128
+ Tính địa chỉ cho máy chủ cho mạng con 1
Chúng ta chỉ còn 6 bit cho địa chỉ máy chủ trên từng mạng.
Octet 4
Bit 7 6 5 4 3 2 1 0
xxx.xxx.xxx. 0 1 0 0 0 0 0 0 = xxx.xxx.xxx.64 Địa chỉ
mạng
xxx.xxx.xxx. 0 1 0 0 0 0 0 1 = xxx.xxx.xxx.65
xxx.xxx.xxx. 0 1 0 0 0 0 1 0 = xxx.xxx.xxx.66
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxx.xxx.xxx. 0 1 1 1 1 1 1 0 = xxx.xxx.xxx.126
xxx.xxx.xxx. 0 1 1 1 1 1 1 1 =xxx.xxx.xxx.127 Không
phân
Địa chỉ mạng con
1
Mỗi mạng còn lại 62 địa chỉ cho máy chủ.
Mạng 1: Từ xxx.xxx.xxx. 065 đến xxx.xxx.xxx.126
+ Tính địa chỉ cho máy chủ cho mạng con 2
Tương tự như cách tính trên ta có
Octet 4
Bit 7 6 5 4 3 2 1
0
xxx.xxx.xxx. 1 0 0 0 0 0 0
0
= xxx.xxx.xxx.128 Địa chỉ
mạng
xxx.xxx.xxx. 1 0 0 0 0 0 0
1
= xxx.xxx.xxx.129
xxx.xxx.xxx. 1 0 0 0 0 0 1
0
= xxx.xxx.xxx.130
. . . . . . . . . . . . . . . . . . . . .
..
. . . . . . . . . . . . .
xxx.xxx.xxx. 1 0 1 1 1 1 1
0
= xxx.xxx.xxx.190
xxx.xxx.xxx. 1 0 1 1 1 1 1
1
= xxx.xxx.xxx.191 Không
phân
Địa chỉ mạng con
2
Mạng 2: Địa chỉ máy chủ trên mạng 2.
Từ xxx.xxx.xxx.129 đến xxx.xxx.xxx.190.
Tổng quát lại:
Subnet ID Hosts
0 1-62
64 65-126
128 129-190
192 193-254
Mạng con thứ nhất
Địa chỉ mạng con: xxx.xxx.xxx.064
Địa chỉ các máy chủ trên mạng con này từ.
xxx.xxx.xxx. 065
xxx.xxx.xxx. 066
xxx.xxx.xxx. 067
..............
đến xxx.xxx.xxx. 126
Mạng con thứ 2
Địa chỉ mạng con: xxx.xxx.xxx. 128
Địa chỉ các máy chủ trên mạng con này từ.
xxx.xxx.xxx. 129
xxx.xxx.xxx. 130
.............
đến xxx.xxx.xxx. 190
Địa chỉ máy chủ từ 1 đến 62 và từ 193 đến 254 và 127 ; 191 bị mất, nghĩa là
mất 130 địa chỉ.
Ví dụ: Địa chỉ tiêu chuNn lớp C là 196. 200. 123
Subnetmask 255.255.255.192
Từ địa chỉ này ta có 2 mạng con là:
- Mạng 1: Địa chỉ mạng 196.200.123.064
Địa chỉ Máy chủ trên mạng này.
Từ 196.200.123.065 đến 196. 200. 123. 126.
- Mạng 2: Địa chỉ mạng 196.200.123.128
Địa chỉ máy chủ trên mạng này.
Từ 196.200.123.129 đến 196.200.123. 190
* Trường hợp 2 - Sáu mạng con
Subnetmask: 255.255.255.224.
Tạo được 6 mạng con, mỗi mạng con có 30 máy chủ
+ Tính địa chỉ Mạng con
Trường hợp này sử dụng 3 bit ( bit 7,6,5) của địa chỉ máy chủ (Octet 4) bổ sung
cho địa chỉ mạng tiêu chuNn để tạo mạng con.
Octet 4
Bit 7 6
5
4 3 2 1
0
xxx.xxx.xxx. 0 0
0
0 0 0 0
0
= xxx.xxx.xxx.0
xxx.xxx.xxx. 0 0
1
0 0 0 0
0
= xxx.xxx.xxx.32
xxx.xxx.xxx. 0 1
0
0 0 0 0
0
= xxx.xxx.xxx.64
xxx.xxx.xxx. 0 1
1
0 0 0 0
0
= xxx.xxx.xxx.96
xxx.xxx.xxx. 1 0
0
0 0 0 0
0
= xxx.xxx.xxx.128
xxx.xxx.xxx. 1 0
1
0 0 0 0
0
= xxx.xxx.xxx.160
xxx.xxx.xxx. 1 1
0
0 0 0 0
0
= xxx.xxx.xxx.192
xxx.xxx.xxx. 1 1
1
0 0 0 0
0
= xxx.xxx.xxx.224
Bỏ trường hợp các bit đều bằng 0 hay 1, còn lại địa chỉ của 6 mạng con sau.
xxx.xxx.xxx.32 ; Mạng con 1
xxx.xxx.xxx.64 ; Mạng con 2
xxx.xxx.xxx.96 ; Mạng con 3
xxx.xxx.xxx.128 ; Mạng con 4
xxx.xxx.xxx.160 ; Mạng con 5
xxx.xxx.xxx.192 ; Mạng con 6
+ Tính địa chỉ máy chủ cho mạng con 1
Octet 4
Bit 7 6
5
4 3 2 1
0
xxx.xxx.xxx. 0 0
1
0 0 0 0
0
= xxx.xxx.xxx. 32 Địa chỉ
mạng
xxx.xxx.xxx. 0 0
1
0 0 0 1
1
= xxx.xxx.xxx.33
xxx.xxx.xxx. 0 0
1
0 0 0 0
0
= xxx.xxx.xxx.34
xxx.xxx.xxx. 0 0
1
0 0 0 1
1
= xxx.xxx.xxx.35
xxx.xxx.xxx. 0 0
1
0 0 1 0
0
= xxx.xxx.xxx.36
. . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . .
xxx.xxx.xxx. 0 0
1
1 1 1 1
0
= xxx.xxx.xxx.62
xxx.xxx.xxx. 0 0
1
1 1 1 1
1
= xxx.xxx.xxx.63 Không phân
N hư vậy địa chỉ máy chủ của mạng con 1 sẽ từ 33 đến 62.
Tương tự như cách tính đã nêu trên chúng ta có thể tính được cho tất cả các
trường hợp còn lại (xem bảng 1) và được tổng hợp lại như sau.
Trường hợp 1: Subnetmask 255.255.255.192
• 2 mạng con.
• 62 máy chủ mỗi mạng.
Trường hợp 2: Subnetmask 255.255.255.224
• 6 mạng con.
• 30 máy chủ mỗi mạng.
Trường hợp 3: Subnetmask 255.255.255.240
• 14 mạng con.
• 14 máy chủ mỗi mạng
Trường hợp 4: Subnetmask 255.255.255.248
• 30 mạng con.
• 6 máy chủ mỗi mạng.
Trường hợp 5: Subnetmask 255.255.255.252.
• 62 mạng con.
• 2 máy chủ mỗi mạng.
Xem bảng tính địa chỉ cho các trường hợp trên
Ví dụ: Địa chỉ mạng lớp C mà N IC phân cho VDC là 203.162.4.0. Trên địa chỉ này
phân ra 2 mạng con thì địa chỉ sẽ là.
Mạng 1: Địa chỉ mạng 203.162.4.64.
Địa chỉ máy chủ trên mạng đó từ 203.162.4.65 đến 203.162.4.126
Mạng 2: Địa chỉ mạng 203.162.4.128.
Địa chỉ máy chủ trên mạng đó từ 203.162.4.129 đến 203.162.4.190
b. Địa chỉ mạng con từ địa chỉ lớp B
Default Mask của lớp B là 255.255.0.0
class b:
N et ID - Khi phân địa chỉ mạng con sử dụng Octet 3
Địa chỉ lớp B có 2 Octet thứ 3 và thứ 4 dành cho địa chỉ máy chủ nên về
nguyên lý có thể lấy được cả 16 bit để tạo địa chỉ mạng . N ếu từ một địa chỉ mạng
được N IC phân chúng ta định mở rộng lên 254 mạng và mỗi mạng sẽ có 254 máy chủ.
Trường hợp này sẽ lấy hết 8 bit của octet thứ 3 bổ sung vào địa chỉ mạng và chỉ còn lại
8 bit thực tế cho địa chỉ máy chủ, theo cách tính số thập phân 2n giá trị của 8 bit như đã
nêu ở phần lớp C, chúng ta sẽ có:
Bảng phân chia địa chỉ mạng con ở lớp B
Class B
Subnetting (Default
Subnet mask)
Subnet Mask
subnets
Số mạng con
hosts per subnet
Số máy chủ trên
mỗi mạng con
255.255.0.0
Sử dụng Octet 3 để mở
rộng mạng con
255.255.192.0 2 16382
255.255.224.0 6 8190
255.255.240.0 14 4094
255.255.248.0 30 2460
255.255.252.0 62 1022
255.255.254.0 126 510
255.255..255.0 254 254
Sử dụng cả Octet 4 để
mở rộng mạng con
255.255.255.128 510 126
255.255.255.192 1022 62
255.255.255.224 2046 30
255.255.255.240 4094 14
255.255.255.248 8190 6
255.255.255.252 16382 2
Địa chỉ lớp B về lý thuyết có 2 octet đầu cho địa chỉ mạng, khi chia mạng con
theo phương pháp sử dụng tất cả 8 bit trong 3 octet cho địa chỉ mạng, trên thực tương
ứng với lớp C, như vậy về địa chỉ N IC phân là lớp B nhưng cách tổ chức địa chỉ lại ở
lớp C ( Xem Bảng phụ lục phân địa chỉ mạng con ở lớp B ).
Trong bảng này cần chú ý ở cột 6 - khoảng cách địa chỉ giữa 2 mạng con giới
thiệu cho chúng ta cách tính địa chỉ các mạng con, địa chỉ các máy chủ trên từng mạng
liên quan tới cột 7,8,9,10.
Ví dụ: Trường hợp Subnetmask 255.255.240.0 là rõ nhất.
Chia được 14 mạng con, mỗi mạng con có 4094 máy chủ, khoảng cách địa chỉ giữa
hai mạng con là 16.0 có nghĩa.
• Mạng con 1 có địa chỉ là xxx.yyy.16.0 ; Mạng con 2 sẽ có địa chỉ là
xxx.yyy.16.0 + 16.0 = xxx.yyy.32.0 cứ tiếp tục như vậy ta sẽ tính được địa
chỉ của từng mạng con và mạng con 14 là xxx.yyy. 224.0.
• Địa chỉ máy chủ đầu tiên trên mạng con 1 là xxx.yyy.16.1 ; địa chỉ máy chủ
đầu tiên trên mạng con 2 sẽ là xxx.yyy.16.1 + 16.0 = xxx.yyy.32.1. Tiếp tục
như vậy ta sẽ tính địa chỉ được máy chủ đầu tiên của mạng con 14 là
xxx.yyy.224.1 v.v..
• Tương tự chúng ta biết được địa chỉ cuối cùng của các máy chủ trên một
mạng con.
Theo hướng dẫn này chúng ta sẽ tìm được các trường hợp khác.
Tóm lại chia địa chỉ mạng con cũng phải theo một quy luật nhất định ngoài ý
muốn của chúng ta, khi chia mạng con cũng bị mất khá nhiều địa chỉ, mất ít hay nhiều
tuỳ thuộc vào các trường hợp cụ thể.
6.5 Các phương pháp phân bổ địa chỉ IP
6.5.1. Lấy một điạ chỉ IP
6.5.1.1 Lấy một địa chỉ Internet
Một host mạng cần lấy một địa chỉ duy nhất toàn cục để hoạt động trên Internet. Địa chỉ vật lý
hay MAC mà host có chỉ có ý nghĩa cục bộ, để nhận diện host trong mạng cục bộ mà thôi. Vì
đây là địa chỉ lớp 2, nên router không dùng nó để chuyển số liệu lên LAN .
Các địa chỉ IP được dùng phổ biến nhất trong truyền thông Internet. Giao thức này là một
lược đồ địa chỉ phân cấp, cho phép các địa chỉ cá nhân được liên kết với nhau và được xem
như các nhóm. Các nhóm địa chỉ cho phép truyền số liệu qua Internet một cách hiệu quả.
N gười quản trị mạng dùng 2 phương pháp để gán địa chỉ IP. Các phương pháp này gọi là tĩnh
hay động. N ếu hai host có cùng địa chỉ IP có thể gây ra một sự xung đột mà qua đó khiến cho
cả hai host đều không thể hoạt động được. Các host có một địa chỉ vật lý bởi chúng có chung
một card giao tiếp mạng (N IC). Cho phép kết nối host vào môi trường vật lý.
6.5.1.2 Sự gán tĩnh một địa chỉ IP
Gán địa chỉ tĩnh phù hợp cho các mạng nhỏ ít thay đổi. N gười quản trị hệ thống gán bằng tay
và theo dõi các địa chỉ IP trong mỗi máy tính, máy in hay server trên Internet. Theo dõi tốt là
điều quan trọng để ngăn các vấn đề phát sinh từ sự trùng lặp địa chỉ IP. Điều này chỉ có thể
khi có một số lượng nhỏ các thiết bị cần theo dõi. Các server sẽ được gán một địa chỉ IP tĩnh
sao cho các máy trạm và các thiết bị khác luôn biết được cách thức truy xuất các dịch vụ cần
thiết.
Các thiết bị khác được gán địa chỉ IP tĩnh là các máy in mạng. Các server ứng dụng và router.
6.5.1.3 Gán địa chỉ theo RARP
RARP (Reverse Address Resolution Protocol) liên hệ một địa chỉ MAC đã biết với một địa
chỉ IP. Liên hệ này cho phép các thiết bị mạng đóng gói (encapsulation) số liệu trước khi
truyền số liệu lên mạng. Một thiết bị mạng ví dụ như diskless workstation có thể biết địa chỉ
MAC của nó nhưng lại không biết địa chỉ IP được gán cho nó. RARP cho phép các thiết bị
này tạo ra một yêu cầu để lấy địa chỉ IP của minh. Các thiết bị dùng RARP Request qua đó
một RARP server có mặt trên mạng sẽ phải trả lời. Xem xét một ví dụ nơi mà một thiết bị
nguồn muốn truyền số liệu đến thiết bị khác. Trong ví dụ này, thiết bị nguồn biết địa chỉ MAC
của mình nhưng không thể xác định địa chỉ IP của nó trong bảng RARP. Thiết bị nguồn phải
gộp cả địa chỉ MAC và địa chỉ IP của nó để thiết bị đích tiếp nhận số liệu, sau đó truyền
chúng lên các lớp cao hơn trong mô hình OSI và đáp ứng lại cho thiết bị nguồn. Do đó, nguồn
phải khởi động một quá trình được gọi là RARP request. Yêu cầu giúp thiết bị nguồn phát
hiện được địa chỉ IP của nó. RARP request là một broadcast lên một LAN và một đáp ứng bởi
một RARP server, thành phần này thường là một router.
RARP sử dụng định dạng gói giống như ARP. Tuy nhiên trong RARP request, MAC header
và “Operation code” khác với ARP request. Khuôn dạng gói RARP chứa các vị trí cho các địa
chỉ MAC của các thiết bị nguồn và đích. File chứa địa chỉ IP của nguồn là rỗng broadcast này
đi đến mọi thiết bị trên mạng. Do đó địa chỉ MAC đích sẽ được ghi với tất cả các bit đều là 1.
Các máy trạm chạy RARP đều có mã chương trình trong ROM hướng dẫn chúng khởi động
một quá trình trong RARP.
6.5.1.4 Gán địa chỉ IP theo BOOTP
Bootstrap protocol (BOOTP) là giao thức hoạt động trong môi trường client/server và chỉ yêu
cầu một gói đơn trao đổi để lấy môt thông tin IP. Tuy nhiên, không giống như RARP, các gói
BOOTP có thể chứa các địa chỉ IP cũng như địa chỉ của một router, địa chỉ của một server và
thông tin của nhà cung cấp.
Tuy nhiên vấn đề đối với BOOTP là nó không được thiết kế để cung ứng địa chỉ rộng. Với
BOOTP, người quản trị mạng tạo ra một tập tin cấu hình chỉ ra các thông số cho các thiết bị.
N gười quản trị phải bổ xung các host và bảo trì cở sở dữ liệu BOOTP. N gay cả khi các địa chỉ
IP được gán động, vẫn phải có mối quan hệ một-một giữa số lượng địa chỉ IP và số lượng
host. Điều này có nghĩa là mỗi host trên mạng phải có một đặc trưng (profile). BOOTP kèm
theo sự gán địa chỉ IP trên đó. Không có hai profile nào có cùng địa chỉ IP vì profile này có
thể được dùng cùng lúc và như vậy sẽ có thể có hai host cùng địa chỉ IP.
Một thiết bị dùng BOOTP để lấy một địa chỉ IP khi khởi động máy. BOOTP dùng UDP để tải
các thông điệp. Thông điệp UDP được đóng trong một gói IP. Một máy tính dùng BOOTP để
gửi một broadcast IP sử dụng địa chỉ IP đích với tất cả đều là 1, 255.255.255.255 trong ký
hiệu thập phân có chấm phân cách. Một BOOTP server nhận broadcast này và sau đó chuyển
ngược lại broadcast. Client nhận một frame và kiểm tra địa chỉ MAC. N ếu client thấy địa chỉ
MAC của nó trong file địa chỉ đích và một broadcast trong file đích IP, nó tiến hành lấy và
lưu địa chỉ IP cùng với thông tin khác được cung cấp trong thông điệp hồi đáp BOOTP này.
6.5.1.5 Quản lý địa chỉ IP theo DHCP
Dynamic Host Configuration Protocol là giao thức tiếp ra đời sau BOOTP. Không giống như
BOOTP, DHCP cho phép một host lấy địa chỉ IP một cách linh động không cần người quản
trị mạng thiết lập một profile riêng cho mỗi thiết bị. Tất cả những gì được yêu cầu khi dùng
DHCP là định nghĩa một dải địa chỉ IP trên một DHCP server. Khi các host tham gia vào
mạng, chúng liên hệ với DHCP server và yêu cầu một địa chỉ IP. DHCP server chọn một địa
chỉ và cấp cho host này. Với DHCP, toàn bộ cấu hình mạng của một máy tính có thể được lấy
về chỉ qua một thông điệp. Trong đó bao hàm tất cả các số liệu được cung cấp bởi thông điệp
BOOTP, cộng với địa chỉ IP được cấp và một subnet mask.
Ưu điểm chu yếu mà DHCP có so với BOOTP là cho phép các user có thể di chuyển. Đặc
tính di động này cho phép các user thay đổi tùy thích các kết nối mạng từ vị trí này sang vị trí
khác. Không còn yêu cầu giữ một profile cố định cho từng thiết bị nối vào mạng giống như
trong hệ thống BOOTP. Điều quan trọng đối với ưu thế của DHCP là khả năng cấp một địa
chỉ IP cho một thiết bị và sau đó thu hồi lại để cấp cho thiết bị khác sau khi user đầu tiên
không còn dùng nữa. Điều này có nghĩa là DHCP cung cấp một hệ số một-nhiều (one-to-
many) của các địa chỉ IP và một địa chỉ IP là khả dụng cho mọi người kết nối vào mạng.
6.6. Giao thức IP
6.6.1. Tổng quát
N hiệm vụ chính của giao thức IP là cung cấp khả năng kết nối các mạng con thành liên kết
mạng để truyền dữ liệu, vai trò của IP là vai trò của giao thức tầng mạng trong mô hình OSI.
Giao thức IP là một giao thức kiểu không liên kết (connectionlees) có 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.
Sơ đồ địa chỉ hóa để định danh các trạm (host) trong liên mạng được gọi là địa chỉ IP 32 bits
(32 bit IP address). Mỗi giao diện trong 1 máy có hỗ trợ giao thức IP đều phải được gán 1 địa
chỉ IP (một máy tính có thể gắn với nhiều mạng do vậy có thể có nhiều địa chỉ IP). Địa chỉ IP
gồm 2 phần: địa chỉ mạng (netid) và địa chỉ máy (hostid). Mỗi địa chỉ IP có độ dài 32 bits
được tách thành 4 vùng (mỗi vùng 1 byte), có thể biểu thị dưới dạng thập phân, bát phân, thập
lục phân hay 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
(dotted decimal notation) để tách các vùng. Mục đích của địa chỉ IP là để định danh duy nhất
cho một máy tính bất kỳ trên liên mạng.
Do tổ chức và độ lớn của các mạng con (subnet) 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 là A, B, C, D và E. Trong lớp A, B, C chứa địa chỉ có
thể gán được. Lớp D dành riêng cho lớp kỹ thuật multicasting. Lớp E được dành những ứng
dụng trong tương lai.
N etid trong địa chỉ mạng dùng để nhận dạng từng mạng riêng biệt. Các mạng liên kết phải có
địa chỉ mạng (netid) riêng cho mỗi mạng. Ở đây 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 và 11110 - lớp E).
Ơû đây ta xét cấu trúc của các lớp địa chỉ có thể gán được là lớp A, lớp B, lớp C
Cấu trúc của các địa chỉ IP như sau:
Mạng lớp A: địa chỉ mạng (netid) là 1 Byte và địa chỉ host (hostid) là 3 byte.
Mạng lớp B: địa chỉ mạng (netid) là 2 Byte và địa chỉ host (hostid) là 2 byte.
Mạng lớp C: địa chỉ mạng (netid) là 3 Byte và địa chỉ host (hostid) là 1 byte.
Lớp A cho phép định danh tới 126 mạng, với tối đa 16 triệu host trên mỗi mạng. Lớp này
được dùng cho các mạng có số trạm cực lớn.
Lớp B cho phép định danh tới 16384 mạng, với tối đa 65534 host trên mỗi mạng.
Lớp C cho phép định danh tới 2 triệu mạng, với tối đa 254 host trên mỗi mạng. Lớp này được
dùng cho các mạng có ít trạm.
Hình 7.1: Cấu trúc các lớp địa chỉ IP
Một số địa chỉ có tính chất đặc biệt: Một địa chỉ có hostid = 0 được dùng để hướng tới mạng
định danh bởi vùng netid. N gược lại, một địa chỉ có vùng hostid gồm toàn số 1 được dùng để
hướng tới tất cả các host nối vào mạng netid, và nếu vùng netid cũng gồm toàn số 1 thì nó
hướng tới tất cả các host trong liên mạng
Hình 7.2: Ví dụ cấu trúc các lớp địa chỉ IP
Cần lưu ý rằng các địa chỉ IP được dùng để định danh các host và mạng ở tầng mạng của mô
hình OSI, và chúng không phải là các địa chỉ vật lý (hay địa chỉ MAC) của các trạm trên đó
một mạng cục bộ (Ethernet, Token Ring.).
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 lớp A, B, C như ví dụ sau:
Hình 7.3: Ví dụ địa chỉ khi bổ sung vùng subnetid
Đơn vị dữ liệu dùng trong IP được gọi là gói tin (datagram), có khuôn dạng
Hình 7.4: Dạng thức của gói tin IP
Ý nghĩa của thông số như sau:
VER (4 bits): chỉ version hiện hành của giao thức IP hiện được cài đặt, Việc có chỉ số
version cho phép có các trao đổi giữa các hệ thống sử dụng version cũ và hệ thống sử
dụng version mới.
IHL (4 bits): chỉ độ dài phần đầu (Internet header Length) của gói tin datagram, tính
theo đơn vị từ ( 32 bits). Trường này bắt buột phải có vì phần đầu IP có thể có độ dài
thay đổi tùy ý. Độ dài tối thiểu là 5 từ (20 bytes), độ dài tối đa là 15 từ hay là 60 bytes.
Type of service (8 bits): đặc tả các tham số về dịch vụ nhằm thông báo cho mạng biết
dịch vụ nào mà gói tin muốn được sử dụng, chẳng hạn ưu tiên, thời hạn chậm trễ, năng
suất truyền và độ tin cậy. Hình sau cho biết ý nghĩ của trường 8 bits này.
Precedence (3 bit): chỉ thị về quyền ưu tiên gửi datagram, nó có giá trị từ 0 (gói tin
bình thường) đến 7 (gói tin kiểm soát mạng).
D (Delay) (1 bit): chỉ độ trễ yêu cầu trong đó
D = 0 gói tin có độ trễ bình thường
D = 1 gói tin độ trễ thấp
T (Throughput) (1 bit): chỉ độ thông lượng yêu cầu sử dụng để truyền gói tin với lựa
chọn truyền trên đường thông suất thấp hay đường thông suất cao.
T = 0 thông lượng bình thường và
T = 1 thông lượng cao
R (Reliability) (1 bit): chỉ độ tin cậy yêu cầu
R = 0 độ tin cậy bình thường
R = 1 độ tin cậy cao
Total Length (16 bits): chỉ độ dài toàn bộ gói tin, kể cả phần đầu tính theo đơn vị
byte với chiều dài tối đa là 65535 bytes. Hiện nay giới hạn trên là rất lớn nhưng trong
tương lai với những mạng Gigabit thì các gói tin có kích thước lớn là cần thiết.
Identification (16 bits): cùng với các tham số khác (như Source Address và
Destination Address) tham số này dùng để định danh duy nhất cho một datagram trong
khoảng thời gian nó vẫn còn trên liên mạng.
Flags (3 bits): liên quan đến sự phân đoạn (fragment) các datagram, Các gói tin khi
đi trên đường đi có thể bị phân thành nhiều gói tin nhỏ, trong trường hợp bị phân đoạn
thì trường Flags được dùng điều khiển phân đoạn và tái lắp ghép bó dữ liệu. Tùy theo
giá trị của Flags sẽ có ý nghĩa là gói tin sẽ không phân đoạn, có thể phân đoạn hay là
gói tin phân đoạn cuối cùng. Trường Fragment Offset cho biết vị trí dữ liệu thuộc
phân đoạn tương ứng với đoạn bắt đầu của gói dữ liệu gốc. Ý nghĩa cụ thể của trường
Flags là:
bit 0: reserved - chưa sử dụng, luôn lấy giá trị 0.
bit 1: (DF) = 0 (May Fragment) = 1 (Don't Fragment)
bit 2: (MF) = 0 (Last Fragment) = 1 (More Fragments)
Fragment Offset (13 bits): chỉ vị trí của đoạn (fragment) ở trong datagram tính theo
đơn vị 8 bytes, có nghĩa là phần dữ liệu mỗi gói tin (trừ gói tin cuối cùng) phải chứa
một vùng dữ liệu có độ dài là bội số của 8 bytes. Điều này có ý nghĩa là phải nhân giá
trị của Fragment offset với 8 để tính ra độ lệch byte.
Time to Live (8 bits): qui định thời gian tồn tại (tính bằng giây) của gói tin trong
mạng để tránh tình trạng một gói tin bị quNn trên mạng. Thời gian này được cho bởi
trạm gửi và được giảm đi (thường qui ước là 1 đơn vị) khi datagram đi qua mỗi router
của liên mạng. Thời lượng này giảm xuống tại mỗi router với mục đích giới hạn thời
gian tồn tại của các gói tin và kết thúc những lần lặp lại vô hạn trên mạng. Sau đây là
1 số điều cần lưu ý về trường Time To Live:
N út trung gian của mạng không được gởi 1 gói tin mà trường này có giá trị=
0.
Một giao thức có thể ấn định Time To Live để thực hiện cuộc ra tìm tài
nguyên trên mạng trong phạm vi mở rộng.
Một giá trị cố định tối thiểu phải đủ lớn cho mạng hoạt động tốt.
Protocol (8 bits): chỉ giao thức tầng trên kế tiếp sẽ nhận vùng dữ liệu ở trạm đích
(hiện tại thường là TCP hoặc UDP được cài đặt trên IP). Ví dụ: TCP có giá trị trường
Protocol là 6, UDP có giá trị trường Protocol là 17
Header Checksum (16 bits): Mã kiểm soát lỗi của header gói tin IP.
Source Address (32 bits): Địa chỉ của máy nguồn.
Destination Address (32 bits): địa chỉ của máy đích
Options (độ dài thay đổi): khai báo các lựa chọn do người gửi yêu cầu (tuỳ theo từng
chương trình).
Padding (độ dài thay đổi): Vùng đệm, được dùng để đảm bảo cho phần header luôn
kết thúc ở một mốc 32 bits.
Data (độ dài thay đổi): Trên một mạng cục bộ như vậy, 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. N hư 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.
6.6.2. Các giao thức trong mạng IP
Để mạng với giao thức IP hoạt động được tốt người ta cần một số giao thức bổ sung, các giao
thức này đều không phải là bộ phận của giao thức IP và giao thức IP sẽ dùng đến chúng khi
cần.
Giao thức ARP (Address Resolution Protocol): Ở đây cần lưu ý rằng các địa chỉ IP
được dùng để định danh các host và mạng ở tầng mạng của mô hình OSI, và chúng
không phải là các địa chỉ vật lý (hay địa chỉ MAC) của các trạm trên đó một mạng cục
bộ (Ethernet, Token Ring.). 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. N hư vậy vấn đề đặt ra là phải tìm được
ánh xạ giữa địa chỉ IP (32 bits) và địa chỉ vật lý của một trạm. Giao thức ARP đã được
xây dựng để tìm địa chỉ vật lý từ địa chỉ IP khi cần thiết.
Giao thức RARP (Reverse Address Resolution Protocol): Là giao thức ngược với
giao thức ARP. Giao thức RARP được dùng để tìm địa chỉ IP từ địa chỉ vật lý.
Giao thức ICMP (Internet Control Message Protocol): Giao thức này thực hiện
truyền các thông báo điều khiển (báo cáo về các tình trạng các lỗi trên mạng.) giữa các
gateway hoặc một nút của liên mạng. Tình trạng lỗi có thể là: một gói tin IP không thể
tới đích của nó, hoặc một router không đủ bộ nhớ đệm để lưu và chuyển một gói tin
IP, Một thông báo ICMP được tạo và chuyển cho IP. IP sẽ "bọc" (encapsulate) thông
báo đó với một IP header và truyền đến cho router hoặc trạm đích.
6.6.3. Các bước hoạt động của giao thức IP
Khi giao thức IP được khởi động nó trở thành một thực thể tồn tại trong máy tính và bắt đầu
thực hiện những chức năng của mình, lúc đó thực thể IP là cấu thành của tầng mạng, nhận yêu
cầu từ các tầng trên nó và gửi yêu cầu xuống các tầng dưới nó.
Đối với thực thể IP ở máy nguồn, khi nhận được một yêu cầu gửi từ tầng trên, nó thực hiện
các bước sau đây:
Tạo một IP datagram dựa trên tham số nhận được.
Tính checksum và ghép vào header của gói tin.
Ra quyết định chọn đường: hoặc là trạm đích nằm trên cùng mạng hoặc một gateway
sẽ được chọn cho chặng tiếp theo.
Chuyển gói tin xuống tầng dưới để truyền qua mạng.
Đối với router, khi nhận được một gói tin đi qua, nó thực hiện các động tác sau:
1) Tính chesksum, nếu sai thì loại bỏ gói tin.
2) Giảm giá trị tham số Time - to Live. nếu thời gian đã hết thì loại bỏ gói tin.
3) Ra quyết định chọn đường.
4) Phân đoạn gói tin, nếu cần.
5) Kiến tạo lại IP header, bao gồm giá trị mới của các vùng Time - to -Live,
Fragmentation và Checksum.
6) Chuyển datagram xuống tầng dưới để chuyển qua mạng.
Cuối cùng khi một datagram nhận bởi một thực thể IP ở trạm đích, nó sẽ thực hiện bởi các
công việc sau:
1) Tính checksum. N ếu sai thì loại bỏ gói tin.
2) Tập hợp các đoạn của gói tin (nếu có phân đoạn)
3) Chuyển dữ liệu và các tham số điều khiển lên tầng trên.
6.7. Giao thức điều khiển truyền dữ liệu TCP
TCP là một giao thức "có liên kết" (connection - oriented), nghĩa là cần phải thiết lập liên kết
giữa hai thực thể TCP trước khi chúng trao đổi dữ liệu với nhau. Một tiến trình ứng dụng
trong một máy tính truy nhập vào các dịch vụ của giao thức TCP thông qua một cổng (port)
của TCP. Số hiệu cổng TCP được thể hiện bởi 2 bytes.
Hình 6.7: Cổng truy nhập dịch vụ TCP
Một cổng TCP kết hợp với địa chỉ IP tạo thành một đầu nối TCP/IP (socket) duy nhất trong
liên mạng. Dịch vụ TCP được cung cấp nhờ một liên kết logic giữa một cặp đầu nối TCP/IP.
Một đầu nối TCP/IP có thể tham gia nhiều liên kết với các đầu nối TCP/IP ở xa khác nhau.
Trước khi truyền dữ liệu giữa 2 trạm cần phải thiết lập một liên kết TCP giữa chúng và khi
không còn nhu cầu truyền dữ liệu thì liên kết đó sẽ được giải phóng.
Các thực thể của tầng trên sử dụng giao thức TCP thông qua các hàm gọi (function calls)
trong đó có các hàm yêu cầu để yêu cầu, để trả lời. Trong mỗi hàm còn có các tham số dành
cho việc trao đổi dữ liệu.
Các bước thực hiện để thiết lập một liên kết TCP/IP: Thiết lập một liên kết mới có
thể được mở theo một trong 2 phương thức: chủ động (active) hoặc bị động (passive).
Phương thức bị động, người sử dụng yêu cầu TCP chờ đợi một yêu cầu liên
kết gửi đến từ xa thông qua một đầu nối TCP/IP (tại chỗ). N gười sử dụng dùng
hàm passive Open có khai báo cổng TCP và các thông số khác (mức ưu tiên,
mức an toàn)
Với phương thức chủ động, người sử dụng yêu cầu TCP mở một liên kết với
một một đầu nối TCP/IP ở xa. Liên kết sẽ được xác lập nếu có một hàm
Passive Open tương ứng đã được thực hiện tại đầu nối TCP/IP ở xa đó.
Bảng liệt kê một vài cổng TCP phổ biến.
Số hiệu cổng Mô tả
0 Reserved
5 Remote job entry
7 Echo
9 Discard
11 Systat
13 Daytime
15 N estat
17 Quotd (quote odd day
20 ftp-data
21 ftp (control)
23 Telnet
25 SMTP
37 Time
53 N ame Server
102 ISO - TSAP
103 X.400
104 X.400 Sending
111 Sun RPC
139 N et BIOS Session source
160 - 223 Reserved
Khi người sử dụng gửi đi một yêu cầu mở liên kết sẽ được nhận hai thông số trả lời từ TCP.
Thông số Open ID được TCP trả lời ngay lập tức để gán cho một liên kết cục bộ
(local connection name) cho liên kết được yêu cầu. Thông số này về sau được dùng để
tham chiếu tới liên kết đó. (Trong trường hợp nếu TCP không thể thiết lập được liên
kết yêu cầu thì nó phải gửi tham số Open Failure để thông báo.)
Khi TCP thiết lập được liên kết yêu cầu nó gửi tham số Open Sucsess được dùng để
thông báo liên kết đã được thiết lập thành công. Thông báo này dược chuyển đến trong
cả hai trường hợp bị động và chủ động. Sau khi một liên kết được mở, việc truyền dữ
liệu trên liên kết có thể được thực hiện.
Các bước thực hiện khi truyền và nhận dữ liệu: Sau khi xác lập được liên kết người
sữ dụng gửi và nhận dữ liệu. Việc gửi và nhận dữ liệu thông qua các hàm Send và
receive.
Hàm Send: Dữ liệu được gửi xuống TCP theo các khối (block). Khi nhận
được một khối dữ liệu, TCP sẽ lưu trữ trong bộ đệm (buffer). N ếu cờ PUSH
được dựng thì toàn bộ dữ liệu trong bộ đệm được gửi, kể cả khối dữ liệu mới
đến sẽ được gửi đi. N gược lại cờ PUSH không được dựng thì dữ liệu được giữ
lại trong bộ đệm và sẽ gửi đi khi có cơ hội thích hợp (chẳng hạn chờ thêm dữ
liệu nữa để gữi đi với hiệu quả hơn).
Hàm reveive: Ở trạm đích dữ liệu sẽ được TCP lưu trong bộ đệm gắn với mỗi
liên kết. N ếu dữ liệu được đánh dấu với một cờ PUSH thì toàn bộ dữ liệu trong
bộ đệm (kể cả các dữ liệu được lưu từ trước) sẽ được chuyển lên cho người sữ
dụng. Còn nếu dữ liệu đến không được đánh dấu với cờ PUSH thì TCP chờ tới
khi thích hợp mới chuyển dữ liệu với mục tiêu tăng hiệu quả hệ thống.
N ói chung việc nhận và giao dữ liệu cho người sử dụng đích của TCP phụ thuộc vào việc cài
đặt cụ thể. Trường hợp cần chuyển gấp dữ liệu cho người sử dụng thì có thể dùng cờ
URGEN T và đánh dấu dữ liệu bằng bit URG để báo cho người sử dụng cần phải sử lý khNn
cấp dữ liệu đó.
Các bước thực hiện khi đóng một liên kết: Việc đóng một liên kết khi không cần
thiết được thực hiên theo một trong hai cách: dùng hàm Close hoặc dùng hàm Abort.
Hàm Close: yêu cầu đóng liên kết một cách bình thường. Có nghĩa là việc
truyền dữ liệu trên liên kết đó đã hoàn tất. Khi nhận được một hàm Close TCP
sẽ truyền đi tất cả dữ liệu còn trong bộ đệm thông báo rằng nó đóng liên kết.
Lưu ý rằng khi một người sử dụng đã gửi đi một hàm Close thì nó vẫn phải
tiếp tục nhận dữ liệu đến trên liên kết đó cho đến khi TCP đã báo cho phía bên
kia biết về việc đóng liên kết và chuyển giao hết tất cả dữ liệu cho người sử
dụng của mình.
Hàm Abort: N gười sử dụng có thể đóng một liên kết bất và sẽ không chấp
nhận dữ liệu qua liên kết đó nữa. Do vậy dữ liệu có thể bị mất đi khi đang
được truyền đi. TCP báo cho TCP ở xa biết rằng liên kết đã được hủy bỏ và
TCP ở xa sẽ thông báo cho người sử dụng cũa mình.
Một số hàm khác của TCP:
Hàm Status: cho phép người sử dụng yêu cầu cho biết trạng thái của một liên
kết cụ thể, khi đó TCP cung cấp thông tin cho người sử dụng.
Hàm Error: thông báo cho người sử dụng TCP về các yêu cầu dịch vụ bất
hợp lệ liên quan đến một liên kết có tên cho trước hoặc về các lỗi liên quan đến
môi trường.
Đơn vị dữ liệu sử dụng trong TCP được gọi là segment (đoạn dữ liệu), có các tham số với ý
nghĩa như sau:
Hình 7.5: Dạng thức của segment TCP
Source Por (16 bits): Số hiệu cổng TCP của trạm nguồn.
Destination Port (16 bit): Số hiệu cổng TCP của trạm đích.
Sequence N umber (32 bit): số hiệu của byte đầu tiên của segment trừ khi bit SYN
được thiết lập. N ếy bit SYN được thiết lập thì Sequence N umber là số hiệu tuần tự
khởi đầu (ISN ) và byte dữ liệu đầu tiên là ISN +1.
Acknowledgment N umber (32 bit): số hiệu của segment tiếp theo mà trạm nguồn
đang chờ để nhận. N gầm ý báo nhận tốt (các) segment mà trạm đích đã gửi cho trạm
nguồn.
Data offset (4 bit): số lượng bội của 32 bit (32 bit words) trong TCP header (tham số
này chỉ ra vị trí bắt đầu của nguồn dữ liệu).
Reserved (6 bit): dành để dùng trong tương lai
Control bit (các bit điều khiển):
URG: Vùng con trỏ khNn (Ucgent Poiter) 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 (reset) liên kết.
SYN : Đồng bộ hóa số hiệu tuần tự (sequence number).
FIN : Không còn dữ liệu từ trạm nguồn.
Window (16 bit): cấp phát credit để kiểm soát nguồn dữ liệu (cơ chế cửa sổ). Đâ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 đã saün sàng để nhận.
Checksum (16 bit): mã kiểm soát lỗi cho toàn bộ segment (header + data)
Urgemt Poiter (16 bit): con trỏ này trỏ tới số hiệu tuần tự của byte đi theo sau dữ liệu
khNn. Vùng này chỉ có hiệu lực khi bit URG được thiết lập.
Options (độ dài thay đổi): khai báo các option của TCP, trong đó có độ dài tối đa của
vùng TCP data trong một segment.
Paddinh (độ dài thay đổi): phần chèn thêm vào header để đảm bảo phần header luôn
kết thúc ở một mốc 32 bit. Phần thêm này gồm toàn số 0.
TCP data (độ dài thay đổi): chứa dữ liệu của tầng trên, có độ dài tối đa ngầm định là
536 byte. Giá trị này có thể điều chỉnh bằng cách khai báo trong vùng options.
6.8. Giao thức UDP (User Datagram Protocol)
UDP (User Datagram Protocol) là giao thức theo phương thức không liên kết được sử dụng
thay thế cho TCP ở trên IP theo yêu cầu của từng ứng dụng. Khác với TCP, UDP không có
các chức năng thiết lập và kết thúc liên kết. Tương tự như IP, nó cũng không cung cấp cơ chế
báo nhận (acknowledgment), không sắp xếp tuần tự các gói tin (datagram) đến và có thể dẫn
đến tình trạng mất hoặc trùng dữ liệu mà không có cơ chế thông báo lỗi cho người gửi. Qua
đó ta thấy UDP cung cấp các dịch vụ vận chuyển không tin cậy như trong TCP.
Khuôn dạng UDP datagram được mô tả với các vùng tham số đơn giản hơn nhiều so với TCP
segment.
Hình 6.8: Dạng thức của gói tin UDP
UDP cũng cung cấp 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 ít chức năng phức tạp nên UDP
thường có xu thế hoạt động nhanh hơn so với TCP. N ó thường được dùng cho các ứng không
đòi hỏi độ tin cậy cao trong giao vậ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 toà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 khNn cho phép bên nhận biết được độ dài của dữ liệu
khNn. 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.
TÀI LIỆU THAM KHẢO
[1] Cisco Certification Network Associate - Semester 1 (CCNA1) - Cisco press.
[2] NguyÔn Thóc H¶i, M¹ng m¸y tÝnh vμ hÖ thèng më, NXB Gi¸o dôc, 1997.
[3] NguyÔn Gia HiÓu, M¹ng m¸y tÝnh, NXB Thèng kª, 1999.
Các file đính kèm theo tài liệu này:
- Bai_giang_Mang_May_Tinh_CD_DH_HCDH_KS2 _1_.pdf