Bộ giao thức TCP/IP và IPv6

Một phần của tài liệu Đồ án tổng quan mạng NGN và ứng dụng (Trang 32)

ứ n g d ụ ng t r ình din Ph iê n Giao vËn M¹ ng Liê n kết dữ l iệu VËt l ý ø ng dô n g Giao vận Liê n Mạ n g Tr u y cẬP mạ ng

Mơ hình OSI Mơ hình TCP /IP

Hình 2.1: Mơ hình OSI và TCP/IP

TCP/IP được phát triển trước mơ hình OSI. Do đó, các tầng trong TCP/IP khơng tương ứng hồn tồn với các tầng trong mơ hình OSI. Chồng giao thức TCP/IP biểu diễn trên hình 2.1 được chia thành bốn lớp: truy cập mạng mạng (network interface), liên mạng (internet), giao vận (transport) và ứng dụng (application).

Ping SMTP FTP Telnet NNTP etc... NFSRPC DNS TFTP BOOTP etc...

TCP

OSPF ICMP IGMP BGP RIP

Data link UDP IP RARP ARP Tầng ứng dụng Tầng giao vận Tầng liên mạng Tầng truy nhập mạng Media (physical)

Hình 2.2: Mơ hình phân lớp chức năng của bộ giao thức TCP/IP

2.1.1 Lớp ứng dụng

Lớp ứng dụng đ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. Lớp ứng dụng bao 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 giao vậ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.

2.1.2. Lớp giao vận

Lớp giao vận chịu trách nhiệm chuyển phát tồn bộ thơng báo từ tiến trình-tới- tiến trình. Tại lớp này có hai giao thức là TCP và UDP. Mỗi giao thức cung cấp một loại dịch vụ giao vận: hướng kết nối và phi kết nối.

a. Giao thức TCP

Một giao thức lớp giao vận thường có nhiều chức năng. Một trong số đó là tạo một truyền thơng tiến trình-tới-tiến trình. Để thực hiện điều này, TCP sử dụng cổng. Một chức năng khác của giao thức lớp giao vận là tạo một cơ chế điều khiển luồng và điều khiển lỗi ở mức giao vận. TCP sử dụng giao thức cửa sổ trượt để thực hiện điều khiển luồng. Nó sử dụng gói xác nhận, thời gian chờ và truyền lại để thực hiện điều khiển lỗi.

TCP là một giao thức hướng kết nối. Nó có trách nhiệm thiết lập một kết nối với phía nhận, chia luồng dữ liệu thành các đơn vị có thể vận chuyển, đánh số chúng và sau đó gửi chúng lần lượt.

Điều khiển luồng

Điều khiển luồng định nghĩa lượng dữ liệu mà nguồn có thể gửi trước khi nhận một xác nhận từ đích. Trong trường hợp đặc biệt, giao thức lớp giao vận có thể gửi một byte dữ liệu và đợi xác nhận trước khi gửi byte tiếp theo. Nhưng nếu làm như vậy, quá trình gửi sẽ diễn ra rất chậm. Nếu dữ liệu phải đi qua đoạn đường dài thì nguồn sẽ ở trạng thái rỗi trong khi đợi xác nhận.

Trong trường hợp đặc biệt khác, giao thức lớp giao vận có thể gửi tất cả dữ liệu nó có mà khơng quan tâm tới xác nhận. Làm như vậy sẽ tăng tốc độ truyền, nhưng có thể làm tràn ngập trạm đích (trạm đích khơng xử lý kịp). Bên cạnh đó, nếu một phần dữ liệu bị mất, bị nhân đôi, sai thứ tự hoặc bị hỏng thì trạm nguồn sẽ khơng biết.

TCP sử dụng một giải pháp cho cả hai trường hợp đặc biệt này. Nó định nghĩa một cửa sổ, đặt cửa sổ này lên bộ đệm gửi và chỉ gửi lượng dữ liệu bằng kích thước cửa sổ.

Điều khiển lỗi

TCP là một giao thức giao vận tin cậy. Ngoài điều khiển luồng, TCP còn điều khiển lỗi. Điều khiển lỗi gồm các cơ chế phát hiện phân đoạn bị hỏng, bị mất, sai thứ tự hoặc nhân đơi. Nó cũng gồm cơ chế sửa lỗi sau khi chúng được phát hiện.

Phát hiện lỗi trong TCP được thực hiện thông qua việc sử dụng ba công cụ đơn giản: tổng kiểm tra, xác nhận và THỜI GIAN CHỜ(time-out). Mỗi phân đoạn có chứa một trường tổng kiểm tra để phát hiện phân đoạn lỗi. Nếu phân đoạn lỗi, nó sẽ bị máy thu bỏ đi. TCP sử dụng phương pháp xác nhận để thơng báo sự nhận các gói đã tới đích mà khơng hỏng. Khơng có xác nhận phủ định (xác nhận gói hỏng) trong TCP. Nếu một phân đoạn khơng được xác nhận trước khi hết hạn thì nó được xem như bị hỏng hoặc bị mất trên đường đi.

