Chuẩn PPP (Point To Point) 5 6-

Một phần của tài liệu Nghiên cứu cơ chế truyền thông và xây dựng công cụ phân tích, xử lý số liệu internet trên thông tin trên thông tin liên lạc vệ tinh địa tĩnh (Trang 56)

PPP được xây dựng dựa trên nền tảng giao thức điều khiển truyền dữ liệu lớp cao (High-Level Data link Control (HDLC)) nó định ra các chuẩn cho việc truyền dữ liệu các giao diện DTE và DCE của mạng WAN như V.35, T1, E1, HSSI, EIA- 232-D, EIA-449. PPP được ra đời như một sự thay thế giao thức Serial Line Internet Protocol (SLIP), một dạng đơn giản của TCP/IP.

PPP cung cấp cơ chế chuyển tải dữ liệu của nhiều giao thức trên một đường truyền, cơ chế sửa lỗi nén header, nén dữ liệu và multilink. PPP có hai thành phần:

Link Control Protocol (LCP): có chức năng thiết lập, điều chỉnh cấu hình, và hủy bỏ một liên kết. Hơn thế nữa LCP còn có cơ chế Link Quality Monitoring (LQM) có thể được cấu hình kết hợp với một trong hai cơ chế chứng thực password Authentication Protocol (PAP) hay Challenge Handshake Authentication Protocol (CHAP).

Network Control Protocol (NCP): làm nhiệm vụ thiết lập, điều chỉnh cấu hình và hủy bỏ việc truyền dữ liệu của các giao thức của lớp network như: IP, IPX, AppleTalk and DECnet.

Hiện nay đã có sự mở rộng của PPP phục vụ cho việc truyền dữ liệu sử dụng nhiều links một lúc, đó là Multilink PPP (MPPP) trong đó sử dụng Multilink Protocol (MLP) để liên kết các lớp LCP và NCP.

Định dạng một khung PPP cơ bản:

Hình 3-7: Cấu trúc khung PPP

- Khung PPP gồm có phần đầu khung, phần dữ liệu của khung, phần tổng kiểm tra khung và phần kết thúc khung;

- PPP sử dụng 1 byte đặc biệt là 7E (dạng Hexa) được gọi là byte cờ (Flag) để làm cờ đánh dấu điểm bắt đầu và kết thúc của khung;

- Trường địa chỉ Address có giá trị là FF (dạng Hexa): byte này có vai trò dò tìm địa chỉ giữa hai nơi, nơi gửi và nơi nhận. Byte này thường có giá trị là FF để đảm bảo là nơi nhận luôn nhận được các gói tin.

- Trường điều khiển Control có giá trị 03 (dạng Hexa) để biểu thị rằng giao thức không sử dụng cơ chế báo nhận dựa trên số thứ tự của khung.

- Trường giao thức Protocol có kích thước 2 bytes, chỉ báo giao thức của phần dữ liệu (ở trường information) được đóng gói trong khung PPP. Ví dụ 2 byte (dạng hexa) có giá trị 00 21 chỉ báo giao thức IP.

- Trường dữ liệu Information là nơi chứa gói tin với chiều dài khác nhau. Chiều dài tối đa mặc định là 1500 bytes.

- Trường kiểm tra (FCS): Thông thường 16 bit (2 byte).

Trong trường Protocol của giao thức PPP bao gồm các giao thức khác nhau như giao thức internet IP (Intetnet Protocol), giao thức điều khiển liên kết LCP (Link Control Protocol).

Hình 3-8: Số liệu phân tích thực tế cấu trúc chuẩn PPP (FF 03 00 3D)

Các khung chứa gói IP4 mà byte mang giá trị 45 nằm ở vị trí thứ 11. 3.1.3.1.4.Chuẩn Ethernet

Cấu trúc khung Ethernet II:

Khung Ethernet được định nghĩa trong tiêu chuẩn IEEE 802.3. Khung này được sử dụng rộng rãi trong mô hình TCP/IP để đóng gói dữ liệu thành các khung dữ liệu truyền qua mạng Internet. Một khung Ethernet II có cấu trúc như sau:

Hình 3-9: Cấu trúc khung Ethernet II

- Ý nghĩa các trường trong khung EthernetII:

