CHƯƠNG 1: BỘ GIAO THỨC TCP/IP VÀ CÔNG NGHỆ MẠNG RIÊNG ẢO TRÊN INTERNET IP-VPN 1.1 Khái niệm mạng Internet Tháng 6/1968, một cơ quan của Bộ Quốc phòng Mỹ là Cục các dự án nghiên cứu tiên tiến (Advanced Research Project Agency - viết tắt là ARPA) đã xây dựng dự án nối kết các trung tâm nghiên cứu lớn trong toàn liên bang với mục tiêu là chia sẻ, trao đổi tài nguyên thông tin, đánh dấu sự ra đời của ARPANET - tiền thân của mạng Internet hôm nay. Ban đầu, giao thức truyền thông được sử dụng trong mạng ARPANET là NCP (Network Control Protocol), nhưng sau đó được thay thế bởi bộ giao thức TCP/IP (Transfer Control Protocol/ Internet Prxxotocol). Bộ giao thức TCP/IP gồm một tập hợp các chuẩn của mạng, đặc tả chi tiết cách thức cho các máy tính thông tin liên lạc với nhau, cũng như quy ước cho đấu nối liên mạng và định tuyến cho mạng. Trước đây, người ta định nghĩa “Internet là mạng của tất cả các mạng sử dụng giao thức IP”.
Nhưng hiện nay, điều đó không còn chính xác nữa vì nhiều mạng có kiến trúc khác nhau nhưng nhờ các cầu nối giao thức nên vẫn có thể kết nối vào Internet và vẫn có thể sử dụng đầy đủ các dịch vụ Internet. Internet không chỉ là một tập hợp các mạng được liên kết với nhau, Internetworking còn có nghĩa là các mạng được liên kết với nhau trên cơ sở cùng đồng ý với nhau về các quy ước mà cho phép các máy tính liên lạc với nhau, cho dù con đường liên lạc sẽ đi qua những mạng mà chúng không được đấu nối trực tiếp tới. Như vậy, kỹ thuật Internet che dấu chi tiết phần cứng của mạng, và cho phép các hệ thống máy tính trao đổi thông tin độc lập với những liên kết mạng vật lý của chúng. TCP/IP có những đặc điểm sau đây đã làm cho nó trở nên phổ biến: - Độc lập với kến trúc mạng: TCP/IP có thể sử dụng trong các kiến trúc Ethernet, Token Ring, trong mạng cục bộ LAN cũng như mạng diện rộng WAN.
- Chuẩn giao thức mở: vì TCP/IP có thể thực hiện trên bất kỳ phần cứng hay hệ điều hành nào. Do đó, TCP/IP là tập giao thức lý tưởng để kết hợp phần cứng cũng như phần mềm khác nhau. - Sơ đồ địa chỉ toàn cầu: mỗi máy tính trên mạng TCP/IP có một địa chỉ xác định duy nhất. Mỗi gói dữ liệu được gửi trên mạng TCP/IP có một Header gồm địa chỉ của máy đích cũng như địa chỉ của máy nguồn.
SVTH: Phạm Hoàng Vĩ - Lớp VT03B 2 Tìm hiểu công nghệ chuyển mạch nhãn đa giao thức trong VPN - Khung Client - Server: TCP/IP là khung cho những ứng dụng client - server mạnh hoạt động trên mạng cục bộ và mạng diện rộng.2 Mô hình phân lớp bộ giao thức TCP/IP Bộ giao thức TCP/IP là sự kết hợp của các giao thức khác nhau ở các lớp khác nhau, không chỉ có các giao thức TCP và IP. Mỗi lớp có chức năng riêng. Mô hình TCP/IP được tổ chức thành 4 lớp (theo cách nhìn từ phía ứng dụng xuống lớp vật lý) như sau: Hình 1.1: Mô hình phân lớp bộ giao thức TCP/IP Lớp ứng dụng (Application layer): Điều khiển chi tiết từng ứng dụng cụ thể. Nó tương ứng với các lớp ứng dụng, trình diễn trong mô hình OSI.
Nó gồm các giao thức mức cao, mã hóa, điều khiển hội thoại … Các dịch vụ ứng dụng như SMTP, FTP, TFTP … Hiện nay có hàng trăm hoặc thậm chí hàng nghìn các giao thức thuộc lớp này. Các chương trình ứng dụng giao tiếp với các giao thức ở lớp vận chuyển để truyền và nhận dữ liệu. Chương trình ứng dụng truyền dữ liệu ở dạng yêu cầu đến lớp vận chuyển để xử lý trước khi chuyển xuống lớp Internet để tìm đường đi. Lớp vận chuyển (Transport layer): Chịu trách nhiệm truyền thông điệp (message) từ một số tiến trình (một chương trình đang chạy) tới một tiến trình khác.
Lớp vận chuyển sẽ đảm bảo thông tin truyền đến nơi nhận không bị lỗi và đúng theo trật tự. Nó có 2 giao thức rất khác nhau là giao thức điều khiển truyền dẫn TCP và giao thức dữ liệu đồ người sử dụng UDP. Lớp Internet (Internet layer): Cung cấp chức năng đánh địa chỉ, độc lập phần cứng mà nhờ đó dữ liệu có thể di chuyển giữa các mạng con có kiến trúc vật lý khác nhau. Lớp này điều khiển việc chuyển gói qua mạng, định tuyến gói.
Các giao thức của lớp này là IP, ICMP, ARP, RARP. Lớp truy cập mạng (Network Access Network): Cung cấp giao tiếp với mạng vật lý. (Thông thường lớp này bao gồm các driver thiết bị trong hệ thống vận hành và các card giao diện mạng tương ứng trong máy tính. Lớp này thực hiện nhiệm vụ điều khiển tất cả các chi tiết phần cứng hoặc thực hiện giao tiếp vật lý với cáp (hoặc với bất kỳ môi trường nào được sử dụng)).
Cung cấp kiểm soát lỗi dữ liệu phân bố trên mạng vật lý. Lớp này không định nghĩa một giao thức riêng nào cả, nó hỗ trợ tất cả các giao thức chuẩn và độc quyền. Ví dụ: Ethernet, Tocken Ring, FDDI, X.25, wireless, Async, ATM, SNA… 1.3 Các giao thức trong mô hình TCP/IP 1.1 Giao thức Internet 1.1 Giới thiệu chung Mục đích của giao thức Internet là chuyển thông tin (dữ liệu) từ nguồn tới đích. IP sử dụng các gói tin dữ liệu đồ (datagram).
Mỗi datagram có chứa địa chỉ đích và IP sử dụng thông tin này để định tuyến gói tin tới đích của nó theo đường đi thích hợp. Các gói tin của cùng một cặp người sử dụng dùng những tuyến thông tin khác nhau, việc định tuyến là riêng biệt đối với từng gói tin. Giao thức IP không lưu giữ trạng thái, sau khi datagram được chuyển đi thì bên gửi không còn lưu thông tin gì về nó nữa, vì thế mà không có phương pháp nào để phát hiện các gói bị mất và có thể dẫn tới trình trạng lặp gói và sai thứ tự gói tin. Cấu trúc IPv4 Thông tin nhận từ lớp vận chuyển được gán thêm vào tiêu đề IP.
Tiêu đề này có chiều dài từ 20 đến 60 bytes trên đường đi tùy thuộc vào các chức năng lựa chọn được sử dụng. Cấu trúc gói IPv4 được mô tả như trong hình 1. 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 version Hdr length Type of service Total length (bytes) Identification Flags Fragment offset Time - to - live Protocol Header checksum Source IP address Destination IP address Options and padding Data Hình 1.2: Cấu trúc gói tin IPv4 Giải thích ý nghĩa các trường: SVTH: Phạm Hoàng Vĩ - Lớp VT03B 4 Tìm hiểu công nghệ chuyển mạch nhãn đa giao thức trong VPN Version (phiên bản): chỉ ra phiên bản của giao thức IP dùng để tạo datagram, được sử dụng để máy gửi, máy nhận, các bộ định tuyến cùng thống nhất về định dạng lược đồ dữ liệu. Ở đây phiên bản là IPv4.
IP header length (độ dài tiêu đề IP): cung cấp thông tin về độ dài của tiêu đề datagram được tính theo các từ 32 bit. Type of service (loại dịch vụ): trường loại phục vụ dài 8 bit gồm 2 phần, trường ưu tiên và kiểu phục vụ. Trường ưu tiên gồm 3 bit dùng để gán mức ưu tiên cho datagram, cung cấp cơ chế cho phép điều khiển các gói tin qua mạng. Các bit còn lại dùng để xác định kiểu lưu lượng datagram tin khi nó chuyển qua mạng như đặc tính thông, độ trễ và độ tin cậy.
Tuy nhiên, bản thân mạng Internet không đảm bảo chất lượng dịch vụ, vì vậy trường này chỉ mạng tính yêu cầu chứ không mang tính đòi hỏi đối với các bộ định tuyến. Total length (tổng độ dài): trường này gồm 16 bit, nó sử dụng để xác định chiều dài của toàn bộ IP datagram. Identification (nhận dạng): trường nhận dạng dài 16 bit. Trường này được máy chủ dùng để phát hiện và nhóm các đoạn bị chia nhỏ ra của gói tin.
Các bộ định tuyến sẽ chia nhỏ các datagram nếu như dơn vị truyền tin lớn nhất của gói tin (MTU-Maximum Transmission Unit) lớn hơn MTU của môi trường truyền. Flags (cờ): chứa 3 bit được sử dụng cho quá trình điều khiển phân đoạn, bít đầu tiên chỉ thị tới các bộ định tuyến cho phép hoặc không cho phép phân đoạn gói tin, 2 bit giá trị thấp được sử dụng điều khiển phân đoạn, kết hợp với trường nhận dạng để xác định được gói tin nhận sau quá trình phân đoạn. Fragment offset: mạng thông tin về số lần chỉa một gói tin, kích thước của gói tin phụ thuộc vào mạng cơ sở truyền tin, tức là độ dài gói tin không thể vượt quá MTU của môi trường truyền. Time - to - live (thời gian sống): được dùng để ngăn việc các gói tin lặp vòng trên mạng.
Nó có vai trò như một bộ đếm ngược, tránh hiện tượng các gói tin đi quá lâu trong mạng. Bất kì gói tin nào có thời gian sống bằng 0 thì gói tin đó sẽ bị bộ định tuyến hủy bỏ và thông báo lỗi sẽ được gửi về trạm phát gói tin. Protocol (giao thức): trường này được dùng để xác nhận giao thức tầng kế tiếp mức cao hơn đang sử dụng dịch vụ IP dưới dạng con số. Header checksum: trường kiểm tra tổng header có độ dài 16 bit, được tính SVTH: Phạm Hoàng Vĩ - Lớp VT03B 5 Tìm hiểu công nghệ chuyển mạch nhãn đa giao thức trong VPN toán trong tất cả các trường của tiêu đề IPv4.
Một gói tin khi đi qua các bộ định tuyến thì các trường trong phần tiêu đề có thể bị thay đổi, vì vậy trường này cần phải được tính toán và cập nhập lại để đảm bảo độ tin cậy của thông tin định tuyến. Source Address - Destination Address (địa chỉ nguồn và địa chỉ đích): được các bộ định tuyến và các gateway sử dụng để định tuyến các đơn vị số liệu, luôn luôn đi cùng với gói tin từ nguồn tới đích. Option and Padding (tùy chọn và đệm): có độ dài thay đổi, dùng để thêm thông tin chọn và chèn đầy đảm bảo số liệu bắt đầu trong phạm vi 32 bit. Phân mảnh IP và hợp nhất dữ liệu Giao thức IP khi thực hiện phải luôn có các thuật toán phân chia và hợp nhất dữ liệu.
Vì mỗi datagram đều được quy định một kích thước khung cho phép tối đa trên một kết nối điểm - điểm, được gọi là MTU. Khi đi qua các mạng khác nhau có các MTU khác nhau, gói sẽ bị phân chia tùy theo giá trị MTU của mạng đó.