Chương 1
Các khái niệm căn bản về mạng và giao thức mạng
1. Mạng máy tính
Mạng máy tính Là tập hợp các máy tính hoặc các thiết bị được nối với nhau bởi
các đường truyền vật lý và theo một kiến trúc nào đó.
Chúng ta có thể phân loại mạng theo qui mô của nó:
• Mạng LAN (Local Area Network)-mạng cục bộ: kết nối các nút trên một phạm vi
giới hạn. Phạm vi này có thể là một công ty, hay một tòa nhà.
• Mạng WAN (Wide Area Network): nhiều mạng LAN kết nối với nhau tạo thành
mạng WAN.
• MAN (Metropolitan Area Network), tương tự như WAN, nó cũng kết nối nhiều
mạng LAN. Tuy nhiên, một mạng MAN có phạm vi là một thành phố hay một đô thị
nhỏ. MAN sử dụng các mạng tốc độ cao để kết nối các mạng LAN của trường
học, chính phủ, công ty, ..., bằng cách sử dụng các liên kết nhanh tới từng điểm
như cáp quang.
Khi nói đến các mạng máy tính, người ta thường đề cập tới mạng xương sống
(backbone). Backbone là một mạng tốc độ cao kết nối các mạng có tốc độ thấp hơn. Một
công ty sử dụng mạng backbone để kết nối các mạng LAN có tốc độ thấp hơn. Mạng
backbone Internet được xây dựng bởi các mạng tốc độ cao kết nối các mạng tốc độ cao.
Nhà cung cấp Internet hoặc kết nối trực tiếp với mạng backbone Internet, hoặc một nhà
cung cấp lớn hơn.
1.1. Các đường kết nối trong mạng WAN
Để kết nối tới một mạng WAN, có một số tùy chọn như sau:
• Khi một khách hàng cụ thể yêu cầu sử dụng mạng với thông lượng xác định,
chúng ta có thể sử dụng các đường thuê bao (leased line).
• Các đường chuyển mạch (switched lines) được sử dụng bởi dịch vụ điện thoại
thông thường. Một mạch được thiết lập giữa phía nhận và phát trong khoảng thời
gian thực hiện cuộc gọi hoặc trao đổi dữ liệu. Khi không còn cần dùng đường
truyền nữa, thì cần phải giải phóng đường truyền cho khách hàng khác sử dụng.
Các ví dụ về các đường chuyển mạch là các đường POTS , ISDN, và DSL.
• Mạng chuyển mạch gói là mạng mà trong đó nhà cung cấp dịch vụ cung cấp công
nghệ chuyển mạch để giao tiếp với mạng xương sống. Giải pháp này cung cấp
hiệu năng cao và khả năng chia sẻ tài nguyên giữa các khách hàng.
Các giao thức được sử dụng cho các mạng chuyển mạch bao gồm X.25
(64Kbps), Frame Relay (44.736Mbps), và ATM (9.953 Gbps).
Kiến trúc mạng: Một trong những vấn đề cần quan tâm đối với một mạng máy tính
là kiến trúc mạng. Nó cập tới hai khía cạnh là Hình trạng mạng và Giao thức
mạng.
• Hình trạng mạng: Là cách nối các máy tính với nhau. Người ta phân loại mạng
theo hình trạng mạng như mạng sao, mạng bus, mạng ring…
• Giao thức mạng: Là tập hợp các qui tắc, qui ước truyền thông của mạng mà tất cả
các thực thể tham gia truyền thông phải tuân theo.
1
1.2. Giao thức Ethernet
Để có được sự hiểu biết tốt hơn về các mạng vật lý hoạt động như thế nào, chúng
ta sẽ xem xét một số giao thức LAN phổ biến: giao thức Ethernet. Chín mươi phần trăm
các thiết bị gắn với một mạng LAN sử dụng giao thức Ethernet, ban đầu được phát triển
bởi Xerox, Digital Equipement, và Intel năm 1972.
Ngày nay, Ethernet có thể hỗ trợ các đường truyền 100Mbps và 1Gbps. Rất nhiều
công nghệ đường truyền có thể được sử dụng với một Ethernet. Người ta sử dụng một
số qui ước để đặt tên giao thức Enternet. Tên này chỉ ra tốc độ của mạng Ethernet và các
thuộc tính của công nghệ đường truyền. Các tên như vậy được bắt đầu bằng một số để
chỉ ra tốc độ truyền tối đa, tiếp theo là một từ được sử dụng để xác định công nghệ truyền
dẫn, và cuối cùng là một số để chỉ ra khoảng cách giữa hai nút. Ví dụ, 10Base2 ký hiệu
một Ethernet hoạt động với tốc độ 10Mbps sử dụng kỹ thuật truyền trên băng tần cơ sở,
với các cáp có chiều dài tối đa là 200m. Một số cấu hình thông dụng khác như sau:
Chuẩn Ethernet Tốc độ Kiểu cáp Mô tả
10Base5 10Mbps Cáp đồng trục Đây là chuẩn ban đầu cho Ethernet
10BaseT 10Mbps Cáp đồng 10BaseT là một mạng 10Mbps với cáp
xoắn.
100BaseTX 100Mbs Cáp đồng 100Mbps công nghệ cáp xoắn và khả
năng truyền song công
1000BaseSX 1000Mbps Cáp đa chế độ 1000Mbps với cáp sợi quang. S :Short
wavelength (850nm)
Bảng 1.1
• CSMA/CD (Carrier Sense Multiple Access/Collision Detect).
Nhiều thiết bị được kết nối vào cùng một mạng và tất cả đều cùng có quyền truy xuất
đồng thời. Khi một thông điệp được gửi đi, nó được truyền thông qua một mạng . Phía
nhận được định danh bởi một địa chỉ duy nhất, và chỉ có nút này đọc thông điệp, còn các
nút khác thì bỏ qua.
Một vấn đề đặt ra là khi có nhiều nút cùng cố gắng gửi thông điệp tại cùng một thời
điểm, điều này có thể phá hỏng các gói tin. Giải pháp cho vấn đề này là mỗi nút mạng
giám sát mạng và có thể phát hiện mạng đang rảnh hay bận. Một nút chỉ có thể bắt đầu
gửi dữ liệu khi không có dữ liệu nào được gửi đi trên mạng trước đó. CSMA là một bộ
phận của CSMA/CD.
Tuy nhiên vẫn có khả năng là hai nút, sau khi kiểm tra thấy mạng không bận, bắt
đầu gửi gói tin cùng một thời điểm trên cùng cáp mạng. Điều này có thể gây lên xung đột
giữa hai gói tin, kết quả là phá hỏng dữ liệu. Cả hai phía gửi đều nhận thức được gói tin
bị hỏng bởi vì nó vẫn lắng nghe mạng khi gửi dữ liệu, và vì thế có thể phát hiện xung đột.
Đây là CD (Collision Dection) trong CSMA/CD. Cả hai nút dừng việc truyền dữ liệu ngay
tức thời, và chờ một thời điểm nhất định trước khi kiểm tra mạng trở lại để xem mạng có
rỗi hay không và truyền lại.
Mỗi nút trên mạng sử dụng một địa chỉ MAC (Media Access Control) để định danh
duy nhất. Địa chỉ này được định nghĩa bởi thiết bị giao tiếp mạng. Một gói tin được gửi đi
trên mạng, nhưng nếu thiết bị mạng không nhận diện host của nó như một host nhận, nó
sẽ bỏ qua gói tin và chuyển tiếp nó.
2
• Các giao thức khác
IBM đã phát triển giao thức Token Ring (IEEE802.5), trong đó các nút mạng được
kết nối theo một vòng. Với Ethernet, bất kỳ một nút nào cũng có thể gửi một thông điệp
khi không có gói tin nào trên mạng. Với Token Ring mỗi nút có một quyền truy xuất tới
mạng theo một thứ tự định trước. Một token lưu chuyển vòng quanh vòng, và chỉ nút lệnh
nào có thẻ bài mới có thể gửi thông điệp. Ngày nay, Ethernet đang thay thế dần các
mạng Token Ring bởi vì các mạng này tốn kém và khó cài đặt.
AppleTalk là một giao thức mạng LAN được phát triển bởi Apple tương đối phổ
biến trong các trường học, các nhà máy,...
ATM là một giao thức khác có thể tìm thấy trong mạng LAN. Nó hỗ trợ các mạng
tốc độ cao sử dụng kỹ thuật chuyển mạch và có đảm bảo chất lượng dịch vụ.
1.3. Các thành phần vật lý
Một vấn đề quan trọng để biết về mạng là biết về phần cứng. Chúng ta sẽ xem xét
các thành phần chủ yếu của một mạng LAN sau:
o Thiết bị giao tiếp mạng
o Hub
o Switch
o Router
• Thiết bị giao tiếp mạng (Network Interface Thiết bị)
NIC là thiết bị giao tiếp được sử dụng để kết nối một thiết bị với mạng LAN. Nó cho
phép chúng ta gửi và nhận các thông điệp từ mạng. Một NIC có một địa chỉ MAC duy
nhất mà cung cấp định danh duy nhất cho từng thiết bị.
Địa chỉ MAC là một số 12 byte-hệ 16 được gán cho thiết bị mạng. Địa chỉ này có
thể được thay đổi bởi một trình điều khiển mạng một cách linh hoạt (như trong trường
hợp của hệ thống DECnet, mạng được phát triển bởi Digital Equipment), nhưng thông
thường địa chỉ MAC không thay đổi.
Ta có thể tìm địa chỉ MAC của một máy sử dụng hệ điều hành Windows bằng cách
dùng tiện ích dòng lệnh ipconfig trong DOS với tham số switch
Hình 1.1
3
• Hub
Nhiều thiết bị có thể được kết nối một cách dễ dàng với sự giúp đỡ của một hub.
Hub là một thiết bị kết nối gắn nhiều thiết bị vào LAN. Mỗi thiết bị thường kết nối thông
qua một cáp tới một cổng trên hub.
Hub hoạt động như một bộ chuyển tiếp. Khi nó chuyển từng thông điệp từ cổng này
tới cổng khác, và chuyển tới mạng. Hub là một thành phần tương đối đơn giản của một
mạng, hoạt động ở tầng vật lý để truyền dữ liệu mà không cần thao tác xử lý nào. Điều
này làm cho các hub dễ cài đặt và quản lý, vì chúng không đòi hỏi cấu hình đặc biệt nào.
• Switch
Các chuyển mạch (switch) phân chia mạng thành các đoạn (segment). So với hub,
switch là một thiết bị thông minh hơn nhiều. Switch lưu trữ các địa chỉ MAC của các thiết
bị được kết nối tới các cổng của nó trong bảng lookup. Các bảng lookup cho phép switch
lọc các thông điệp mạng và không giống với hub, nó không chuyển tiếp các thông điệp tới
từng cổng. Điều này loại bỏ các xung đột có thể xảy ra và mạng có thể đạt được hiệu
năng tốt hơn. Chức năng chuyển mạch được thực hiện bằng cách sử dụng phần cứng.
• Router
Router là một thiết bị trung gian mạng, kết nối nhiều mạng vật lý. Một mạng có
nhiều host có thể được phân chia thành các phần riêng, hay còn gọi là subnet. Ưu điểm
của các subnet là:
• Hiệu năng được cải thiện bằng cách giảm broadcast, broadcast là 1 thông điệp
được gửi tới tất cả các nút của mạng.
• Khả năng hạn chế người dùng trong từng mạng con xác định đưa ra những ưu
điểm về bảo mật.
• Các subnet nhỏ hơn sẽ dễ quản lý hơn so với một mạng lớn.
Các router không chỉ được sử dụng trong LAN, chúng có một vai trò quan trọng
trong WAN. Router nhận một thông điệp và chuyển tiếp nó tới đích bằng cách sử dụng
đường đi tốt nhất tới đích đó.
Một Router lưu giữ một bảng định tuyến liệt kê tất cả các cách mà các mạng có thể
đạt tới. Thông thường sẽ có một số đường đi từ mạng này tới mạng khác, nhưng chỉ có
một trong số đó là tốt nhất, và nó là con đường được mô tả trong bảng định tuyến. Các
router truyền tin bằng cách sử dụng các giao thức định tuyến để phát hiện các router khác
trên mạng, và hỗ trợ cho việc trao đổi thông tin về các mạng được gắn với từng bộ định
tuyến.
Thông tin mà một bộ định tuyến thu thập về các đường đi giữa các mạng được gọi
là độ đo router, và có thể bao gồm những thông tin như sự mất mát gói tin và thời gian
truyền tin. Thông tin được sử dụng để tạo ra độ đo tùy thuộc vào giao thức định tuyến:
• Giao thức định tuyến vectơ khoảng cách
• Các giao thức RIP(Routing Information Protocol) và IGRP(Interior Gateway
Routing Protocol) sử dụng một biến đếm để chỉ ra số router mà gói tin phải đi qua
để đến đích. Các giao thức này thường lựa chọn các đường đi với ít router, mà
không quan tâm đến tốc độ và độ tin cậy.
• Các giao thức định tuyến trạng thái liên kết
• Việc tính toán đường đi tốt nhất của các giao thức định tuyến OSPF và BGP quan
tâm đến nhiều yếu tố như tốc độ, độ tin cậy, và thậm chí là chi phí của đường đi.
• Các giao thức định tuyến lai
• Các giao thức này sử dụng sự kết hợp việc tính toán trạng thái liên kết và vectơ
khoảng cách.
4
• Vấn đề tìm đường đi
Với cấu hình TCP/IP, một gateway mặc định được thiết lập. Đây là một địa chỉ IP
của cổng bộ định tuyến mà subnet kết nối tới. Bộ định tuyến này được sử dụng khi một
host ở bên ngoài subnet cần được liên lạc.
Ta có thể thấy bảng định tuyến cục bộ trên hệ điều hành Windows bằng cách sử
dụng lệnh ROUTE PRINT trên dòng lệnh.. Lệnh này hiển thị các gateway sẽ được sử
dụng cho mỗi liên kết mạng.
Hình 1.2
Một lệnh hữu ích khác là lệnh TRACERT. Lệnh này cho phép chúng ta kiểm tra
đường đi được sử dụng để đi tới đích.
Hình 1.3
2. Mô hình phân tầng
5
ISO đã định nghĩa một mô hình cho một mạng đã được chuẩn hóa sẽ thay thế cho
TCP/IP,DECNet và các giao thức khác như là một giao thức mạng cơ bản được sử dụng
cho Internet. Tuy nhiên, do sự phức tạp của OSI, mô hình này không được cài đặt và sử
dụng nhiều trong thực tế. TCP/IP đơn giản hơn nhiều và vì vậy có thể tìm thấy ở nhiều
nơi. Nhưng có rất nhiều ý tưởng mới từ giao thức OSI có thể tìm thấy trong phiên bản
tiếp theo của IP, IPv6.
Trong khi giao thức OSI không được xây dựng đầy đủ trong thực tế, nhưng mô
hình bảy tầng đã rất thành công và nó hiện đang được sử dụng như là một mô hình tham
chiếu để mô tả các giao thức mạng khác nhau và chức năng của chúng.
Các tầng của mô hình OSI phân chia các nhiệm vụ cơ bản mà các giao thức mạng
phải thực hiện, và mô tả các ứng dụng mạng có thể truyền tin như thế nào. Mỗi tầng có
một mục đích cụ thể và được kết nối với các tầng ở ngay dưới và trên nó. Bảy tầng của
mô hình OSI.
Hình 1.4
• Tầng ứng dụng (Application): định nghĩa một giao diện lập trình giao tiếp với mạng
cho các ứng dụng người dùng.
• Tầng trình diễn (Presentation): có trách nhiệm mã hóa dữ liệu từ tầng ứng dụng
để truyền đi trên mạng và ngược lại.
• Tầng phiên (Session): tạo ra một liên kết ảo giữa các ứng dụng.
• Tầng giao vận (Transport): cho phép truyền dữ liệu với độ tin cậy cao.
• Tầng mạng (Network): cho phép truy xuất tới các nút trong mạng LAN bằng cách
sử dụng địa chỉ logic
• Tâng liên kết dữ liệu (Data Link): truy xuất tới một mạng vật lý bằng các địa chỉ vật
lý.
• Cuối cùng, tầng vật lý (Physical): có thể bao gồm các thiết bị kết nối, cáp nối.
Bây giờ chúng ta tìm hiểu khái niệm của các tầng này bằng cách xem xét chức
năng của từng tầng chi tiết hơn.
6
2.1. Tầng 1:Tầng vật lý
Tầng vật lý bao gồm môi trường vật lý như yêu cầu về cáp nối, các thiết bị kết nối,
các đặc tả giao tiếp, hub và các repeater,...
2.2. Tầng 2: Tầng liên kết dữ liệu
Địa chỉ MAC mà chúng ta đã đề cập là địa chỉ của tầng 2. Các nút trên LAN gửi
thông điệp cho nhau bằng cách sử dụng các địa chỉ IP, và các địa chỉ này phải được
chuyển đổi sang các địa MAC tương ứng.
Giao thức phân giải địa chỉ (ARP: Address Resolution Protocol) chuyển đổi địa chỉ
IP thành địa chỉ MAC.Một vùng nhớ cache lưu trữ các địa chỉ MAC tăng tốc độ xử lý này,
và có thể kiểm tra bằng tiện ích arp -a,
2.3. Tầng 3: Tầng mạng
Tầng mạng là tầng nằm phía trên tầng liên kết. Trong tầng 3, địa chỉ logic được sử
dụng để kết nối tới các nút khác. Các địa chỉ MAC của tầng 2 chỉ có thể được sử dụng
trong một mạng LAN, và chúng ta phải sử dụng cách đánh địa chỉ của tầng 3 khi truy xuất
tới các nút trong mạng WAN.
Internet Protocol là giao thức tầng 3; nó sử dụng các địa chỉ IP để định danh các
nút trên mạng. Các router ở tầng 3 được sử dụng để định đường đi trong mạng.
2.4.Tầng 4:Tầng giao vận
Tầng mạng định danh các host bởi các địa chỉ logic. Tầng ứng dụng nhận biết một
ứng dụng thông qua cái gọi là điểm cuối (endpoint). Với giao thức TCP, endpoint được
nhận biết bởi một số hiệu cổng và địa chỉ IP.
Tầng giao vận được phân loại theo cách truyền tin với độ tin cậy hay không.
Truyền tin với độ tin cậy là khi có một lỗi được tạo ra nếu thông điệp được gửi đi nhưng
không nhận được một cách đúng đắn. Trong khi truyền tin có độ tin cậy không cao sẽ
không kiểm tra xem liệu thông điệp được gửi đi đã nhận được hay chưa. Trong truyền tin
với độ tin cậy, tầng giao vận có nhiệm vụ gửi đi các gói tin xác thực hay các thông điệp
truyền lại nếu dữ liệu bị hỏng hay bị thất lạc, hay dữ liệu bị trùng lặp.
Một cách khác để phân loại các mạng truyền tin là phân loại mạng theo hướng liên
kết hay phi liên kết
• Với truyền tin hướng liên kết, một liên kết phải được thiết lập trước khi các thông
điệp được gửi hoặc được nhận.
• Với truyền tin phi liên kết thì không cần giai đoạn thiết lập liên kết.
2.5. Tầng 5: Tầng phiên
Với mô hình OSI, tầng phiên xác định cá dịch vụ cho một ứng dụng, như đăng
nhập và đăng xuất một ứng dụng. Tầng phiên biểu diễn một liên kết ảo giữa các ứng
dụng. Liên kết tầng phiên độc lập với liên kết vật lý ở tầng giao vận, và các liên kết tầng
giao vận được yêu cầu cho một liên kết ở tầng phiên.
2.6.Tầng 6:Tầng trình diễn
Tầng trình diễn được sử dụng để định dạng dữ liệu theo các yêu cầu của ứng
dụng. Mã hóa, giải mã, và nén dữ liệu thường diễn ra ở tầng này.
2.7. Tầng 7:Tầng ứng dụng
Tầng ứng dụng là tầng cao nhất của mô hình OSI. Tầng này bao gồm các ứng
dụng sử dụng các tiện ích mạng. Các ứng dụng này có thể thực hiện các tác vụ như
truyền tệp tin, in ấn, e-mail, duyệt web,…
7
3. Các giao thức mạng
Các tầng OSI định nghĩa một mô hình các tầng giao thức, và cách mà chúng hoạt
động cùng với nhau. Chúng ta so sánh các tầng OSI với một cài đặt cụ thể:. Chồng giao
thức TCP/IP là một dạng cụ thể của mô hình OSI, nó bao gồm 4 tầng. Giao thức IP tương
ứng với tầng 3 của mô hình OSI; TCP và UDP tương ứng với tầng 4 của mô hình OSI, và
chúng thực hiện các nhiệm vụ của tầng phiên, tầng trình diễn, và tầng ứng dụng
Trong mục tiếp theo, chúng ta sẽ xem xét chức năng và mục đích của các giao
thức của họ giao thức TCP/IP theo trình tự sau:
• Các giao thức cơ bản
• Các giao thức Internet
• Các giao thức E-mail
• Các giao thức khác
3.1. Các giao thức cơ bản
Như chúng ta có thể thấy, họ giao thức TCP/IP có cấu trúc phân tầng đơn giản hơn
nhiều so với mô hình 7 tầng của mô hình OSI. TCP và UDP là các giao thức tầng giao
vận tương ứng với tầng 4 của mô hình 7 tầng OSI. Cả hai giao thức này đều sử dụng
giao thức IP, một giao thức tương ứng với tầng 3 của mô hình OSI (tầng mạng). Cũng
như ba giao thức này có hai giao thức cơ bản trong họ giao thức TCP/IP mở rộng tính
năng của giao thức IP: ICMP và IGMP.
3.1.1. IP-Internet Protocol
Giao thức Internet kết nối hai nút. Mỗi nút được định danh bởi một địa chỉ IP 32bit,
được gọi là địa chỉ IP của host. Khi gửi một thông điệp, giao thức IP nhận thông điệp từ
các giao thức tầng trên như TCP hay UDP và đưa vào trường header chứa thông tin của
host đích.
Cách tốt nhất để hiểu giao thức IP là bằng cách xem các trường thông tin header
IP chi tiết. Thông tin này được liệt kê trong bảng sau.
Trường Độ dài Mô tả
IP Version
(Phiên bản IP)
4 bits Phiên bản IP. ( Phiên bản giao thức hiện nay là
IPv4)
IP Header Length
(Chiều dài Header)
4 bits Chiều dài của header.
Type of Service
(Kiểu dịch vụ)
1 byte Kiểu dịch vụ cho phép một thông điệp được đặt
ở chế độ thông lượng cao hay bình thường, thời
gian trễ là bình thường hay lâu, độ tin cậy bình
thường hay cao. Điều này có lợi cho các gói
được gửi đi trên mạng. Một số kiểu mạng sử
dụng thông tin này để xác định độ ưu tiên
Total Length
(Tổng chiều dài)
2 bytes Hai byte xác định tổng chiều dài của thông điệp-
header và dữ liệu. Kích thước tối đa của một gói
tin IP là 65,535, nhưng điều này là không thực tế
đối với các mạng hiện nay. Kích thước lớn nhất
được chấp nhận bởi các host là 576 bytes. Các
thông điệp lớn có thể phân thành các đoạn-quá
trình này được gọi là quá trình phân đoạn
8