Hướng dẫn kiểm tra giao thức: L2 & L3

Trước khi tìm hiểu về thử nghiệm giao thức, hãy hiểu:

Giao thức là gì?

Khi một máy tính giao tiếp với nhau, có một bộ quy tắc và điều kiện chung mà mỗi máy tính phải tuân theo. Nói cách khác, các giao thức xác định cách dữ liệu được truyền giữa các thiết bị máy tính và qua mạng.

Kiểm tra giao thức

Kiểm tra giao thức là phương pháp kiểm tra các giao thức truyền thông trong các lĩnh vực Chuyển mạch, Không dây, VoIP, Định tuyến, v.v. Mục tiêu chính của kiểm tra giao thức là kiểm tra cấu trúc của các gói được gửi qua mạng bằng các công cụ kiểm tra giao thức. Bộ định tuyến và bộ chuyển mạch được sử dụng trong quá trình thử nghiệm để tạo thành các bộ phận của thiết bị và sản phẩm đang được thử nghiệm.

Giao thức định tuyến và định tuyến

Các giao thức được phân thành hai loại giao thức định tuyếngiao thức định tuyến

  • Giao thức định tuyến: Giao thức định tuyến có thể được sử dụng để gửi dữ liệu người dùng từ mạng này sang mạng khác. Nó mang lưu lượng người dùng như email, lưu lượng web, truyền tệp, v.v. Giao thức định tuyến là IP, IPX và AppleTalk.
  • Giao thức định tuyến: Giao thức định tuyến là các giao thức mạng xác định tuyến đường cho bộ định tuyến. Nó chỉ được sử dụng giữa các bộ định tuyến. Ví dụ: RIP, IGRP, EIGRP, v.v.

Trong thuật ngữ đơn giản, bộ định tuyến giống như một chiếc xe buýt được sử dụng để vận chuyển trong khi các giao thức định tuyến là tín hiệu trên đường.

Dựa trên loại giao tiếp, các giao thức khác nhau được sử dụng. Các công ty như CISCO, JUNIPER, ALCATEL sản xuất các thiết bị mạng như bộ định tuyến, modem, điểm truy cập không dây, v.v. sử dụng các giao thức khác nhau để giao tiếp, ví dụ: Cisco sử dụng EIGRP, OSPF, v.v. Kiểm tra giao thức không gì khác ngoài việc kiểm tra xem EIGRP (Giao thức định tuyến cổng nội bộ nâng cao) hay OSPF (Mở đường dẫn ngắn nhất trước) hay bất kỳ giao thức nào khác có hoạt động theo tiêu chuẩn tương ứng hay không.

Các loại giao thức máy tính

Các loại giao thức Mục đích của giao thức
TCP / IP Nó được sử dụng để gửi thông tin trong các gói nhỏ qua Internet
UDP/ICMP Nó được sử dụng để gửi một lượng nhỏ thông tin trong các gói dữ liệu qua internet
POP3 và SMTP Nó được sử dụng để gửi và nhận thư
Giao thức truyền siêu văn bản Nó được sử dụng để chuyển trang HTML ở dạng được mã hóa nhằm cung cấp bảo mật cho dữ liệu nhạy cảm
FTP Nó được sử dụng để vận chuyển các tập tin qua mạng từ nút này sang nút khác

* TCP / IP– Transmission Giao thức điều khiển/Giao thức Internet, UDP / ICMP– Giao thức gói dữ liệu người dùng/Giao thức thông báo điều khiển Internet, POP3/SMTP– Giao thức bưu điện / Đơn giản Mail Giao thức chuyển giao, HTTP– Giao thức truyền siêu văn bản, FTP- Giao thức truyền tập tin

Các loại giao thức mạng khác nhau (L2 và L3)

Mô hình OSI có tổng cộng 7 lớp giao tiếp mạng, trong đó lớp 2 và lớp 3 rất quan trọng.

  • Lớp 2: Đây là lớp liên kết dữ liệu. Địa chỉ Mac, Ethernet, Token Ring và Frame Relay đều là ví dụ về lớp Liên kết dữ liệu.
  • Lớp 3: Đây là lớp mạng xác định đường dẫn khả dụng tốt nhất trong mạng để liên lạc. Địa chỉ IP là một ví dụ của lớp 3.

Cách thực hiện Kiểm tra giao thức

  • Để kiểm tra giao thức, bạn cần bộ phân tích và mô phỏng giao thức
  • Bộ phân tích giao thức đảm bảo giải mã thích hợp cùng với phân tích cuộc gọi và phiên. Trong khi trình mô phỏng mô phỏng các thực thể khác nhau của phần tử mạng
  • Thông thường, việc kiểm tra giao thức được thực hiện bởi DUT (thiết bị đang được kiểm tra) tới các thiết bị khác như bộ chuyển mạch và bộ định tuyến và định cấu hình giao thức trong đó
  • Sau đó kiểm tra cấu trúc gói của các gói được gửi bởi thiết bị
  • Nó kiểm tra khả năng mở rộng, hiệu suất, thuật toán giao thức, v.v. của thiết bị bằng cách sử dụng các công cụ như lxNetworks, Scapy và Wireshark