+ Destination MAC Address (6 byte): Thể hiện địa chỉ MAC đích, tức là địa chỉ MAC của máy tính mà khung dữ liệu cần đến.

+ Source MAC Address (6 bytes): Thể hiện địa chỉ MAC nguồn (Địa chỉ MAC của máy tính nơi khung dữ liệu xuất phát).

+ Ethernet Type (2 bytes): Thể hiện kiểu giao thức ở tầng trên. Các giá trị Hexa cụ thể là:

08 00 IP4 - Internet Protocol version 4 (IPv4) 08 06 ARP - Address Resolution Protocol (ARP) 86 dd IPv6 - Internet Protocol version 6 (IPv6)

+ Data (46 – 1500 byte): Chứa dữ liệu của khung. Kích thước dữ liệu thay đổi từ 46 đến 1500 bytes

+ CRC Checksum (4 byte): Dùng để kiểm tra lỗi của khung. Sự đóng gói Ethernet theo khuôn dạng HDLC:

Phân tích số liệu chứa các khung Ethernet II thực tế như sau:

Hình 3-10: Phân tích số liệu thực khung Ethernet II

Kết quả phân tích cho thấy: Sau 12 byte thể hiện địa chỉ MAC đích và địa chỉ MAC nguồn xuất hiện cặp byte có giá trị “08 00” thì tiếp sau là byte có giá trị “45”. Byte 45 cho ta biết giao thức lớp mạng là IP4.

Khung Ethernet II đóng trong khung HDLC của OSI: (adsbygoogle = window.adsbygoogle || []).push({});

Hình 3-11: Cấu trúc khung Ethernet II trong khung HDLC

Trong đó:

- Trường cờ mở: 1 byte (giá trị 7E dạng hexa). - Trường địa chỉ: 1 byte.

- Trường điều khiển: 1 byte.

- Trường thông tin: chứa toàn bộ khung Ethernet. - Trường tổng kiểm tra khung: 2 hoặc 4 byte. - Trường cờ đóng: 1 byte (giá trị 7E dạng hexa). Phân tích số liệu thực tế như sau:

Hình 3-12:Phân tích số liệu thực khung Ethernet II trong khung HDLC

Kết quả phân tích cho thấy: đây là khung Ethernet II được đóng trong khung HDLC. Ở vị trí byte thứ 15 và 16 xuất hiện cặp byte “08 00” và byte thứ 17 có giá trị 45 - cho biết khung này có chứa gói IP4.

3.1.3.1.5.Chuẩn Frame Relay

Frame Relay là một dạng kỹ thuật truyền đa khung, một khung Frame Relay có thể đóng gói cùng lúc nhiều gói IP4. Các khung Frame Relay trước khi phát đi được đóng gói thành các khung theo khuôn dạng HDLC. Khi đó, một khung HDLC có thể đóng gói nhiều gói IP4, một gói IP4 có thể được đóng gói trên nhiều khung HDLC khác nhau. Đây chính là kỹ thuật đóng gói HDLC đa khung.

Frame Relay là một dịch vụ truyền số liệu mạng diện rộng dựa trên công nghệ chuyển mạch gói. Đây là một chuẩn của CCITT [1] và ANSI [2] định ra quá trình truyền dữ liệu qua mạng dữ liệu công cộng. Đặc điểm của Frame Relay là truyền thông tin qua mạng diện rộng bằng việc chia dữ liệu thành những gói tin. Mỗi gói tin đi qua một dãy các thiết bị chuyển mạch trong mạng Frame Relay để đi đến đích.

Cấu hình chung của mạng Frame Relay:

Hình 3-13: Cấu hình mạng Frame Relay

Cơ sở để tạo được mạng Frame Relay là các thiết bị truy nhập mạng FRAD (Frame Relay Access Device), các thiết bị mạng FRND (Frame Relay Network

Device), đường nối giữa các thiết bị và mạng trục Frame Relay. Thiết bị FRAD có thể là các LAN bridge, LAN Router v.v... Thiết bị FRND là các Tổng đài chuyển mạch khung (frame) hay tổng đài chuyển mạch tế bào (Cell Relay - chuyển tải tổng hợp các tế bào của các dịch vụ khác nhau như âm thanh, truyền số liệu, video, …). Đường kết nối giữa các thiết bị là giao diện chung cho FRAD và FRND, giao thức người dùng và mạng gọi là F.R UNI (Frame Relay User Network Interface).

