Tầng ứng dụng
-Cung cấp một phương tiện cho các chương
trình ứng dụng để truy nhập vào môi trường của
OSI. –
- Tầng này bao gồm các chức năng quản lý và
các cơ chế có ích chung để hỗ trợ cho các ứng
dụng phân tán. Các ứng dụng chung như truyền
file (file transfer), thư điện tử (electronic mail)
và truy nhập máy tính từ xa (telnet), duyệt web
(http) được xem xét để cài đặt ở tầng này.
43 trang |
Chia sẻ: thienmai908 | Lượt xem: 1210 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài 2 Mô hình OSI (Open Systems Interconnection), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Bài 2
Mô hình OSI
(Open Systems Interconnection)
1. Giới thiệu về OSI - Open Systems
Interconnection – Mô hình liên kết các hệ thống
mở.
- Cần có các chuẩn để hỗ trợ sự tương tác giữa
các nhà cung cấp thiết bị và khuyến khích sự
tiết kiệm. Do sự phức tạp của truyền thông nên
không có một chuẩn đơn nào là đầy đủ.
- Các chức năng cần phải được chia nhỏ thành
các phần để dễ dàng cho việc quản lý và tổ chức
như là một kiến trúc truyền thông. Kiến trúc
này sẽ tạo nên một khuân mẫu cho sự chuẩn
hóa.
- Trên cơ sở đó ISO (International
Standardization Organization) đã đưa ra mô hình
tham chiếu OSI.
- Trong mô hình OSI cấu trúc kỹ thuật được lựa
chọn là chia tầng. Các chức năng truyền thông
đươc phân chia thành một tập hợp có thứ bậc
của các tầng. Mỗi một tầng thực hiện một tập con
các chức năng để liên kết với hệ thống khác. Mỗi
một ầng phụ thuộc vào tầng thấp hơn kề nó để
thực hiện các chức năng nguyên thủy (primitive
functions) và che đậy các chi tiết của các chức
năng này. Nó cung cấp dịch vụ cho tầng cao hơn
kề nó.
-Một cách lý tưởng hóa là các tầng nên được
định nghĩa sao cho những thay đổi trong một
tầng không đòi hỏi những thay đổi trong các
tầng khác.
- Các nguyên tắc được dùng để định nghĩa các
tầng của OSI:
+ Không nên tạo quá nhiều tầng để giảm nhẹ
nhiệm vụ mô tả và tích hợp các tầng.
+ Tạo các tầng riêng rẽ để quản lý các chức
năng khác nhau trong quá trình xử lý.
+ Tập hợp các chức năng giống nhau vào cùng
một tầng.
+ Tạo một tầng sao cho dễ dàng cục bộ hóa
các chức năng để cho tầng này có thể dễ dàng
được thiết kế lại một cách hoàn toàn và các giao
thức của nó có thể được thay đổi để sử dụng
các tiến bộ trong kiến trúc, phần cứng, và phần
mềm mà không phải thay đổi các dịch vụ được
cung cấp bởi tầng kề dưới nó và các dịch vụ
mong đợi của tầng kề trên nó.
+ Cho phép thay đổi những chúc năng hoặc
giao thức một trong tầng mà không ảnh hưởng
tới các tầng khác.
+ Tạo một ranh giới tại một số điểm để có
được sự tương tác tương ứng đã được chuẩn
hóa.
+ Chỉ tạo ranh giới của mỗi tầng với các tầng
liền kề nó
+ Khi cần thiết có thể tạo hai hay nhiều tầng
con có đặc điểm chung và do đó tối thiểu hóa
các chức năng để có thể tương tác với các tầng
liền kề.
+ Cho phép bỏ qua các tầng con.
2. Dịch vụ cơ bản và tham số
Các dịch vụ giữa các tầng liền kề trong kiến trúc
OSI được diễn đạt bằng các thuật ngữ các cơ
bản (nguyên thủy) và tham số.
Một cơ bản chỉ ra chức năng cần phải thực hiện
và các tham số được dùng để truyền dữ liệu và
thông tin điều khiển.
Có 4 kiểu cơ bản được dùng trong các chuẩn để
định nghĩa sự tương tác giữa các tầng liền kề,
đó là:
+ Request (Yêu cầu): Một cơ bản được đưa ra
bởi một người sử dụng dịch vụ để gọi một vài
dịch vụ và để truyền các tham số cần thiết để
chỉ rõ dịch vụ yêu cầu một cách đầy đủ.
+ Indication (Chỉ dẫn): Một cơ bản được đưa
ra bởi nhà cung cấp dịch vụ để:
- Chỉ ra một thủ tục được gọi bởi người sử
dụng dịch vụ ngang hàng (ở phía bên kia) và
cung cấp các tham số kết hợp với cơ bản
- Thông báo cho người sử dụng dịch vụ về
hành động đầu tiên của người cung cấp dịch vụ.
+ Response (Trả lời): Một cơ bản được đưa ra
bởi người sử dụng dịch vụ để thông báo đã nhận
được (acknowledgment - ack) hay hoàn thành
một số thủ tục đã được gọi trước đó bởi một chỉ
dẫn cho người sử dụng đó
+ Confirm (xác nhận): Một cơ bản được đưa ra
bởi nhà cung cấp dịch vụ để thông báo đã nhận
được hay hoàn thành một số thủ tục đã được gọi
trước đó bởi các request của người sử dụng dịch
vụ.
Ví dụ: Việc truyền dữ liệu từ tầng thứ n ở bên
gửi sang tầng thứ n tương ứng ở bên nhận:
Khi đó các bước sau sẽ sảy ra:
i, Tầng n bên nguồn gọi tầng (n-1) của nó với
một yêu cầu, cùng với yêu cầu này là các tham
số cần thiết chẳng hạn như dữ liệu cần được
truyền và địa chỉ đích
ii, Tầng (n-1) bên nguồn chuẩn bị một (n-1)
PDU (Protocol Data Unit) để gửi sang tầng
ngang hàng với nó bên đích.
iii, Tầng (n-1) bên đích giao dữ liệu một cách
chính xác tới tầng n với một chỉ dẫn (indication)
với các tham số bao gồm dữ liệu và địa chỉ
nguồn .
iv, Nếu một ack được yêu cầu, tầng n bên đích
đưa ra một response cho tầng (n-1) của nó
v, Tầng (n-1) bên đích truyền ack trong một
(n-1) PDU đến tầng (n-1) bên gửi.
vi, ack được chuyển đến tầng n bên nguồn như
là một xác nhận (confirm)
- Quá trình gửi và nhận dữ liệu được minh họa
bằng sơ đồ sau:
Người dùng dịch vụ Người dùng dịch vụNhà cung cấp dịch vụ
Request
Indication
Response
Confirm
-Các bước trên được gọi là dịch vụ được xác
nhận (confirmed service) nghĩa là bên nguồn đã
nhận được xác nhận rằng các dịch vụ yêu cầu
đã có hiệu quả mong muốn tại bên đích. Trường
hợp ngược lại bên nguồn sẽ không nhận được
xác nhận rằng hành động đã được yêu cầu đã
được thực hiện (nonconfirm service) và được
gọi là dịch vụ không xác nhận.
3. Mô hình OSI
Mô hình tham chiếu OSI được chia thành 7
tầng:
+ Tầng vậy lý (Physical layer)
+ Tầng liên kết dữ liệu (Data Link Layer)
+ Tầng mạng (Network Layer)
+ Tầng truyền tải (Transport Layer)
+ Tầng phiên (Session Layer)
+ Tầng trình bày (Presentation Layer)
+ Tầng ứng dụng (Application Layer)
Tầng ứng dụng
Tầng trình bày
Tầng phiên
Tầng truyền tải
Tầng mạng
Tầng liên kết dữ liệu
Tầng vật lý
Mô hình tham chiếu OSI
- Trong mô hình OSI 3 tầng thấp quan tâm tới
việc kết nối và truyền thông với mạng máy tính.
Các gói tin (packet) được tạo bởi các hệ thống
đầu cuối và được truyền qua một hoặc nhiều nút
mạng. Các nút này hoạt động như là các bộ hồi
tiếp giữa hai hệ thống đầu cuối.
- Các nút mạng được thực hiện từ tầng 1 đến
tầng 3. Tầng thứ 3 trong nút này thực hiện chức
năng chuyển mạch (switching) và dẫn đường
(routing). Bên trong một nút có 2 tầng liên kết
dữ liệu và 2 tầng vật lý tương ứng với các liên
kết với 2 hệ thống đầu cuối.
Mỗi một tầng kết dữ liệu và tầng vật lý bên
trong một tầng hoạt động độc lập để cung cấp
các dịch vụ cho tầng mạng bên trên các liên kết
tương ứng của nó.
- 4 tầng còn lại là các giao thức “end-to-end”
giữa các hệ thống đầu cuối
Đường truyền vật lý
1Physical Physical 1
2Data Link Data Link 2
3Network Network3
4Transport Layer Protocol4
5Session Layer Protocol5
6Presentation Layer Protocol6
7Application Layer Protocol7
End
System
End
System
4. Chức năng của các tầng trong mô hình
OSI
a, Tầng vật lý.
Tầng vật lý liên quan đến việc truyền các bit
(thô) trên một kênh truyền thông. Tầng này
phải được thiết kế để đảm bảo rằng khi bên gửi
truyền đi bit 1 (hoặc 0) thì bên nhận cũng phải
nhận được bit 1 (hoặc 0). Một số vấn đề cần
phải được giải quyết ở tầng này là:
+ Sử dụng mức điện áp (Voltage) bao nhiêu
để biểu diễn bit 1 và mức điện áp bao nhiêu để
biểu diễn bit 0.
+ Một bit được truyền trong khoảng thời gian
là bao nhiêu (nanosec)?
+ Cơ chế truyền là gì? – Một chiều (simplex
transmission), hai chiều không đồng thời (half-
duplex transmission) hay hai chiều đồng thời
(full-duplex transmission)
+ Các loại cáp được dùng để nối các thiết bị,
các loại đầu nối được dùng , các dây cáp có thể
dài bao nhiêu v.v...
- Khác với các tầng khác, tầng vật lý là không
có gói tin riêng và do vậy không có phần đầu
(header) chứa thông tin điều khiển, dữ liệu
được truyền đi theo dòng bit. Một giao thức
tầng vật lý tồn tại giữa các tầng vật lý để quy
định về phương thức truyền (đồng bộ, không
đồng bộ), tốc độ truyền…
- Các giao thức được xây dựng cho tầng vật lý
được phân chia thành phân chia thành hai loại
giao thức sử dụng phương thức truyền thông
không đồng bộ (asynchronous) và phương thức
truyền thông đồng bộ (synchronous).
+ Phương thức truyền không đồng bộ: không
có một tín hiệu quy định cho sự đồng bộ giữa
các bit giữa máy gửi và máy nhận, trong quá
trình gửi tín hiệu máy gửi sử dụng các bit đặc
biệt START và STOP được dùng để tách các xâu
bit biểu diễn các ký tự trong dòng dữ liệu cần
truyền đi. Nó cho phép một ký tự được truyền
đi bất kỳ lúc nào mà không cần quan tâm đến
các tín hiệu đồng bộ trước đó.
+ Phương thức truyền đồng bộ: sử dụng
phương thức truyền cần có đồng bộ giữa máy
gửi và máy nhận, nó chèn các ký tự đặc biệt
như SYN (Synchronization), EOT (End Of
Transmission) hay đơn giản hơn, một cái "cờ "
(flag) giữa các dữ liệu của máy gửi để báo hiệu
cho máy nhận biết được dữ liệu đang đến hoặc
đã đến.
b, Tầng liên kết dữ liệu
- Mục tiêu của tầng liên kết dữ liệu là tạo ra sự
liên kết vật lý một cách đáng tin cậy và cung
cấp phương tiện để kích hoạt, duy trì và thôi
kích hoạt sự liên kết.
- Tầng liên kết dữ liệu là tầng mà ở đó ý nghĩa
được gán cho các bit được truyền trên mạng.
Tầng liên kết dữ liệu phải quy định được các
dạng thức, kích thước, địa chỉ máy gửi và nhận
của mỗi gói tin được gửi đi.
- Tầng liên kết dữ liệu phải xác định cơ chế truy
nhập thông tin trên mạng và phương tiện gửi
mỗi gói tin sao cho nó được đưa đến cho người
nhận đã định.
- Tầng liên kết dữ liệu có hai phương thức liên
kết dựa trên cách kết nối các máy tính, đó là
phương thức "một điểm-một điểm" và phương
thức "một điểm-nhiều điểm". Với phương thức
"một điểm-một điểm" các đường truyền riêng
biệt được thiết lâp để nối các cặp máy tính lại
với nhau. Với phương thức "một điểm-nhiều
điểm " tất cả các máy phân chia chung một
đường truyền vật lý.
- Tầng liên kết dữ liệu cũng cung cấp cách phát
hiện và sửa lỗi cơ bản để đảm bảo cho dữ liệu
nhận được giống hoàn toàn với dữ liệu gửi đi.
Nếu một gói tin có lỗi không sửa được, tầng liên
kết dữ liệu phải chỉ ra được cách thông báo cho
nơi gửi biết gói tin đó có lỗi để nó gửi lại.
c, Tầng mạng: Hai chức năng chủ yếu của tầng
mạng là chọn đường (routing) và chuyển tiếp
(relaying).
- Tầng mạng xác định việc chuyển hướng, vạch
đường các gói tin trong mạng, các gói này có
thể phải đi qua nhiều chặng trước khi đến được
đích cuối cùng. Nó luôn tìm các tuyến truyền
thông không tắc nghẽn để đưa các gói tin đến
đích.
- Tầng mạng có nhiệm vụ liên liên kết hai hay
nhiều loại mạng khác nhau như mạng Ethernet
với mạng Token Ring khi đó phải dùng một bộ
tìm đường (quy định bởi tầng mạng) để chuyển
các gói tin từ mạng này sang mạng khác và
ngược lại
- Một kỹ thuật chọn đường phải thực hiện hai
chức năng chính sau đây:
+ Quyết định chọn đường tối ưu dựa trên các
thông tin đã có về mạng tại thời điểm đó thông
qua những tiêu chuẩn tối ưu nhất định.
+ Cập nhật các thông tin về mạng, tức là
thông tin dùng cho việc chọn đường, trên mạng
luôn có sự thay đổi thường xuyên nên việc cập
nhật là việc cần thiết.
- Có hai phương thức đáp ứng cho việc chọn
đường là: xử lý tập trung và xử lý tại chỗ
+ Phương thức chọn đường xử lý tập trung:
được đặc trưng bởi sự tồn tại của một (hoặc vài)
trung tâm điều khiển mạng, chúng thực hiện
việc lập ra các bảng đường đi tại từng thời điểm
cho các nút và sau đó gửi các bảng chọn đường
tới từng nút dọc theo con đường đã được chọn
đó. Thông tin tổng thể của mạng cần dùng cho
việc chọn đường chỉ cần cập nhập và được cất
giữ tại trung tâm điều khiển mạng.
+Phương thức chọn đường và xử lý tại chỗ:
được đặc trưng bởi việc chọn đường được thực
hiện tại mỗi nút của mạng. Trong từng thời điểm,
mỗi nút phải duy trì các thông tin của mạng và
tự xây dựng bảng chọn đường cho mình. Như
vậy các thông tin tổng thể của mạng cần dùng
cho việc chọn đường cần cập nhập và được cất
giữ tại mỗi nút.
- Các thông tin được đo lường và sử dụng cho
việc chọn đường bao gồm: Trạng thái của đường
truyền.
d, Tầng giao vận
-Tầng giao vận cung cấp một cơ chế cho việc
trao đổi dữ liệu giữa các hệ thống đầu cuối, đó
là:
+ Nhận dữ liệu từ tầng trên.
+ Chia dữ liệu thành các đơn vị nhỏ nếu cần
+ Chuyển các đơn vị dữ liệu này đến tầng
mạng - Dịch vụ truyền tải kết nối có định hướng
đảm bảo rằng dữ liệu được chuyển đi là không
có lỗi, theo đúng thứ tự không có mất mát và
không có sự trùng lặp.
+ Thời gian trễ khi truyền trên mỗi đường dẫn.
+ Mức độ lưu thông trên mỗi đường.
Tầng giao vận cũng có thể quan tâm đến việc tối
ưu hóa việc sử dụng các dịch vụ của mạng và
cung cấp một dịch vụ có yêu cầu về chất lượng
như:
+ Các tỷ lệ lỗi chấp nhận được.
+ Độ trễ cực đại
+ Quyền ưu tiên và an ninh.
Kích thước và độ phức tạp của giao thức tầng
giao vận phụ thuộc vào độ tin cậy hay không tin
cậy của tầng mạng bên dưới và các dịch vụ của
tầng mạng.
Người ta chia giao thức tầng mạng thành các loại
sau: Mạng loại A, mạng loại B, mạng loại C
+ Mạng loại A: Có tỷ suất lỗi và sự cố có báo hiệu
chấp nhận được (tức là chất lượng chấp nhận
được). Các gói tin được giả thiết là không bị mất.
Tầng vận chuyển không cần cung cấp các dịch vụ
phục hồi hoặc sắp xếp thứ tự lại.
+ Mạng loại B: Có tỷ suất lỗi chấp nhận được
nhưng tỷ suất sự cố có báo hiệu lại không chấp
nhận được. Tầng giao vận phải có khả năng phục
hồi lại khi xẩy ra sự cố.
+ Mạng loại C: Có tỷ suất lỗi không chấp nhận
được (không tin cậy) hay là giao thức không liên
kết. Tầng giao vận phải có khả năng phục hồi lại
khi xảy ra lỗi và sắp xếp lại thứ tự các gói tin.
- Trên cơ sở loại giao thức tầng mạng chúng ta có
5 lớp giao thức cho tầng giao vận đó là:
+ Giao thức lớp 0 (Simple Class – Lớp đơn
giản): cung cấp các khả năng rất đơn giản để
thiết lập liên kết, truyền dữ liệu và hủy bỏ liên
kết trên mạng "có liên kết" loại A. Nó có khả
năng phát hiện và báo hiệu các lỗi nhưng không
có khả năng phục hồi.
+ Giao thức lớp 1 (Basic Error Recovery Class –
Lớp phục hồi lỗi cơ bản) dùng với các loại mạng
B, ở đây các gói tin (TPDU) được đánh số. Ngoài
ra giao thức còn có khả năng báo nhận cho nơi
gửi và truyền dữ liệu khẩn. So với giao thức lớp
0 giao thức lớp 1 có thêm khả năng phục hồi lỗi.
+ Giao thức lớp 2 (Multiplexing Class - Lớp dồn
kênh) là một cải tiến của lớp 0 cho phép dồn
một số liên kết chuyển vận vào một liên kết
mạng duy nhất, đồng thời có thể kiểm soát
luồng dữ liệu để tránh tắc nghẽn. Giao thức lớp
2 không có khả năng phát hiện và phục hồi lỗi.
Do vậy nó cần đặt trên một lớp mạng loại A.
+ Giao thức lớp 3 (Error Recovery and
Multiplexing Class - Lớp phục hồi lỗi cơ bản và
dồn kênh) là sự mở rộng giao thức lớp 2 với khả
năng phát hiện và phục hồi lỗi, nó cần đặt trên
một lớp mạng loại B.
+ Giao thức lớp 4 (Error Detection and
Recovery Class - Lớp phát hiện và phục hồi lỗi)
là lớp có hầu hết các chức năng của các lớp
trước và còn bổ sung thêm một số khả năng
khác để kiểm soát việc truyền dữ liệu.
e, Tầng phiên
- Tầng phiên cung cấp một cơ chế cho việc điều
khiển sự đối thoại giữa các ứng dụng trong các
hệ thống đầu cuối. Tầng phiên cung cấp những
dịch vụ cơ bản sau:
+ Quy tắc đối thoại (Dialogue discipline): Có
thể là hai chiều liên tiếp (full duplex) hoặc hai
chiều không đồng thời (half duplex)
+ Nhóm (Grouping): Dòng dữ liệu có thể được
đánh dấu để tạo thành các nhóm dữ liệu. Ví dụ:
một cửa hàng bán lẻ đang chuyển số liệu về
việc bán hàng cho một văn phòng. Dữ lịệu này
có thể được đánh dấu để chỉ ra điểm cuối của dữ
liệu cho mỗi phòng trong văn phòng.
Phục hồi: Tầng phiên có thể cung cấp một cơ
chế điểm kiểm tra (checkpoint), do đó nếu có lỗi
sảy ra giữa các điểm kiểm tra thì có thể truyền
lại tất cả dữ liệu từ điểm kiểm tra cuối cùng.
f, Tầng trình bày
- Tầng trình bày định nghĩa khuân dạng của dữ
liệu sẽ được trao đổi giữa các ứng dụng và cung
cấp cho các chương trình ứng dụng một tập hợp
các dịch vụ truyền dữ liệu.
-Tầng trình bày định nghĩa các quy định
(syntax) được dùng giữa các ứng dụng và cung
cấp sự lựa chọn và điều chỉnh các biểu diễn
đang được sử dụng.
- Một số dịch vụ cụ thể có thể được thực hiện ở
Tầng này đó là nén và mã hóa dữ liệu
g, Tầng ứng dụng
-Cung cấp một phương tiện cho các chương
trình ứng dụng để truy nhập vào môi trường của
OSI. –
- Tầng này bao gồm các chức năng quản lý và
các cơ chế có ích chung để hỗ trợ cho các ứng
dụng phân tán. Các ứng dụng chung như truyền
file (file transfer), thư điện tử (electronic mail)
và truy nhập máy tính từ xa (telnet), duyệt web
(http) được xem xét để cài đặt ở tầng này.
5. Các giao thức trong mô hình OSI
- Trong mô hình OSI có hai loại giao thức chính
được áp dụng: giao thức có liên kết (connection
- oriented) và giao thức không liên kết
(connectionless).
+ Giao thức có liên kết: trước khi truyền dữ
liệu hai tầng đồng mức cần thiết lập một liên kết
logic và các gói tin được trao đổi thông qua liên
kết này, việc có liên kết logic sẽ nâng cao độ an
toàn trong truyền dữ liệu.
+ Giao thức không liên kết: trước khi truyền
dữ liệu không thiết lập liên kết logic và mỗi gói
tin được truyền độc lập với các gói tin trước
hoặc sau nó.
- Với giao thức có liên kết, quá trình truyền
thông phải gồm 3 giai đoạn phân biệt:
+ Thiết lập liên kết (logic): hai thực thể đồng
mức ở hai hệ thống thương lượng với nhau về
tập các tham số sẽ sử dụng trong giai đoạn sau
(truyền dữ liệu).
+ Truyền dữ liệu: dữ liệu được truyền với các
cơ chế kiểm soát và quản lý kèm theo (như
kiểm soát lỗi, kiểm soát luồng dữ liệu, cắt/hợp
dữ liệu...) để tăng cường độ tin cậy và hiệu quả
của việc truyền dữ liệu.
+ Hủy bỏ liên kết (logic): giải phóng tài nguyên
hệ thống đã được cấp phát cho liên kết để dùng
cho liên kết khác.
- Đối với giao thức không liên kết thì chỉ có duy
nhất một giai đoạn truyền dữ liệu mà thôi.
Các file đính kèm theo tài liệu này:
- Bai so 2 - Mo hinh OSI.pdf