• Tidak ada hasil yang ditemukan

Giải pháp cổng biên dịch địa chỉ mạng cho các giao thức giao vận dùng cho ứng dụng hội thảo video từ xa trên Internet

N/A
N/A
Protected

Academic year: 2024

Membagikan "Giải pháp cổng biên dịch địa chỉ mạng cho các giao thức giao vận dùng cho ứng dụng hội thảo video từ xa trên Internet"

Copied!
83
0
0

Teks penuh

(1)

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

──────── * ───────

NGUYỄN TIẾN UY

GIẢI PHÁP CỔNG BIÊN DỊCH ĐỊA CHỈ MẠNG CHO CÁC GIAO THỨC GIAO VẬN DÙNG CHO ỨNG DỤNG HỘI THẢO VIDEO

TỪ XA TRÊN INTERNET

LUẬN VĂN THẠC SĨ

HÀ NỘI 06 – 2021

(2)

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

──────── * ───────

NGUYỄN TIẾN UY

GIẢI PHÁP CỔNG BIÊN DỊCH ĐỊA CHỈ MẠNG CHO CÁC GIAO THỨC GIAO VẬN DÙNG CHO ỨNG DỤNG HỘI THẢO VIDEO

TỪ XA TRÊN INTERNET

NGÀNH : CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH : HỆ THỐNG THÔNG TIN MÃ SỐ : 8480104.01

LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. NGUYỄN ĐÌNH VIỆT

HÀ NỘI 06 – 2021

(3)

3

LỜI CAM ĐOAN

Với mục đích học tập, nghiên cứu để nâng cao kiến thức và trình độ chuyên môn nên tôi đã làm luận văn này một cách nghiêm túc và hoàn toàn trung thực.

Trong luận văn tôi có sử dụng một số tài liệu tham khảo của một số tác giả. Tôi đã chú thích và nêu ra trong phần tài liệu tham khảo ở cuối luận văn.

Tôi xin cam đoan và chịu trách nhiệm về nội dung và sự trung thực trong luận văn tốt nghiệp Thạc sĩ của mình.

Hà Nội, ngày 06 tháng 06 năm 2021

Nguyễn Tiến Uy

(4)

4

LỜI CẢM ƠN

Lời đầu tiên, tôi xin chân thành cảm ơn các thầy cô giáo trong trường Đại Học Công Nghệ - Đại học Quốc Gia Hà Nội, đặc biệt là các thầy cô của khoa Công Nghệ Thông Tin đã truyền đạt cho tôi những kiến thức, kinh nghiệm vô cùng quý báu trong suốt thời gian qua.

Tôi xin gửi lời cảm ơn đến PGS.TS. Nguyễn Đình Việt – giảng viên khoa Công Nghệ Thông tin – Trường Đại học Công Nghệ đã tận tình giúp đỡ, trực tiếp chỉ bảo và hướng dẫn tận tình trong suốt quá trình làm luận văn.

Cuối cùng, tôi xin được cảm ơn đến gia đình, bạn bè đã động viên, đóng góp ý kiến và giúp đỡ trong quá trình học tập, nghiên cứu và hoàn thành luận văn.

Do thời gian, kiến thức và kinh nghiệm của tôi còn hạn chế nên luận văn có thể vẫn còn những sai sót. Tôi hy vọng sẽ nhận được những ý kiến nhận xét, góp ý của các thầy cô giáo và các bạn để luận văn được hoàn hiện hơn.

Tôi xin chân thành cảm ơn!

Hà Nội, ngày 06 tháng 06 năm 2021

Nguyễn Tiến Uy

(5)

5

MỤC LỤC

LỜI CAM ĐOAN ... 3

LỜI CẢM ƠN ... 4

MỤC LỤC ... 5

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ... 7

DANH MỤC HÌNH VẼ... 10

DANH MỤC BẢNG BIỂU ... 11

MỞ ĐẦU ... 12

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ... 14

1.1. Mạng Internet ... 14

1.1.1. Tổng quan mạng Internet [1] ... 14

1.1.2. Bộ giao thức Internet TCP/IP [2] ... 14

1.1.3. Định tuyến trong mạng Internet [3] ... 20

1.1.4. Lưu lượng mạng [4] ... 24

1.2. Giao thức IPv4 và IPv6 ... 25

1.2.1. IPv4 [5][12] ... 25

1.2.2. IPv6 [6][13] ... 30

1.2.3. So sánh IPv6 với IPv4 [7] ... 34

1.3. Các giao thức áp dụng trong biên dịch địa chỉ mạng ... 36

1.3.1. Giao thức TCP [8][14] ... 36

1.3.2. Giao thức UDP [9][15] ... 39

1.3.3. Giao thức SCTP [10][16] ... 40

1.4. Các vấn đề mà luận văn nghiên cứu và giải quyết ... 42

CHƯƠNG 2: PHƯƠNG PHÁP ĐỊNH TUYẾN VÀ BIÊN DỊCH ĐỊA CHỈ MẠNG ... 44

2.1. Giới thiệu phương pháp ... 44

2.2. Áp dụng phương pháp ... 45

2.2.1. Bước 1: Khởi tạo tài nguyên xử lý hệ thống (initProcessSystem) ... 46

2.2.2. Bước 2: Thiết lập địa chỉ IP của cổng biên dịch địa chỉ mạng (initNatIP) ... 47

(6)

6

2.2.3. Bước 3: Thiết lập bảng cấu hình thông tin định tuyến và biên dịch địa chỉ mạng

(establishNatCfg) ... 47

2.2.4. Bước 4: xác định địa chỉ MAC cho các địa chỉ IP tương tác với Hệ thống (updateMAC) ... 50

2.2.5. Bước 5: xử lý gói tin nhận được để định tuyến và biên dịch địa chỉ mạng (natProcessing) ... 51

CHƯƠNG 3: ÁP DỤNG THỰC TẾ VÀ KẾT QUẢ ĐẠT ĐƯỢC ... 55

3.1. Hệ thống thử nghiệm 5G Core được áp dụng ... 55

3.2. Tổ chức hoạt động của hệ thống ... 57

3.3. Giao diện quản lý giám sát hệ thống ... 61

3.4. Kết quả xử lý các nghiệp vụ ... 65

3.4.1. Luồng xử lý khi hệ thống nội bộ có vai trò là máy khách ... 65

3.4.2. Luồng xử lý khi hệ thống nội bộ có vai trò là máy chủ ... 67

3.4.3. Luồng xử lý cho các ứng dụng hội thảo video từ xa trên Internet ... 68

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ... 70

TÀI LIỆU THAM KHẢO ... 71

PHỤ LỤC... 72

1. Quyết định chấp nhận đơn đăng ký sáng chế từ cục sở hữu trí tuệ ... 72

2. Tờ khai đăng ký sáng chế “Phương pháp định tuyến và biên dịch địa chỉ mạng” ... 73

(7)

7

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

Ký hiệu viết tắt Thuật ngữ đầy đủ Giải thích

5G 5 Generation Thế hệ mạng di động thứ 5.

5G Core 5G Core Là phần xử lý lõi các dịch vụ trên hệ

thống mạng di động 5G.

ARP Address Resolution Protocol

Là một giao thức truyền thông sử dụng để tìm địa chỉ MAC ở tầng liên kết dữ liệu

khi cho địa chỉ IP của máy chủ.

Bond Bond Phương pháp để tổng hợp nhiều cạc mạng

thành một cạc mạng lôgic duy nhất.

CIDR Classless Inter-Domain Routing Phương pháp định tuyến liên miền dùng địa chỉ IP không phân lớp.

CRC32 Là một thuật toán tổng kiểm phổ biến

được sử dụng để phát hiện lỗi dữ liệu.

DNS Domain Name System Hệ thống tên miền.

DPDK Data Plane Development Kit

Là một dự án phần mềm mã nguồn mở, nó bao gồm các thư viện để tăng tốc khối lượng công việc xử lý gói tin và chạy trên

nhiều kiến trúc bộ xử lý CPU.

EPC Evolved Packet Core Là một hệ thống viễn thông cung cấp dữ liệu và thoại hội tụ trên mạng 4G.

FTP File Transfer Protocol Giao thức truyền tập tin.

GPRS General Packet Radio Service Dịch vụ vô tuyến gói tổng hợp.

GTP GPRS Tunnelling Protocol Là một nhóm các giao thức truyền thông dựa trên IP cho mạng GPRS.

GTPv2 GPRS Tunnelling Protocol Là giao thức GTP phiên bản 2.

(8)

8

HDLC High-Level Data Link Control Giao thức điều khiển liên kết dữ liệu mức cao.

HTTP HyperText Transfer Protocol Giao thức truyền tải siêu văn bản.

IANA Internet Assigned Numbers

Authority Tổ chức cấp phát số hiệu Internet.

ICANN Internet Corporation for

Assigned Names and Numbers Tập đoàn Internet cấp số và tên miền.

ICMP Internet Control Message