Luồng bit số liệu thu được trên thông tin liên lạc vệ tinh như hình sau. Trong đó có phần truyền đồng bộ và phần truyền dữ liệu.

Hình 3-14: Luồng số liệu thực đăng ký được trên TTLL vệ tinh Các bước tiến hành phân tích cấu trúc:

Bước 1: Tìm cờ 7E (dạng hex) tương đương 01111110 (dạng bit). Sau khi xác định 7E tạo thành các gói như sau:

Hình 3-15: Cắt luồng số liệu theo cờ 7E (dạng hexa), 01111110 (dạng bit)

Ta nhận thấy sau 7E toàn 00. Cờ

Bước 2: Xoá bit nhồi: thay thế chuỗi 111110 bằng 11111. Bit nhồi 0 thêm vào có tác dụng phân biệt cờ 01111110 với giá trị bit thông tin 01111110. Vì nếu là bit thông tin 01111110 thì phải là 0111110110.

01111110 000000001000110000010010110100000110000000011000100000011100001111101010101 01111110 000000001100110011010010110101111100011111011000100001111100000001101010101 01111110 000000000100110011010010110100111100011011011000100001110100110001101011110 01111110 000000000100110011011111001011010111100011110110001000011110000001101010101 01111110 000000000100110011010010110111110110100011101100010010011000011111001011001 01111110 000000001101110010100101101011011101010101100010010011101100001001101001111 01111110 000000000100110101010110110101110111000110111011001000101111000101110101000 01111110 000000001100110011010010111110101100100011101100010011100011100010101110101 01111110 000000001100110011010110110101101110111110111110001001011100111110000011010 01111110 000000001100110011010010110101110001101100010001111000000011010101010000001 01111110 000000001000110011111010010110101100101101100010010010110000110101010111110 01111110 000000001001110010100101101111011101010101101010010011101100101001101001100 01111110 000000000100110101010110110101110111000110100001100100010111101011101010111 01111110 000000001101010011010010111010101100100011101101010011100011100010101110101 01111110 000000001101110011010110110101101110111011110001001010110011011000110011010 01111110 000000001100110011010010110101110001101100010001111001111100001111101100001 01111110 000000001000110111110100101101011001011011111000100010101011010101011111001 01111110 000000000100110101010110110101110111100110100101100100010111101011101010110

Kết quả sau khi xoá bit nhồi sẽ thu được như sau:

01111110 00000000100011000001001011010000011000000001100010000001110000111111010101 01111110 000000001100110011010010110101111100111111100010000111110000001101010101 01111110 000000000100110011010010110100111100011011011000100001110100110001101011110 01111110 00000000010011001101111101011010111100011110110001000011110000001101010101 01111110 0000000001001100110100101101111111010001110110001001001100001111101011001 01111110 000000001101110010100101101011011101010101100010010011101100001001101001111 01111110 000000000100110101010110110101110111000110111011001000101111000101110101000 01111110 00000000110011001101001011111101100100011101100010011100011100010101110101 01111110 000000001100110011010110110101101110111111111100100101110011111000011010 01111110 000000001100110011010010110101110001101100010001111000000011010101010000001 01111110 0000000010001100111111001011010110010110110001001001011000011010101011111 01111110 000000001001110010100101101111011101010101101010010011101100101001101001100 01111110 000000000100110101010110110101110111000110100001100100010111101011101010111 01111110 000000001101010011010010111010101100100011101101010011100011100010101110101 01111110 000000001101110011010110110101101110111011110001001010110011011000110011010 01111110 0000000011001100110100101101011100011011000100011110011111000111111100001 01111110 000000001000110111111001011010110010110111110010001010101101010101111101 01111110 000000000100110101010110110101110111100110100101100100010111101011101010110

Hình 3-16: Kết quả thực hiện xóa bit nhồi

Bước 3: Phân tích dữ liệu giữa 2 đoạn của cờ 7E nhận thấy có đặc điểm sau: - Byte đầu tiên là byte 0 (00)

- Byte thứ 3 chỉ số thứ tự

- Byte thứ 4 thường có những giá trị nhất định như: 09, 0B, 0D, 0F.