Các loại thử nghiệm để thử nghiệm giao thức

Kiểm tra giao thức bao gồm kiểm tra chức năng, hiệu suất, ngăn xếp giao thức, khả năng tương tác, v.v. Về cơ bản, trong quá trình kiểm tra giao thức, ba bước kiểm tra được thực hiện.

  • Tính đúng đắn: Chúng tôi có nhận được gói X khi chúng tôi mong đợi không?
  • Độ trễ: Một gói mất bao lâu để truyền qua hệ thống
  • Băng thông: Chúng tôi có thể gửi bao nhiêu gói mỗi giây

Kiểm tra giao thức có thể được tách thành hai loại. Kiểm tra căng thẳng và độ tin cậy cũng như kiểm tra chức năng. Kiểm tra căng thẳng và độ tin cậy bao gồm Kiểm tra Tải, Bài kiểm tra về áp lực, Kiểm tra năng suất, v.v. Trong khi Thử nghiệm chức năng bao gồm kiểm tra tiêu cực, kiểm tra sự phù hợp, kiểm tra khả năng tương tác, v.v.

  • Kiểm tra sự phù hợp: Các giao thức triển khai trên sản phẩm được kiểm tra tính tuân thủ như IEEE, RFC và vv
  • Kiểm tra khả năng tương tác: Khả năng tương tác giữa các nhà cung cấp khác nhau đã được kiểm tra. Thử nghiệm này được thực hiện sau khi thử nghiệm sự phù hợp được thực hiện trên nền tảng thích hợp
  • Kiểm tra tính năng mạng: Các tính năng của sản phẩm mạng được kiểm tra chức năng dựa trên tài liệu thiết kế. Ví dụ: các tính năng có thể là bảo mật cổng trên bộ chuyển mạch, ACL trên bộ định tuyến, v.v.

Các trường hợp thử nghiệm mẫu để thử nghiệm giao thức của thiết bị mạng

Đây là trường hợp thử nghiệm mẫu cho bộ định tuyến

Tên bài kiểm tra Các trường hợp kiểm tra
Một Vlan trên một Switch Xây dựng hai Vlan khác nhau. Kiểm tra khả năng hiển thị giữa các máy chủ trên các Vlan khác nhau
Ba Vlan đối xứng trên một switch Tạo ba Vlan bất đối xứng khác nhau. Kiểm tra khả năng hiển thị giữa các máy chủ
Cây kéo dài: Biến đổi chi phí đường dẫn gốc Kiểm tra xem Chi phí đường dẫn gốc thay đổi như thế nào sau khi thay đổi cấu trúc liên kết
Cây kéo dài: Chặn cổng Kiểm tra cách giao thức cây bao trùm tránh việc hình thành các chu kỳ trong mạng, chặn các liên kết dư thừa khi có sự hiện diện của Vlan quá
Cầu gốc khác nhau cho MSTI khác nhau Chứng tỏ rằng mỗi MSTI có thể có Root Bridge khác nhau
Khả năng hiển thị giữa các khu vực STP khác nhau Với cùng một Vlan, hãy kiểm tra khả năng hiển thị giữa các vùng STP khác nhau
Chuyển đổi điện thoại Hiệu suất Tạo 1000 cuộc gọi điện thoại và kiểm tra xem tổng đài điện thoại có còn hoạt động hay hiệu suất của nó bị suy giảm
Kiểm tra âm tính cho thiết bị Nhập khóa không chính xác và kiểm tra xác thực người dùng. Nó không nên cho phép người dùng truy cập
Dòng tốc độ Kiểm tra thiết bị hoạt động ở tốc độ 10Gbps, tận dụng toàn bộ băng thông có sẵn để xử lý lưu lượng truy cập đến
Tỷ lệ hội thoại giao thức Theo dõi cuộc hội thoại TCP giữa hai thiết bị và xác minh rằng mỗi thiết bị đều hoạt động đúng
Thời gian đáp ứng để bắt đầu phiên Đo thời gian phản hồi của thiết bị đối với yêu cầu mời bắt đầu phiên

Công cụ kiểm tra giao thức

Hãy thảo luận về các công cụ kiểm tra quan trọng nhất được sử dụng để xác minh giao thức

1) Scapy Để chế tạo gói

Scapy là một chương trình thao tác gói tương tác mạnh mẽ. Nó cho phép bạn

  • Tạo gói
  • Giải mã các gói tin trên mạng
  • Chụp các gói và phân tích chúng
  • Tiêm các gói vào mạng

Về cơ bản, scapy chủ yếu thực hiện hai việc: nhận câu trả lời và gửi gói. Bạn xác định các gói, nó gửi chúng, nhận câu trả lời, khớp các yêu cầu với câu trả lời và trả về danh sách các cặp gói và danh sách các gói chưa khớp.

Nó cũng có thể xử lý những việc khác như định tuyến theo dõi, kiểm tra đơn vị, tấn công hoặc khám phá mạng, phát triển giao thức mới, thăm dò, v.v.