Protocol Giao thức bản tin điều khiển Internet.

IETF Internet Engineering Task Force Lực lượng chuyên trách về kỹ thuật Internet.

IGMP Internet Group Management

Protocol Giao thức quản lý nhóm Internet.

IMS IP Multimedia Subsystem Là một kiến trúc khung cho việc truyền đa phương tiện dựa trên IP.

IPSEC Internet Protocol Security Giao thức IP có bảo mật.

KPM Knuth–Morris–Pratt algorithm Thuật toán so khớp chuỗi Knuth–Morris–

Pratt.

LAN Local Area Network Mạng máy tính cục bộ.

MAC Media Access Control Điều khiển truy cập phương tiện truyền.

NAT Network address translation

Phương pháp ánh xạ một không gian địa chỉ IP vào một không gian địa chỉ IP khác cho gói tin khi chúng được truyền qua một

thiết bị định tuyến.

NGAP NG Application Protocol Một giao thức báo hiệu được sử dụng trong mạng 5G.

(9)

9

NIC Network Interface

Controller/Card Bộ điều khiển giao diện mạng.

OSI Model Open Systems Interconnection Model

Mô hình tham chiếu kết nối các hệ thống mở.

PFCP Packet Forwarding Control

Protocol Giao thức điều khiển chuyển tiếp gói.

PSTN Public switched telephone

network Mạng điện thoại chuyển mạch công cộng.

RSVP Resource Reservation Protocol Giao thức dành riêng tài nguyên.

RTP Real-time Transport Protocol Giao thức giao vận thời gian thực.

SCTP Stream Control Transmission Protocol

Giao thức giao vận điều khiển luồng, là một giao thức truyền thông ở tầng giao

vận của bộ giao thức mạng.

SMTP Simple Mail Transfer Protocol Giao thức truyền tải thư điện tử đơn giản

TCP Transmission Control Protocol

Giao thức điều khiển truyền, là một trong các giao thức chính của bộ giao thức

Internet.

UDP User Datagram Protocol

Giao thức dữ liệu người dùng, là một trong các giao thức chính của bộ giao thức

Internet.

(10)

10

DANH MỤC HÌNH VẼ

Hình 1-1: Mô hình TCP/IP và OSI ... 15

Hình 1-2: Truyền thông giữa các thực thể giao thức trong mạng TCP/IP ... 16

Hình 1-3: Việc đóng gói gói tin của các tầng giao thức TCP/IP ... 16

Hình 1-4: Cơ chế định tuyến unicast ... 22

Hình 1-5: Cơ chế định tuyến Broadcast ... 22

Hình 1-6: Cơ chế định tuyến Multicast ... 23

Hình 1-7: Cơ chế định tuyến Anycast ... 23

Hình 1-8: Cơ chế định tuyến Geocast ... 24

Hình 1-9: Định dạng tiêu đề IPv4 ... 26

Hình 1-10: Sự phân rã của biểu diễn địa chỉ IPv4 ... 29

Hình 1-11: Cấu trúc tiêu đề gói tin IPv6 ... 31

Hình 1-12: Tiêu đề mở rộng IPv6 ... 33

Hình 1-13: Cấu trúc tiêu đề gói tin TCP ... 36

Hình 1-14: Các thành tính toán lên tổng kiểm tra tại tầng TCP ... 38

Hình 1-15: Cấu trúc tiêu đề gói tin UDP ... 39

Hình 1-16: Cấu trúc gói tin SCTP ... 40

Hình 1-17: Cơ chế Multihoming ... 42

Hình 2-1: Mô hình tổng quan hệ thống cổng biên dịch địa chỉ mạng ... 44

Hình 2-2: Cơ chế hoạt động của hệ thống cổng biên dịch địa chỉ mạng... 46

Hình 3-1: Mô hình mạng 5G ... 56

Hình 3-2: Hệ thống thử nghiệm 5G Core ... 57

Hình 3-3: Thư mục hệ thống cổng biên dịch địa chỉ mạng ... 58

Hình 3-4: Giám sát thông tin tài nguyên xử lý ... 64

Hình 3-5: Luồng giao tiếp gói tin qua cổng biên dịch ... 66

Hình 3-6: Danh sách gói tin UDP gửi nhận tại cổng biên dịch. ... 67

Hình 3-7: Luồng giao tiếp gói tin qua cổng biên dịch ... 68

Hình 3-8: Ứng dụng hội thảo video từ xa thông qua nền tảng 5G Core Viettel .... 69

Hình A-1: Quyết định từ cục Sở hữu trí tuệ ... 72

Hình A-2: Tờ khai đăng ký sáng chế ... 76

(11)

11

DANH MỤC BẢNG BIỂU

Bảng 1-1: Thứ tự tiêu đề tiện ích mở rộng IPv6 trong một gói tin ... 33

Bảng 1-2: Bảng so sánh IPv4 với IPv6 ... 34

Bảng 2-1: Bảng cấu hình quy tắc định tuyến ... 48

Bảng 2-2: Bảng lưu trữ dữ liệu ánh xạ cổng dịch chuyển ... 49

Bảng 3-1: Cấu hình phần cứng thử nghiệm hệ thống ... 57

Bảng 3-2: Bảng cấu hình quy tắc định tuyến cho hệ thống thử nghiệm 5G Core.. 59

Bảng 3-3: Xử lý nghiệp vụ tại cổng biên dịch khi ứng dụng nội bộ là Client. ... 65

Bảng 3-4: Xử lý nghiệp vụ tại cổng biên dịch khi ứng dụng nội bộ là Server. ... 67

(12)

12

MỞ ĐẦU

Hiện nay, khi phát triển các hệ thống phần mềm, rất nhiều hệ thống yêu cầu phải có sự tương tác, trao đổi gói tin giữa nhiều thành phần nút mạng độc lập. Điều này được thể hiện rất rõ trong các sản phẩm phần mềm viễn thông, như tại Viettel nơi Tôi công tác, hầu hết các hệ thống phần mềm thì đều phải có sự tương tác với nhiều thành phần nút mạng xử lý khác nhau. Đặc biệt như dự án 5G Core mà tôi đang tham gia xây dựng, để xử lý được các dịch vụ của khách hàng như các dịch vụ thoại, các dịch vụ kết nối Internet như các ứng dụng hội thảo video từ xa trên Internet, … thì hệ thống phải tương tác với nhiều hệ thống trong mạng viễn thông khác. Yêu cầu đặt ra trong các kết nối giữa các hệ thống nút mạng khác nhau là các thành phần của hệ thống 5G Core chỉ được khai báo thông tin của một địa chỉ IP duy nhất phục vụ trao đổi bản tin với các nút mạng tương tác với mình, tuy nhiên để đảm bảo năng lực xử lý của mình, các thành phần của hệ thống 5G Core sẽ phải được xử lý phân tán trên nhiều máy chủ khác nhau giúp phân tải xử lý hệ thống. Do đó hệ thống cần có một nút mạng đóng vai trò giao tiếp tập trung với các hệ thống bên ngoài, khi đó vừa đáp ứng được yêu cầu chỉ có một địa chỉ duy nhất giao tiếp với các hệ thống bên ngoài, vừa đảm bảo được năng lực xử lý của hệ thống.

Do vậy vấn đề luận văn đề cập nghiên cứu và giải quyết ở đây là xây dựng một hệ thống cổng biên dịch địa chỉ mạng, giúp cung cấp một địa chỉ IP duy nhất cho mỗi thành phần xử lý của hệ thống, đồng thời giúp phân tải xử lý các giao dịch cho các ứng dụng nội bộ để giao tiếp với hệ thống bên ngoài. Hệ thống này đã được áp dụng cho các ứng dụng viễn thông lớn đang triển khai tại tập đoàn Viettel, đặc biệt là hệ thống 5G Core, một hệ thống mạng tiên tiến nhất hiện nay, nó là nền tảng để cho phép triển khai các ứng dụng thời gian thực, được áp dụng rộng rãi trong các lĩnh vực của xã hội, điển hình như các ứng dụng hội thảo video từ xa trên Internet với hình ảnh mượt mà và trôi trải hầu như không cảm nhận có độ trễ.

Luận văn có bố cục gồm 3 chương:

Chương 1: Cơ sở lý thuyết

Chương này giới thiệu về Internet, bộ giao thức Internet TCP/IP, việc định tuyến trong mạng Internet và lưu lượng mạng. Tiếp theo sẽ giới thiệu về giao thức IPv4, IPv6 và các vấn đề và giải pháp IPv4. Sau đó sẽ trình bày các vấn đề mà luận văn nghiên cứu và giải quyết.

(13)

13

Chương 2: Phương pháp định tuyến và biên dịch địa chỉ mạng

Chương này trình bày chi tiết về giải pháp định tuyến và biên dịch địa chỉ mạng, các chức năng và cơ chế xử lý của hệ thống.

Chương 3: Áp dụng thực tế và kết quả đạt được

