1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu kỹ thuật chặn bắt và phân tích gói tin nhằm mực đích phục vụ phát hiện xâm nhập trên mạng máy tính

113 1,5K 8

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 113
Dung lượng 2,95 MB

Nội dung

Tìm hiểu kỹ thuật chặn bắt và phân tích gói tin nhằm mực đích phục vụ phát hiện xâm nhập trên mạng máy tính

Trang 1

MỤC LỤC

Trang

MỤC LỤC 1

DANH MỤC CÁC TỪ VIẾT TẮT 4

DANH MỤC CÁC BẢNG 8

DANH MỤC CÁC HÌNH VẼ 9

LỜI MỞ ĐẦU 11

Chương 1: CƠ SỞ LÝ THUYẾT VỀ MẠNG MÁY TÍNH 14

1.1 TỔNG QUAN HỆ THỐNG MẠNG TCP/IP 14

1.1.1 Khái niệm mạng máy tính 14

1.1.2 Kiến trúc phân tầng của mạng máy tính 15

1.1.3 Mô hình tham chiếu OSI 17

1.1.4 Mô hình TCP/IP 20

1.1.5 So sánh giữa mô hình OSI và TCP/IP 21

1.2 TÌM HIỂU VỀ MÔ HÌNH TCP/IP 22

1.2.1 Cấu trúc phân tầng của mô hình TCP/IP 22

1.2.2 Quá trình truyền nhận dữ liệu trong TCP/IP 24

1.2.3 Sơ lược chức năng từng tầng trong mô hình TCP/IP 25

1.2.4 Các giao thức chính trong mô hình TCP/IP và khuôn dạng dữ liệu tương ứng 27

Chương 2: KỸ THUẬT BẮT GÓI TIN TRÊN MẠNG MÁY TÍNH 39

2.1 CÁC KHÁI NIỆM 39

2.1.1 Packet 39

2.1.2 Network Traffic 39

2.1.3 Packet capture 39

Trang 2

2.1.4 Packet Analyzer (Sniffer) 40

2.2 ỨNG DỤNG CỦA VIỆC CHẶN BẮT GÓI TIN 40

2.2.1 Khả năng 40

2.2.2 Mục đích của việc chặn bắt gói tin 40

2.3 CÁC THÀNH PHẦN CHÍNH CỦA MỘT CHƯƠNG TRÌNH CHẶN BẮT GÓI TIN 41

2.3.1 Thành phần phần cứng 41

2.3.2 Thành phần Capture driver 41

2.3.3 Thành phần Buffer: 41

2.3.4 Thành phần Real-time analysis 41

2.3.5 Thành phần Decode 42

2.3.6 Thành phần Packet editting/transmission 42

2.4 CÁCH THỨC HOẠT ĐỘNG CỦA VIỆC CHẶN BẮT GÓI TIN 42

2.4.1 Theo dõi Network Traffic 42

2.4.2 Phân tích Network Traffic 42

2.5 CÁC PHƯƠNG PHÁP CHẶN BẮT GÓI TIN 44

2.5.1 Mức hệ điều hành (Socket, Raw Socket) 44

2.5.2 Mức Network Adapter (Pcap) 46

2.5.3 So sánh Raw Socket và Pcap 47

2.6 PHÒNG CHỐNG SNIFFER TRÊN MẠNG MÁY TÍNH 48

2.6.1 Phát hiện sniffer trong mạng 49

2.6.2 Ngăn chặn sniffer 49

2.6.3 Một số chương trình phát hiện sniffer 50

Chương 3: XÂY DỰNG CHƯƠNG TRÌNH CHẶN BẮT GÓI TIN 51

3.1 HƯỚNG THỰC HIỆN CHƯƠNG TRÌNH 51

3.2 LỰA CHỌN PHƯƠNG PHÁP VÀ NỀN TẢNG XÂY DỰNG CHƯƠNG TRÌNH 53

Trang 3

3.2.1 Lựa chọn ngôn ngữ lập trình 53

3.2.2 Lựa chọn phương pháp chặn bắt gói tin 54

3.3 THƯ VIỆN WINPCAP VÀ SHARPPCAP 55

3.3.1 WinPcap 55

3.3.2 SharpPcap 57

3.4 PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH 67

3.4.1 Các chức năng chính 67

3.4.2 Phân tích xây dựng các chức năng chính 69

3.5 CHƯƠNG TRÌNH HOÀN THIỆN 75

3.5.1 Mô tả 75

3.5.2 Giao diện chương trình 76

Chương 4: ỨNG DỤNG KỸ THUẬT CHẶN BẮT GÓI TIN ĐỂ XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN XÂM NHẬP THÔNG MINH 80

4.1 Ý TƯỞNG CHUNG CHO VIỆC THỰC HIỆN PHÁT HIỆN XÂM NHẬP THÔNG MINH 80

4.2 MÔ HÌNH MAXIMUM ENTROPY 81

4.2.1 Khái niệm Entropy 81

4.2.2 Giới thiệu mô hình học thống kê Maximum Entropy (ME) 82

4.2.3 Các thuật toán xác định tham số trong mô hình Maximum Entropy 85

4.2.4 Học máy theo mô hình Maximum Entropy dựa trên thuật toán GIS 88

4.3 XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN XÂM NHẬP THÔNG MINH 92

4.3.1 Lựa chọn thư viện hỗ trợ thuật toán GIS 92

4.3.2 Giới thiệu về thư viện SharpEntropy 92

4.3.3 Làm việc với SharpEntropy 96

Trang 4

4.3.4 Phân tích thiết kế chương trình 97

KẾT LUẬN 102

TÀI LIỆU THAM KHẢO 105

PHỤ LỤC 106

A CHƯƠNG TRÌNH CHẶN BẮT VÀ PHÂN TÍCH GÓI TIN 106

A.1 Các bước làm việc với SharpPcap của chương trình 106

A.2 Các lớp của chương trình 109

A.3 Các hàm xử lý chính của chương trình 109

B CHƯƠNG TRÌNH PHÁT HIỆN XÂM NHẬP THÔNG MINH 111

B.1 Các lớp của chương trình 111

B.2 Các hàm xử lý chính của chương trình 111

B.3 Demo một tập mẫu học để training cho chương trình 113

Trang 5

DANH MỤC CÁC TỪ VIẾT TẮT

TCP/IP Transmission Control

Protocol/Internet Protocol

Bộ giao thức liên mạng

Architecture

Kiến trúc mạng do IBM tạo ra

DECnet Digital Equipment

Corporation protocol suite

Bộ giao thức mạng độc quyềncủa hãng Digital EquipmentCorporation

ARPANET Advanced Research

Projects Agency Network

Mạng lưới cơ quan với các đề ánnghiên cứu tân tiến

Interconnection

Mô hình tham chiếu kết nối các

hệ thống mởPDU Protocol Data Unit Đơn vị dữ liệu giao thức

FDDI Fiber Distributed Data

SMTP Simple Mail Transfer

Trang 6

Giao thức truyền tải siêu văn bản

UDP User Datagram Protocol Giao thức gói dữ liệu người

dùngTCP Transmission Control

Protocol

Giao thức điều khiển truyền dẫn

ARP Address Resolution

Protocol

Giao thức phân giải địa chỉ

ICMP Internet Control Message

IEEE Institute of Electrical and

Electronics Engineer

Viện kỹ nghệ Điện và Điện Tử

CRC cyclic redundancy check Mã sửa sai dự phòng

CSMA/CD Carrier Sense Multiple

Access with Collision Detect

Đa truy cập cảm nhận sóngmang

RARP Reserve Address Giao thức phân giải địa chỉ

Trang 7

Resolution Protocol ngượcPING Packet internet gropher Cộng cụ kiểm tra kết nối mạng

Unit

Đơn vị truyền tải dữ liệu ngược

DPC Deep Packet Capture Là hành động chặn bắt toàn bộ

