TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
----------------------
BÁO CÁO BÀI TẬP LỚN
MƠN MẠNG VÀ TRUYỀN THƠNG
Đề tài: Tìm hiểu về cơ chế kiểm tra độ tồn vẹn gói tin
trong các giao thức
Giảng viên hướng dẫn: ThS.Vũ Xuân Hạnh
Sinh viên thực hiện:
Nguyễn Công Nam – 2010A05
Trần Văn Phụng - 2010A05
Nguyễn Minh Quang -2010A05
Hà Nội – Năm 2021
MỤC LỤC
❖ Giao thức mạng
2
❖ Giao thức UDP(User Datagram Protocol)
3
❖ Giao thức TCP(Transmission Control Protocol)
5
❖ Giao thức HTTP( Hypertext Transfer Protocol )
7
❖ Giao thức SMTP(Simple Mail Transfer Protocol)
11
❖ Bài tập
14
2
MẠNG VÀ TRUYỀN THÔNG
Giáo viên hướng dẫn : Vũ Xuân Hạnh
Sinh viên thực hiện :Nguyễn Công Nam , Trần Văn Phụng , Nguyễn Minh
Quang
Nhóm : 28
Câu hỏi : Tìm hiểu về cơ chế kiểm tra độ tồn vẹn gói tin trong các giao thức ?
❖
Giao thức mạng
● Trước tiên chúng ta cần hiểu giao thức mạng là gì ?
Giao thức mạng – hay protocol là một tập hợp các quy tắc chuẩn dành
cho việc biểu diễn dữ liệu, phát tín hiệu, chứng thực và phát hiện lỗi dữ
liệu - những việc cần thiết để gửi thông tin qua các kênh truyền thơng,
nhờ đó mà các máy tính (và các thiết bị) có thể kết nối và trao đổi thơng
tin với nhau. Các giao thức truyền thông dành cho truyền thông tín hiệu
số trong mạng máy tính có nhiều tính năng để đảm bảo việc trao đổi dữ
liệu một cách đáng tin cậy qua một kênh truyền thơng khơng hồn hảo
(theo WikipediA ) .
● Giao thức không quy định một cách chi tiết việc thực hiện các quy tắc và
quy ước trong một hệ thống như thế nào. Cùng với các thực thể (entities)
tham gia trao đổi số liệu tạo thành Máy giao thức (Protocol
Machine/Engine). Trong đó, thực thể (entities) là một thứ gì đó tồn tại
tách biệt với thứ khác và xác định riêng nó. Ví dụ một số giao thức như:
TCP/IP, SPX/IPX, v.v…
● Các dạng liên kết của Protocol :
3
1. Connectionless & Connection- Oriented protocols: Giao thức
hướng kết nối và giao thức không kết nối .
a) Giao thức hướng kết nối : kiểm soát được dữ liệu đường
truyền , dữ liệu được truyền theo tuần tự , nếu nhận thành
cơng thì nơi nhận phải gửi tín hiệu ACK ( ACKnowledge ).
Ví dụ : Giao thức TCP, SPX ,...
b) Giao thức khơng kết nối : khơng kiểm sốt đường truyền , dữ
liệu không bảo đảm đến được nơi nhận , dữ liệu thường dưới
dạng Datagrams, thường được sử dụng khi xem các video
hay live trực tuyến . Ví dụ : Giao thức UDP của TCP/IP ,..
2. Routable & non-Routable protocols: Giao thức có khả năng định
tuyến và giao thức khơng có khả năng định tuyến .
a) Giao thức có khả năng định tuyến : Là các giao thức cho
phép đi qua các thiết bị liên mạng như Router để xây dựng
các mạng lớn . Nói nơm na là khi có nhiều đường đi đến
một mạng cùng tồn tại , giao thức sẽ xác định con đường tốt
nhất cho gói tin .Ví dụ : Các giao thức có khả năng định
tuyến như TCP/IP, SPX/IPX, ...
b) Giao thức khơng có khả năng định tuyến : Ngược lại với
giao thức có khả năng định tuyến, các giao thức này không
cho phép đi qua các thiết bị liên mạng như Router để xây
dựng các mạng lớn . Ví dụ : NETBEUI ...
● Giới thiệu về một số giao thức và cơ chế kiểm tra độ tồn vẹn của các gói
tin .
1. Giao thức UDP ( User Datagram Protocol )
Giao thức UDP là một trong những giao thức cốt lõi của bộ giao thức TCP/IP .
Dùng UDP, chương trình trên mạng máy tính có thể gửi những dữ liệu ngắn
được gọi là Datagrams tới máy khác. UDP không cung cấp sự tin cậy hay thứ tự
4
truyền nhận , khi gửi các khối dữ liệu lớn có thể khơng đúng thứ tự hoặc mất mà
khơng có thông báo . Tuy nhiên UDP nhanh và hiệu quả hơn đối với những
đoạn dữ liệu nhỏ và yêu cầu khắt khe về thời gian . Do bản chất không trạng
thái của UDP nên nó hữu dụng đối với các truy vấn nhỏ với số lượng người yêu
cầu lớn . Những ứng dụng phổ biến sử dụng UDP có thể kể đến như DNS
( Domain Name System ), ứng dụng stream media, game trực tuyến , ...
UDP là giao thức khơng kết nối , kém tin cậy vì nó khơng có cơ chế kiểm tra độ
tin cậy của dữ liệu . Mỗi gói tin UDP được gọi là Datagrams được phân làm 2
phần header và và data . Trong đó header bao gồm địa chỉ cổng nguồn , địa chỉ
cổng đích , độ dài của gói và checksum .
Cấu trúc một gói tin của giao thức UDP
Đặc điểm của UDP:
●
Giao thức UDP giao thức hướng thông điệp nhỏ nhất của tầng Transport
trong mơ hình OSI
●
Đây là một giao thức phi kết nối, có thể truyền tải dữ liệu ngay mà không
cần thiết lập bất cứ kết nối nào
5
●
Sửa lỗi bị hạn chế do chỉ có Checksum
●
Là một giao thức Best-effort, truyền dữ liệu không tin cậy (Unreliable)
●
Không có chức năng khơi phục dữ liệu hay u cầu gửi lại dữ liệu bị mất
Cơ chế kiểm tra độ tồn vẹn của gói tin : UDP khơng có cơ chế kiểm tra độ tồn
vẹn của gói tin . Lỗi chỉ được phát hiện hay kiểm tra dựa vào thuật toán CRC
kiểm tra phần checksum và kiểm tra cũng rất qua loa .
2. Giao thức TCP ( Transmission Control Protocol )
Là một trong các giao thức cốt lõi của bộ giao thức TCP/IP. Sử dụng TCP, các
ứng dụng trên các máy chủ được nối mạng có thể tạo các "kết nối" với nhau, mà
qua đó chúng có thể trao đổi dữ liệu hoặc các gói tin. Giao thức này đảm bảo
chuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự. TCP còn
phân biệt giữa dữ liệu của nhiều ứng dụng (chẳng hạn, dịch vụ Web và dịch vụ
thư điện tử) đồng thời chạy trên cùng một máy chủ.
TCP hỗ trợ nhiều giao thức ứng dụng phổ biến nhất trên Internet và các ứng
dụng kết quả, trong đó có WWW, thư điện tử và Secure Shell. Trong bộ giao
thức TCP/IP, TCP là tầng trung gian giữa giao thức IP bên dưới và một ứng
dụng bên trên. Các ứng dụng thường cần các kết nối đáng tin cậy kiểu đường
ống để liên lạc với nhau, trong khi đó, giao thức IP khơng cung cấp những dịng
kiểu đó, mà chỉ cung cấp dịch vụ chuyển gói tin không đáng tin cậy. TCP làm
nhiệm vụ của tầng giao vận trong mơ hình OSI đơn giản của các mạng máy tính.
Khơng như giao thức UDP – giao thức có thể lập tức gửi gói tin mà khơng cần
thiết lập kết nối, TCP đòi hỏi thiết lập kết nối trước khi bắt đầu gửi dữ liệu và
kết thúc kết nối khi việc gửi dữ liệu hoàn tất. Cụ thể, các kết nối TCP có ba pha:
● Thiết lập kết nối
6
● Truyền dữ liệu
● Kết thúc kết nối
Cơ chế kiểm tra độ tồn vẹn của các gói tin
TCP tạo ra các kết nối giữa 2 máy cần trao đổi dữ liệu (tạo một “ đường ống “
riêng ) mà qua đó các gói tin được đảm bảo truyền đến nơi nhận 1 cách đáng tin
cậy và đúng thứ tự . Nguyên tắc hoạt động :
TCP tại máy nguồn phân chia các byte dữ liệu cần truyền đi thành các đoạn
( Segment ) có kích thước thích hợp . Sau đó , TCP chuyển các gói tin này qua
giao thức IP để gửi nó qua một liên mạng đến TCP ở máy đích . TCP nguồn
kiểm tra để khơng có một gói tin nào bị thất lạc bằng cách gán cho mỗi gói tin
một số thứ tự ( Sequence Number ) . Khi TCP đích nhận được , họ gửi về TCP
nguồn một thông báo đã nhận ( Acknowledgement – ACK ) cho các gói tin đã
nhận thành cơng , Một đồng hồ tại TCP nguồn sẽ báo time-out nếu không nhận
được tin báo nhận trong khoảng thời gian bằng một RRT ( Round Trip Time ) ,
và dữ liệu ( lúc này được tính là thất lạc ) sẽ được gửi lại . TCP đích sẽ kiểm tra
Checksum xem có byte nào bị hỏng trong quá trình vận chuyển hay khơng ? Giá
trị checksum này được tính tốn cho mỗi gói dữ liệu tại nơi gửi trước khi nó
được gửi và kiểm tra tại nơi nhận .
Ưu điểm của TCP so với UDP :
● Truyền dữ liệu không lỗi ( Do có cơ chế sửa lỗi / Truyền lại )
● Truyền dữ liệu đi theo đúng thứ tự .
● Truyền lại dữ liệu đã mất hoặc bị thất lạc .
● Loại bỏ các gói dữ liệu trùng lặp .
Cơ chế hạn chế tắc nghẽn trên đường truyền .
3. Giao thức HTTP ( HyperText Transfer Protocol )
7
HTTP - Giao thức truyền tải siêu văn bản là một trong năm giao thức chuẩn về
mạng Internet, được dùng để liên hệ thông tin giữa Máy cung cấp dịch vụ (Web
server) và Máy sử dụng dịch vụ (Web client) là giao thức Client/Server dùng
cho World Wide Web - WWW, HTTP là một giao thức ứng dụng của bộ giao
thức TCP/IP (các giao thức nền tảng cho Internet).
HTTP cùng với HTML là phát kiến của Tim Berners-Lee ở CERN vào năm
1989 đứng sau là các tổ chức lớn (IETF) và World Wide Web Consortium
(W3C), và đỉnh cao là việc công bố ra hàng loạt các bản RFC(Request for
Comments) .
HTTP được viết bởi ngôn ngữ HTML, từ lúc công bố đến nay đã trải qua nhiều
phiên bản 1.x (1.0, 1.1, 1.2,1.3) đến ngày nay là phiên bản 2.x
Điểm mạnh của giao thức HTTP là hỗ trợ cả hai cách : Kết nối liên tục và kết
nối khơng liên tục . Ví dụ : HTTP 1.0 sử dụng kết nối không liên tục . Trong khi
đó chế độ mặc định của HTTP 1.1 lại là kết nối liên tục . Ngoài ra đặc biệt là
HTTP server không nhớ thông tin về client , vì thế HTTP được gọi là Giao thức
khơng trạng thái .
So sánh một chút , có một vài nhược điểm trong kết nối không liên tục : Thứ
nhất , khi liên kết mới được tạo ra , phía client và server phải tạo ra vùng đệm
TCP ( buffer ) cũng như lưu trữ các lại các biến TCP . Tức là khi gửi các thông
điệp yêu cầu hay trả lời , đều tạo ra biến TCP mới và biến cũ vẫn được lưu lại .
Điều này chính là gánh nặng cho server khi có nhiều client cùng yêu cầu cùng
một lúc . Với cách kết nối liên tục , server khơng đóng các liên kết TCP sau khi
gửi thơng điệp yêu cầu và trả lời . Các thông điệp sau đó ( giữa cùng một client
và server ) được gửi qua cùng một kết nối trước đó . Giảm thiểu được áp lực
khá nhiều cho server . Ta cùng tìm hiểu về cách thức hoạt động của HTTP
Thơng điệp HTTP yêu cầu:
8
Cấu trúc chung của thông điệp HTTP yêu cầu
-
Request line: dịng đầu tiên của thơng điệp HTTP u cầu. Request line bao
gồm có 3 trường như: cách thức (method), URL, phiên bản (version). Trường
cách thức (method) có thể chứa các giá trị khác nhau, bao gồm GET, POST,
HEAD. Phần lớn các thông điệp HTTP yêu cầu điều sử dụng phương thức GET.
Các phương thức GET được sử dụng khi trình duyệt yêu cầu một đối tượng
được xác định trong trường URL. Phương thức POST là những phương thức mà
HTTP client sử dụng khi người dùng điền vào một biểu mẫu (form) nào đó,
chẳng hạn như người dung muốn nhập một từ khóa nào đó vào google.com đề
tìm kiếm thơng tin. Nếu phương thức là POST thì Entity body của thơng điệp
yêu cầu sẽ chứa thông tin mà người dùng đã điền. Phương thức HEAD tương tự
như GET, nhưng Khi server nhận được yêu cầu bằng phương thức HEAD, nó sẽ
trả về thông điệp HTTP và không chứa đối tượng được yêu cầu.
-
Header line: là các dòng tiếp theo.
-
Sp: bao gồm các giá trị về khoảng trống.
-
Blank line: bao gồm các giá trị điều khiển trở về đầu dòng, xuống hang (cr,lf).
-
Entity Body (nếu có): là phần thân của thơng điệp HTTP yêu cầu.
Thông điệp HTTP trả lời
Thông điệp HTTP trả lời có ba phần: dịng trạng thái (status line), dịng tiêu
đề (header lines), thân thông điệp (entity body). Thân (Body) là thành phần
9
chính của thơng điệp. Status line có 3 trường: phiên bản của giao thức (version),
mã trạng thái (status code), trạng thái tương ứng (phrase) và các giá trị khoảng
trống (sp), điều khiển trở về đầu dòng, xuống hàng (cr,lf).
Cấu trúc chung của một thông điệp HTTP trả lời.
Sau đây là ví dụ về thơng điệp HTTP trả lời
Ví dụ thơng điệp HTTP trả lời
Trong ví dụ hình 6, cho thấy:
-
Status line thể hiện server đang sử dụng HTTP/1.1.
-
Header line bao gồm:
●
Connection: close báo cho client rằng server sẽ đóng kết kết TCP sau
khi gửi thông điệp.
10
●
Date: cho biết thời gian mà thông điệp HTTP trả lời được tạo và gửi
bởi server. Đó là thời gian mà server lấy đối tượng từ hệ thống tập tin của
nó, chèn vào thơng điệp và gửi cho client.
●
Server: cho biết đây là Apache Web server, tương tự như User-agent
trong thông điệp yêu cầu.
●
Last-Modified: cho biết thời gian đối tượng được tạo hay sửa đổi lần
cuối.
-
●
Content-Length: cho biết số bytes của đối tượng được gửi.
●
Content-Type: cho biết đối tượng trong phần entity body là HTML.
Entity body chứa đối tượng yêu trong trường hợp ví dụ trong hình 9.6 được
đại diện bởi các data data data data……….
- Mã trạng thái trả lời:
Các giá trị chữ số đầu tiên của mã trang thái (status code) có 5 giá trị:
●
●
1xx_Thơng tin: khơngđược sử dụng, chỉ dự phịngtrong tương lai.
2xx_Thành cơng: hành độngđã nhận đượcthành công và đươc chấp
nhận.
●
3xx_Chuyển hướng: hành động tiếp theo phải được thực hiện để hoàn
tất yêu cầu.
●
4xx_Clien lỗi: chứa cú pháp sai có thể khơng thực hiện được.
●
5xx_ Server lỗi: các máy server không thực hiện một yêu cầu rõ ràng
đối với các yêu cầu hợp lệ.
Một vài mã trạng thái thông dụng thường gặp:
●
200 OK: Yêu cầu thành công
●
301 Moved Permanently: đối tượng yêu cầu đã được chuyển.
●
400 Bad Request: server không hiểu được thông điệp yêu cầu.
●
404 Not Found: đối tượng được u cầu khơng có trong server.
11
●
505 HTTP Version Not Supported: server không hỗ trợ phiên bản giao
thức HTTP này.
4. Giao thức SMTP ( Simple Mail Transfer Protocol )
SMTP là giao thức gửi thư điện tử của tầng ứng dụng , sử dụng dịch vụ truyền
dữ liệu tin cậy của TCP để truyền thư từ Mail server của người gửi đến Mail
server của người nhận . Giống các giao thức khác của tầng ứng dụng , SMTP có
2 phía : client trên mail server người gửi và server bên kia mail server người
nhận . Tất cả các mail server đều chạy cả 2 phía client và server của SMTP .
Mail server đóng vai trị client khi gửi thư và đóng vai server khi nhận thư .
SMTP là trái tim của dịch vụ gửi thư trên Internet và được đặc tả trong RFC 821
. Như đã nói trên , SMTP truyền các thông điệp ( thư ) từ mail server của người
gửi đến mail server của người nhận . SMTP ra đời trước HTTP khá lâu ( theo
RFC đặc tả thì SMTP có từ năm 1982 ) . SMTP có rất nhiều ưu điểm nên được
hầu hết các Mail server trên Internet sử dụng . Tuy nhiên đây lại là một kĩ thuật
cũ nên không tránh khỏi một số lạc hậu . Ví dụ SMTP yêu cầu phần thân của tất
cả các thông điệp Email phải được mã hóa bằng ASCII 7 bit . Gây ra việc mất
thời gian khi dữ liệu ở dạng nhị phân phải trải qua q trình mã hóa để gửi đi
sau đó khi đến đích phải mã hóa trở về dạng nhị phân để có thể sử dụng được
những dữ liệu đó . Trong khi đó HTTP khơng u cầu dữ liệu đa phương tiện
phải mã hóa sang ASCII trước khi truyền .
Dưới đây là hoạt động cơ bản của Giao thức SMTP :
Phương thức hoạt động của SMTP:
-
Để mô tả hoạt động cơ bản của giao thức SMTP một cách dễ hiểu ta xem xét
một hoạt cảnh phổ biến “An gửi thơng điệp cho Bình” ở hình
12
Hoạt cảnh gửi email của An và Bình
● Bước 1: An khởi động useragent của mình, cung cấp địa chỉ e-mail của
Bình, soạn thơng điệp và chỉ thị user agent gửi mail.
● Bước 2: User agent của An gửi thông điệp đến mail server của An và
thông điệp được đặt trong hàng đợi.
● Bước 3: SMTP client chạy trên mail server của An phát hiện ra thông
điệp trong hàng đợi và tiến hành mở kết nối TCP đến SMTP server chạy
trên mail server của Bình.
● Bước 4: Sau khi thực hiện handshaking, SMTP client của An sẽ gửi
thông điệp của An đến kết nối TCP.
● Bước 5: Tại mail server của Bình, SMTP server nhận được thơng điệp và
lưu lại trên mailbox.
● Bước 6: Khi Bình khởi động user agent của mình thì sẽ thấy mail của An
trong mailbox.
Lưu ý:
● SMTP không sử dụng các mail server trung gian để gửi thư, mà chỉ sử
dụng một kết nối TCP trực tiếp giữa hai mail server ngay cả khi hai mail
server cách nhau một khoảng cách rất xa. Ví dụ: mail server của An ở
thành phố Hà Nội và mail server của Bình ở Washington(thủ đơ của Mỹ)
thì chỉ có các kết nối TCP trực tiếp giữa hai mail server. Khi mail server
13
của Bình bận, thì thơng điệp sẽ được lưu trong hàng đợi của mail server
An và chờ đợi để gửi lại tin nhắn.
● SMTP truyền thông điệp mail qua ba pha: handshaking (chào hỏi), truyền
thơng điệp, đóng kết nối.
● Pha handshaking: đầu tiên, SMTP client (chạy trên mail server bên gửi)
thiết lập kết nối TCP trên cổng 25 tới SMTP server (chạy trên mail server
bên nhận). Nếu SMTP server gặp sự cố thì client sẽ cố gắng kết nối lại.
● Khi kết nối được thiết lập, SMTP server và SMTP client thực hiện một
số chào hỏi, SMTP client sẽ cho biết địa chỉ email của người gửi và địa
chỉ email của người nhận.
● Pha truyền thông điệp: sau handshaking, SMTP client tiến hành gửi thông
điệp trên đường truyền tin cậy TCP.
● Pha đóng kết nối: Nếu client muốn gửi tiếp tục gửi thơng điệp thì lặp lại
q trình trên trong cùng kết nối TCP, cịn khơng thì chỉ thị TCP đóng kết
nối
So sánh giao thức SMTP và HTTP :
Cả 2 giao thức đều được sử dụng để gửi file giữa các máy tính . HTTP chuyển
file hoặc đối tượng từ Web server tới Web client ( Trình duyệt Web ) , SMTP
chuyển file ( thư điện tử ) giữa các Mail server . Khi truyền file cả 2 giao thức
đều sử dụng kết nối liên tục
Điểm khác biệt cơ bản :
● Giao thức HTTP là giao thức kéo ( Pull protocol ) – client kéo thông tin
từ server về . Phía nhận ( client ) là phía thiết lập kết nối TCP .
● Giao thức SMTP là giao thức đẩy ( Push protocol ) – client đẩy thông tin
lên server . Phía gửi ( client ) là phía thiết lập kết nối TCP .
● Ngoài dữ liệu văn bản , thơng điệp cịn có thể chứa các kiểu dữ liệu khác
như âm thanh, hình ảnh . HTTP đặt các đối tượng này trong thông điệp
14
riêng rẽ để gửi . Với SMTP thì đặt tất cả các đối tượng trên trong 1 thư
điện tử để gửi đi .
❖
Bài tập:
Bài 1: LRC
Đề bài:
• Cho chuỗi bits được truyền đi dưới đây:
0110110 1011000 1100111 0011001
• Tìm chuỗi phát sử dụng phương pháp kiểm tra lỗi LRC
• Giả sử rằng ta nhận được chuỗi thu như sau:
01101100 10110001 11001111 00110011 01010011
Chuỗi thu này có đúng khơng? Tại sao?
- Bước 1: Kiểm tra lỗi dùng phương pháp VRC, ta có chuỗi bits mới:
01101100 10110001 11001111 00110011
- Bước 2: Sắp xếp dữ liệu thành 4 hàng 8 cột
01101100
10110001
11001111
00110011
- Bước 3: Tìm bit VRC cho mỗi cột, tạo 1 hàng mới gồm 8 bit, đó là LRC
01101100
10110001
11001111
00110011
00100001 LRC
Vậy ta được chuỗi phát:
01101100 10110001 11001111 00110011 00100001
- Giả sử ta nhận được chuỗi thu như sau:
01101100 10110001 11001111 00110011 01010011
15
- Kiểm tra VRC cho mỗi hàng và LRC bên thu ta có:
0
01101100 0
10110001 0
11001111 0
00110011 0
01010011
01110010
Phát hiện dữ liệu sai Chuỗi thu sai
Bài 2: CRC
Đề bài:
Cho một dữ liệu X: 101101, được mã hóa lỗi theo dạng CRC với số chia(đa
thức sinh) có dạng 1001
- Tìm CRC
- Giả sử máy thu nhận được chuỗi dữ liệu Y: 100101001; Hãy cho biết
chuỗi dữ liệu nhận được đúng và chuỗi nào sai?
101101000
1001
00100
0000
1001
1001
00000
0000
0000
0000
0000
1001
101000
CRC = 000
- Chuỗi dữ liệu phát: 101101000
- Test Y:
16
100101001
1001
1001
100001
00000
0000
0001
1001
1001
0000
Số dư = 000 nên chuỗi Y đúng
Bài 3:
Bước 1: Sắp xếp các mạng cần chia theo thứ tự giảm dần
17
LAN 1: 100 hosts
LAN 2: 50 hosts
LAN 3: 20 hosts
R12: 2 hosts
R23: 2 hosts
Bước 2: Xác định lớp, số bits của phần hosts
- Lớp C
- Số bits phần host = 32 – 24 = 8 tương đương 254 hosts
Bước 3: Chia subnet theo subnet lớn nhất – LAN 1
- Mượn 1 bit, chia được 2 subnet
- Mạng 11: 192.168.1.0/25 Cho LAN 1
+ Địa chỉ mạng: 192.168.1.0/25
+ Địa chỉ broadcast: 192.168.1.127
+ Địa chỉ gateway: 192.168.1.1
+ Địa chỉ dành cho host: 192.168.1.2 – 192.168.1.126
- Mạng 12: 192.168.1.128/25
Bước 4: Quay lại bước 3 với subnet tiếp theo
- Mượn 1 bit, chia được 2 subnet
- Mạng 121: 192.168.1.128/26 Cho LAN 2
+ Địa chỉ mạng: 192.168.1.128/26
+ Địa chỉ broadcast: 192.168.1.191
+ Địa chỉ gateway: 192.168.1.129
+ Địa chỉ dành cho host: 192.168.1.130 – 192.168.1.190
- Mạng 122: 192.168.1.192/26
Bước 4.1: Quay lại bước 3 với subnet tiếp theo
- Mượn 1 bit, chia được 2 subnet
- Mạng 1221: 192.168.1.192/27 Cho LAN 3
+ Địa chỉ mạng: 192.168.1.192/27
+ Địa chỉ broadcast: 192.168.1.223
+ Địa chỉ gateway: 192.168.1.193
+ Địa chỉ dành cho host: 192.168.1.194 – 192.168.1.222
- Mạng 1222: 192.168.1.224/27
Bước 4.2: Quay lại bước 3 với subnet tiếp theo
18
- Mượn 1 bit, chia được 2 subnet
- Mạng 12221: 192.168.1.224/28
- Mạng 12222: 192.168.1.240/28 14 hosts
Bước 4.3: Quay lại bước 3 với subnet tiếp theo
- Mượn 1 bit, chia được 2 subnet
- Mạng 122221: 192.168.1.240/29
- Mạng 122222: 192.168.1.248/29 6 hosts
Bước 4.4: Quay lại bước 3 với subnet tiếp theo
- Mượn 1 bit, chia được 2 subnet
- Mạng 1222221: 192.168.1.248/30 Cho R12
+ AB: 192.168.1.251
+ FL: 192.168.1.249 – 192.168.1.250
- Mạng 1222222: 192.168.1.252/30 Cho R23
Cisco Packet Tracer:
Bài 4:
Đề bài: Chia subnet 172.168.0.0/16 mượn 3 bits
- Số subnet: 23 = 8 (mạng thuộc lớp B)
- Số host trên mỗi subnet: 213 – 2 hosts/subnet
19
- Subnet mask: 255.255.224.0
M
ạn
g
co
n
1
Địa
chỉ
mạng
17
2.
16
.0.
0/
19
Địa
chỉ
host
đầu
17
2.
16
.0.
1/
19
M
ạ
n
g
c
o
n
2
1
7
2.
1
6.
3
2.
0/
1
9
1
7
2.
1
6.
3
2.
1/
1
9
M
ạ
n
g
c
o
n
3
1
7
2.
1
6.
6
4.
0/
1
9
1
7
2.
1
6.
6
4.
1/
1
9
Mạ
ng
con
4
1
7
2.
1
6.
6
3.
2
5
4/
1
7
2.
1
6.
9
5.
2
5
4/
17
2.1
6.1
27.
25
4/1
9
17
2.1
6.9
6.0
/19
17
2.1
6.9
6.1
/19
…
Địa
chỉ
host
cuối
17
2.
16
.3
1.
25
4/
19
20
Địa
chỉ
broad
cast
17
2.
16
.3
1.
25
5/
19
1
9
1
9
1
7
2.
1
6.
6
3.
2
5
5/
1
9
1
7
2.
1
6.
9
5.
2
5
5/
1
9
17
2.1
6.1
27.
25
5/1
9
Bài 5:
21
1
Đỉnh
B
C
D
E
F
G
H
K
A
Khởi
tạo
(-, ∞)
(-, ∞)
(-, ∞)
(-, ∞)
(-, ∞)
(-, ∞)
(-, ∞)
(-, ∞)
(-,0)
L1
(A, 2)
(A, 1)
(-, ∞)
(A,3)
(-, ∞)
(-, ∞)
(-, ∞)
(-, ∞)
(-,0)
L2
(A, 2)
(A, 1)
(C,2)
(A,3)
(-, ∞)
(-, ∞)
(C,5)
(-, ∞)
(-,0)
L3
(A, 2)
(A, 1)
(C,2)
(A,3)
(B, 5)
(B,5)
(C,5)
(-, ∞)
(-,0)
L4
(A, 2)
(A, 1)
(C,2)
(A,3)
(B, 5)
(E,4)
(C,5)
(-, ∞)
(-,0)
L5
(A, 2)
(A, 1)
(C,2)
(A,3)
(B, 5)
(E,4)
(D,4)
(D,4)
(-,0)
L6
(A, 2)
(A, 1)
(C,2)
(A,3)
(B, 5)
(E,4)
(D,4)
(D,4)
(-,0)
1. Bellman-Ford
22
2. Dijkstra
Lầ
N
n
D D D D D D D D P P P P P P P P
B
C
D
{A}
2
1
1
{A;C}
2
1
2
{A;C;B}
2
3
{A;C;B;D}
4
{A;C;B;D;E}
5
{A;C;B;D;E;F
K
E
F
G
H
K
B
C
D
E
F
G
H
K
∞ 3
∞
∞
∞
∞ A A A A A A A A
2
3
∞
∞ 5
∞ A A C A A A C A
2
3
5
5
5
∞ A
C A B B C A
2
3
3
5
4
4
C A D B D D
3
3
4
4
4
A D E D D
3
4
4
4
D E D D
4
4
4
D
T
}
6
{A;C;B;D;E;F,
D D
G;H;K}
3. Vạch đường Vector khoảng cách
23
NÚT
Khoảng cách đến các nút
A
B
C
D
E
F
G
H
K
A
0
1
1
∞
1
∞
∞
∞
∞
B
1
0
1
1
1
1
1
∞
∞
C
1
1
0
1
∞
∞
∞
1
∞
D
∞
1
1
0
∞
1
∞
1
1
E
1
1
∞
∞
0
∞
1
∞
∞
F
∞
1
∞
1
∞
0
1
∞
1
G
∞
1
∞
∞
1
1
0
∞
1
H
∞
∞
1
1
∞
∞
∞
0
1
K
∞
∞
∞
1
∞
1
1
1
0
Đích
Chi phí
Nút kế tiếp
B
1
B
C
1
C
D
2
B
E
1
E
24
F
2
B
G
2
B
H
2
C
K
3
D
NÚT
Khoảng cách đến các nút
A
B
C
D
E
F
G
H
K
A
0
1
1
2
1
2
2
2
3
B
1
0
1
1
1
1
1
2
2
C
1
1
0
1
2
2
2
1
2
D
2
1
1
0
2
1
2
1
1
E
1
1
2
2
0
2
1
2
3
F
2
1
2
1
2
0
1
2
1
G
2
1
2
2
1
1
0
2
1
H
2
2
1
1
2
2
2
0
1
K
3
2
2
1
3
1
1
1
0
---THE END---
25