Chương này sẽ trình bày các ứng dụng thực tế cho hệ thống nghiên cứu và các kết quả tương ứng.

Cuối cùng là một số kết luận và hướng phát triển trong tương lai.

(14)

14

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1. Mạng Internet

1.1.1. Tổng quan mạng Internet [1]

Internet là hệ thống mạng máy tính toàn cầu sử dụng bộ giao thức TCP/IP để kết nối các mạng và các thiết bị. Nó là một mạng lưới bao gồm mạng tư nhân, công cộng, học thuật, doanh nghiệp và chính phủ trên phạm vi địa phương đến toàn cầu, được liên kết bởi các đường truyền theo các công nghệ truyền dẫn khác nhau, có thể là có dây, không dây và quang học. Internet cung cấp một loạt các tài nguyên và dịch vụ thông tin, chẳng hạn như các tài liệu siêu văn bản được liên kết với nhau và các ứng dụng của World Wide Web (WWW), thư điện tử, điện thoại, chia sẻ tệp và đặc biệt các ứng dụng mạng xã hội đang rất phát triển hiện nay.

Hầu hết các phương tiện truyền thông truyền thống, bao gồm điện thoại, phát thanh, truyền hình, thư giấy và báo chí được định hình lại, xác định lại hoặc thậm chí bị loại bỏ.

Qua Internet, nhiều dịch vụ mới như email, VoIP, truyền hình Internet, hội thảo video từ xa trên Internet, âm nhạc trực tuyến, báo kỹ thuật số và các trang web truyền phát video đã xuất hiện và trở nên phổ biến. Báo, sách và xuất bản in khác đang thích ứng với công nghệ trang web hoặc được định hình lại thành blog, web feed và tổng hợp tin tức trực tuyến.

Internet đã cho phép và tăng tốc các hình thức tương tác cá nhân mới thông qua tin nhắn tức thời, diễn đàn Internet và mạng xã hội. Mua sắm trực tuyến đã tăng theo cấp số nhân cho cả các nhà bán lẻ lớn và các doanh nghiệp nhỏ và doanh nhân, vì nó cho phép các công ty mở rộng sự hiện diện sản phẩm của họ để phục vụ thị trường lớn hơn hoặc thậm chí bán hàng hóa và dịch vụ hoàn toàn trực tuyến. Các dịch vụ từ doanh nghiệp đến doanh nghiệp và tài chính trên Internet ảnh hưởng đến chuỗi cung ứng trên toàn bộ các ngành công nghiệp.

1.1.2. Bộ giao thức Internet TCP/IP [2]

Bộ giao thức Internet là mô hình khái niệm và tập hợp các giao thức truyền thông được sử dụng trong Internet và các mạng máy tính tương tự. Nó thường được gọi là TCP/IP vì các giao thức nền tảng trong bộ này là giao thức điều khiển truyền (TCP) và giao thức Internet (IP).

Bộ giao thức Internet cung cấp các quy tắc về việc truyền dữ liệu end-to-end, cách dữ liệu sẽ được đóng gói, định địa chỉ, truyền, định tuyến và nhận. Chức năng này được tổ

(15)

15

chức thành bốn lớp trừu tượng, phân loại tất cả các giao thức liên quan theo phạm vi mạng.

Các tầng gia thức và chức năng của chúng so với mô hình OSI được thể hiện trong Hình 1-1.

Application

Application

Presentation

Session

Transport Transport

Network Network

Data Link

Physical Network Access Layer

TCP/IP Model OSI Model

1 2 3 4 5 6 7

Hình 1-1: Mô hình TCP/IP và OSI

Truyền thông giữa các thực thể giao thức trong mạng TCP/IP được miêu tả theo Hình 1-2. Gói tin khi được gửi từ lớp ứng dụng xuống các lớp phía dưới sẽ được đóng gói thêm các thành phần dữ liệu mà tầng giao thức quản lý, được gọi là header, việc đóng gói và xử lý gói tin qua các chồng giao thức TCP/IP được thể hiện trong Hình 1-3.

(16)

16

Hình 1-2: Truyền thông giữa các thực thể giao thức trong mạng TCP/IP

Hình 1-3: Việc đóng gói gói tin của các tầng giao thức TCP/IP Lớp truy cập mạng (Network Access Layer)

Lớp này tương ứng với sự kết hợp của Lớp liên kết dữ liệu và Lớp vật lý của mô hình OSI. Nó tìm kiếm địa chỉ phần cứng và các giao thức có trong lớp này cho phép truyền dữ liệu vật lý.

(17)

17

Các giao thức của lớp liên kết hoạt động trong phạm vi kết nối mạng cục bộ mà máy chủ được gắn vào. Chế độ này được gọi là liên kết dữ liệu (data link) và là lớp thành phần thấp nhất của bộ giao thức. Liên kết bao gồm tất cả các máy chủ có thể truy cập được mà không cần qua bộ định tuyến. Do đó, kích thước của liên kết được xác định bởi thiết kế phần cứng mạng. Về nguyên tắc, TCP/IP được thiết kế để độc lập với phần cứng và có thể được thực hiện trên hầu hết mọi công nghệ lớp liên kết. Điều này không chỉ bao gồm triển khai phần cứng mà còn bao gồm các lớp liên kết ảo như mạng riêng ảo và đường hầm mạng.

Lớp truy cập mạng được sử dụng để di chuyển các gói giữa các giao diện lớp MAC (Ethernet) của hai máy chủ khác nhau trên cùng một liên kết. Quá trình truyền và nhận các gói tin trên liên kết có thể được điều khiển trong trình điều khiển thiết bị cho card mạng, cũng như trong phần mềm tương tác trực tiếp với phần cứng (firmware) hoặc bởi các chipset chuyên dụng. Các chức năng này bao gồm: Đóng khung tin (frame), để chuẩn bị các gói tin ở lớp Ethernet để truyền, và cuối cùng là truyền các khung đến lớp vật lý và qua một phương tiện truyền dẫn. Mô hình TCP/IP bao gồm các thông số kỹ thuật để dịch các phương pháp đánh địa chỉ mạng được sử dụng trong bộ giao thức Internet sang các địa chỉ lớp liên kết, chẳng hạn như địa chỉ lớp điều khiển truy cập phương tiện truyền (MAC). Tuy nhiên, tất cả các khía cạnh khác bên dưới mức đó đều được giả định là tồn tại và không được xác định rõ ràng trong mô hình TCP/IP.

Lớp Network hay còn gọi là lớp Internet

Kết nối Internet yêu cầu gửi dữ liệu từ mạng nguồn đến mạng đích. Quá trình này được gọi là định tuyến và được hỗ trợ bởi địa chỉ máy chủ và nhận dạng bằng cách sử dụng hệ thống địa chỉ IP phân cấp. Lớp Internet cung cấp một phương tiện truyền dữ liệu không đáng tin cậy giữa các máy chủ đặt trên các mạng IP có khả năng khác nhau bằng cách chuyển tiếp các gói dữ liệu tới một bộ định tuyến next-hop thích hợp để chuyển tiếp tới đích của nó. Lớp Internet có trách nhiệm gửi các gói qua nhiều mạng tiềm năng. Với chức năng này, lớp Internet có thể kết nối Internet các mạng IP khác nhau và về cơ bản nó thiết lập Internet.

Lớp Internet không phân biệt giữa các giao thức lớp giao vận khác nhau. IP mang dữ liệu cho nhiều loại giao thức lớp trên khác nhau, ví dụ: Giao thức thông báo điều khiển

(18)

18

Internet (ICMP) và Giao thức quản lý nhóm Internet (IGMP) lần lượt có giá trị với trường giao thức ở lớp Internet tương ứng là 1 và 2.

Giao thức Internet là thành phần chính của lớp Internet và nó xác định hai địa chỉ IP để xác định các máy chủ mạng và định vị chúng trên mạng.

Lớp giao vận (Transport Layer)

Lớp giao vận thiết lập các kênh dữ liệu cơ bản mà các ứng dụng sử dụng để trao đổi dữ liệu theo nhiệm vụ cụ thể. Lớp này thiết lập kết nối từ máy chủ đến máy chủ dưới dạng các dịch vụ truyền thông điệp đầu cuối độc lập với mạng bên dưới và không phụ thuộc vào cấu trúc dữ liệu người dùng và logic nghiệp vụ trao đổi thông tin. Kết nối ở lớp giao vận có thể được phân loại là hướng kết nối, được thực hiện trong TCP hoặc không kết nối, được thực hiện trong UDP. Các giao thức trong lớp này có thể cung cấp khả năng kiểm soát lỗi, phân đoạn (segmentation), kiểm soát luồng, kiểm soát tắc nghẽn và định địa chỉ ứng dụng (theo số cổng).