Hình 3-17: Kết quả phân tích xác định giá trị trong khung Bước 4: Xác định độ dài khung:

Sau khi đếm số byte của từng khung và so sánh giá trị thấy rằng byte thứ 2 của khung báo độ dài, thường có giá trị 0x62 (98), 0x63 (99).

số thứ tự (adsbygoogle = window.adsbygoogle || []).push({});

số thứ tự

Bước 5: Xác định byte kiểm tra 00635A0B02188103CC45000578EAB9000039064D510A44C8E80AAE669 B00500FE7C0A30A7E4BC142885010041132150000485454502F312E312032303 0204F4B0D0A446174653A205475652C203034204F637420323031312031353A3 2323A343420474D54 625B090D0A5365727665723A204170616368650D0A4C6173742D4D6F64 69666965643A205475652C2032372053657020323031312030393A35333A32362 0474D540D0A4163636570742D52616E6765733A2062797465730D0A43616368 652D436F6E74F1F0 Bước 6: Xác định gói IP Gói IP có cấu trúc sau:

- Một gói IPv4 bắt đầu với giá trị 4500 (hexa).

- Một gói IP ở đây gồm nhiều khung HDLC. Ở đây là 9 khung, khung 1 chưa 2 byte 4500.

Độ dài khung

2 byte kiểm tra

00635A0B02188103CC45000578EAB9000039064D510A44C8E80AAE66 9B00500FE7C0A30A7E4BC142885010041132150000485454502F312E31203230 30204F4B0D0A446174653A205475652C203034204F637420323031312031353A 32323A343420474D54 625B090D0A5365727665723A204170616368650D0A4C6173742D4D6F64 69666965643A205475652C2032372053657020323031312030393A35333A32362 0474D540D0A4163636570742D52616E6765733A2062797465730D0A43616368 652D436F6E74F1F0 (khung 1) 00625C09726F6C3A206D61782D6167653D3330300D0A45787069726573 3A205475652C203034204F637420323031312031353A32373A343420474D540D 0A436F6E74656E742D547970653A20696D6167652F6A7065670D0A4167653A 20330D0A582D4361 625D096368653A204849542066726F6D203135332D3134372D485030383 032303032392E73696E612E636F6D2E636E0D0A436F6E74656E742D4C656E67 74683A20373437330D0A50726F78792D436F6E6E656374696F6E3A204B65657 02D416C697665C186 (khung 2) … 0062660974C7AB4C51DEFA547D2B56DFBA39F243B2490437666E8E05 C2807CFCCF9573C4AA666607B01D07DF58EDFCB6E7AD7FDBA7D5FC75C CEF6FF49CF0DDBF3771C3CAC9DBE618D98485825235051563ED1B56F585A E4DCF3FF7B1903D156177423CA4F90C (khung 8) 00626709D2A483E46A11ED46E78B39976F375C9850175B746553A15C1 FBFAD5A734A8502ADC8045F4F7A9EB316B73F5AF0DC71A7CC478F1A410 4DA40596C095B8EA56F717A8BC5C7F7EC7698EEDBAB6763B25844E0925F F8AEC3A0B780A982CA5E62EA8C 41680B04A05BE636D245BC3C6B1B76C85FDA3BA9BD94DBEEA8BD5 35FED1CE9BE63BE2EE796D11B2A3DFF00B07FC6B69B06F3361E663EE18A DA6581D5997E23FF174E96B1 (khung 9)

Bước 8: Xác định kiểu gói Có rất nhiều kiểu gói: 0702188103CC4500 0706188103CC4500 0B02188103CC4500 ….. Giá trị gói IP

Giá trị báo khung kết thúc gói IP Khung

Đặc điểm kỹ thuật đa khung:

- Một gói IP có thể được chia làm nhiều gói HDLC

- Mỗi gói HDLC sẽ được báo độ dài, đánh thứ tự theo từng khối. - Mỗi gói HDLC có 2 byte cuối cùng dùng để kiểm tra.

- Trong gói đa khung thì nhiều loại gói nên khi ghép ta phải phân loại được đó thuộc loại gói nào.

Kỹ thuật phân mảnh:

Bước1: Gói IP được chia làm nhiều mảnh, mỗi mảnh là gói HDLC 7E 7E Frame 1... CRC 7E 7E Frame 2...