Scapy cho phép chúng ta viết một Python tập lệnh cho phép chúng ta thực hiện một nhiệm vụ như gửi và nhận các gói tin hoặc đánh hơi các gói tin. Ví dụ, scapy có thể đánh hơi các gói dữ liệu bằng cách sử dụng Python kịch bản. Lệnh mở getdit được nhập trong trình soạn thảo

#gedit scapysniff.py
#!/usr/bin/env python
from scapy.all import*

a= sniff(count=10)
a.nsummary()

save, and change the mode of the file into an executable form
#chmod+x scapysniff.py
# ./scaotsbuff.py

Nó sẽ đánh hơi 10 gói và ngay sau khi đánh hơi được 10 gói, nó sẽ in bản tóm tắt. Scapy cũng như một mảng lệnh để gửi và nhận các gói tin cùng một lúc

Tải về Scapy

2) Wireshark Công cụ phân tích

Các công cụ được sử dụng để kiểm tra giao thức- Wireshark. Nó cho phép nắm bắt các gói tin trong thời gian thực và hiển thị chúng ở dạng con người có thể đọc được. Nó cho phép bạn tìm hiểu sâu về lưu lượng mạng và kiểm tra từng gói bằng cách sử dụng mã màu và bộ lọc.

Wireshark nắm bắt các gói giúp xác định thời điểm phiên được thiết lập, thời điểm bắt đầu di chuyển dữ liệu chính xác và lượng dữ liệu được gửi mỗi lần, v.v.

Wireshark có một tập hợp các tính năng phong phú bao gồm

  • Kiểm tra kỹ lưỡng hàng trăm giao thức, liên tục được bổ sung thêm
  • Chụp trực tiếp và phân tích ngoại tuyến
  • Phân tích VoIP phong phú
  • Trình duyệt đóng gói ba ngăn tiêu chuẩn
  • Chạy trên nhiều nền tảng như Windows, Linux, OSX, v.v.
  • Dữ liệu mạng đã chụp có thể được duyệt qua GUI
  • Giải mã hỗ trợ nhiều giao thức như IPsec, ISAKMP, SSL/TLS
  • Dữ liệu trực tiếp có thể được đọc từ Ethernet, ATM, Bluetooth, USB, mã thông báo, v.v.
  • Đầu ra có thể được xuất sang CSV, XML, văn bản thuần túy, v.v.

Tải về Wireshark

TTCN

TCCN là ngôn ngữ kiểm tra tiêu chuẩn để xác định Kịch bản thử nghiệm và việc triển khai chúng để thử nghiệm giao thức. Bộ kiểm thử TCCN chứa nhiều trường hợp kiểm thử được viết bằng ngôn ngữ lập trình TTCN và nó được sử dụng để thử nghiệm hệ thống phản ứng hoặc kiểm tra hành vi.

Ví dụ: một máy bán cà phê tự động cung cấp cho bạn cà phê khi chèn một đồng đô la nhưng không phản hồi nếu có bất kỳ thứ gì nhỏ hơn một đô la được đưa vào đó. Để lập trình cho các máy như vậy, ngôn ngữ TCCN3 được sử dụng. Để làm cho máy pha cà phê phản hồi khi nhét đồng xu vào, chúng ta phải viết thành phần TCCN-3 hoạt động như một máy pha cà phê. Nó cho phép chúng tôi chạy thử nghiệm trước khi có sản phẩm máy pha cà phê thực tế. Sau khi hoàn tất, chúng tôi sẽ kết nối bộ thử nghiệm TCCN3 với thiết bị bên ngoài.

TTCN

Hệ thống kiểm tra phát ra kích thích (đồng đô la) và nhận phản hồi (cà phê). Bộ điều hợp kích thích thu được các kích thích từ hệ thống thử nghiệm và chuyển chúng đến hệ thống được thử nghiệm. Bộ điều hợp phản hồi chờ phản hồi của hệ thống được kiểm tra và chuyển chúng đến hệ thống kiểm tra.

TCCN3 có thể được sử dụng trong nhiều lĩnh vực khác nhau như

  • Truyền thông di động (LTE, WiMAX, 3G, v.v.)
  • Công nghệ băng thông rộng (ATM, DSL)
  • Nền tảng phần mềm trung gian (Dịch vụ web, CORBA, v.v.)
  • Giao thức Internet (SIP, IMS, IPv6)
  • Nhưng chiêc thẻ thông minh
  • Ô tô (AutoSAR, MOST, CAN)

Trong TCCN chúng ta có thể định nghĩa

  • Bộ thử nghiệm
  • Các trường hợp kiểm tra
  • Các bước kiểm tra
  • Khai báo biến
  • Khai báo bộ hẹn giờ
  • Tạo PDU, v.v.

TCCN có thể được tích hợp với các loại hệ thống của các ngôn ngữ khác như ASN.1, XML, C/C++. Ngôn ngữ cốt lõi TCCN3 tồn tại ở định dạng văn bản ngoài các định dạng khác như dạng bảng, đồ họa và bản trình bày.