các gói tin trên mạngDPI Deep Packet Inspection Kiểm tra và phát hiện các hiện

tượng mạngPOP Post Office Protocol Giao thức nhận thư

NNTP Network News Transfer

SSL Sercure Socket Layer Giao thức truyền tải an toàn

Trang 8

Systems nhập MEM Maximum Entropy Model Mô hình độ hỗn loạn cực đại GIS Generalized Iterative

Scaling

Thuật toán lặp tổng quát

IIS Improved Iterative Scaling Thuật toán lặp mở rộng

DANH MỤC CÁC BẢNG

Trang

Bảng 1.1: Chi tiết kiểu và loại gói tin ICMP 35

Bảng 3.1: Danh sách các lớp của SharpPcap Namespace 62

Bảng 3.2: Danh sách các lớp của SharpPcap.AirPcap Namespace 63

Bảng 3.3: Danh sách các lớp trong SharpPcap.LibPcap Namespace 64

Bảng 3.4: Danh sách các lớp trong SharpPcap.WinPcap Namespace 65

Trang 9

Bảng 4.1: Ví dụ tập mẫu học đầu vào cho GIS (chỉ mang tính minh họa) 91

Bảng 4.2: Các lớp chính trong thư viện SharpEntropy 95

Bảng 4.3: Các Interface trong thư viện SharpEntropy 96

Bảng 4.4: Các Delegates trong thư viện SharpEntropy 96

Bảng B.1: Demo tập mẫu học đầu vào cho GIS (chỉ mang tính minh họa) 113 DANH MỤC CÁC HÌNH VẼ Trang Hình 1.1: Minh họa kiến trúc phân tầng tổng quát 16

Hình 1.2: Mô hình OSI 17

Hình 1.3: Tương ứng các tầng giữa TCP/IP và OSI 21

Hình 1.4: Mô hình TCP/IP và các giao thức trong từng tầng 23

Hình 1.5: Đường đi của các gói tin trong môi trường mạng 25

Trang 10

Hình 1.6: Cấu trúc của Ethernet frame 27

Hình 1.7: Cấu trúc tổng quát của gói tin ARP 29

Hình 1.8: Cấu trúc gói tin IP Datagram 31

Hình 1.9: Cấu trúc tổng quát của gói tin ICMP 33

Hình 1.10: Cấu trúc gói tin trong giao thức TCP 36

Hình 1.11: Cấu trúc gói tin trong giao thức UDP 37

Hình 2.1: Ví dụ phân tích Network Traffic 43

Hình 2.2: Tương ứng giữa Socket và Pcap 47

Hình 3.1: Mô hình tổng quát xử lý của chương trình 51

Hình 3.2: Cơ chế hoạt động của Winpcap 56

Hình 3.4: Sơ đồ hoạt động tổng quát của chương trình 69

Hình 3.5: Hoạt động khởi tạo phiên làm việc 71

Hình 3.6: Hoạt động phân tích gói tin 73

Hình 3.7: Hoạt động xử lý hiển thị chi tiết gói tin 74

Hình 3.8: Hoạt động thống kê lưu lượng mạng 75

Hình 3.9: Giao diện chương trình khi chưa hoạt động 76

Hình 3.10: Giao diện chọn card mạng 77

Hình 3.11: Giao diện chương trình khi hoạt động 77

Hình 3.12: Xem nội dung của một gói tin cụ thể ở dạng rõ 78

Hình 3.13: Giao diện chức năng phân tích lưu lượng 78

Hình 4.1: Sơ đồ thuật toán GIS 88

Hình 4.2: Kiến trúc chương trình phát hiện xâm nhập 97

Hình 4.3: Sơ đồ hoạt động chính của chương trình 98

Hình 4.4:Chức năng huấn luyện 98

Hình 4.5: Chức năng phát hiện xâm nhập 99

Hình 4.6: Giao diện chức năng huấn luyện 99

Trang 11

Hình 4.7: Giao diện chọn card mạng cần theo dõi 100

Hình 4.8: Giao diện chức năng phát hiện xâm nhập 100

Hình 4.9: Giao diện chức năng nhập soạn dữ liệu kiểm tra 101

Hình A.1: Hình ảnh hiển thị của card mạng 106

Hình A.2: Các lớp của chương trình bắt gói tin 109

Hình B.1: Các lớp của chương trình phát hiện xâm nhập 111

LỜI MỞ ĐẦU

Ngày nay, sự phát triển của công nghê thông tin và hệ thống mạng máy tính đang diễn ra mạnh mẽ trên toàn thế giới cũng như ở Việt Nam Những ứng dụng của chúng đã và đang có mặt ở mọi nơi trong đởi sống kinh tế xã hội Trong khi công nghệ mạng và Internet mang lại nhiều cơ hội phát triển và cạch tranh mới cho các doanh nghiệp thì đồng thời cũng đặt ra những vẫn đề

về nhu cầu cần phải bảo vệ hệ thống máy tính trước các mối đe dọa về mất an toàn trong hoàn cảnh mà sự phát triển của những hoạt động phá hoại hệ thống máy tính cũng song hành cùng sự phát triển của hệ thống mạng và Internet

Trang 12

Song song với sự phát triển mạnh mẽ của công nghê thông tin cũng nhưcác hệ thống phát hiện và phòng chống xâm nhập thì các kỹ thuật tấn công,xâm nhập các hệ thống của các tổ chức cũng ngày càng tinh vi hơn, đa dạnghơn Vì vậy vấn đề đặt ra là cần phải xây dựng những hệ thống phát hiện vàphòng chống những tấn công, xâm nhập trái phép để có thể ứng phó với cácnguy cơ mất an ninh đã và đang xảy ra hiện nay Và một trong những kỹ thuật

cơ bản của các hệ thống phòng chống và phát hiện xâm nhập hoặc firewall là

kỹ thuật chặn bắt và phân tích gói tin trên mạng máy tính

Nhận thức được tầm quan trọng của vấn đề bảo mật và an ninh thông tin

hiện nay nên em đã quyết định chọn đề tài: “Tìm hiểu kỹ thuật chặn bắt và

phân tích gói tin nhằm mục đích phục vụ phát hiện xâm nhập trên mạng máy tính.” Với hi vọng rằng đề tài này sẽ giúp em nâng cao vốn hiểu biết và có

được cái nhìn tổng quát nhất về vấn đề bảo mật hiện nay Đồng thời, thôngqua việc tìm hiểu về kỹ thuật chặn bắt và phân tích gói tin giúp em có thể hiểusâu về cơ chế, cấu trúc cũng như cách thức hoạt động cơ bản của các hệ thốngphòng chống và phát hiện xâm nhập Đây sẽ là cơ hội tốt và là tiền đề để em

có thể đi sâu và rộng hơn về vấn đề bảo mật trong tương lai

Đề tài chủ yếu tập trung giới thiệu về cách thức hoạt động của các giaothức mạng, giới thiệu về kỹ thuật chặn bắt và phân tích gói tin, xây dựng mộtchương trình chặn bắt và phân tích gói tin, đồng thời đi vào tìm hiểu và xâydựng thử nghiệm một hệ thống phát hiện xâm nhập thông minh dựa trên kếtquả thu được từ việc chặn bắt và phân tích gói tin Cấu trúc chính của đề tàibao gồm các phần sau:

Lời mở đầu: Nêu lên tầm quan trọng và xu hướng phát triển của vấn đề

bảo mật hiện nay và giới thiệu về đề tài

Chương 1: Cơ sở lý thuyết về mạng máy tính.

Chương 2: Kỹ thuật chặn bắt gói tin trên mạng máy tính.

Chương 3: Xây dựng chương trình chặn bắt gói tin.

Chương 4: Ứng dụng kỹ thuật chặn bắt gói tin để xây dựng chương trình

phát hiện xâm nhập thông minh

Kết luận: Đánh giá tổng kết về đề tài cũng như đưa ra một số giải pháp.