Với mục đích cung cấp các kênh truyền dẫn theo quy trình cụ thể cho các ứng dụng, lớp này thiết lập khái niệm về cổng mạng. Đây là một cấu trúc logic được đánh số và được phân bổ cụ thể cho từng kênh giao tiếp mà ứng dụng cần. Đối với nhiều loại dịch vụ, số cổng này đã được tiêu chuẩn hóa để các máy khách có thể xử lý các dịch vụ cụ thể của máy chủ mà không cần đến các dịch vụ thư mục hoặc dịch vụ khám phá liên quan.

Vì IP chỉ cung cấp dịch vụ phân phối gói tin với nỗ lực tốt nhất (Best-Effort), nên một số giao thức lớp giao vận được bổ sung một số cơ chế để cung cấp dịch vụ giao vận tin cậy.

TCP là một giao thức hướng kết nối giải quyết nhiều vấn đề về độ tin cậy trong việc cung cấp luồng byte đáng tin cậy:

 Dữ liệu được gửi/nhận theo thứ tự;

 Dữ liệu được đảm bảo tính đúng đắn;

 Dữ liệu trùng lặp bị loại bỏ;

 Các gói bị mất hoặc bị loại bỏ được gửi lại;

 Điều khiển lưu lượng và tắc nghẽn.

(19)

19

Giao thức truyền điều khiển luồng (SCTP) mới hơn cũng là một cơ chế truyền tải hướng kết nối đáng tin cậy. Nó được định hướng theo luồng thông điệp, không phải theo luồng byte như TCP và cung cấp nhiều luồng được ghép kênh trên một kết nối duy nhất.

Nó cũng cung cấp hỗ trợ thực hiện multihoming, trong đó một đầu kết nối có thể được biểu diễn bằng nhiều địa chỉ IP (đại diện cho nhiều giao diện vật lý), sao cho nếu một trong những đường đó bị lỗi, kết nối không bị gián đoạn.

Độ tin cậy cũng có thể đạt được bằng cách sử dụng giao thức liên kết dữ liệu đáng tin cậy như điều khiển liên kết dữ liệu mức cao (HDLC).

Giao thức UDP (User Datagram Protocol) là một giao thức phi kết nối, giống như IP, nó là một giao thức không đáng tin cậy. UDP thường được sử dụng cho các ứng dụng đa phương tiện, truyền trực tuyến (âm thanh, video, thoại qua IP, v.v.), trong đó việc truyền gói tin đến đúng giờ quan trọng hơn độ tin cậy hoặc cho các ứng dụng kiểu truy vấn/phản hồi đơn giản như tra cứu DNS, trong đó chi phí thiết lập kết nối đáng tin cậy có độ lớn không tương xứng. Giao thức giao vận thời gian thực (RTP) là một giao thức ứng dụng sử dụng giao thức UDP và được thiết kế cho dữ liệu thời gian thực như phương tiện truyền trực tuyến.

Các ứng dụng tại bất kỳ địa chỉ mạng nhất định nào được phân biệt bằng cổng TCP hoặc UDP của chúng. Theo quy ước, một số cổng thường dùng được dành sẵn cho các ứng dụng cụ thể.

Lớp ứng dụng (Application layer)

Lớp ứng dụng bao gồm các giao thức được hầu hết các ứng dụng sử dụng để cung cấp dịch vụ người dùng hoặc trao đổi dữ liệu ứng dụng qua các kết nối mạng được thiết lập bởi các giao thức cấp thấp hơn. Chúng có thể bao gồm một số dịch vụ hỗ trợ mạng cơ bản như các giao thức để định tuyến và cấu hình máy chủ. Ví dụ về giao thức lớp ứng dụng bao gồm Giao thức truyền siêu văn bản - HTTP, Giao thức truyền tệp -FTP, Giao thức truyền thư đơn giản - SMTP và giao thức cấu hình máy chủ động - DHCP. Dữ liệu được mã hóa theo giao thức lớp ứng dụng được đóng gói thành các đơn vị giao thức tầng giao vận (chẳng hạn như các thông điệp TCP hoặc UDP), đến lượt nó sử dụng các giao thức tầng thấp hơn để thực hiện truyền dữ liệu thực tế.

(20)

20

Mô hình TCP/IP không xem xét các chi tiết cụ thể của việc định dạng và trình bày dữ liệu, cũng như không xác định các lớp bổ sung giữa các lớp ứng dụng và truyền tải như trong mô hình OSI (các lớp trình bày và phiên). Các chức năng như vậy là lĩnh vực của các thư viện và giao diện lập trình ứng dụng.

Các giao thức lớp ứng dụng thường coi các giao thức lớp giao vận (và thấp hơn) như hộp đen cung cấp kết nối mạng ổn định để giao tiếp, mặc dù các ứng dụng thường nhận thức được các phẩm chất chính của kết nối lớp giao vận như địa chỉ IP điểm cuối và cổng những con số. Các giao thức lớp ứng dụng thường được liên kết với các ứng dụng máy khách-máy chủ cụ thể và các dịch vụ phổ biến có số cổng nổi tiếng được dành riêng.

Ví dụ: Giao thức truyền siêu văn bản sử dụng cổng máy chủ 80 và Telnet sử dụng cổng máy chủ 23. Khách hàng kết nối với dịch vụ thường sử dụng cổng tạm thời, tức là số cổng chỉ được chỉ định trong thời gian giao dịch một cách ngẫu nhiên hoặc từ một phạm vi cụ thể được định cấu hình trong ứng dụng.

Lớp giao vận và các lớp cấp thấp hơn không quan tâm đến các chi tiết cụ thể của các giao thức lớp ứng dụng. Các bộ định tuyến và bộ chuyển mạch thường không kiểm tra lưu lượng được đóng gói, thay vào đó chúng chỉ cung cấp một đường dẫn cho nó. Tuy nhiên, một số ứng dụng tường lửa và điều chỉnh băng thông phải diễn giải dữ liệu ứng dụng. Một ví dụ là giao thức dành riêng tài nguyên (RSVP). Đôi khi cũng cần thiết cho việc truyền tải trình dịch địa chỉ mạng (NAT) để xem xét tải trọng của ứng dụng.

Lớp ứng dụng trong mô hình TCP/IP thường được so sánh tương đương với sự kết hợp của lớp thứ năm – Session (Phiên), thứ sáu – Presentation (Trình bày) và thứ bảy (Ứng dụng) của mô hình OSI.

Hơn nữa, mô hình TCP/IP phân biệt giữa giao thức người dùng và giao thức hỗ trợ.

Các giao thức hỗ trợ cung cấp dịch vụ cho hệ thống cơ sở hạ tầng mạng. Các giao thức người dùng được sử dụng cho các ứng dụng người dùng thực tế. Ví dụ, FTP là một giao thức người dùng và DNS là một giao thức hỗ trợ.

1.1.3. Định tuyến trong mạng Internet [3]

Định tuyến là quá trình chọn một đường dẫn tối ưu (theo một số tiêu chí nhất định) cho lưu lượng trong một mạng hoặc giữa và qua nhiều mạng. Nói chung, định tuyến được thực hiện trong nhiều loại mạng, bao gồm cả mạng chuyển mạch kênh, chẳng hạn như

(21)

21

mạng điện thoại chuyển mạch công cộng (PSTN) và mạng chuyển mạch gói, chẳng hạn như Internet.

Trong mạng chuyển mạch gói, định tuyến là việc ra quyết định ở mức cao hơn hướng các gói tin từ nguồn đến đích thông qua các nút mạng trung gian bằng các cơ chế chuyển tiếp gói cụ thể. Chuyển tiếp gói là việc chuyển các gói mạng từ giao diện mạng này sang giao diện mạng khác. Các nút trung gian thường là các thiết bị phần cứng mạng như bộ định tuyến, cổng, tường lửa hoặc bộ chuyển mạch. Máy tính đa năng cũng có thể được sử dụng để chuyển tiếp các gói và thực hiện định tuyến, tuy nhiên chúng không có phần cứng được tối ưu hóa đặc biệt cho tác vụ.

Quá trình định tuyến thường chuyển tiếp trực tiếp trên cơ sở bảng định tuyến. Bảng định tuyến duy trì các bản ghi (mục nhập, entry) về các tuyến đường đến các điểm đến mạng khác nhau. Bảng định tuyến có thể được thiết lập bởi quản trị viên, bởi việc học thông qua quan sát lưu lượng mạng hoặc được xây dựng với sự hỗ trợ của các giao thức định tuyến.

Định tuyến, theo nghĩa hẹp hơn của thuật ngữ này, thường đề cập đến định tuyến IP và tương phản với bắc cầu (bridging). Định tuyến IP giả định rằng các địa chỉ mạng được cấu trúc và các địa chỉ tương tự có nghĩa là gần nhau trong mạng. Địa chỉ có cấu trúc cho phép một mục nhập bảng định tuyến duy nhất đại diện cho tuyến đường đến một nhóm thiết bị.

Các cơ chế định tuyến

Các cơ chế định tuyến khác nhau về cách chúng gửi thông điệp:

Cơ chế unicast (Hình 1-4): Phân phối một thông điệp tới một nút cụ thể sử dụng một liên kết one-to-one giữa một bên gửi và đích: mỗi địa chỉ đích xác định duy nhất một thiết bị đầu cuối nhận. Unicast là hình thức gửi thông điệp chiếm ưu thế trên Internet.

(22)

22

Hình 1-4: Cơ chế định tuyến unicast

Cơ chế broadcast (Hình 1-5): Gửi một thông điệp đến tất cả các nút trong mạng bằng cách sử dụng liên kết one-to-all; một gói dữ liệu từ một nút gửi được chuyển đến tất cả các điểm cuối có thể có liên quan đến địa chỉ quảng bá. Mạng tự động sao chép các dữ liệu khi cần thiết để tiếp cận tất cả những nút nhận trong phạm vi của chương trình quảng bá, thường là một mạng con của toàn bộ mạng.

Hình 1-5: Cơ chế định tuyến Broadcast

Cơ chế multicast (Hình 1-6): Gửi một thông điệp đến một nhóm các nút đã bày tỏ sự quan tâm đến việc nhận thông điệp bằng cách sử dụng liên kết one-to-many-of- many hoặc many-to-many-of-many; gói dữ liệu được định tuyến đồng thời trong một lần truyền tới nhiều người nhận. Multicast khác với broadcast ở chỗ địa chỉ đích chỉ định một tập hợp con, không nhất thiết là tất cả, các nút có thể truy cập.

(23)

23

Hình 1-6: Cơ chế định tuyến Multicast

Cơ chế anycast (Hình 1-7): Gửi thông báo đến bất kỳ nút nào trong số một nhóm các nút, thường là nút gần nguồn nhất bằng cách sử dụng liên kết one-to-one-of-many nơi mà các gói dữ liệu được chuyển đến bất kỳ thành viên nào của một nhóm các máy thu tiềm năng, được xác định bởi cùng một địa chỉ đích. Thuật toán định tuyến theo cơ chế này chọn một máy thu duy nhất từ một nhóm máy, đó là máy thu nào gần nhất theo một độ đo khoảng cách.

Hình 1-7: Cơ chế định tuyến Anycast

Cơ chế geocast (Hình 1-8): Gửi thông điệp đến một nhóm các nút trong mạng dựa trên vị trí địa lý của chúng. Cơ chế này sử dụng một dạng địa chỉ đa hướng chuyên biệtdùng cho một số giao thức định tuyến cho mạng ad hoc di động.

(24)

24

Hình 1-8: Cơ chế định tuyến Geocast 1.1.4. Lưu lượng mạng [4]

Là luồng dữ liệu di chuyển trên mạng tại một thời điểm nhất định. Dữ liệu mạng trong mạng máy tính chủ yếu được đóng gói trong các gói tin mạng, các gói tin này cung cấp tải trong mạng. Lưu lượng mạng là thành phần chính để đo lưu lượng mạng, điều khiển và mô phỏng lưu lượng mạng. Việc tổ chức lưu lượng mạng thích hợp giúp đảm bảo chất lượng dịch vụ trong một mạng nhất định.

Lưu lượng mạng là thành phần chính để đo lường và quản lý băng thông. Hơn nữa, các cấu trúc liên kết khác nhau của mạng chỉ có thể được thực hiện dựa trên lượng lưu lượng mạng trong hệ thống. Lưu lượng mạng có thể được phân loại rộng rãi thành các loại sau:

- Lưu lượng truy cập cao: Băng thông cao được sử dụng trong lưu lượng này.

- Lưu lượng không theo thời gian thực: Sử dụng băng thông trong giờ làm việc.

- Lưu lượng tương tác: Chịu sự cạnh tranh về băng thông và có thể dẫn đến thời gian phản hồi kém nếu ưu tiên các ứng dụng và lưu lượng không được đặt.

- Lưu lượng nhạy cảm với độ trễ: Chịu sự cạnh tranh về băng thông và có thể dẫn đến thời gian phản hồi kém.

Phân tích đúng lưu lượng mạng cung cấp những lợi ích sau:

- Xác định tắc nghẽn mạng: Có thể do người dùng hoặc ứng dụng sử dụng lượng băng thông lớn, do đó tạo thành một phần chính của lưu lượng mạng. Các giải pháp khác nhau có thể được thực hiện để giải quyết những vấn đề này.

(25)

25

- An ninh mạng - Lượng truy cập bất thường trong mạng là một dấu hiệu có thể xảy ra của một cuộc tấn công. Báo cáo lưu lượng mạng cung cấp những hiểu biết có giá trị về việc ngăn chặn các cuộc tấn công như vậy.

- Kỹ thuật mạng - Biết mức độ sử dụng của mạng cho phép phân tích các yêu cầu trong tương lai.

1.2. Giao thức IPv4 và IPv6

1.2.1. IPv4 [5][12]

Giao thức Internet phiên bản 4 (IPv4) là phiên bản thứ tư của các giao thức Internet (IP). Đây là phiên bản đầu tiên của IP được sử dụng rộng rãi. Ngày nay IPv4 cùng với IPv6 là nòng cốt của giao tiếp Internet. Trong đó IPv4 vẫn là giao thức được triển khai rộng rãi nhất trong bộ giao thức của lớp Internet.

IPv4 sử dụng không gian địa chỉ 32 bit, cung cấp 4,294,967,296 (232 ) địa chỉ duy nhất.

Một gói tin IP bao gồm phần tiêu đề (header) và phần dữ liệu. Một gói IP không có tổng kiểm tra dữ liệu hoặc bất kỳ phân trang nào khác sau phần dữ liệu. Thông thường, lớp liên kết đóng gói các gói IP trong các khung có chân CRC phát hiện hầu hết các lỗi, nhiều giao thức ở lớp truyền tải do IP mang theo cũng có tính năng kiểm tra lỗi của riêng chúng.

Phần Tiêu đề (header)

Tiêu đề gói IPv4 bao gồm 14 trường, trong đó 13 trường là bắt buộc. Trường thứ 14 là tùy chọn.

(26)

26

Hình 1-9: Định dạng tiêu đề IPv4 Phiên bản (version)

Trường tiêu đề đầu tiên trong gói IP là trường phiên bản bốn bit. Đối với IPv4, giá trị này luôn bằng 4.

Độ dài tiêu đề Internet - IHL (Internet Header Length)

Tiêu đề IPv4 có kích thước thay đổi tùy theo chiều dài trường tùy chọn (option).

Trường IHL chứa kích thước của tiêu đề IPv4, nó có 4 bit chỉ định số từ (word) 32 bit trong tiêu đề. Giá trị tối thiểu cho trường này là 5, cho biết độ dài tối thiểu của tiêu đề là 5 × 32 bit = 20 byte. Giá trị lớn nhất của trường 4 bit này là 15, điều này có nghĩa là kích thước tối đa của tiêu đề IPv4 là 15 × 32 bit = 480 bit = 60 byte, suy ra trường Option có kích thước lớn nhất là 60-20=40 byte.

Loại dịch vụ - ToS (Type of Service)

Trên mạng Internet nói chung trường ToS không được sử dụng. Trong một số tài liệu, người ta mô tả trường này gồm hai trường DSCP và ECN.

Mã điểm phân biệt dịch vụ - DSCP (Differentiated Services Code Point)

Trường này chỉ định các dịch vụ khác biệt. Các dịch vụ truyền dữ liệu thời gian thực sử dụng trường DSCP.

Thông báo tắc nghẽn - ECN (Explicit Congestion Notification)

(27)

27

Cho phép thông báo giữa các điểm đầu cuối về tắc nghẽn mạng mà không làm mất gói. ECN là một tính năng tùy chọn có thể được sử dụng giữa hai điểm cuối hỗ trợ ECN khi cơ sở hạ tầng mạng bên dưới cũng hỗ trợ nó.

Tổng chiều dài (Total Length)

Trường 16 bit này xác định toàn bộ kích thước gói tin tính bằng byte, bao gồm cả tiêu đề và dữ liệu. Kích thước tối thiểu là 20 byte (gói tin có tiêu đề nhưng không có dữ liệu) và tối đa là 65,535 byte.

Định danh (Identification)

Là một giá trị 16 bit duy nhất cho mỗi gói dữ liệu trong một luồng gói tin, nếu một gói tin IP bị phân mảnh thì các mảnh của gói tin này có cùng giá trị của trường định danh.

Cờ (Flags)

