About Me

header ads

Mô hình OSI 7 lớp

Mô hình căn bản của căn bản đối với bất cứ ai muốn theo ngành networking. Tuy kiến thức cực kỳ tổng quát, mang đậm tính lý thuyết suông nhưng lại đi theo suốt sự nghiệp :3

Mô hình OSI (Open system interconnection – Mô hình kết nối các hệ thống mở) là một thiết kế dựa vào nguyên lý tầng cấp, lý giải một cách trừu tượng kỹ thuật kết nối truyền thông giữa các máy vi tính và thiết kế giao thức mạng giữa chúng. Mô hình này được phát triển thành một phần trong kế hoạch OSI (Open Systems Interconnection) do ISO và IUT-T khởi xướng. Nó còn được gọi là Mô hình bảy tầng của OSI.

I. overview

1. Có 2 loại mô hình 
  • Older model :
    • độc quyền
    • Các ứng dụng, các phần chỉ được cung cấp bởi 1 nhà cung cấp


  • Standards-base model
    • multivendor software
    • layer approach( mô hình phân lớp)

2. Tại sao phải sử dụng mô hình phân lớp
  • Giảm phức tạp -> cty nào mạnh ở lớp nào thì làm ở lớp đó
  • Mỗi lớp có mỗi tính năng, chuẩn mà các cty sản xuất phải tuân theo -> chuẩn hóa giao diện của các dòng sản phẩm
  • Thúc đẩy kỹ thuật Module hóa -> cty nào mạnh ở lĩnh vực nào thì làm ở chuyên môn đó
  • Việc chuẩn hóa -> tính tương thích về mặt công nghệ
  • Dễ dàng trong việc học và dạy

II. Các lớp trong mô hình OSI


1. Physical
  • Xây dựng 1 đường truyền vật lý.
  • Quy định các đặc điểm đường truyền vật lý về cơ, điện, quang, các thủ tục chức năng … để làm sao có thể truyền 1 dòng bits nhị phần trên 1 đường truyền vật lý

Làm các nào để dữ liệu từ các lớp bên trên có thể truy nhập vào đường truyền vật lý, chia sẻ đường truyền vật lý này…?
=> người ta dùng lớp datalink để giải quyết vấn đề này.

2. Datalink :

  • Điều khiển việc truy nhập vào đường truyền vật lý, giao tiếp với lớp bên trên.
  • Định dạng dữ liệu làm thế nào để dữ liệu được quyền truy nhập và truyền trên đường truyền vật lý
  • Nó thực hiện đóng khung dữ liệu, cấu trúc hóa dữ liệu, điều tiết dữ liệu… làm sao để các lớp trên có thể join vào đường truyền vật lý
  • cung cấp cơ chế dò lỗi chính là trường kiểm tra lỗi FCS

Khi có nhiều đường đi từ điểm này đến điểm kia vậy làm cách nào để chọn đường đi tối ưu ..? lớp network giải quyết vấn đề này

3. Network

  • Chịu trách nhiệm phân bố dữ liệu từ điểm này đến điểm kia 1 cách tối ưu nhất bằng cách định tuyến dữ liệu để chọn ra 1 đường đi tối ưu nhất
  • Muốn tìm đường đi thì phải biết địa chỉ đi từ đâu đến đâu ?

Ex : bạn muốn tìm đường đi trên bản đồ bạn phải biết địa chỉ mà bạn xuất phát và địa chỉ mà bạn cần đến.

  • lớp network định nghĩa ra địa chỉ logic dùng cho công việc định tuyến. Loại địa chỉ logic address hay dùng là IP


4. Transport
  • Quản lý các kết nối đầu cuối đến đầu cuối
  • xử lý truyền tải giữa các host
  • đảm bảo dữ liệu truyền đang tin cậy từ điểm này đến điểm kia trong mạng
  • đảm bảo, duy trì, kết thúc các đường mạch ảo( virtual circuits) lớp transport coi như kết nối điểm điểm là trực tiếp trong khi thực tế nó đi qua rất nhiều điểm mà các lớp dưới đã lo cho nên được gọi là virtual circuits
  • cung cấp cơ chế sửa lỗi tin cậy, dò lỗi tin cậy, phục hồi thông tin bằng cơ chế điều khiển luồng