Bước 2: Mỗi gói HDLC được chia thành nhiều gói dữ liệu có đặc điểm sau: - Độ dài gói dữ liệu đầu tiên thường 99 (0x63 giá trị hexa)

- Các gói sau có độ dài 98 (0x62).

- Gói cuối cùng độ dài không cố định phụ thuộc độ dài gói IP.

Một gói IP được chia thành nhiều gói dữ liệu nhỏ HDLC mục đích là đảm bảo việc truyền tải dữ liệu an toàn hơn, chính xác hơn.

Kỹ thuật ghép mảnh: Bước 1: Tìm cờ 7E

Bước 2: Xoá bit nhồi

Bước 3: Xác định khung HDLC.

Bước 4: Cắt lấy dữ liệu của khung HDLC

Bước 5: Tìm đầu gói IP 0B02188103CC4500

Bước 6: Ghép dữ liệu.

Thuật toán ghép mảnh:

Lưu đồ thuật toán như sau:

3.1.3.2. Tầng mạng (Network Layer)

Tầng mạng nằm bên trên tầng giao diện mạng. Tầng này có chức năng gán địa chỉ, đóng gói và định tuyến (Route) dữ liệu. Cụ thể nó nhận được một yêu cầu để gửi gói dữ liệu từ tầng trên cùng với một định danh của máy mà gói dữ liệu được gửi đến. Nó đóng gói dữ liệu vào một Packet, gán địa chỉ vào phần đầu của Packet, sau đó sử dụng các giao thức định tuyến để chuyển gói tin đi đến đích của nó hoặc trạm kế tiếp. Khi đó tại nơi nhận sẽ kiểm tra tính hợp lệ của chúng, và sử dụng tiếp các giao thức định tuyến để xử lý gói tin. Đối với những packet được xác định thuộc cùng mạng cục bộ, phần mềm Internet sẽ cắt bỏ phần đầu của Packet, và chọn một trong các giao thức của tầng giao vận thích hợp để xử lý chúng. Các giao thức quan trọng trong tầng này là:

+ IP (Internet Protocol): Có chức năng chính là gán địa chỉ cho dữ liệu trước khi truyền và định tuyến chúng tới đích. Hiện tại đang sử dụng IPv4 và IPv6. (adsbygoogle = window.adsbygoogle || []).push({});

+ ARP (Address Resolution Protocol): Có chức năng biên dịch địa chỉ IP của máy đích thành địa chỉ MAC.

Bắt đầu Ghép gói Còn dữ liệu? Kết thúc Tìm 7E Đọc dữ liệu S Xử lý gói IP IP? Đ Đ S S Đ

+ ICMP (Internet Control Message Protocol): Có chức năng thông báo lỗi trong trường hợp truyền dữ liệu bị hỏng.

+ IGMP (Internet Group Management Protocol): Có chức năng điều khiển truyền đa hướng (Multicast)

3.1.3.2.1.Giới thiệu chung về IP

Giao thức IP (Internet Protocol - Giao thức Liên mạng) là một giao thức hướng dữ liệu được sử dụng bởi các máy chủ nguồn và đích để truyền dữ liệu trong một liên mạng chuyển mạch gói.

Dữ liệu trong một liên mạng IP được gửi theo các khối được gọi là các gói (packet hoặc datagram). Cụ thể, IP không cần thiết lập các đường truyền trước khi một máy chủ gửi các gói tin cho một máy khác mà trước đó nó chưa từng liên lạc.

Giao thức tầng mạng thông dụng nhất ngày nay là giao thức IP phiên bản 4 (IPv4). IPv6 được đề nghị sẽ kế tiếp IPv4: Internet đang hết dần địa chỉ IPv4, do IPv4 sử dụng 32 bit để đánh địa chỉ (tạo được khoảng 4 tỷ địa chỉ); IPv6 dùng địa chỉ 128 bit, cung cấp tối đa khoảng 3.4×1038 địa chỉ. Còn có các phiên bản khác, chúng thường dành là các giao thức thử nghiệm và không được sử dụng rộng rãi. 3.1.3.2.2.Cấu trúc giao thức IPv4

Trong thủ tục Internet, những thông tin như địa chỉ IP của nơi gửi và nơi nhận gói tin, và những thông tin cần thiết khác được đặt phía trước dữ liệu. Phần thông tin đó được gọi là phần mào đầu (header).