Cơ chế sửa lỗi trong TCP cũng rất đơn giản. TCP nguồn đặt một bộ định thời cho mỗi phân đoạn được gửi đi. Bộ định thời được kiểm tra định kỳ. Khi nó tắt, phân đoạn tương ứng được xem như bị hỏng hoặc bị mất và nó sẽ được truyền lại.

b. Giao thức UDP

UDP (User Datagram protocol) là một giao thức truyền thông phi kết nối và không tin cậy, được dùng thay thế cho TCP ở trên mạng IP theo yêu cầu của ứng dụng. UDP có trách nhiệm truyền các thơng báo từ tiến trình-tới-tiến trình, nhưng khơng cung cấp các cơ chế giám sát và quản lý.

UDP cũng cung cấp cơ chế gán và quản lý các số cổng để định danh duy nhất cho các ứng dụng chạy trên một trạm của mạng. Do ít chức năng phứ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. Khn dạng của UDP datagram có các vùng tham số đơn giản hơn nhiều so với gói tin TCP.

2.1.3 Lớp liên mạng

Lớp liên mạng trong chồng giao thức TCP/IP tương ứng với lớp mạng trong mô hình OSI. Chức năng chính của tầng mạng là đánh địa chỉ lơgic và định tuyến gói tới đích. Giao thức đáng chú ý nhất ở lớp liên mạng chính là giao thức liên mạng (IP – Internet Protocol). Ngồi ra cịn có một số giao thức khác như giao thức thông điệp điều khiển Internet (ICMP), giao thức phân giải địa chỉ (ARP) và giao thức phân giải địa chỉ ngược (RARP). Chúng ta sẽ lần lượt tìm hiểu các giao thức này.

Giao thức IP

IP là một giao thức phi kết nối và khơng tin cậy. Nó cung cấp dịch vụ chuyển gói nỗ lực tối đa. Nỗ lực tối đa ở đây có nghĩa IP khơng cung cấp chức năng theo dõi và kiểm tra lỗi. Nó chỉ cố gắng chuyển gói tới đích chứ khơng có sự đảm bảo. Nếu độ tin cậy là yếu tố quan trọng, IP phải hoạt động với một giao thức tin cậy tầng trên, chẳng hạn TCP.

IP được thiết kế cho mạng chuyển mạch gói. Mỗi datagram được xử lý độc lập, mỗi gói có thể đi tới đích trên một đường đi khác nhau, chúng có thể đến sai thứ tự. Một số datagram có thể bị mất, bị hỏng trong khi truyền. IP dựa vào một giao thức tầng cao hơn để xử lý những vấn đề này.

Giao thức IP cung cấp một hệ thống đánh địa chỉ có phân cấp, độc lập với phần cứng và đưa ra các dịch vụ cần thiết cho việc phân phối dữ liệu trên một mạng định tuyến phức tạp. Mỗi bộ thiết bị mạng trên mạng TCP/IP có một địa chỉ IP duy nhất.

Các địa chỉ IP trên mạng được tổ chức sao cho có thể chỉ ra được vị trí của host hay mạng con nơi host cư trú - bằng cách nhìn vào địa chỉ.

Giao thức ICMP

Như đã trình bày ở trên, IP là giao thức chuyển gói phi kết nối và khơng tin cậy. Nó được thiết kế nhằm mục đích sử dụng có hiệu quả tài nguyên mạng. IP cung cấp dịch vụ chuyển gói nỗ lực tối đa. Tuy nhiên nó có hai khuyết điểm: thiếu điều khiển lỗi và thiếu các cơ chế hỗ trợ.

Giao thức thông báo điều khiển liên mạng (ICMP – Internet Control Message Protocol) được thiết kế để bù đắp hai khuyết điểm trên. Nó được đi kèm với giao thức IP.

Giao thức ARP và RARP

Để chuyển phát gói tới một trạm hoặc một router, cần có hai mức đánh địa chỉ: lôgic và vật lý. Do vậy, chúng ta cần có thể ánh xạ giữa hai địa chỉ này. Giao thức phân giải địa chỉ (ARP – Address Resolution Protocol) chuyển đổi địa chỉ lôgic thành địa chỉ vật lý. Giao thức phân giải địa chỉ ngược (RARP – Reverse Address Resolution Protocol) chuyển đổi địa chỉ vật lý thành địa chỉ lôgic.