Trang 13

Do kinh nghiệm chưa nhiều nên đề tài không tránh khỏi những thiếu sót,

sơ xuất, nên em rất mong nhận được những nhận xét đánh giá của các thầy cô

và sự đóng góp ý kiến của các bạn để có thể rút ra được kinh nghiệm cho việchọc tập, làm việc và nghiên cứu sau này Em cũng xin chân thành cảm ơnThạc sĩ Nguyễn Anh Tuấn và Thạc sĩ Nguyễn Quốc Toàn đã tận tình hướngdẫn em thực hiện đề tài này

SV thực hiện

Chương 1

CƠ SỞ LÝ THUYẾT VỀ MẠNG MÁY TÍNH

1.1 TỔNG QUAN HỆ THỐNG MẠNG TCP/IP

1.1.1 Khái niệm mạng máy tính.

Từ những năm 1960 đã xuất hiện các mạng nối các máy tính và cácTerminal để sử dụng chung nguồn tài nguyên, giảm chi phí khi muốn thôngtin trao đổi số liệu và sử dụng trong công tác văn phòng một cách tiện lợi

Trang 14

Với việc tăng nhanh các máy tính mini và các máy tính cá nhân làm tăngyêu cầu truyền số liệu giữa các máy tính, giữa các terminal, và giữa cácterminal với máy tính là một trong những động lực thúc đẩy sự ra đời và pháttriển ngày càng mạnh mẽ các mạng máy tính Quá trình hình thành mạng máytính có thể tóm tắt qua các giai đoạn sau:

- Giai đoạn các terminal nối trực tiếp với máy tính: Đây là giai đoạn đầutiên của mạng máy tính, để tận dụng công suất của máy tính người ta ghép nốicác terminal vào một máy tính được gọi là các máy tính trung tâm

- Giai đoạn các bộ tiền xử lý (Prontal): Ở giai đoạn 1 máy tính trung tâmquản lý truyền tin tới các terminal, ở giai đoạn 2 máy tính trung tâm quản lýtruyền tin tới các bộ tập trung qua các bộ ghép nối điều khiển đường truyền

Ta có thể thay thế bộ ghép nối đường truyền bằng các máy tính nini gọi làprontal, đó chính là bộ tiền xử lý

- Giai đoạn mạng máy tính:

+ Vào những năm 1970 người ta bắt đầu xây dựng mạng truyền thôngtrong đó các thành phần chính của nó là các nút mạng gọi là bộ chuyển mạchdùng để hướng thông tin tới đích

+ Các mạng được nối với nhau bằng đường truyền còn các máy tính

xử lý thông tin của người dùng hoặc các trạm cuối được nối trực tiếp vào cácnút mạng để khi cần thì trao đổi thông tin qua mạng Các nút mạng thương làmáy tính nên đồng thời đóng vai trò của người sử dụng

+ Chức năng của nút mạng là quản lý truyền tin, quản lý mạng

Như vậy các máy tính ghép nối với nhau hình thành mạng máy tính, ởđây ta thấy mạng truyền thông cũng ghép nối các máy tính với nhau nên kháiniệm mạng maý tính và mạng truyền thông có thể không phân biệt

Việc hình thành mạng máy tính nhằm đạt các mục đích sau:

- Tận dụng và làm tăng giá trị của tài nguyên

- Chinh phục khoảng cách

- Tăng chất lượng và hiệu quả khai thác và xử lý thông tin

Trang 15

- Tăng độ tin cậy của hệ thống nhờ khả năng thay thế khi xảy ra sự cốđối với một máy tính nào đó.

Như vậy: Mạng máy tính là tập hợp các máy tính được ghép với nhaubởi các đường truyền vật lý theo một kiến trúc nào đó

1.1.2 Kiến trúc phân tầng của mạng máy tính.

Để giảm độ phức tạp trong thiết kế và cài đặt mạng, các mạng máy tínhđược tổ chức thiết kế theo kiểu phân tầng (layering) Trong hệ thống thànhphần của mạng được tổ chức thành một cấu trúc đa tầng, mỗi tầng được xâydựng trên tầng trước đó; mỗi tầng sẽ cung cấp một số dịch vụ cho tầng caohơn Số lượng các tầng cũng như chức năng của mỗi tầng là tuỳ thuộc vào nhàthiết kế (Ví dụ cấu trúc phân tầng của mạng SNA của IBM, mạng DECnetcủa Digital, mạng ARPANET là có sự khác nhau) Nguyên tắc cấu trúccủa mạng phân tầng là: mỗi hệ thống trong một mạng đều có cấu trúc phântầng (Số lượng tầng, chức năng của mỗi tầng là như nhau) Mục đích của mỗitầng là để cung cấp một số dịch vụ nhất định cho tầng cao hơn

Tầng i của hệ thống A sẽ hội thoại với tầng i của hệ thống B, các quy tắc

và quy ước dùng trong hội thoại gọi là giao thức mức I

Giữa hai tầng kề nhau tồn tại một giao diện (interface) xác định các thaotác nguyên thuỷ của tầng dưới cung cấp lên tầng trên

Trong thực tế dữ liệu không truyền trực tiếp từ tầng i của hệ thống nàysang tầng i của hệ thống khác (trừ tầng thấp nhất trực tiếp sử dụng đườngtruyền vật lý để truyền các xâu bít (0,1) từ hệ thống này sang hệ thống khác)

Dữ liệu được truyền từ hệ thống gửi (sender) sang hệ thống nhận (receiver)bằng đường truyền vật lý và cứ như vậy dữ liệu lại đi ngược lên các tầng trên.Như vậy khi hai hệ thống liên kết với nhau, chỉ tầng thấp nhất mới có liên kếtvật lý còn ở tầng cao hơn chỉ có liên kết logic (liên kết ảo ) được đưa vào đểhình thức hoá các hoạt động của mạng thuận tiện cho việc thiết kế và cài đặtcác phần mềm truyền thông Như vậy để viết chương trình cho tầng N, phảibiết tầng N+1 cần gì và tầng N -1 có thể làm được gì

Trang 16

Hình 1.1: Minh họa kiến trúc phân tầng tổng quát.

Nguyên tắc để xây dựng kiến trúc phân tầng như sau:

- Để đơn giản cần hạn chế số lượng các tầng

- Tạo ranh giới các tầng sao cho các tương tác và mô tả các dịch vụ là tốithiểu

- Chia các tầng sao cho các chức năng khác nhau được tách biệt vớinhau, và các tầng sử dụng các loại công nghệ khác nhau cũng được tách biệt

- Các chức năng giống nhau được đặt vào cùng một tầng

- Chọn ranh giới các tầng theo kinh nghiệm đã được chứng tỏ là thànhcông

- Các chức năng được định vị sao cho có thể thiết kế lại tầng mà ảnhhưởng ít nhất đến các tầng kế nó

- Tạo ranh giới giữa các tầng sao cho có thể chuẩn hóa giao diện tươngứng

Trang 17

- Tạo một tầng khi dữ liệu được xử lý một cách khác biệt.

- Cho phép thay đổi chức năng hoặc giao thức trong một tầng không làmảnh hưởng đến các tầng khác

- Mỗi tầng chỉ có các ranh giới (giao diện) với các tầng kề trên và kềdưới nó

- Có thể chia một tầng thành các tầng con khi cần thiết

- Tạo tầng con để cho phép giao diện với các tầng kế cận

- Cho phép hủy bỏ các tầng con nếu thấy không cần thiết

1.1.3 Mô hình tham chiếu OSI.

1.1.3.1 Khái quát về mô hình OSI.

Hình 1.2: Mô hình OSI.

Mô hình tham chiếu OSI[1] là một cấu trúc phả hệ có 7 tầng, nó xác địnhcác yêu cầu cho sự giao tiếp giữa hai máy tính Mô hình này đã được địnhnghĩa bởi Tổ chức tiêu chuẩn hoá quốc tế (International Organization forStandardization) trong tiêu chuẩn số 7498-1 (ISO standard 7498-1)