5. Session
  • Chức năng đóng mở port
  • thiết lập quản lý giải phóng các session cho ứng dụng
  • Sau 5 lớp trên thì dữ liệu từ host này đến host kia có thể truyền đi được.

Nhưng chưa chắc dữ liệu của ứng dụng này truyền đi mà ứng dụng đầu kia hiểu được ? lớp Presentation

6. Presentation
Để đảm bảo dữ liệu truyền từ ứng dụng đến ứng dụng khác có thể hiểu được. Nó thực hiện.
  • định dạng lại dữ liệu, cấu trúc hóa
  • thương lượng cú pháp truyền cho tầng ứng đụng
  • cung cấp cơ chế mã hóa

Ex: định dạng file hình : mpeg, jpg... hay mã hóa văn bản...
7. Application
  • giao tiếp trực tiếp với người dùng
  • cung cấp các ứng dụng mạng, các dịch vụ mạng cho tầng ứng dụng ( email, file transfer..)
  • cung cấp cơ chế xác thưc người dùng

III. Tiến trình đóng gói dữ liệu
1. Data encapsulation

2. Data de-encapsulation
3.Truyền thông ngang hang
  • Đơn vị của gói tin trên các tầng dữ liệu

TCP/IP part 2

Tìm hiểu TCP/IP: TCP/IP là một hệ thống giao thức - một tập hợp các giao thức hỗ trợ việc lưu truyền trên mạng. Các giao thức TCP/IP có vai trò xác định quá trình liên lạc trong mạng và quan trọng hơn cả là định nghĩa “hình dáng” của một đơn vị dữ liệu và những thông tin chứa trong nó để máy tính đích có thể dịch thông tin một cách chính xác.

1. Transport layer
- Điều khiển, cung cấp kết nối điểm tới điểm.
- Sử dụng 2 giao thức phổ biến nhất UDP và TCP
- Các chức năng của transport layer

  • Session multiplexing :

+ khi truyền dữ liệu các ứng dụng mở nhiều session để trao đổi với nhau các session đi chung trên 1 kết nối end to end
+ Nhiệm vụ của tầng transport là phải ghép các kết nối này lại trong 1 đường duy nhất từ end to end

  • Segmentation

+ Dữ liệu từ các lớp trên sẽ được phân mảnh dữ liệu thành các segment để truyền đi

  • Flow Control

+ Làm cho luồng dữ liệu di chuyển hợp lý hơn trên các kết nối end to end
+ cơ chế này chỉ có trên TCP và khi nào có yêu cầu cơ chế này mới được thi hành
Ex : khi máy A gửi quá nhiều dữ liệu cho máy B mà máy B xử lý không kịp -> máy B drop gói tin, làm mất mát dữ liệu.Lúc này máy B có 1 cơ chế yêu cầu máy A gửi chậm lại- Có 2 kỹ thuật truyền

  • Connection oriented : có trên TCP. When required

+ thiết lập xong kết nối luận lý thì mới truyền dữ liệu.
+ khi thiết lập kết nối thì có rất nhiều cơ chế truyền tin cậy được sử dụng kèm theo

  • Connection less : Có trên UDP khi có Pc có packet nó sẽ chuyển gói tin xuống đường truyền mà ko cần thiết lập kết nối từ trước
  • Reliability độ tin cậy.

Ex: Khi máy A truyền cho B thì khi nhận được gói tin từ máy A thì máy B phải truyền lại gói tin Reliability để cho máy A biết B đã nhận dc. Nếu không máy A sẽ truyền đi truyền lại gói tin này
+ When required : chỉ hỗ trợ 1 vài giao thức khi có yêu cầu