2.1.4 Lớp truy cập mạng

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 phần mềm điều khiển thiết bị trong hệ thống vận hành và các card giao diện mạng tương ứng trong đầu cuối. 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ác phương tiện (hoặc với bất kỳ môi trường nào được sử dụng). Cung cấp cơ chế 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…

2.1.5 IPv6 a. IPv4

Mỗi địa chỉ IPv4 gồm 4 byte (32 bít), định nghĩa hai phần: địa chỉ mạng (NetID) và địa chỉ trạm (HotID). Các phần này có chiều dài khác nhau tuỳ thuộc vào lớp địa chỉ. Các bít đầu tiên trong phần địa chỉ mạng xác định lớp của địa chỉ IP.

Địa chỉ IPv4 được chia làm 5 lớp, ký hiệu là A, B, C, D và E. Chiều dài phần địa chỉ mạng và phần địa chỉ trạm của các lớp là khác nhau. Cấu trúc của các lớp được chỉ ra trong hình 2.2. Lớp A 0 Địa chỉ mạng (7 bit) Địa chỉ trạm (24 bit) Lớp

B 1 0 Địa chỉ mạng(14 bit) Địa chỉ trạm (16 bit)

Lớp

Lớp

D 1 1 1 0 Địa chỉ multicast (28 bit)

Lớp

E 1 1 1 1 Chưa sử dụng (28 bit)

Hình 2.2: Các lớp địa chỉ IPv4

Các bit đầu tiên của byte đầu tiên của địa chỉ IP được dùng để định danh lớp địa chỉ (0 - lớp A; 10 - lớp B; 110 - lớp C; 1110 - Lớp D và 1111 - lớp E).

Giao thức lớp liên mạng trong bộ giao thức TCP/IP hiện nay là IPv4. IPv4 cung cấp truyền thông trạm-tới-trạm giữa các hệ thống trên Internet. Cho dù IPv4 được thiết kế tốt, nhưng nó vẫn có một số hạn chế mà trở nên không phù hợp với sự phát triển nhanh của Internet.

b. IPv6

Địa chỉ IPv6 dài 128 bít và được biểu diễn dưới dạng hexa hai chấm. Trong cách biểu diễn này, 128 bít được chia thành 8 phần, mỗi phần dài 2 byte. Hai byte được biểu diễn bằng 4 số hexa. Do đó, địa chỉ IPv6 gồm 32 số hexa, cứ 4 số hexa có một dấu hai chấm để phân tách.

FDEC BA98 7654 1234 ABCD 13AC FDEC FFFF 11111101111101100 ………………………………………………….. 1111111111111111

128 bit = 16 byte = 32 sè hexa

Hình 2.3: Cấu trúc địa chỉ IPv6

Trong IPv6, giao thức IP được thay đổi để điều tiết sự thay đổi không thể đoán trước của Internet. Định dạng và chiều dài của địa chỉ IP được thay đổi cùng với định dạng gói. Các giao thức liên quan như ICMP cũng được thay đổi. Các giao thức khác ở lớp liên mạng như ARP, RARP và IGMP khơng cịn. Chức năng của chúng được đưa vào giao thức ICMP. Các giao thức định tuyến, như RIP và OSPF, cũng có chút sửa đổi để thích ứng những thay đổi này.

IPv6 có một số ưu điểm so với IPv4:

- Khoảng địa chỉ lớn hơn. Địa chỉ IPv6 dài 128 bít, nghĩa là gấp bốn lần chiều dài địa chỉ IPv4.

- Định dạng tiêu đề tốt hơn. IPv6 sử dụng định dạng tiêu đề mới, trong đó các tùy chọn được tách khỏi phần tiêu đề cơ sở và nếu cần, được thêm vào giữa phần tiêu đề cơ sở và dữ liệu. Do vậy, làm đơn giản và tăng tốc độ xử lý định tuyến vì hầu hết các tùy chọn đều khơng cần được router kiểm tra. - Các tùy chọn mới. IPv6 có một số tùy chọn mới cho phép các chức năng bổ

sung.

- Cho phép mở rộng. IPv6 được thiết kế để cho phép mở rộng khi có yêu cầu. - Hỗ trợ cấp phát tài nguyên. Trong IPv6, trường loại dịch vụ được bỏ đi,

nhưng một cơ chế (được gọi là nhãn luồng) được thêm vào để cho phép nguồn yêu cầu xử lý gói đặc biệt. Cơ chế này có thể được sử dụng để hỗ trợ lưu lượng video hoặc âm thanh thời gian thực.

- Bảo mật hơn. Tùy chọn mật mã và chứng thực trong IPv6 cung cấp tính tồn vẹn và tính bảo mật của gói.

a. Chiến lược chuyển đổi từ IPv4 sang IPv6