Mục đích của mô hình là cho phép sự tương thích giữa các hệ máy đadạng được cung cấp bởi các nhà sản xuất khác nhau Mô hình cho phép tất cảcác thành phần của mạng hoạt động hòa đồng với nhau Vào những năm cuối

Trang 18

thập niên 1980, ISO đã tiến cử việc thực thi mô hình OSI như một tiêu chuẩnmạng.

Hiện nay chỉ có một phần của mô hình OSI được sử dụng Nhiều ngườicho rằng các đặc tả của mô hình OSI quá phức tạp và việc cài đặt đầy đủ cácchức năng của nó sẽ đòi hỏi nhiều thời gian, mặc dù có nhiều người nhiệt tìnhủng hộ mô hình OSI

1.1.3.2 Phương thức hoạt động của mô hình OSI.

Mô hình tham chiếu OSI được chia làm 7 tầng, mỗi tầng đều có chứcnăng và nhiệm vụ riêng biệt, đó là:

và không kết nối (connectionless)

- Với phương thức có kết nối (connection-oriented):

+ Trước khi truyền dữ liệu cần thiết phải thiết lập một liên kết logicgiữa các thực thể cùng tầng

+ Trong phương thức có kết nối quá trình truyền dữ liệu phải trải qua

ba giai đoạn theo thứ tự thời gian

* Thiết lập kết nối: hai thực thể đồng mức ở hai hệ thống thươnglượng với nhau về tập các tham số sẽ được sử dụng trong giai đoạn sau

* 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ý

Trang 19

* Huỷ bỏ kết nối (logic): giải phóng các tài nguyên hệ thống đãcấp phát cho liên kết để dùng cho các liên kết khác

+ Tương ứng với ba giai đoạn trao đổi, ba thủ tục cơ bản được sửdụng Mỗi thủ tục trên sẽ dùng các hàm nguyên thuỷ (Request, Indication,Response, Confirm) để cấu thành các hàm cơ bản của giao thức ISO

- Phương thức không kết nối (connectionless):

+ Với phương thức không kết nối thì không cần lập liên kết logic vàmỗi đơn vị dữ liệu được truyền là độc lập với các đơn vị dữ liệu trước hoặcsau nó

+ Phương thức không kết nối chỉ có duy nhất một giai đoạn đó là:truyền dữ liệu

So sánh hai phương thức hoạt động trên chúng ta thấy rằng phương thứchoạt động có kết nối cho phép truyền dữ liệu tin cậy, do đó có cơ chế kiểmsoát và quản lý chặt chẽ từng kết nối logic Nhưng nó phức tạp và khó cài đặt.Ngược lại, phương thức không kết nối cho phép các PDU (Protocol DataUnit) được truyền theo nhiều đường khác nhau để đi đến đích, thích nghi với

sự thay đổi trạng thái của mạng, song lại trả giá bởi sự khó khăn gặp phải khitập hợp các PDU để di chuyển tới người sử dụng

Hai tầng kề nhau có thể không nhất thiết phải sử dụng cùng một phươngthức hoạt động mà có thể dùng hai phương thức khác nhau

1.1.4 Mô hình TCP/IP.

1.1.4.1 Khái quát về mô hình TCP/IP.

Để các máy tính liên lạc được với nhau qua mạng thì chúng phải sử dụngcùng một ngôn ngữ hay còn gọi là giao thức (Protocol) Giao thức là một hệcác luật và chuẩn cho phép các máy tính trong mạng liên lạc với nhau

Trang 20

TCP/IP[2] (Transmission Control Protocol/Internet Protocol) là một bộgồm nhiều giao thức truyền thông khác nhau Đây là bộ giao thức phổ biếnnhất mà Internet và hầu hết các mạng máy tính thương mại hiện đang sửdụng Bộ giao thức này được đặt tên theo hai giao thức chính của nó là TCP

và IP Chúng cũng là hai giao thức đầu tiên được định nghĩa trong bộ giaothức TCP/IP

Bộ giao thức TCP/IP có thể được coi là một tập hợp các tầng Mỗi tầngtrong đó giải quyết một tập hợp các vấn đề có liên quan đến việc truyền, nhận

dữ liệu, chúng cung cấp các dịch vụ cho các giao thức tầng trên và sử dụngcác dịch vụ của các giao thức tầng thấp hơn Về mặt lôgic, các tầng ở phíatrên gần với người dùng hơn và làm việc với dữ liệu trừu tượng hơn, chúngdựa vào các giao thức tầng dưới để biến đổi dữ liệu thành các dạng mà cuốicùng có thể được truyền đi dưới dạng các tín hiệu điện

TCP/IP được thiết kế cho hai mục tiêu chính:

- Cho phép truyền thông qua các đuờng dây của mạng diện rộng (WideArea Network - WAN)

- Cho phép truyền thông giữa các môi trường đa dạng

1.1.4.2 Đặc điểm của mô hình TCP/IP.

- Là bộ giao thức chuẩn, mở và sẵn có, vì: nó không thuộc sở hữu củabất cứ một tổ chức nào; các đặc tả thì sẵn có và rộng rãi Vì vậy bất kì ai cũng

có thể xây dựng phần mềm truyền thông qua mạng máy tính dựa trên nó

- TCP/IP độc lập với phần cứng mạng vật lý, điều này cho phép TCP/IP

có thể được dùng để kết nối nhiều loại mạng có kiến trúc vật lý khác nhaunhư: Ethernet, Tokenring, FDDI, X25, ATM (Trong phạm vi đề tài ta chỉ xéttới Ethernet)

- TCP/IP dùng địa chỉ IP để định danh các host trên mạng tạo ra mộtmạng ảo thống nhất khi kết nối mạng

- Các giao thức lớp cao được chuẩn hoá thích hợp và sẵn có với ngườidùng

1.1.5 So sánh giữa mô hình OSI và TCP/IP.

Trang 21

Do nhiều nguyên nhân như lịch sử, chi phí… nên bộ giao thức TCP/IP

đã được sử dụng rất lâu trước khi mô hình OSI ra đời Cũng do vậy nên môhình OSI không được sử dung rộng rãi trong thực tế mà là mô hình học thuậtdùng để so sánh với mô hình thực tế là TCP/IP Hai cái có liên quan ít nhiều,song không phải là hoàn toàn giống nhau Điểm khác biệt đầu tiên dễ thấynhất là số lượng của các tầng Trong khi bộ giao thức TCP/IP có 4 thì môhình OSI có tới 7 tầng với sự khác biệt là 2 tầng mới: tầng phiên và tầng trìnhdiễn Nhiều so sánh đã gộp 2 tầng này vào tầng ứng dụng trong bộ giao thứcTCP/IP Hình vẽ sau đây so sánh các tầng tương ứng lẫn nhau giữa OSI vàTCP/IP:

Hình 1.3: Tương ứng các tầng giữa TCP/IP và OSI.

So sánh hai mô hình trên ta có thể rút ra một số điểm như sau:

- Trong khi mô hình OSI nhấn mạnh độ tin cậy được cung cấp trong dịch

vụ chuyển dữ liệu thì đối với TCP/IP coi độ tin cậy nằm trong vấn đề end toend

- Trong mô hình OSI tất cả mọi tầng đều có phát hiện và kiểm tra lỗi,tầng giao vận chỉ làm nhiệm vụ kiểm tra độ tin cậy của source – to –

Trang 22

destination Còn đối với bộ giao thức TCP/IP tầng giao vận làm mọi nhiệm vụkiểm tra phát hiện và sửa lỗi

- Mô hình OSI được xây dựng trước khi các giao thức của nó được xâydựng, do vậy nó có tính tổng quát cao và có thể được dùng để mô tả các môhình khác Ngược lại, bộ giao thức TCP/IP chỉ là một mô hình để nhóm vàmiêu tả những giao thức sẵn có trong thực tế Vì vậy bộ giao thức TCP/IPđược sử dụng rộng rãi trong thực tế trong khi mô hình OSI lại phù hợp vớimục đích học tập và giảng dạy