Trường cờ dài ba bit, được sử dụng để kiểm soát việc phân mảnh gói tin IP. Từng bit được định nghĩa như sau:

 bit 0: Bit dự trữ; phải bằng không.

 bit 1 (DF – Don't Fragment): Nếu thực thể IP gửi không muốn gói tin bị phân mảnh thì DF được đặt tức là DF = 1.

 bit 2 (MF– More Fragments): Cho biết còn có phân mảnh phía sau phân mảnh này, tức là nếu MF=1 thì có nghĩa là còn có phân mảnh ở phía sau phân mảnh này; nếu MF = 0 thì đây là mảnh cuối cùng.

Trường bù đoạn (Fragment Offset)

Trường bù đoạn dài 13 bit, đo bằng đơn vị khối tám byte chỉ định độ dịch của byte đầu tiên của một phân mảnh cụ thể so với byte đầu tiên của gói tin IP ban đầu (chưa phân mảnh). Đoạn đầu tiên có độ lệch bằng không. Điều này cho phép chỉ ra độ dịch tối đa (2^13 - 1) × 8 = 65,528 byte, sẽ vượt quá độ dài gói IP tối đa là 65,535 byte với độ dài tiêu đề bao gồm (65,528 + 20 = 65,548 byte).

Thời gian sống (Time To Live - TTL)

Trường này dài 8 bit giúp ngăn các gói dữ liệu tồn tại quá lâu (ví dụ: đi theo vòng tròn) trên Internet, có thể do lỗi định tuyến (có vòng lặp). Nó được chỉ định bằng giây,

(28)

28

nhưng các khoảng thời gian dưới 1 giây được làm tròn thành 1. Trong thực tế, người ta sử dụng trường này để ghi số bước/chặng (hop) - khi datagram đến một bộ định tuyến, bộ định tuyến sẽ giảm trường TTL đi một. Khi trường TTL chạm đến 0, bộ định tuyến sẽ loại bỏ gói tin và thường gửi thông báo ICMP Time Exceeded tới người gửi.

Trường giao thức (Protocol)

Trường này xác định giao thức có gói tin được chứa trong phần dữ liệu của gói tin IP này.

Trường tổng kiểm tra tiêu đề (Header Checksum)

Trường tổng kiểm tra tiêu đề IPv4 có độ dài 16 bit được sử dụng để kiểm tra lỗi của tiêu đề. Khi một gói tin đến một bộ định tuyến, bộ định tuyến sẽ tính toán tổng kiểm của tiêu đề và so sánh nó với trường tổng kiểm tra. Nếu các giá trị không khớp, bộ định tuyến sẽ loại bỏ gói tin. Các lỗi trong trường dữ liệu phải được xử lý bằng giao thức đóng gói.

Cả UDP và TCP đều có các trường tổng kiểm tra.

Khi một gói tin đến một bộ định tuyến, bộ định tuyến sẽ giảm trường TTL. Do đó, bộ định tuyến phải tính toán tổng kiểm tra mới.

Địa chỉ nguồn (Source address)

Trường này là địa chỉ IPv4 của nút mạng gửi gói tin. Lưu ý rằng địa chỉ này có thể được thay đổi khi chuyển tiếp bởi một thiết bị biên dịch địa chỉ mạng.

Địa chỉ đích (Destination address)

Trường này là địa chỉ IPv4 của nút mạng nhận gói tin. Giống như địa chỉ nguồn, địa chỉ này có thể được thay đổi khi chuyển tiếp bởi một thiết bị biên dịch địa chỉ mạng.

Tùy chọn (Options)

Trường tùy chọn ít khi được sử dụng. Danh sách các tùy chọn có thể được kết thúc bằng một tùy chọn EOL (End of Options List, 0x00); điều này chỉ cần thiết nếu phần cuối của các tùy chọn không trùng với phần cuối của tiêu đề.

Phần Dữ liệu (Data)

(29)

29

Phần dữ liệu của gói tin, đây chính là dữ liệu của tầng ứng dụng, được sử dụng để trao đổi giữa các điểm cuối, nó không được bao gồm trong việc tính trường tổng kiểm tra tiêu đề, việc này sẽ giúp giảm tải tính toán trong quá trình gói tin được truyền trên mạng qua các thiết bị định tuyến trung gian và các thiết bị này có thiết lập để kiểm tra trường tổng kiểm tại lớp Internet. Nội dung của nó được diễn giải dựa trên giá trị của trường giao thức trong phần tiêu đề.

Biểu diễn địa chỉ IPv4

Địa chỉ IPv4 có thể được biểu thị bằng bất kỳ ký hiệu nào thể hiện giá trị số nguyên 32 bit. Tuy nhiên trên thực tế chúng thường được viết bằng 4 số thập phân được phân cách bởi dấu chấm (dotted decimal notation), mỗi số thập phân giá giá trị trong khoảng 0..255, ứng với 1 byte.

Hình 1-10: Sự phân rã của biểu diễn địa chỉ IPv4

Ví dụ địa chỉ trên Hình 1-11: địa chỉ IP có ba chấm 172.16.254.1 đại diện cho số thập phân 32 bit 2886794753, ở định dạng thập lục phân là 0xAC10FE01. Điều này cũng có thể được thể hiện ở định dạng hex chấm là 0xAC.0x10.0xFE.0x01 hoặc với các giá trị byte bát phân là 0254.0020.00FE.0001.

Hệ thống phân giải tên miền

Các máy chủ trên Internet thường được biết đến bằng tên, ví dụ: www.google.com, thay vì bằng địa chỉ IP của chúng, tên này được sử dụng để định tuyến và nhận dạng giao diện mạng. Việc sử dụng tên miền yêu cầu việc dịch chúng thành địa chỉ IP và ngược lại.

(30)

30

Việc dịch giữa địa chỉ và tên miền được thực hiện bởi Hệ thống tên miền (DNS), là một hệ thống giúp cho việc chuyển đổi các tên miền mà con người dễ ghi nhớ sang địa chỉ IP tương ứng của tên miền đó.

Cạn kiệt địa chỉ IPv4

Kể từ những năm 1980, địa chỉ IPv4 đã cạn kiện với tốc độ nhanh chóng. Các lĩnh vực chính làm tăng tốc độ cạn kiệt địa chỉ bao gồm số lượng người dùng Internet ngày càng tăng nhanh, mỗi người ngày càng sử dụng nhiều các thiết bị điện toán di động, chẳng hạn như máy tính sách tay, điện thoại thông minh với dịch vụ dữ liệu IP. Mối đe dọa cạn kiệt đã thúc đẩy sự ra đời của một số công nghệ khắc phục, chẳng hạn như phương pháp định tuyến liên miền không phân lớp (CIDR) vào giữa những năm 1990, sử dụng phương pháp biên dịch địa chỉ mạng (NAT) trong hệ thống các nhà cung cấp dịch vụ truy cập mạng và các chính sách phân bổ dựa trên mức sử dụng nghiêm ngặt tại các cơ quan đăng ký Internet khu vực và địa phương.

Giải pháp lâu dài để giải quyết tình trạng cạn kiệt địa chỉ IPv4 là phiên bản mới của giao thức Internet Ipv6. Nó cung cấp một không gian địa chỉ tăng lên đáng kể, cho phép tăng lên đến 2^128 địa chỉ.

1.2.2. IPv6 [6][13]

Giao thức Internet phiên bản 6 (IPv6) là phiên bản mới nhất của Giao thức Internet (IP. IPv6 được phát triển bởi tổ chức IETF để giải quyết vấn đề cạn kiệt địa chỉ IPv4 đã được mong đợi từ lâu, IPv6 nhằm thay thế IPv4.

IPv6 là giao thức thuộc lớp Internet (trong mô hình TCP/IP) dùng cho chuyển mạch gói liên mạng và cung cấp việc truyền nhận dữ liệu trên nhiều mạng IP, tuân thủ chặt chẽ những nguyên tắc thiết kế được phát triển trong phiên bản giao thức IPv4.

Ngoài việc cung cấp nhiều địa chỉ hơn, IPv6 cũng gồm cả các tính năng không có trong IPv4. Nó đơn giản hóa các khía cạnh của cấu hình địa chỉ, đánh lại địa chỉ mạng và thông báo cho bộ định tuyến khi thay đổi nhà cung cấp kết nối mạng. Nó đơn giản hóa việc xử lý các gói tin trong bộ định tuyến bằng cách đặt trách nhiệm phân mảnh gói tin vào máy chủ gửi tin. Kích thước mạng con IPv6 được tiêu chuẩn hóa bằng cách cố định kích thước của phần nhận dạng máy chủ với kích thước 64 bit. Trong phần tiêu đề của IPv6 thì không có trường tổng kiểm tra, việc này sẽ giúp tiết kiệm thời gian và tăng tốc độ chuyển tiếp gói

(31)

31

tin trên mạng khi nó được gửi qua các bộ định tuyến thì không cần phải tính toán lại trường tổng kiểm tra để kiểm tra xem dữ liệu phần tiêu đề có bị lỗi không. Ngoài ra trong IPv6 cũng không còn trường tùy chọn như IPv4, nó được thay thế bằng phần tiêu đề mở rộng.

Kiến trúc địa chỉ của IPv6 cho phép ba kiểu truyền khác nhau: unicast, anycast và multicast.

Định dạng tiêu đề gói tin IPv6

Hình 1-11: Cấu trúc tiêu đề gói tin IPv6

Tiêu đề bao gồm một phần cố định với chức năng tối thiểu cần thiết cho tất cả các gói tin và có thể được theo sau bởi các phần mở rộng tùy chọn để triển khai các tính năng đặc biệt. Các trường trong tiêu đề gồm:

Phiên bản (Version 4-bit): Cho biết phiên bản Giao thức Internet.

Lớp Lưu lượng (Traffic Class 8-bit): Trường Lớp Lưu lượng chỉ ra lớp hoặc mức độ ưu tiên của gói IPv6, tương tự như Trường Dịch vụ (Type of service) trong gói IPv4.

Nó giúp các bộ định tuyến xử lý lưu lượng dựa trên mức độ ưu tiên của gói tin. Nếu tắc nghẽn xảy ra trên bộ định tuyến thì các gói có mức ưu tiên thấp hơn sẽ bị loại bỏ trước.

Nhãn luồng (Flow Label 20-bit): Trường Nhãn luồng được sử dụng bởi nút mạng nguồn để gắn nhãn các gói tin thuộc cùng một luồng nhằm yêu cầu xử lý đặc biệt bởi các bộ định tuyến IPv6 trung gian, chẳng hạn như chất lượng dịch vụ không mặc định hoặc

(32)

32

dịch vụ thời gian thực. Để phân biệt luồng, bộ định tuyến trung gian có thể sử dụng địa chỉ nguồn, địa chỉ đích và nhãn luồng của các gói. Giữa một nguồn và đích có thể tồn tại nhiều luồng vì nhiều quá trình xử lý có thể đang chạy cùng một lúc. Để các bộ định tuyến hoặc máy chủ không hỗ trợ xử lý chức năng của trường nhãn luồng và để bộ định tuyến xử lý mặc định, trường nhãn luồng được đặt thành 0. Trong khi thiết lập nhãn luồng, nút nguồn cũng phải chỉ định thời gian tồn tại của luồng.

Độ dài tải trọng (Payload Length 16-bit): Cho biết tổng kích thước của tải trọng.

Trường Độ dài tải trọng bao gồm các tiêu đề mở rộng (nếu có) và gói tin ở lớp trên. Trong trường hợp độ dài của tải trọng lớn hơn 65.535 byte (độ dài trọng tải lên đến tối đa 65.535 byte do nó được biểu thị bằng 16-bit), thì trường độ dài tải trọng sẽ được đặt thành 0 và tùy chọn tải trọng jumbo được sử dụng trong tùy chọn Hop-by-Hop của phần tiêu đề mở rộng.

Tiêu đề tiếp theo (Next Header 8-bit): Tiêu đề tiếp theo cho biết loại tiêu đề mở rộng (nếu có) ngay sau tiêu đề IPv6. Trong khi đó trong một số trường hợp, nó chỉ ra các giao thức có trong gói tin ở lớp trên, chẳng hạn như TCP, UDP.

Hop Limit (8-bit): Trường Hop Limit giống như TTL trong gói IPv4. Nó chỉ ra số lượng tối đa các nút trung gian mà gói IPv6 được phép di chuyển. Giá trị của nó bị giảm đi một, bởi mỗi nút chuyển tiếp gói tin và gói tin bị loại bỏ nếu giá trị giảm xuống 0. Điều này được sử dụng để loại bỏ các gói tin bị mắc kẹt trong vòng lặp vô hạn do một số lỗi định tuyến.

Địa chỉ nguồn (Source Address 128-bit): Địa chỉ của máy gửi gói tin.

Địa chỉ đích (Destination Address 128-bit): Địa chỉ của máy nhận gói tin (trong hầu hết các trường hợp). Tất cả các nút trung gian có thể sử dụng thông tin này để định tuyến gói tin một cách chính xác.

Tiêu đề mở rộng (Extension Headers): Để khắc phục những hạn chế của trường tùy chọn trong IPv4, Tiêu đề mở rộng được giới thiệu trong IPv6. Cơ chế tiêu đề mở rộng là một phần rất quan trọng của kiến trúc IPv6. Trường tiêu đề tiếp theo của tiêu đề cố định IPv6 trỏ đến tiêu đề mở rộng đầu tiên và tiêu đề mở rộng đầu tiên này trỏ đến tiêu đề mở rộng thứ hai, và cứ tiếp tục như vậy.

(33)

33

Hình 1-12: Tiêu đề mở rộng IPv6

Gói IPv6 có thể chứa không, một hoặc nhiều tiêu đề mở rộng nhưng chúng phải có mặt theo thứ tự được khuyến nghị như Bảng 1-1.

Bảng 1-1: Thứ tự tiêu đề tiện ích mở rộng IPv6 trong một gói tin

Order Header Type Next Header Code

1 Basic IPv6 Header -

2 Hop-by-Hop Options 0

3 Destination Options (with

Routing Options) 60

4 Routing Header 43

5 Fragment Header 44

6 Authentication Header 51 7 Encapsulation Security

Payload Header 50

8 Destination Options 60

9 Mobility Header 135

No next header 59

Upper

Layer TCP 6

Upper

Layer UDP 17

(34)

34

Quy tắc: Tiêu đề tùy chọn Hop-by-Hop (nếu có) phải luôn được đặt sau tiêu đề IPv6 cơ sở.

Quy ước:

1. Bất kỳ tiêu đề mở rộng nào cũng có thể xuất hiện nhiều nhất một lần ngoại trừ tiêu đề đích (Destination Header) vì tiêu đề đích xuất hiện hai lần trong chính danh sách trên.

2. Nếu tiêu đề đích xuất hiện trước tiêu đề định tuyến (Routing Header) thì nó sẽ được kiểm tra bởi tất cả các nút trung gian được chỉ định trong tiêu đề định tuyến.

3. Nếu tiêu đề đích hiện diện ngay phía trên lớp phía trên (Upper Layer) thì nó sẽ chỉ được kiểm tra bởi nút đích.

1.2.3. So sánh IPv6 với IPv4 [7]

Sự khác biệt chính giữa IPv6 và IPv4 được thể hiện trong Bảng 1-2.

Bảng 1-2: Bảng so sánh IPv4 với IPv6

IPv4 IPv6

IPv4 có độ dài địa chỉ 32 bit. IPv6 có độ dài địa chỉ 128 bit.

Nó hỗ trợ cấu hình địa chỉ thủ công và DHCP.

Hỗ trợ cấu hình địa chỉ tự động và đánh lại địa chỉ.

Trong IPv4, tính toàn vẹn của kết nối đầu cuối là không thể đạt được.

Trong IPv6, tính toàn vẹn của kết nối đầu cuối là có thể đạt được.

Nó có thể tạo không gian địa chỉ 4,29

× 10^9.

Không gian địa chỉ của IPv6 lớn, nó có thể tạo ra không gian địa chỉ 3,4 × 10^38.

Upper

Layer ICMPv6 58

(35)

35

IPv4 IPv6

Tính năng bảo mật phụ thuộc vào ứng dụng.

IPSEC là tính năng bảo mật có sẵn trong giao thức IPv6.

Biểu diễn địa chỉ của IPv4 ở dạng thập phân.

Biểu diễn địa chỉ của IPv6 ở dạng thập lục phân.

Phân mảnh được thực hiện bởi bên gửi và bộ định tuyến chuyển tiếp.

Phân mảnh trong IPv6 chỉ được thực hiện bởi bên gửi.

Trong IPv4, việc nhận dạng luồng của gói tin là không khả dụng.

Trong IPv6, nhận dạng luồng gói tin có sẵn và sử dụng trường nhãn luồng trong tiêu đề.

Trong IPv4, trường tổng kiểm tra có

sẵn. Trong IPv6, trường tổng kiểm tra không có.

Nó có cơ chế truyền tin quảng bá.

Trong IPv6 truyền multicast và bất kỳ cơ chế truyền tin nào đều có sẵn.

Trong IPv4 cơ chế mã hóa và xác thực không được cung cấp.

Trong IPv6 cung cấp cơ chế mã hóa và xác thực.

IPv4 có độ dài tiêu đề từ 20-60 byte. IPv6 có độ dài tiêu đề 40 byte cố định.

(36)

36

1.3. Các giao thức áp dụng trong biên dịch địa chỉ mạng

1.3.1. Giao thức TCP [8][14]

TCP là một trong những giao thức chính của bộ giao thức Internet.

Cấu trúc gói tin TCP

Hình 1-13: Cấu trúc tiêu đề gói tin TCP Cổng nguồn - Source port (16 bit):

Xác định cổng gửi.

Cổng đích - Destination port (16 bit):

Xác định cổng nhận.

Số thứ tự - Sequence number (32 bit):

Có một vai trò kép:

 Nếu cờ SYN được đặt bằng 1, thì đây là số thứ tự ban đầu – ISN (initial sequence number), sẽ được sử dụng để gán cho byte dữ liệu đầu tiên.

 Nếu cờ SYN bằng 0, thì đây là số thứ tự tích lũy của byte dữ liệu đầu tiên của phân đoạn này cho phiên truyền hiện tại.

Số xác nhận - Acknowledgment number (32 bit):

Nếu cờ ACK được đặt (bằng 1) thì giá trị của trường này là số thứ tự byte tiếp theo mà máy gửi ACK đang mong đợi. Điều này xác nhận rằng bên nhận đã nhận được tất cả

(37)

37

các byte trước (nếu có). Gói tin xác nhận - ACK đầu tiên được gửi bởi mỗi đầu của kết nối TCP xác nhận nhận chính số thứ tự ban đầu - ISN của đầu kia, nhưng không có dữ liệu.

Độ lệch dữ liệu - Data offset (4 bit):

Chỉ định kích thước của tiêu đề TCP tính theo đơn vị từ (word) 32-bit. Tiêu đề có kích thước tối thiểu là 5 từ và tối đa là 15 từ, do đó kích thước tối thiểu là 20 byte và tối đa là 60 byte, cho phép tối đa 40 byte tùy chọn trong tiêu đề. Trường này có tên như vậy vì nó cũng là phần bù từ đầu đoạn TCP đến dữ liệu thực tế.

Dành riêng - Reserved (3 bit):

Để sử dụng trong tương lai và được đặt bằng không.

Cờ - Flags (9 bit):

Chứa 9 cờ 1bit, đó là các bit điều khiển có ý nghĩa như sau:

 NS (Explicit Congestion Notification - Nonce): Được sử dụng để giúp bảo vệ chống lại việc che giấu gói dữ liệu có hại từ người gửi.

 CWR (Congestion Window Reduced): Cờ giảm thiểu cửa sổ tắc nghẽn (CWR) được thiết lập bởi máy chủ gửi để chỉ ra rằng nó đã nhận được một gói TCP với cờ ECE được đặt và đã phản hồi trong cơ chế kiểm soát tắc nghẽn.

 ECE (Explicit Congestion Notification - Echo): Cờ này cho biết kết nối TCP đầu xa có khả năng thông báo tắc nghẽn (ECN) hay không.

 URG (Urgent): Dữ liệu bên trong một phân đoạn gói tin có cờ URG = 1 được chuyển tiếp đến lớp ứng dụng ngay lập tức ngay cả khi có nhiều dữ liệu hơn được cung cấp cho lớp ứng dụng. Nó được sử dụng để thông báo cho bên nhận xử lý các gói khẩn cấp trước khi xử lý tất cả các gói khác. Bên nhận sẽ được thông báo khi đã nhận được tất cả dữ liệu khẩn cấp.

 ACK (Acknowledgement): Cho biết trường xác nhận là quan trọng. Tất cả các gói sau gói SYN ban đầu do máy khách (client) gửi phải có cờ này được bật (=1).

 PSH (Push): Chức năng đẩy. Yêu cầu đẩy dữ liệu đã đệm vào ứng dụng nhận.

 RST (Reset): Thiết lập lại kết nối.

 SYN (Synchronization): Đồng bộ số thứ tự. Chỉ gói đầu tiên được gửi từ mỗi đầu phải có cờ này.

 FIN (Finish): Xác định gói cuối cùng từ bên gửi

(38)

38 Kích thước cửa sổ - Window size (16 bit):

Cho biết kích thước của bộ đệm nhận, mà bên nhận báo cho bên gửi biết nó có thể truyền bao nhiêu dữ liệu (số lượng byte) trước khi bên nhận gửi thông báo xác nhận.

Checksum (16 bit):

Trường tổng kiểm tra 16 bit được sử dụng để kiểm tra lỗi trong dữ liệu của gói tin TCP. Trường này được tính toán dựa trên các bit sau: tiêu đề TCP, dữ liệu TCP và tiêu đề giả IP. Tiêu đề giả bao gồm địa chỉ IP nguồn, địa chỉ IP đích, trường dự trữ với độ dài cố định, trường giao thức, và độ dài phân đoạn TCP bao gồm cả phần tiêu đề và phần dữ liệu.

Reserved

Protocol TCP Length Dest IP

Address Source IP

Address TCP Header TCP Data

Check- sum

Hình 1-14: Các thành tính toán lên tổng kiểm tra tại tầng TCP Con trỏ khẩn cấp - Urgent pointer (16 bit):

Nếu cờ URG được thiết lập, thì trường 16 bit này lưu giá trị xác định nơi mà các dữ liệu khẩn cấp kết thúc.

Tùy chọn - Options (độ dài tùy biến từ 0 - 40 byte, theo đơn vị 32 bit):

Độ dài của trường này được xác định bởi trường Độ lệch dữ liệu (Data offset). Tùy chọn có tối đa ba trường: Option-Kind (1 byte), Option-Length (1 byte), Option-Data (độ dài tùy biến). Trường Option-Kind cho biết loại tùy chọn và là trường duy nhất không phải là tùy chọn. Tùy thuộc vào giá trị Option-Kind, hai trường tiếp theo có thể được đặt.

Option-Length cho biết tổng độ dài của tùy chọn và Option-Data chứa dữ liệu được liên kết với tùy chọn (nếu có).

Đệm – Padding:

(39)

39

Phần đệm tiêu đề TCP được sử dụng để đảm bảo rằng tiêu đề TCP (gồm cả trường option) kết thúc với độ dài là bội 32 bit và phần dữ liệu bắt đầu sau đó. Phần đệm bao gồm các số 0.

1.3.2. Giao thức UDP [9][15]

UDP là một trong những giao thức chính của bộ giao thức Internet. Cấu trúc tiêu đề gói tin UDP thể hiện như trên Hình 1-16:

Hình 1-15: Cấu trúc tiêu đề gói tin UDP

Một gói tin UDP bao gồm một tiêu đề và một phần dữ liệu. Tiêu đề của gói dữ liệu UDP bao gồm 4 trường, mỗi trường là 2 byte (16 bit). Phần dữ liệu theo sau tiêu đề là dữ liệu của ứng dụng.

Số cổng nguồn (Source port number):

Trường này xác định cổng của máy gửi, khi được sử dụng và phải được giả định là cổng để trả lời nếu cần. Nếu không được sử dụng, nó phải bằng không. Nếu máy nguồn là máy khách (Client), số cổng có thể là số cổng tạm thời. Nếu máy nguồn là máy chủ (Server), thì số cổng là số đã biết trước.

Số cổng đích (Destination port number):

Trường này xác định cổng của máy nhận và được yêu cầu. Tương tự như số cổng nguồn, nếu máy khách (Client) là máy đích thì số cổng có thể sẽ là số cổng tạm thời và nếu máy đích là máy chủ (Server) thì số cổng là số đã biết trước.

Chiều dài (Length):

(40)

40

Trường này chỉ định độ dài tính bằng byte của tiêu đề UDP và dữ liệu UDP. Độ dài tối thiểu là 8 byte (phần độ dài của tiêu đề cố định).

Checksum:

Trường tổng kiểm tra có thể được sử dụng để kiểm tra lỗi của tiêu đề và dữ liệu.

Các ứng dụng truyền thông đa phương tiện như hội thảo video từ xa trên Internet rất nhạy cảm với độ trễ từ đầu đến cuối và biến thể trễ (jitter). Nhưng có thể chấp nhận một số mất mát dữ liệu. TCP xử lý các mất mát dữ liệu bằng cách truyền lại các gói bị mất, nhưng không đảm bảo độ trễ hoặc biến thể trễ của nó. Đó là lý do tại sao lưu lượng đa phương tiện không hoạt động tốt với TCP. Ví dụ: nếu một số gói mang một phần của cảnh video bị mất, việc chúng được truyền lại bởi TCP có thể làm tình hình tồi tệ hơn. Lưu lượng video được truyền lại như vậy có thể chồng lấp lên một cảnh video mới và cũng có thể làm hỏng nó. Để tránh các vấn đề như vậy với TCP, hầu hết lưu lượng đa phương tiện được UDP vận chuyển để sử dụng các dịch vụ ghép kênh và tổng kiểm tra của nó.

1.3.3. Giao thức SCTP [10][16]

SCTP là một giao thức truyền thông ở tầng giao vận của bộ giao thức Internet. Gói tin SCTP có cấu trúc như Hình 1-17:

Hình 1-16: Cấu trúc gói tin SCTP Một gói SCTP bao gồm hai phần cơ bản:

Phần tiêu đề (common header):

Gambar

Hình 1-1: Mô hình TCP/IP và OSI
Hình 1-2: Truyền thông giữa các thực thể giao thức trong mạng TCP/IP
Hình 1-3: Việc đóng gói gói tin của các tầng giao thức TCP/IP  Lớp truy cập mạng (Network Access Layer)
Hình 1-8: Cơ chế định tuyến Geocast  1.1.4. Lưu lượng mạng [4]
+7

Referensi

Dokumen terkait