Hình 3-18: Cấu trúc header của IPv4

Version - Chỉ định phiên bản của IP, có giá trị 4.

Internet Header Length - Chỉ định chiều dài IPv4 header (đơn vị đo là khối 4 byte). Cả Version và Internet header Length là 1 byte có giá trị 45 (Kiểu Hex).

Service Type - Chỉ định dịch vụ mong muốn khi truyền các gói tin qua router. Trường này có 8 bit, xác định quyền ưu tiên, độ trễ, thông lượng, các đặc tính chỉ định độ tin cậy khác. Trường Service Type gồm TOS (Type of Service) và Precedence. TOS xác định loại dịch vụ, bao gồm: giá trị, độ tin cậy, thông lượng, độ trễ hoặc bảo mật. Precedence xác định mức ưu tiên, sử dụng 8 mức từ 0-7.

Total Length - Chỉ định tổng chiều dài gói tin IPv4 (IPv4 header + IPv4 payload). Kích thước 16 bit, chỉ định rằng gói tin IPv4 có thể dài tới 65,535 byte.

Identification - Định danh gói tin. Kích thước 16 bit. Định danh cho gói tin được lựa chọn bởi nguồn gửi gói tin. Nếu gói tin IPv4 bị phân mảnh, mọi phân mảnh sẽ giữ lại giá trị trường định danh này, mục đích để node đích có thể nhóm lại các mảnh, phục vụ cho việc phục hồi lại gói tin.

Flags - Xác định cờ cho quá trình phân mảnh. Kích thước 3 bit. Có hai cờ: một để xác định gói tin bị phân mảnh và cờ kia chỉ định xem có thêm phân mảnh khác nữa tiếp theo phân mảnh hiện thời hay không.

Trong đó:

+ 0: chưa sử dụng và luôn bằng 0. + DF(Do not Fragment):

= 0 có nghĩa là cho phép phân mảnh. = 1 là không cho phép phân mảnh. + MF (More Fragments):

= 0 đây là đoạn phân mảnh cuối cùng (the last fragment). = 1 đây là phân đoạn tiếp theo (more fragments).

Fragment Offset - Chỉ định vị trí của phân mảnh trong phần payload của gói tin ban đầu. Trường này có kích thước 13 bit.

Time to Live - Chỉ định số lượng link tối đa mà một gói tin IPv4 có thể đi qua trước khi bị hủy bỏ. Trường này dài 8 bit. TTL được sử dụng như một bộ đếm thời gian mà router IPv4 dùng để quyết định độ dài thời gian cần thiết (bằng giây) để chuyển tiếp gói tin IPv4. Router hiện đại chuyển tiếp gói tin chưa đến một giây song luôn phải giảm giá trị trường này ít nhất 1 đơn vị. Khi giá trị TTL trở về 0, gói tin sẽ được hủy đi và thông điệp lỗi được gửi trả lại địa chỉ IPv4 nguồn.

Header Checksum - Cung cấp kiểm tra checksum cho IPv4 header. Có kích thước 16 bit. IPv4 payload không bao gồm trong checksum này mà thường chứa checksum riêng của nó. Các IPv4 node nhận gói tin sẽ kiểm tra IPv4 header checksum và loại bỏ gói tin nếu không trùng khớp thông tin. Khi router forward một gói tin IPv4, nó phải giảm giá trị trường TTL, do vậy trường Header Checksum được tính toán lại tại mỗi router giữa nguồn và đích.

Source Address - Chứa địa chỉ nguồn gửi gói tin IPv4. Kích thước 32 bit.

Destination Address - Chứa địa chỉ IPv4 đích. Kích thước 32 bit.

Options - Chứa một hoặc nhiều hơn tùy chọn trong IPv4. Kích thước trường này là một số nguyên lần của 32 bit (4 byte). Nếu các option không dùng hết và làm lẻ khối 32 bit, các giá trị 0 sẽ được thêm vào để đảm bảo IPv4 header là một số

Một phần của tài liệu Nghiên cứu cơ chế truyền thông và xây dựng công cụ phân tích, xử lý số liệu internet trên thông tin trên thông tin liên lạc vệ tinh địa tĩnh (Trang 56)