1.2 TÌM HIỂU VỀ MÔ HÌNH TCP/IP

1.2.1 Cấu trúc phân tầng của mô hình TCP/IP.

Để cho phép các máy tính trao đổi dữ liệu với nhau TCP/IP[3] sử dụng

mô hình truyền thông 4 tầng hay còn gọi là mô hình mạng DoD (Department

of Defense):

- Network Access Layer: tương ứng với tầng Physical và Datalink củaOSI

- Internet Layer: tương ứng với tầng Network của OSI

- Transport Layer: tương ứng với tầng Transport của OSI

- Application Layer: tương ứng với 3 tầng cao nhất (Session,Presentation, Application) trong OSI

Mỗi giao thức của TCP/IP đều thuộc một trong các tầng ở trên Nhữngtầng trên gần với người sử dụng hơn, còn những tầng dưới gần với thiết bịtruyền thông dữ liệu Mỗi tầng có các giao thức để phục vụ tầng trên nó, vàcác giao thức để sử dụng dịch vụ của tầng dưới nó (ngoại trừ giao thức củatầng đỉnh và tầng đáy)

Trang 23

Hình 1.4: Mô hình TCP/IP và các giao thức trong từng tầng.

Các giao thức chính hoạt động ở tầng Application:

- FTP (File transfer Protocol): Giao thức truyền file, cho phép người

dùng gửi hoặc nhận các file dữ liệu từ máy này tới máy khác thông qua mạng

- Telnet: Giao thức cho phép mô phỏng thiết bị đầu cuối giúp người dùng

đăng nhập vào máy chủ từ một máy khác trên mạng

- SMTP (Simple Mail Transfer Protocol): Một giao thức để gửi và nhận

thư

- DHCP (Dynamic Host Configuration Protocol): Giao thức cấu hình địa

chỉ IP động cho các host

- DNS (Domain Name System): Dịch vụ tên miền cho phép truy cập một

máy tính bằng tên tên miền của nó thay vì địa chỉ IP khó nhớ

- SNMP (Simple Network Management Protocol): Giao thức quản lý

mạng đơn giản

- HTTP (HyperText Transfer Protocol): 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-WWWCác giao thức chính hoạt động ở tầng Transport:

Trang 24

- UDP (User Datagram Protocol): Giao thức truyền không tin cậy nhưng

có ưu điểm của nó là nhanh và tiết kiệm

- TCP (Transmission Control Protocol): Cung cấp một phương thức

truyền tin cậy

Các giao thức chính hoạt động ở tầng Internet:

- IP (Internet Protocol): Giao thức Internet, cung cấp các thông tin để

làm sao các gói tin có thể đến được đích

- ARP (Address Resolution Protocol): Giao thức này có chức năng biên

dịch địa chỉ IP của máy đích thành địa chỉ MAC

- ICMP (Internet Control Message Protocol): Một giao thức thông báo

lỗi xảy ra trên đường truyền

- IGMP (Internet Group Management Protocol): Giao thức cung cấp

chức năng điều khiển truyền dẫn đa hướng (multicast)

Các công nghệ thường gặp ở tầng Network access: Ethernet, TokenRing, Token Bus, Fiber

1.2.2 Quá trình truyền nhận dữ liệu trong TCP/IP.

Truyền thông trên mạng là một thủ tục phức tạp bao gồm một loạt cáctiến trình TCP/IP truyền dữ liệu qua mạng bằng cách chia nhỏ dữ liệu thànhcác khối gọi là các gói tin (packet) Tên của các gói này sẽ thay đổi theo từnggiao thức Truyền một lượng dữ liệu lớn tương đương với một gói lớn quamạng sẽ mất khá nhiều thời gian, làm giảm đáng kể hiệu suất mạng hoặc gâytắc nghẽn toàn mạng do vậy cần chia dữ liệu thành các gói nhỏ để chúng cóthể dễ dàng di chuyển trên mạng điều này tránh được tắc nghẽn mạng và chophép các máy khác cũng có thể truyền dữ liệu, nếu một gói bị hỏng thì chỉ cầntruyền lại gói đó chứ không cần truyền lại toàn bộ dữ liệu

Khi gói được chuyển từ trên xuống qua các tầng thì giao thức tại mỗitầng thêm vào các gói thông tin riêng, thông tin riêng này được gọi là cácheader

Trong giao thức TCP đơn vị dữ liệu được gọi là các phân đoạn(segment), nó chứa header của giao thức TCP và dữ liệu ứng dụng

Trang 25

Trong các giao thức không tin cậy như ICMP, UDP, IGMP, ARP đơn vịtruyền được gọi là các thông báo (message), nó gồm phần header và dữ liệuứng dụng hoặc dữ liệu giao thức.

Trong giao thức IP đơn vị truyền được gọi là gói dữ liệu (ip datagram),

nó gồm phần header và dữ liệu từ tầng Transport

Ở tầng Network access đơn vị dữ liệu được gọi là khung (frame), nógồm header và dữ liệu từ tầng Internet

Hình 1.5: Đường đi của các gói tin trong môi trường mạng.

1.2.3 Sơ lược chức năng từng tầng trong mô hình TCP/IP.

1.2.3.1 Tầng ứng dụng (Application Layer).

Đây là tầng cao nhất trong cấu trúc phân lớp của TCP/IP Tầng này baogồm tất cả các chuơng trình ứng dụng sử dụng các dịch vụ sẵn có thông quamột chồng giao thức TCP/IP Các chương trình ứng dụng tương tác với mộttrong các giao thức của tầng giao vận để truyền hoặc nhận dữ liệu Mỗichương trình ứng dụng lựa chọn một kiểu giao thức thích hợp cho công việc

Trang 26

của nó Chương trình ứng dụng chuyển dữ liệu theo mẫu mà tầng giao vậnyêu cầu.

1.2.3.2 Tầng giao vận (Transport Layer).

Nhiệm vụ trước tiên của tầng giao vận là cung cấp sự giao tiếp thông tingiữa các chương trình ứng dụng Mỗi sự giao tiếp được gọi là end-to-end.Tầng giao vận cũng có thể điều chỉnh lưu lượng luồng thông tin Nó cũngcung cấp một sự vận chuyển tin cậy, đảm bảo rằng dữ liệu đến mà không bịlỗi Để làm như vậy, phần mềm giao thức hỗ trợ để bên nhận có thể gửi lạicác thông báo xác nhận về việc thu dữ liệu và bên gửi có thể truyền lại các góitin bị mất hoặc bị lỗi Phần mềm giao thức chia dòng dữ liệu ra thành nhữngđơn vị dữ liệu nhỏ hơn (thường được gọi là các Packets) và chuyển mỗipacket cùng với địa chỉ đích tới tầng tiếp theo để tiếp tục quá trình truyền dẫn

1.2.3.3 Tầng Internet (Internet Layer).

Tầng mạng xử lý giao tiếp thông tin từ một máy này tới một máy khác

Nó chấp nhận một yêu cầu để gửi một gói từ từ tầng giao vận cùng với mộtđịnh danh của máy đích mà gói tin sẽ được gửi tới Ví dụ với giao thức TCPhay UDP của tầng giao vận, nó sẽ bọc gói tin trong một IP Datagram, điềnđầy vào trong phần header, sử dụng giải thuật chọn đường để quyết định làgiao phát gói tin trực tiếp hay là gửi nó tới một Router, và chuyển datagramtới giao diện phối ghép mạng thích hợp cho việc truyền dẫn.tầng mạng cũng