Do số lượng nút trên Internet là một con số khổng lồ, nên việc chuyển dịch từ IPv4 sang IPv6 không thể xảy ra đột ngột. Phải mất một khoảng thời gian đáng kể để các hệ thống trên Internet có thể chuyển từ IPv4 sang IPv6. Việc chuyển dịch phải trôi chảy để khơng có vấn đề gì giữa hệ thống IPv4 và IPv6.

Ba chiến lược đã được IETF phát triển để sự chuyển dịch trôi chảy hơn, gồm: chồng giao thức kép, đường hầm và dịch tiêu đề.

Chồng giao thức kép

Chiến lược này khuyến nghị rằng mọi trạm trước khi di trú hồn tồn sang IPv6, phải có một chồng giao thức kép. Nói cách khác, một trạm phải chạy IPv4 và IPv6 đồng thời cho đến khi toàn bộ Internet đều sử dụng IPv6.

Đường hầm

Đường hầm là chiến lược được sử dụng khi hai đầu cuối IPv6 muốn truyền thơng với nhau, nhưng gói phải đi qua một khu vực sử dụng IPv4. Để qua khu vực này, gói phải có một địa chỉ IPv4. Gói IPv6 được đóng gói trong gói IPv4 khi nó đi vào khu vực, và được mở gói khi nó rời khỏi khu vực. Dường như gói IPv6 đi vào đường hầm ở một đầu và ló ra ở đầu kia.

Dịch tiêu đề

Chiến lược dịch tiêu đề cần thiết khi phần lớn Internet đã chuyển sang IPv6 và chỉ còn một phần nhỏ sử dụng IPv4. Máy gửi muốn sử dụng IPv6, nhưng trạm nhận không hiểu IPv6. Đường hầm không hoạt động trong trường hợp này vì gói phải ở

định dạng IPv4 để trạm nhận có thể hiểu được. Trong trường hợp này, định dạng tiêu đề phải được thay đổi tồn bộ thơng qua q trình dịch tiêu đề. Tiều đề IPv6 được chuyển đổi thành tiêu đề IPv4.

b. Các kĩ thuật biên dịch

Kỹ thuật biên dịch không trạng thái IP/ICMP (SIIT – Stateless IP/ICMP Translation)

Trong giai đoạn đầu của quá trình chuyển giao IPv4-IPv6, chúng ta cần có các cơ chế cho sự liên lạc giữa các node IPv4 và IPv6. Các node IPv6 có thể là các node có khả năng IPv4 (nghĩa là các node có thể triển khai IPv4 nhưng chưa chắc đã được gán địa chỉ IPv4) hoặc khơng có khả năng đó. Khi đó để liên lạc giữa các node thì kĩ thuật SIIT được sử dụng. Kĩ thuật SIIT là kỹ thuật được sử dụng trong quá trình biên dịch giữa IPv4 và IPv6, chúng nhằm cho việc liên lạc giữa các node IPv4 thuần nhất và các node IPv6 thuần nhất. Chúng biên dịch giữa các header IPv4 và IPv6 bao gồm cả header ICMP. Bộ biên dịch SIIT được cài đặt và cấu hình trong các bộ định tuyến dual stack. Các tình huống có thể xảy ra trong quá trình chuyển đổi gồm:

- Khi thiết lập một mạng mới với tồn các node triển khai IPv6 thì khơng cần thiết lập định tuyến IPv4 trong mạng đó. Tuy nhiên có thể có một vài node IPv6 cần liên lạc với các node IPv4 trong mạng Internet hiện tại, khi đó kĩ thuật SIIT được sử dụng tại biên giới mạng.

- Chúng ta cần có một mạng IPv4 và thêm vào đó nhiều node IPv6. Các node IPv6 có thể triển khai cả hai stack IPv4 và IPv6 nhưng khơng thể có để gán thường chú cho các node đó.

NAT-PT

Kỹ thuật chuyển đổi địa chỉ (Network Address Translation – Protocol Translation NAT-PT) là một kỹ thuật rất tốt tại biên giới của mạng IPv6 chỉ có một đường ra khi nó liên kết với mạng IPv4 hay mạng kết hợp IPv4 và IPv6. NAT-PT cho phép các host thuần và các ứng dụng IPv6 có thể liên lạc với các host thuần và các ứng dụng IPv4 và ngược lại. NAT-PT sử dụng một tập hợp địa chỉ IPv4 để gán cho các node IPv6 dựa trên cơ chế cấp phát động để tạo thành phiên giao dịch qua biên giới IPv4-IPv6. Các địa chỉ IPv4 được dùng trong kỹ thuật NAT-PT là địa chỉ toàn cầu. NAT-PT sẽ ánh xạ địa chỉ IPv4 sang địa chỉ IPv6 và ngược lại để cung cấp một cơ chế

Một phần của tài liệu Đồ án tổng quan mạng NGN và ứng dụng (Trang 32)