Professional Documents
Culture Documents
CHƯƠNG 15
Hiện nay, hàng triệu người dùng mạng Internet kết nối máy tính của mình với mạng để
truy cập Internet. Một số muốn kết nối các máy tính của mình tại nhà không thông qua mạng
Internet, họ dùng dây điện thoại để tạo kết nối vật lý. Tuy nhiên để có thể điều khiển và quản
lý việc truyền dữ liệu, thì cần thiết phải có giao thức điểm nối điểm. Thí dụ, xem hình dưới.
` `
Hình 15.1
Giao thức đầu tiên là SLIP: (Serial Line Internet Protocol). Tuy nhiên SLIP có một số
yếu điểm: không hỗ trợ giao thức khác với giao thức Internet (IP), không cho phép định địa
chỉ động các địa chỉ IP. Để giải quyết các yếu điểm này, hiện nay có giao thức điểm nối điểm
(PPP: Point to Point Protocol)
Drop carrier
Fail Establishing
(link)
Terminating Success
(link) Fail
Authenticating
Finish Success
Networking
(exchanging user data and control)
Hình 15.2
Trạng thái rỗi: cho biết là kết nối chưa được dùng. Không có carrier trên đó và
đường dây còn im lặng
Trạng thái thiết lập: Khi một trong các điểm cuối bắt đầu thông tin, thì kết nối đi
vào trạng thái thiết lập. Trong trạng thái này, hai bên có thể thảo luận với nhau. Nếu
thảo luận thành công, thì hệ thống chuyển sang trạng thái xác nhận (nếu có yêu cầu
xác nhận) hay nối đến trạng thái kết mạng. Gói LCP, được dùng trong trường hợp
này. Trong trạng thái này, nhiều gói có thể được trao đổi.
Trạng thái xác nhận: là tùy chọn, hai điểm cuối có thể quyết định, trong trạng thái
thiết lập, là không vào trạng thái tiếp. Tuy nhiên, khi đã quyết định vào trạng thái
xác nhận, thì chúng gởi đi nhiều gói xác nhận. Nếu kết quả là thành công, thì tiếp tục
chuyển sang trạng thái kết mạng, nếu không thì vào trạng thái kết thúc.
Trạng thái mạng: đây là trạng thái chính của các trạng thái chuyển. Khi kết nối đạt
trạng thái này, các trao đổi các gói điều khiển và dữ liệu của người dùng có thể bắt
đầu. Kết nối duy trì trạng thái này cho đến khi điểm cuối muốn kết thúc kết nối.
Trạng thái kết thúc: Khi kết nối ở trạng thái kết thúc, nhiều gói đã được trao đổi
xong giữa hai điểm cuối, và đóng kết nối lại.
A variation of HDLC
Data link
ANSI standards
Physical
Hình 15.3
Lớp vật lý
Không có giao thức riêng được định nghĩa trong lớp PPP. Thay vào đó, dành cho người
dùng thiết lập tùy thích. PPP hỗ trợ các giao thức được ANSI chấp nhận.
Lớp kết nối dữ liệu
Trong lớp kết nối dữ liệu, PPP dùng một version của HDLC, hình vẽ bên dưới minh họa
format của một frame PPP
11111111 11000000
Hình 15.4
15.3 GIAO THỨC ĐIỀU KHIỂN KẾT NỐI (LINK CONTROL PROTOCOL: LCP)
Giao thức LCP có nhiệm vụ thiết lập, duy trì, cấu hình và kết thúc kết nối. Nó cũng
cung cấp một cơ chế thảo luận để thiết lập các option giữa hai điểm cuối. Cả hai điểm cuối
của kết nối phải đạt được thỏa thuận về option trước khi kết nối được thiết lập.
1 byte 1 byte 2 bytes Variable
LCP 1 byte 1 byte 2 bytes Variable
LCP Code ID Length Information for someone LCP packets
Packets
Packets
C02116
Hình 15.5
Tất cả các gói LCP đều được mang trong trường payload của frame PPP. Trong đó có
giá trị của trường giao thức, được thiết lập ở C02116.
Các trường này được mô tả như sau:
Code: trường này định nghĩa dạng của gói LCP và sẽ được định nghĩa sau
ID: trường này giữa các giá trị được dùng để tương thích một yêu cầu bằng một trả
lời. Một điểm cuối chèn giá trị trong trường này, gái trị này được copy trong gói trả
lời (reply)
Độ dài: định nghĩa độ dài của cả gói LCP
Thông tin: trường này chứa các thông tin cần thiết cho một số gói LCP.
Gói LCP
Gói cấu hình: được dùng để thảo luận về option giữa hai điểm cuối. Có bốn gói được
dùng cho mục đích này: configure-request, configure-ack, configure-nak, và configure-reject
Configure-request: Điểm cuối muốn bắt đầu kết nối, thì gởi một bản tin configure-
request với một list số 0 hay nhiều option đến điểm còn lại. Chú ý là tất cả các
option đều có thể thảo luận trong một gói
Configure-ack: Nếu tất cả các options liệt kê trong gói configure-request được
điểm nhận chấp thuận, thì điểm này sẽ gởi lại mội configure-ack, trong đó nhắc lại
tất cả các option được yêu cầu
Configure-nak: Nếu điểm nhận được configure-request nhưng tìm ra được là một
số bị thiếu hay cần phải xem lại (các giá trị nên được thay đổi) thì điểm này sẽ gởi
trả lời bằng configure-nak. Điểm phát cần xem lại bản các option và gởi tiếp một
bản configure-request hoàn toàn mới.
Configure-reject: Nếu một số option được không được điểm thu nhận ra, thì điểm
này sẽ gởi trả lời bằng một configure-reject, cho biết là không nhận được các option
này. Điểm gởi yêu cầu cần xem lại bản tin configure-request rồi gởi đi một bản tin
configure-request hoàn toàn mới.
Gói kết thúc kết nối: được dùng để ngừng kết nối giữa hai điểm cuối.
Terminate-request: Các điểm cuối đều có thể gởi yêu cầu ngừng kết nối với gói
terminate-request.
Terminate-ack: Bên nhận được yêu cầu kết thúc kết nối sẽ trả lời dùng terminate-
ack.
Gói giám sát kết nối và gói gở rối: các gói này được dùng để giám sát và gở rối cho
đường kết nối
Code-reject: khi điểm cuối nhận được một gói có mã không nhận dạng được, thì gởi
đi một code-reject
Protocol-reject: khi điểm cuối không nhận dạng được giao thức của frame, thì gởi
đi gói protocol-reject
Echo-request: gói này được gởi đi để giám sát kết nối, nhằm xem đường nối có hoạt
động không. Điểm phát mong nhận được gói trả lời echo từ đối tác để minh chứng.
Echo-reply: gói được gởi đi để trả lời cho echo-request. Trường thông tin trong gói
echo-request là bản sao và gởi trả về điểm gởi gói echo-request
Discard-request: là dạng gói test loopback, được dùng để tự kiểm tra điều kiện
loopback của mình. Điểm thu khi nhận được gói này sẽ loại đi.
OPTIONS:
Có nhiều option để thảo luận giữa hai điểm cuối. Các option được chèn vào trường
thông tin của gói cấu hình.
Option Default
Maximum receive unit 1500
Authentication protocol None
Protocol field compression Off
Address and control field compression Off
User System
Authenticate-request packet
User name and password
Authenticate-ack or authenticate-nak packet
Accept or reject
Hình 15.6
Gói PAP: các gói PAP được gói gọn trong frame PPP. Điều phân biệt giữa các gói PAP
và các gói khác là giá trị của trường giao thức C02316. Có 3 gói PAP: authenticate-requet,
authenticate-ack, authenticate-nak. Gói đầu tiên được user dùng để gởi tên user và mật khẩu.
Gói thứ hai được hệ thống dùng nhằm cho phép truy cập. Gói thứ ba được hệ thống báo từ
chối truy cập.
PAP Packets
1 byte 1 byte 2 bytes 1 byte Variable 1 byte Variable
Authenticate-request 1 byte 1 byte 2 bytes Variable
Authenticate-request Code=1 User name Password
ID Length length
User name length
Pasaword
Payload
Flag Address Control Protocol FCS Flag
(and padding)
C02316
Hình 15.7
Hệ thống thực hiện các bước tương tự. Đưa các giá trị mật khẩu của user (lúc này là
hệ thống) và hiệu lệnh vào cùng một hàm (của bước hai) để tạo kết quả. Nếu kết quả
này giống với kết quả có trong gói đáp ứng của user, thì chấp nhận, ngược lại thì từ
chối.
CHAP có độ an ninh cao hơn so với PAP, đặc biệt khi hệ thống thay đổi liên tục các giá
trị hiệu lệnh. Ngay cả khi người truy cập trái pháp đã học được các giá trị hiệu lệnh và kết quả
đi nữa, thì mật khẩu vẫn được giữ bí mật.
User System
` `
Challenge packet
Challenge value
Response packet
Response and name
Hình 15.8
Gói CHAP: được đóng gói trong frame PPP. Trường C22316 giúp phân biệt gói CHAP
với các gói khác. Có 4 gói CHAP: hiệu lệnh, đáp ứng, thành công và thất bại. Gói thứ nhất
được hệ thống dùng để gởi giá trị hiệu lệnh. Gói thứ hai được user dùng gởi trả kết quả tính
toán. Gói thứ ba được hệ thống dùng để cho phép truy cập hệ thống. Gói thứ tư dùng để từ
chối truy cập hệ thống.
CHAP Packets
Payload
Flag Address Control Protocol FCS Flag
(and padding)
C22316
Hình 15.9
Payload
Flag Address Control Protocol FCS Flag
(and padding)
802116
Hình 15.10
Có bảy gói được định nghĩa trong giao thức IPCP, được phân biệt từ các mã như bản dưới đây:
Code IPCP packet
01 Configure-request
02 Configure-ack
03 Configure-nak
04 Configure-reject
05 Terminate-request
06 Terminate-ack
07 Code-reject
Một điểm sẽ dùng gói configure-request thảo luận với các điểm khác để thiết lập địa chì IP.
Sau khi tạo cấu hình xong, đường kết nối sẳn sàng để mang dữ liệu giao thức IP trong trường
payload của frame PPP. Lúc này, giá trị của trường giao thức 002116 để cho biết đây là gói dữ liệu IP,
chứ không phải là gói IPCP, và được chuyển dọc theo đường kết nối.
Sau khi IP đã gởi tất cả các gói của mình rồi thì IPCP có thể nắm quyền điều khiển và dùng các
gói terminate-request và terminate-ack để ngừng kết nối,
Các giao thức khác:
Còn có các giao thức khác có các tập lệnh của gói điều khiển được định nghĩa bởi giá trị của
trường giao thức trong frame PPP.
15.6 THÍ DỤ
Thí dụ về các trạng thái trong kết nối PPP, trong hình sau, cho thấy các bước:
System
User
` `
Authenticate Establishing
Configure-request
Establishing
Configure-ack
state
Authenticate-request
Autnenticating
Authenticate-ack
state
Configure-request
Networking
Configure-ack
state
User data
Networking
:
Networking
...
.
state
User data
Terminate-request
Networking
Terminate-ack
state
Terminating
Terminate-request
Terminating
Terminate-ack
state
Hình 15.11
Thiết lập: User gởi gói configure-request để thảo luận các option để thiết lập kết
nối. User yêu cầu chứng nhận PAP, tiếp đến user nhận gói configure-ack, kết nối
được thiết lập.
Chứng nhận: user gởi gói authenticate-request có tên user và mật khẩu. Sau khi
nhận được gói configure-ack, thì bước chứng nhận đã xong.
Kết mạng:User gởi configure-request để thảo luận các option cho hoạt động lớp
mạng. Sau khi nhận được gói configure-ack, user có thể gởi dữ liệu lớp mạng, có thể
dùng nhiều frame. Sau khi đã gởi xong tất cả dữ liệu, user gởi gói terminate-request
để kết thúc hoạt động lớp mạng. Khi nhận được gói terminate-ack, bước kết mạng đã
xong, và kết nối tiến đến trạng thái kết thúc.
Kết thúc: User gởi gói terminate-request để kết thúc đường dẫn, với xác nhận của
gói terminate-ack, kết nối được kết thúc.
Authenticating state
authentication
Challenge Handshake Authenticaion Protocol (CHAP)
Establishing state
Idle state
Internetwork Protocol Control Protocol (IPCP)
Link Control Protocol (LCP)
Network Control Protocol (NCP)
Networking State
Password Authentication Protocol (PAP)
Point to Point Protocol (PPP)
Serial Line Internet Protocol (SLIP)
Terminating state
Transition state
TÓM TẮT
18. Trong lưu đồ chuyển trạng thái PPP, việc kiểm tra nhận dạng user được thực hiện trong
trạng thái nào:
a. thiết lập
b. chứng nhận
c. kết mạng
d. kết thúc
19. Trong lưu đồ chuyển trạng thái PPP, việc ngắt kết nối được thực hiện trong trạng thái nào:
a. thiết lập
b. chứng nhận
c. kết mạng
d. kết thúc
20. PPP là giao thức của lớp:
a. vật lý
b. kết nối dữ liệu
c. vật lý và kết nối dữ liệu
d. bảy
21. Giao thức nào đặc trưng cho vật lý của PPP
a. LCP
b. SLIP
c. CHAP và PAP
d. Không có giao thức nào
22. Trong frame PPP, thì trường nào định nghĩa nội dung của trường dữ liệu
a. flag
b. điều khiển
c. giao thức
d. FCS
23. Trong frame PPP, thì trường nào tương tự như U-frame của HDLC
a. flag
b. điều khiển
c. giao thức
d. FCS
24. Trong frame PPP, trường nào có giá trị 11111111 cho biết địa chỉ broadcast của HDLC.
a. flag
b. điều khiển
c. giao thức
d. FCS
25. Trong frame PPP, thì trường nào kiểm tra lỗi
a. flag
b. điều khiển
c. giao thức
d. FCS
26. Vai trò của gói LCP là:
a. Tạo cấu hình
b. kết thúc
c. thảo luận các option
d. tất cả các yếu tố trên
27. Dùng 3 cách bắt tay (handshaking) để kiểm tra user là giao thức nào:
a. PPP
b. CHAP
c. PAP
d. b và c
28. Các gói PAP và CHAP có thể được phân biệt dùng giá trị của trường nào trong frame
PPP:
a. địa chỉ
b. điều khiển
c. giao thức
d. FSC
29. PAP cần user cung cấp gì:
a. mật khẩu; giá trị tính được
b. chứng nhận dạng; mật khẩu
c. giá trị hiệu lệnh; mật khẩu
d. chứng nhận dạng; giá trị tính được
30. CHAP yêu cầu user phải lấy gì từ hệ thống, rồi phải làm gì để tạo ra kết quả nhằm gởi trả
về hệ thống:
a. mật khẩu; giá trị tính được
b. chứng nhận dạng; mật khẩu
c. giá trị hiệu lệnh; mật khẩu
d. chứng nhận dạng; giá trị tính được
31. Để thiết lập, và kết thúc kết nối trong lớp mạng cho gói IP thì cần các giao thức nào:
a. NCP; IPCP
b. CHAP; NCP
c. IPCP; NCP
d. SLIP; PPP
BÀI TẬP
32. Cho biết giá trị của các trường flag, địa chỉ và điều khiển viết ở dạng hexa?
33. Thiết lập bảng so sánh frame của PPP với U-frame của HDLC. Các trường nào tương
đương nhau? Các trường nào khác nhau?
34. Giá trị của các byte đầu tiên của frame là 7EFFC0C0210516, cho biết giao thức đóng gói
payload? Cho biết dạng gói là dạng gì?
35. Giá trị của các byte đầu tiên của frame là 7EFFC0C0210911001416, cho biết giao thức
đóng gói payload? Cho biết dạng gói được chuyển đi là dạng gì? Trong gói có bao nhiêu
byte thông tin?
36. Cho biết nội dung của gói configure-nak trong giao thức LCP. Đóng gói này trong frame
PPP.
37. Cho biết nội dung của gói configure-nak trong giao thức NCP. Đóng gói này trong frame
PPP.
38. So sánh các kết quả trong bài tập 36 và 37. Nhận xét?
39. Cho biết nội dung của gói echo-request mang bản tin “Hello”. Viết nội dung của cả gói
dạng hexa. Đóng gói vào frame PPP và cho biết nội dung viết theo hexa.
40. Cho biết nội dung của gói trả lời echo-reply trong bài tập 39. Viết nội dung của cả gói
dạng hexa. Đóng gói vào frame PPP và cho biết nội dung viết theo hexa.
41. Cho biết nội dung của gói authenticate-request dùng tên user là “Fourouzan” và mật khẩu
là “797979”. Đóng gói trong frame PPP.
42. Cho biết nội dung của authenticate-ack được dùng để trả lời gói của bài tập 41.
43. Cho biết nội dung của gói hiệu lệnh (CHAP) dùng A425361616 là giá trị hiệu lệnh. Đóng
gói vào frame PPP.
44. Cho biết nội dung của gói trả lời (CHAP) dùng 616352416 là giá trị trả lời.Đóng gói vào
frame PPP.
45. Hệ thống gởi giá trị hiệu lệnh 2A2B142516. Mật khẩu của user là 2211221116. Hàm được
user dùng là cộng giá trị hiệu lênh với mật khẩu; kết quả được phân ra làm hai và hoán đổi
(swapped) để tạo đáp ứng. Cho biết đáp ứng của user.
46. Nếu user gởi gói LCP dùng mã 0216, cho biết trạng thái của kết nối sau sự kiện này.
47. Kết nối được thiết lập trong trạng thái thiết lập. Nếu user nhận được gói configure-nak
LCP, cho biết trạng thái mới là gì?
48. Kết nối được thiết lập trong trạng thái kết mạng. Nếu user nhận được gói configure-nak
NCP, cho biết trạng thái mới là gì?
49. Cho biết nội dung của tất cả các frame trong hình dưới đây. Giao thức nào (LCP, NCP,
chứng nhận, và v.v.,...) xuất hiện trong mỗi lần truyền dẫn
System
User
` `
Authenticate Establishing
Configure-request
Establishing
Configure-ack
state
Authenticate-request
Autnenticating
Authenticate-ack
state
Configure-request
Networking
Configure-ack
state
User data
Networking
:
Networking
...
.
state
User data
Terminate-request
Networking
Terminate-ack
state
Terminating
Terminate-request
Terminating
Terminate-ack
state
Hình 15.12