xử lý các Datagram đến, kiểm tra tính hợp lệ của chúng, và sử dụng giải thuậtchọn đường đẻ quyết định là datagram sẽ được xử lý cục bộ hay là sẽ đượcchuyển đi tiếp Đối với các datagrams có địa chỉ đích cục bộ, thì phần mềmtầng mạng sẽ xoá phần header của các datagram đó, và chọn trong số các giaothức tầng giao vận một giao thức thích hợp để xử lý packet

1.2.3.4 Tầng liên kết (Link Layer).

Là tầng thấp nhất của bộ giao thức TCP/IP, chịu trách nhiệm về việcchấp nhận các datagram của tầng trên (ví dụ IP datagram) và việc truyền phátchúng trên một mạng xác định Theo quan điểm hiện nay mô hình TCP/IPkhông còn bao gồm các đặc tả vật lý, nói cách khác tầng liên kết cũng khôngcòn bao gồm vấn đề về phần cứng hay việc truyền tín hiệu vật lý nữa

Trang 27

1.2.4 Các giao thức chính trong mô hình TCP/IP và khuôn dạng dữ liệu tương ứng.

1.2.4.1 Ethernet.

Là giao thức nằm trong tầng liên kết hay một chuẩn công nghệ dành chomạng cục bộ (LAN) được quy định trong IEEE 802.3 Nó là một giao thứcnằm trong tầng liên kết của bộ giao thức TCP/IP hay tương ứng là tầng liênkết dữ liệu trong mô hình OSI Hiện nay nó đang được sử dụng rất rộng rãi sovới các giao thức khác như FDDI, Token Ring…Ethernet được dùng để gửinhững khối dữ liệu giữa điểm nguồn và điểm đích được xác định dựa vào địachỉ MAC (Media Access Control)

Cấu trúc của một đơn vị dữ liệu trong giao thức Ethernet (gọi là Ethernetframe) như sau: (đơn vị tính theo byte)

Hình 1.6: Cấu trúc của Ethernet frame.

- Preamble (PRE): Phần mở đầu gồm 7 byte và không được tính vào kíchthước của Ethernet Tất cả các byte trong phần mở đầu này đều có giá trị

10101010 và nó được dùng để đồng bộ đồng hồ giữa nơi nhận và gửi frame

- SOF (Start frame delimiter): gồm 1 byte và không được tính vào kíchthước của Ethernet Byte này có giá trị 101010111 và được sử dụng để đánhdấu bắt đầu của một frame Đối với những hệ thống Ethernet hiện nay hoạtđộng ở tốc độ 100 Mbps hoặc 1000Mbps không còn cần tới PRE và SOF

- DA (Destination Address): có độ dài 6 byte là địa chỉ nơi MAC củaEthernet card nơi đến Ở chế độ hoạt động bình thường Ethernet chỉ tiếp nhấnnhững frame có địa chỉ nơi đến trùng với địa chỉ (duy nhất) của nó hoặc địachỉ nơi đến thể hiện một thông điệp quảng bá Tuy nhiên hầu hết các Ethernetcard hiện nay đều có thể được đặt ở chế độ đa hỗn tạp (promiscuous mode) vàkhi đó nó sẽ nhận tất cả các frame xuất hiện trong mạng LAN

- SA (Source Addresss): có độ dài 6 byte là địa chỉ MAC của cardnguồn

Trang 28

- Length/Type (Độ dài/Loại): 2 byte chỉ ra độ dài (đối với IEEE 802.3MAC frame) và loại của Ethernet frame chỉ giao thức của tầng cao hơn (đốivới DIX Ethernet.(DEC- Intel – Xerox) – phổ biến hơn) Ví dụ như với DIXEthernet frame có giao thức tầng trên là IP thì 2 byte này sẽ có giá trị là 0800h

và ARP là 0806h

- Data Payload: Phần thông tin dữ liệu có độ dài từ 46 tới 1500 byte

- Trailer (FCS - Frame Check Sequence): 32 bit sửa lỗi CRC

Ethernet sử dụng phương thức truy nhập đường truyền CSMA/CD, dovậy những frame lỗi do xảy ra xung đột (collision) trên đường truyền làkhông thể tránh khỏi Tuy nhiên, nếu như tỉ lệ những frame lỗi vượt quá mộtmức nào đó (ví dụ như 1% tổng số frame) có nghĩa là hệ thống mạng đã cóvấn đề Những Ethernet frame lỗi bao gồm:

- Frame có độ lớn nhỏ hơn 64 byte (normal collision – xảy ra khá phổbiến)

- Frame có độ lớn lớn hơn 1518 byte

- Frame có độ lớn phù hợp nhưng có phần CRC bị sai lệch (late collision– nếu có nhiều frame dạng này tức là hệ thống mạng đang gặp vấn đề nghiêmtrọng)

1.2.4.2 ARP (Address Resolution Protocol).

Giao thức phân giải địa chỉ ARP là phương pháp tìm địa chỉ tầng liên kết(hay địa chỉ vật lý) khi biết địa chỉ tầng Internet (IP) hoặc một vài kiểu địachỉ tầng mạng khác ARP được sử dung không chỉ để chuyển đổi địa chỉ đốivới IP và Ethernet mà nó được cài đặt để làm việc với nhiều loại địa chỉ củacác tầng các loại mạng khác nhau Tuy nhiên, do sự phổ biến của IPv4 vàEthernet nên ARP chủ yếu được dùng để chuyển đổi từ địa chỉ IP thành địachỉ MAC Nó cũng được sử dụng đối với IP dựa trên các công nghệ LANkhác Ethernet như FDDI, Token Ring, IEEE 802.11 hay ATM

Trong thực tế, khi truyền thông với máy chủ thay vì truy vấn địa chỉ vật

lý của máy chủ, giao thức ARP sẽ sử dụng bộ đệm ARP (ARP cache) Bộđệm lưu trữ các địa chỉ IP gần nhất đã được phân giải Nếu địa chỉ MAC của

Trang 29

địa chỉ IP đích được tìm thấy trong bộ đệm thì địa chỉ này sẽ được sử dụng đểtruyền thông.

Cấu trúc của một đơn vị dữ liệu giao thức ARP như sau:

Operation (OPER)

64 Sender hardware address (SHA) (first 32 bits)

96 Sender hardware address (SHA)

160 Target hardware address (THA) (last 32 bits)

Hình 1.7: Cấu trúc tổng quát của gói tin ARP.

- Hardware type (2 bytes): Quy định kiểu phần cứng của mạng

- Protocol type (2 bytes): Quy định giao thức được dùng ở tầng Network

- Hardware length (1 byte): Độ dài của địa chỉ vật lý

- Protocol length (1 byte): Độ dài của địa chỉ logic

- Operation (2 bytes): cho biết bản tin ARP là yêu cầu (=1) hoặc trả lời(=2)

- Sender hardware address (6 bytes): Địa chỉ MAC máy gửi

- Sender protocol address (4 bytes): Địa chỉ IP máy gửi

- Target hardware address (6 bytes): Địa chỉ MAC máy gửi

- Target protocol address (4 bytes): Địa chỉ IP máy nhận

1.2.4.3 RARP (Reserve Address Resolution Protocol).

Trang 30

Là giao thức ngược lại so với ARP, tìm địa chỉ logic khi biết địa chỉ vật

lý Cấu trúc của một đơn vị dữ liệu của giao thức RARP hoàn toàn tương tựnhư ARP, ngoại trừ trường Operation Đối với gói dữ liệu ARP thì Operation

có giá trị 1 nếu là request, 2 nếu reply Đối với gói dữ liệu RARP thìOperation có giá trị 3 nếu là request và 4 nếu là reply

1.2.4.4 IP (Internet Protocol).

Giao thức IP là một giao thức trung tâm của bộ giao thức TCP/IP IP làmột giao thức hướng dữ liệu được sử dụng trong mạng chuyển mạch IP hoạtđộng theo phương thức connectionless và truyền dữ liệu không đảm bảo tincậy (không có sự trao đổi thông tin điều khiển) Vai trò của IP tương tự nhưvài trò của giao thức tầng mạng trong mô hình OSI với các chức năng nhưsau:

- Xác định lược đồ địa chỉ Internet

- Di chuyển dữ liệu giữa tầng giao vận và tầng liên kết

- Dẫn đường cho các đơn vị dữ liệu tới các trạm ở xa

- Thực hiện việc cắt và hợp các đơn vị dữ liệu

Giao thức IP sẽ bổ sung phần header vào trước segment được gửi từ tầnggiao vận xuống và gói tin trong giao thức IP được gọi là IP Datagram

Cấu trúc của IP Datagram như sau:

Source IP AddressDestination IP Address

Data

Trang 31

Hình 1.8: Cấu trúc gói tin IP Datagram.

- VER (4 bits): Cho biết version hiện hành của giao thức IP

- HLEN (4 bits): Cho biết kích thước của header tính bằng đơn vị word(4 bytes)

- Service of type (8 bits): mô tả thứ tự ưu tiên của các gói tin Thứ tự ưu

tiên đó như sau:

0 1 2 3 4 5 6 7

+ Precedence (3 bits đầu): xác định 8 mức độ ưu tiên

+ Bit D (bit 3): yêu cầu chuyển gấp

+ Bit T (bit 4): yêu cầu truyền ở đường truyền có thông lượng tốt + Bit R (bit 5): yêu cầu truyền bảo đảm

+ Bit 2: Datagram hoàn chỉnh = 0, là Fragment = 1

+ Bit 3: Fragment thường = 0, là Fragment cuối cùng = 1

- Fragment Offset (13 bits): Xác đinh vị trí tương đối theo bội số 8 củaphần dữ liệu của Fragment trong IP Datagram nguyên thủy ban đầu, giúpghép các Fragment lại thành gói tin hoàn chỉnh có nghĩa là phần dữ liệu mỗigói tin (trừ gói tin cuối cùng) phải chứa một vùng dữ liệu có độ dài là bội sốcủa 8 bytes

Trang 32

- Time to live (8 bits): Xác định thời gian tồn tại của IP Datagram ở trênmạng, tính bằng số lần đi qua các ruoter.

- Protocol (8 bits): Xác định giao thức ở tầng bên trên

- Header Checksum (16 bits): Là phần mã kiểm tra gói tin IP Datagram

có bị lỗi hay không

- Source IP Address (32 bits): Địa chỉ IP nguồn

- Destination IP Address (32 bits): Địa chỉ IP đích

- IP Option (24 bits): Phần các tùy chọn dùng cho mục đích đặc biệt.Khai báo các tuỳ chọn do nơi gửi yêu cầu Trường option không bắt buộc phải

có trong mọi gói IP datagram và chủ yếu dùng để kiểm tra lỗi trên mạng.Option là một phần quan trọng của giao thức IP nên mọi tiêu chuẩn thực hiệndựa trên IP phải bao gồm tiến trình xử lý trường này Độ dài của trườngOption thay đổi tuỳ thuộc vào các tham số đi kèm Khi các Option xuất hiệntrong datagram, nó sẽ kéo dài liên tục mà không có sự ngắt quãng

- Padding (8 bits): Chứa các bit 0

1.2.4.5 ICMP (Internet Control Message Protocol).

Giao thức ICMP cung cấp cơ chế thông báo lỗi và các tình huống khôngmong muốn cũng như điều khiển các thông báo trong bộ giao thức TCP/IP.Giao thức này được tạo ra để thông báo các lỗi dẫn đường cho trạm nguồn.ICMP phụ thuộc vào IP để có thể hoạt động và là một phần không thể thiếucủa bộ giao thức TCP/IP, tuy nhiên nó không phải giao thức dùng để truyềntải dữ liệu nên thường được coi nằm trong tầng Internetmà không phải là tầnggiao vận

Chức năng của ICMP như sau:

- Cung cấp thông báo phản hồi và trả lời để kiểm tra độ tin cậy của kếtnối giữ hai trạm Điều này được thiết lập bởi câu lệnh PING (Packet internetgropher)

- Địch hướng lại lưu lượng để cung cấp việc dẫn đường hiệu quả hơn khimột bộ dẫn đường quá tải dõ lưu lượng qua nó quá lớn

Trang 33

- Gửi thông báo về thời gian quá khi datagram của trạm nguồn đã vượtquá TTL và bị loại bỏ.

- Gửi quảng cáo dẫn đường để xác định địa chỉ của các bộ dẫn đườngtrên đoạn mạng

- Cung cấp các thông báo quá hạn thời gian

- Xác định subnet mask nào được sử dụng trên đoạn mạng

Cấu trúc của gói tin ICMP như sau:

Data

Hình 1.9: Cấu trúc tổng quát của gói tin ICMP.

- Type (1 byte): Xác định kiểu của thông điệp ICMP

- Code (1 byte): Xác định loại thông điệp ICMP

- Checksum (2 bytes): Mã kiểm tra tính đúng đắn của gói tin ICMP

- Identifier (2 bytes): Mã số của gói tin ICMP Nếu chỉ gửi đi 1 gói tin ICMP thì trường này có thể bỏ qua

- Sequence number (2 bytes): Số thứ tự của gói tin ICMP

unreachable

Đích không đến được

0 Network unreachable Mạng không đến được

1 Host unreachable Host không đến được

2 Protocol unreachable Host không hỗ trợ giao thức mà

bên gửi dùng

Trang 34

3 Port unreachable Không thể thiết lập kết nối với

5 Source route failed Không thể định tuyến cho gói tin

5

Redirect Gửi lại (chọn tuyến đường khác)

0 Redirect datagrams for

the network

Gửi lại gói tin cho mạng

1 Redirect datagrams for

the host

Gửi lại gói tin cho host

11 Redirect datagrams for

the type of service andnework

Gửi lại gói tin cho ToS và mạng

12 Redirect datagrams for

the type of service andhost

Gửi lại gói tin cho ToS và host

11

Time exceeded Time exceeded

0 Time to Live exceeded

Trang 35

15 Information request Information request

Bảng 1.1: Chi tiết kiểu và loại gói tin ICMP.

1.2.4.6 TCP (Transmission Control Protocol).

Giao thức điều khiển truyền TCP là một giao thức hoạt động theophương thức có kết nối (connection – oriented) Trong bộ giao thức TCP/IP,

nó là giao thức trung gian giữa IP và một ứng dụng phía trên, đảm bảo dữ liệuđược trao đổi một cách tin cậy và đúng thứ tự Các ứng dụng sẽ gửi các dònggồm các byte 8 bit tới TCP để gửi qua mạng TCP sẽ phân chia các dòng nàythành các đoạn (segment) có kích thước thích hợp (thường dựa theo kíchthước của đơn vị truyền dẫn tối đa MTU của tầng liên kết của mạng mà máytính đang nằm trong đó) Sau đó TCP chuyển các gói tin thu được xuống tầngdưới Trong quá trình này, nó sẽ có cơ chế bắt tay, điều khiển truyền, đánh sốthứ tự và sửa lỗi để việc truyền dẫn diễn ra đúng đắn và chính xác

Đơn vị dữ liệu của TCP được gọi là Segment bao gồm 2 phần: Header vàData, được miêu tả dưới hình sau:

Sequence NumberAcknownledgement Number

Data

Trang 36

Hình 1.10: Cấu trúc gói tin trong giao thức TCP.

- Source Port (16 bits): Số hiệu cổng dịch vụ máy nguồn

- Destination Porf (16 bits): Số hiệu cổng dịch vụ máy đích

- Sequence Number (32 bits): Số thứ tự gói tin được tạo ngẫu nhiên

- Acknownledgement Number (32 bits): Số báo thu, mã hiệu gói tin màđầu nhận đang chờ nhận

- HLEN (4 bits): Xác định kích thước của phần header

- Reserverd (6 bits): Dự phòng

- Code Bits (6 bits): Xác định chi tiết kiểu segment