2. So sánh kiểu truyền Reliable và best-effort
3. UDP header(user datagram protocol)
  • hoạt động ở transport layer của OSI và TCP/IP
  • cho phép các ứng dụng truy cập vào network layer mà ko cần các cơ chế truyền tin cậy
  • là kiểu giao thức connection less
  • cung cấp cơ chế kiểm tra lỗi rất giới hạn
  • cung cấp cơ chế phân phối theo kiêu best-effort
  • Không có cơ chế phục hồi dữ liệu bị mất
  • Khi các ứng dụng bên trên chia se kết nối UDP thì có rất nhiều ứng dụng, các kết nối, các session làm sao để định danh ra các session này lúc này UDP sử dụng 1 cặp source port và des port để làm điều này.
  • 1 cặp source port và 1 cặp des port sẽ định danh ra session đang truy cập vào đường truyền end to end
  • có thể coi port là địa chỉ của lớp Transport
  • 16 bit UDP length cho biết gói tin UDP dài bao nhiêu: 16 bit = 2^16 -> gói tin UDP có khả năng dài 2^16 byte

4. TCP Header
  • Transport layer
  • Cho phép các ứng dụng truy cập vào network layer
  • Connection oriented
  • Full duplex : có thể truyền và nhận tại 1 thời điểm
  • Cơ chế kiểm tra lỗi
  • Cơ chế đánh số thứ tự gói tin
  • Cơ chế báo nhận ACK
  • Cung cấp cơ chế phục hồi dữ liệu


  • 32 bit sequence number : dùng để đánh số thứ tự các gói tin.
  • 32 bit acknowledgment number : báo nhận xem nó nhận được gói tin nào và nó mong muốn nhận byte nào sequence number nào tiếp theo
  • 4 bit header length : cho biết toàn bộ header dài bao nhiêu
  • Resv là các bit để dành
  • Ns, cwr… các cờ điều khiển
  • 16 bit tcp check sum kiểm tra lỗi cho toàn bộ gói tin TCP
  • 16 bit urgent pointer dùng cho trường hợp khẩn cấp, ưu tiên dữ liệu khi dùng cờ urgent trên này
  • Options cho phép lập trình them các tính năng cho gói tin TCP


5. Maping layer 3 to layer 4
  • Protocol : là số protocol IP cho biết tầng trên chứa giao thức loại nào( ex : tcp, udp…)

Ex : protocol ID =88 -> IEGRP , 89 OSPF

6. Mapping layer 4 to applications

  • Khi dữ liệu từ ứng dụng muốn truyền đi thì nó phải nhờ lớp transport truyền đi. Lúc này các ứng dụng truy nhập vào lớp 4 phải sử dụng các port quy định cho nó
7. Three-way handshake
8. Cơ chế Flow Control


9. TCP acknowledgment

  • Là cơ chế báo nhận tong TCP
  • Khi máy gởi gửi 1 gói tin cho máy B nếu máy B không trả lời thì nó thiết lập time out sau 1 thời gian timeout nó lại gửi 1 gói tin cho B cứ như vầy đến khi nào B trả lời
  • Windows size = 1 nghĩa là gửi 1 gói nhận 1 gói.
10. Fixed windowing ( cửa sổ kích thước cố định)

  • Vì gửi 1 gói nhận 1 gói chậm quá nó sẽ tăng window size này lên

Ex : window size =3. Nghĩa là gửi 3 gói nhận 1 gói

11. TCP sliding windowing

  • Cửa sổ trượt là cửa sổ có thể thay đổi được.

Ex: Máy A gửi 3 gói tin với window size=3 tới máy Bgiả sử máy B nhận được 2 gói và mất 1 gói do nghẽn đường truyền lúc này máy B sẽ thay đổi window size = 2 để cho máy A biết máy B chỉ nhận được 1 lúc 2 gói thôi.Máy A sẽ gửi lại hói lỗi đồng thời nó chỉ gửi 2 gói tin cho máy A



12. TCP Sequence và ACk number

Đăng nhận xét

0 Nhận xét