+ URG: Thông báo đây là gói tin khẩn cấp cần gửi đi ngay

+ ACK: Để báo đây là 1 segment ACK

+ PSH: Để thông báo gói tin ở trạng thái đang được gủi đi

+ RST: Thiết lập lại đường truyền

+ SYN: Để bắt tay thiết lập chế độ đồng bộ

+ FIN: Báo kết thúc kết nối, giải phóng các vùng nhớ đệm

- Window (16 bits): Kích thước cửa sổ trượt

- Checksum (16 bits): Mã sửa sai

- Urgent Pointer (16 bits): Là Sequence Number dịch trái nếu cờ URGđược bật

- Options: Tùy chọn (nếu có)

- Padding (8 bits): Chứa các bit 0

1.2.4.7 UDP (User Datagram Protocol).

Đây là một giao thức không kết nối Khác với TCP, UDP không có cácchức năng thiết lập và giải phóng kết nối Nó cũng không cung cấp các cơ chếbáo nhận, không sắp xếp tuần tự các đơn vị dữ liệu đến và có thể dẫn tới tìnhtrạng dữ liệu mất hoặc trùng mà không hề có thông báo lỗi cho người gửi

Trang 37

Tóm lại nó cung cấp các dịch vụ giao vận không tin cậy Do ít chức năngphức tạp nên UDP có xu thế hoạt động nhanh hơn so với TCP Nó thườngđược dùng cho các ứng dụng không đòi hỏi độ tin cậy cao trong giao vận.

Cấu trúc của một đơn vị dữ liệu UDP như sau:

Data (if any)

Hình 1.11: Cấu trúc gói tin trong giao thức UDP.

- Source Port (16 bits): Số hiệu cổng nơi gửi

- Destination Port (16 bits): Số hiệu cổng nơi nhận

- Length (16 bits): Độ dài của UDP Datagram tính theo bytes

- Checksum (16 bits): Mã sửa sai, dùng để máy đích kiểm tra rằng UDPDatagram được giữ nguyên vẹn trên đường đi

Tóm lược

Nội dung của chương này đã khái quát toàn bộ cở sở lý thuyết cơ bảncủa hệ thống mạng máy tính, các kiến thức cơ bản về mô hình OSI, mô hìnhTCP/IP, sự khác nhau và mối liên hệ giữa chúng Ngoài ra, trong chương này

em còn đi sâu vào việc giới thiệu chi tiết bộ giao thức TCP/IP, các giao thứcchính và khuôn dạng dữ liệu của chúng

Những kiến thức trên đây là những kiến thức nền tảng cơ bản và cầnthiết để tiếp tục đi sâu vào nội dung của chương sau

Trang 39

Packet capture gồm có:

- Deep Packet Capture (DPC): là hành động chặn bắt toàn bộ các gói tintrên mạng (bao gồm cả phần header và payload) Các gói tin chặn bắt được sẽđược lưu trữ lại trong bộ nhớ tạm thời hoặc lâu dài

- Deep Packet Inspection (DPI): là quá trình kiểm tra, đánh giá để tìm ranguyên nhân của những vấn đề của mạng, xác định nguy cơ an toàn bảo mật,chắc chắn mạng hoạt động chính xác về kỹ thuật và luật pháp

- DPC và DPI được kết hợp với nhau nhằm quản lý, đánh giá, phân tích

sự luân chuyển các gói tin trên mạng đồng thời lưu giữ lại những thông tin đócho các mục đích khác sau này

Trong thực tế packet capture có thể ghi lại được header mà không cầnlưu giữ toàn bộ phần nội dung payload Nhờ vậy, ta có thể giảm được yêu cầu

bộ nhớ dùng để lưu trữ, tránh các vấn đề pháp luật trong khi vẫn có đầy đủnhững thông tin cần thiết nhất

2.1.4 Packet Analyzer (Sniffer).

Là phần mềm hoặc phần cứng máy tính được gắn vào trong một mạngmáy tính để có thể theo dõi thông tin lưu chuyển (network traffic) trên mộtmạng hay một phần của mạng Sniffer sẽ có nhiệm vụ chặn bắt các gói tin,sau đó giải mã, phân tích nội dung của nó nhằm thực hiện các mục đích khácnhau

2.2 ỨNG DỤNG CỦA VIỆC CHẶN BẮT GÓI TIN

2.2.1 Khả năng.

Đối với mạng LAN có dây thì phụ thuộc vào cấu trúc của mạng (sử dụnghub hay switch) ta có thể chặn bắt toàn bộ hay một phần các thông tin trênmạng từ một nút duy nhất nằm trong mạng Đối với hub ta có thể chặn bắt tất

cả các gói tin truyền tải qua mạng, nhưng đối với switch cần phải có một sốphương thức đặc biệt như ARP spoofing

Trang 40

Đối với mạng LAN không dây thì các gói tin được chặn bắt trên cáckênh riêng biệt.

Để một máy có thể chặn bắt thông tin trong mạng của nó, networkadapter phải được đặt ở promiscuous mode (network adapter ở chế độ Promiscuous sẽ lấy tất cả các packet trên đường truyền, bất kể packet đó cóphải dành cho nó hay không)

2.2.2 Mục đích của việc chặn bắt gói tin.

Các chương trình chặn bắt gói tin thường có 2 dạng chính:

- Dùng để kiểm tra bảo trì mạng

- Và dạng kia là dùng để xâm nhập mạng

Các chương trình chặn bắt gói tin thường được sử dụng cho các mụcđích như:

- Phân tích hiệu năng làm việc hoặc sự cố mạng

- Nhận biết sự xâm nhập mạng, rò rỉ thông tin, lấy về thông tin liênquan tới quá trình xâm nhập

- Quản lý sử dụng mạng

- Tập hợp thông tin báo cáo về trạng thái mạng

- Sửa lỗi, bảo trì các hình thái, giao thức mạng

- Lọc lấy thông tin cần thiết được lưu chuyển trên mạng, đưa về dạngphù hợp để con người có thể đọc

- Chặn bắt các thông tin nhạy cảm như mật khẩu, username của ngườidùng khác trên mạng nhằm xâm nhập hệ thống của họ

2.3 CÁC THÀNH PHẦN CHÍNH CỦA MỘT CHƯƠNG TRÌNHCHẶN BẮT GÓI TIN

2.3.1 Thành phần phần cứng.

Phần cứng thỏa mãn các tiêu chuẩn của Network Adapter Ngoài ra cóthể có các tính năng đặc biệt bổ sung để kiểm tra lỗi CRC, lỗi điện thế, lỗicáp

Ngày đăng: 09/04/2016, 09:47

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Internetworking với TCP/IP (Tập 1, Tập2) - tác giả: Nguyển Quốc Cường Sách, tạp chí
Tiêu đề: Internetworking với TCP/IP (Tập 1, Tập2)
[2]. CCNA Exploration 4.0 - Xuất bản: ACT Networking Academy Sách, tạp chí
Tiêu đề: CCNA Exploration 4.0
[3]. Networking Protocol Suites – Copyright @ 1996 , Cisco System, Inc Sách, tạp chí
Tiêu đề: Networking Protocol Suites
[4]. C# Network Programming - by Richard Blum and Bih Vinu, ISBN 0- 7821-4176-5, Publishing by SYBEX, 11/2003 Sách, tạp chí
Tiêu đề: C# Network Programming
[5]. Maximum Entropy Models for Natural Language Processing – by Martin Lazarov Sách, tạp chí
Tiêu đề: Maximum Entropy Models for Natural Language Processing
[6]. Maximum Entropy Tiered Tagging – by Alexandru Ceausu, Research Institute for Artificial Intelligence, Romanian Academy.Website Sách, tạp chí
Tiêu đề: Maximum Entropy Tiered Tagging" – by Alexandru Ceausu, ResearchInstitute for Artificial Intelligence, Romanian Academy

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w