Mô hình tham chiếu TCP/IP:

Một phần của tài liệu tổng quan về công nghệ mobile ip và ứng dụng của nó trong mạng di động (Trang 33 - 109)

b. Đầu cuối di động:

2.2.2 Mô hình tham chiếu TCP/IP:

Bộ giao thức TCP/IP được chia làm 4 tầng:

• Tầng mạng (Network layer).

• Tầng Internet ( Internet layer).

• Tầng giao vận (Transport layer).

• Tầng ứng dụng (Application layer).

Hình 2. 1: Tương ứng giữa các lớp của OSI và TCP/IP.

Việc phân tầng này đảm bảo một số nguyên tắc sau:

- Một lớp được tạo ra khi cần đến mức trừu tượng hoá tương ứng. - Mỗi lớp cần thực hiện các chức năng được định nghĩa rõ ràng.

- Việc chọn chức năng cho mỗi lớp càng chú ý tới việc định nghĩa các quy tắc chuẩn hoá quốc tế.

- Ranh giới các mức cần chọn sao cho thông tin đi qua là ít nhất ( tham số cho chương trình con là ít.

- Số mức phải đủ lớn để các chức năng tách biệt không nằm trong cùng một lớp và đủ nhỏ để mô hình không quá phức tạp.

- Một mức có thể được phân thành các lớp nhỏ nếu cần thiết. - Các mức con có thể lại bị loại bỏ.

- Hai hệ thống khác nhau có thể truyền thông với nhau nếu chúng đảm bảo những quy tắc chung ( cài đặt cùng một giao thức truyền thông ).

- Các chức năng được tổ chức thành một tập các tầng đồng mức cung cấp chức năng như nhau. Các tầng đồng mức phải sử dụng một giao thức chung.

Một tầng không định nghĩa một giao thức đơn, nó định nghĩa một chức năng truyền thông có thể được thi hành bởi một số giao thức. Do vậy, mỗi tầng có thể chứa nhiều giao thức, mỗi giao thức cung cấp một dịch vụ phù hợp cho chức năng của tầng. Ví dụ cả giao thức truyền file (file Transfer Protocol – FTP) và giao thức thư điện tử (Electronic Mail Protocol) đều cung cấp dịch vụ cho người dùng và cả hai đều thuộc tầng ứng dụng. Mỗi mức phải được chuẩn hoá để giao tiếp với mức tương đương với nó. Trên lý thuyết, giao thức chỉ liên quan tới lớp của nó mà không quan tâm tới mức trên hoặc mức dưới của nó. Tuy nhiên phải có sự đồng ý để làm sao chuyển dữ liệu giữa các tầng trên một máy tính, bởi mỗi tầng, mạng lại liên quan tới việc gửi dữ liệu từ ứng dụng tới một ứng dụng tương đương trên một máy khác. Tầng cao hơn dựa vào tầng thấp hơn để chuyển dữ liệu qua mạng phía dưới. Dữ liệu chuyển xuống ngăn xếp từ tầng này xuống tầng thấp hơn cho tới khi được chuyền qua mạng nhờ giao thức của tầng vật lý. Tại nơi nhận, dữ liệu đi lên ngăn xếp tới ứng dụng nhận. Những tầng riêng lẻ không cần biết các tầng trên và dưới nó xử lý ra sao, nó chỉ cần biết cách chuyển thông tin tới các tầng đó. Sự cô lập các hàm truyền thông trên các tầng khác nhau giảm thiểu sự tích hợp công nghệ của đầu vào mỗi bộ giao thức. Các ứng dụng mới có thể thêm vào mà không cần thay đổi tầng vật lý của mạng, phần cứng có thể được bổ xung mà không cần viết lại các phần mềm ứng dụng.

Hình 2. 2: Các tầng trong bộ giao thức TCP/IP.

FTP (File Transfer Protocol): Giao thức truyền tập cho phép người dùng lấy hoặc gửi tới một máy khác.

Telnet: Chương trình mô phỏng thiết bị đầu cuối cho phép người dùng login vào một máy chủ từ một máy tính nào đó trên mạng.

SMTP (Simple Mail Transfer Protocol): Các giao thức thư tín điện tử.

DNS (Domain Name Server): Dịch vụ tên miền cho phép nhận ra máy tính từ một tên miền thay cho chuỗi địa chỉ internet kho nhớ.

SNMP (Simple Network Management Protocol): Giao thức quản trị

mạng cung cấp những công cụ quản trị mạng.

RIP (Routing Internet Protocol): Giao thức dẫn đường động.

ICMP ( Internet Control Message Protocol): Giao thức bản tin điều khiển Internet.

UDP (User Datagram Protocol): Giao thức truyền thông không kết nối, cung cấp dịch vụ truyền thông không tin cậy nhưng tiết kiệm chi phí truyền.

TCP (Tranmission Control Protocol ): Giao thức hướng kết nối, cung cấp dịch vụ truyền thông tin tưởng.

IP (Internet Protocol): Giao thức Internet chuyển giao các gói tin qua các máy tính đến đích.

ARP ( Address Resolution Protocol): Cơ chế chuyển địa chỉ TCP/IP thành địa chỉ vật lý của thiết bị mạng.

Hình 2. 3: Quá trình truyền dữ liệu qua các lớp.

Giống như trong mô hình tham chiếu OSI, dữ liệu gửi từ tầng Application đi xuống ngăn xếp, mỗi tầng có những định nghĩa riêng về dữ liệu mà nó sử dụng. Tại nơi gửi mỗi tầng coi gói tin của tầng trên chuyển xuống là dữ liệu của nó và thêm vào gói tin các thông tin điều khiển của mình sau đó chuyển tiếp xuống tầng dưới. Tại nơi nhận, quá trình diễn ra ngược lại, mỗi tầng lại tách thông tin điều khiển của mình ra và chuyển dữ liệu lên tầng trên.

Hình 2. 4: Quá trình đóng gói gói tin qua các lớp mô hình TCP/IP. 2.2.3 Tầng mạng:

Tầng mạng là tầng thấp nhất của kiến trúc giao thức TCP/IP, các giao thức trong tầng này cung cấp biện pháp cho hệ thống chuyển giao dữ liệu giữa các thiết bị được kết nối trực tiếp. Nó mô tả cách sử dụng mạng để truyền một gói thông tin IP.

Không giống những giao thức của tầng cao hơn là sử dụng dịch vụ của tầng dưới nó và cung cấp dịch vụ cho tầng trên, giao thức của tầng mạng cần phải biết chi tiết của mạng vật lý phía dưới (cấu trúc của gói, địa chỉ, ….) để định dạng đúng thông tin sẽ được truyền tuân theo những quy định ràng buộc của mạng. Tầng mạng của TCP/IP chứa các chức năng của tất cả hai tầng thấp nhất của mô hình tham chiếu OSI (tầng liên kết dữ liệu, tầng vật lý). Tầng mạng thường không được người dùng để ý tới vì thiết kế của TCP/IP che dấu những chức năng của tầng thấp nhất này và những điều cần biết cho người sử dụng cũng như người lập trình chỉ là những giao thức của tầng cao hơn ( IP, TCP, UDP, ….). Mỗi khi có công nghệ phần cứng xuất hiện, những giao thức tầng mạng phải được phát triển để TCP/IP có thể sử dụng phần cứng mới (thông thường đó chính là các trình điều khiển của chính nhà cung cấp phần cứng đó ). Các chức năng trình diễn trong phần này bao gồm

đóng gói thông tin IP thành các “Frame” được truyền dẫn trên mạng và chuyển địa chỉ vật lý sử dụng bởi mạng máy tính. Một trong số các điểm mạnh của TCP/IP là địa chỉ của nó được phối hợp sao cho trên mạng Internet không có một thiết bị nào cùng tên. Địa chỉ này phải được chuyển đổi thích hợp với mạng vật lý nơi mà dữ liệu được truyền đi.

2.2.4 Tầng Internet:

Tầng IP cung cấp một hệ thống chuyển giao không kết nối và đôi khi người ta còn gọi là không tin cậy. Không kết nối bởi mỗi gói tin được truyền đi trên mạng một cách độc lập, sự kết hợp dữ liệu của các gói tin được cung cấp bởi các dịch vụ lớp trên. Mỗi gói tin IP chứa địa chỉ nơi gửi, địa chỉ nơi nhận và dựa vào đó nó có thể được truyền trên mạng tới đích. Nhưng chính việc dữ liệu có thể đi tới đích trên nhiều đường khác nhau tạo nên sự mềm dẻo cho Internet khi một đường dây bị đứt hay một nút nào đó bị quá tải, các gói tin có thể được truyền đi theo những con đường khác, nếu một gói tin nào có lỗi thì chỉ phải truyền lại gói tin đó thay vào việc phải truyền lại toàn bộ thông báo. Không tin cậy bởi vì IP không có cơ chế kiểm tra tin đúng đắn của dữ liệu được truyền nhận, dịch vụ tin tưởng phải được cung cấp bởi các giao thức lớp trên.

a.Gói tin IP:

0 7 8 15 16 31

Vers Hlen Type of Service Total length

Indentification Flag Fragment offset

Time to live Protocol Header checksum

Source IP Address Destination IP Address

IP Options Padding

IP Datagram Data (Max 65535 bytes)

Destination Address

Source IP Address

Type Feild IP Data CRC

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

• Vers: Dài 4 bit, mô tả chính xác version của IP.

• Hlen: Dài 4 bit, mô tả độ dài của IP Header (tính bằng từ dài 32 bit).

• Type of Service: Dài 8 bit, mô tả thứ tự ưu tiên của dữ liệu.

• Total length: Dài 16 bit (2 byte), đây là độ dài của datagram ( in byte – có nghĩa là độ dài vùng datagram là 1518 bytes). Do vậy khi size của datagram vượt quá kích thước cho phép, nó sẽ bị chia nhỏ ra và các trường hợp này sẽ đảm bảo rằng các datagram đã bị phân chia này là từ một datagram ban đầu.

• Time to live: Dùng để xác định xem datagram này có bị truyền lặp lại hay không ( thông thường nó được gán là 1, nếu bị lặp lại nó bị gán là 0).

• Protocol: Trường này nó cho biết lớp giao thức cao hơn nào sẽ được sử dụng (UDP hay TCP).

• CRC: Trường này được sử dụng để kiểm tra sự toàn vẹn của header. Nếu IP Header lỗi, gói tin IP bị loại bỏ và giao thức lớp trên sẽ truyền một gói tin khác.

• IP option: Chứa các thông tin như: dò đường, bảo mật, xác nhận, thời gian.

• Padding: Trường điền thêm các số 0 để đảm bảo header kết thúc tại một địa chỉ bội của 32.

• Source IP address, destination IP address: Chứa địa chỉ của trạm gửi và địa chỉ của mạng đích.

Tầng IP làm công việc dẫn đường các gói tin qua mạng Internet từ máy tính này tới máy tính khác, qua các mạng khác nhau cho tới khi nó đến được trạm đích hoặc bị lỗi. Việc truyền gói tin qua các mạng khác nhau, nó có thể bị chia ra thành nhiều gói tin nhỏ hơn. Thông tin truyền có thể quá lớn để có thể truyền trên một gói tin trên một mạng khác. Vấn đề này chỉ gặp phải khi gateway được nối giữa các mạng vật lý khác nhau. Mỗi kiểu mạng có một độ dài tối đa gói tin có thể truyền (MTU – Maximum Transmission Unit) nếu thông tin nhận được từ mạng này dài hơn MTU của mạng kia, nó cần phải được chia nhỏ ra thành nhiều mảnh để truyền.

Hình 2. 6: Gói tin đi qua Gateway.

Khi những gói tin đến Gateway quá nhanh, chúng có thể bị loại bỏ và IP trả lại một thông báo lỗi (ICMP).

b.Gói tin ICMP:

ICMP sử dụng gói tin IP để truyền thông báo của nó. ICMP gửi các thông báo làm các công việc: điều khiển, thông báo các lỗi và chức năng thông tin cho TCP/IP… Thông thường ICMP được gửi khi một gói tin không thể đi tới đích, một gateway không còn đủ chỗ nhớ để nhận thêm gói tin hay một gateway hướng dẫn máy tính sử dụng gateway khác để truyền thông tin theo một con đường tối ưu hơn….

Mỗi thông báo ICMP có một kiểu định dạng riêng của nó, song thông báo đều có 3 trường đầu tiên giống nhau:

• Type: Định nghĩa thông báo đi sau.

• Code: Cung cấp thông tin thêm về thông báo.

• Checksum: Chứa checksum của thông báo.

0 7 8 15 16 31

Type Code Checksum

ICMP Data (Phụ thuộc vào loại bản tin) ……….

Hình 2. 7: Cấu trúc gói tin ICMP.

Các giá trị của trường Type và các bản tin tương ứng theo sau:

Type ICMP Message Type Type ICMP Message Type

0 3 4 5 8 9 10 11 Echo Reply Destination Unreachable Source Quench Redirect Echo Router Advertisement Router Solicitation Time Exceeded 12 13 14 15 16 17 18 Parameter Problem Timestamp Request Timestamp Reply Information Request Information Reply Address Mask Request Address Mask Reply

c.Gói tin ARP:

Một gói tin ARP là một Ethernet Frame được truyền trực tiếp từ máy này tới máy kia. Vì không phải sử dụng IP, gói tin này không có địa chỉ IP cũng như không cần được định tuyến, nó phải được gửi broadcast tới tất cả các máy trên mạng Ethernet (tại địa chỉ là: FFFFFFFFFFFF). Gói tin ARP được mô tả như sau:

0 15 16 31 Hardware Address Space

Protocol Address Space

Hardware Address Length Protocol Address Length

Operation Code

Source Hardware Address (Ethernet Address) (Internet Address)

Source Protocol Address

Targe Hardware Address (Ethernet Address)

Destination Address Source IP Address Type of Length ARP Data CRC

Hình 2. 8: Gói tin ARP.

Không giống phần lớn các giao thức khác, dữ liệu trong ARP không có một định dạng chuẩn cho header. Để ARP có thể làm việc với nhiều công nghệ khác nhau, người ta dùng một trường để chứa độ dài của những trường đi sau nó.

2.2.5 Tầng giao vận:

Tầng giao thức ngay trên tầng Internet là tầng giao vận (Host to Host Transport Layer hay thường gọi là Transport Layer). Hai giao thức quan trọng nhất của tầng này là Tranmission Control Protocol (TCP) và User Datagram Protocol (UDP). TCP cung cấp dịch vụ chuyển giao thông tin có kết nối (connection oriented), nó bao gồm việc kiểm tra và sửa lỗi. UDP cung cấp dịch vụ kém tin cậy hơn và không thiết lập liên kết trước (connectionless). Cả hai giao thức đều chuyển giao thông tin giữa tầng ứng dụng và tầng internet. Chương trình ứng dụng có thể lựa chọn dịch vụ nàp thích hợp với nó.

a.Giao thức không kết nối UDP:

UDP cho phép chương trình ứng dụng truy cập trực tiếp đến gói tin của dịch vụ chuyển giao giống như dịch vụ mà giao thức IP cung cấp. Nó cho phép ứng dụng trao đổi thông tin qua mạng với ít thông tin điều khiển nhất. UDP là giao thức không kết nối, kém tin cậy vì không có cơ chế kiểm tra tính đúng đắn của dữ liệu truyền.

a.1 Cấu trúc gói tin UDP:

Source Port Destination Port

Message Length Checksum

Data Destination Address Sourse Address Type Field IP Header UDP Data CRC

Hình 2. 9: Cấu trúc gói tin UDP.

Mỗi gói thông tin UDP gọi là một datagram được phân chia làm 2 phần: Header và Data. Trong đó header chứa thông tin về địa chỉ cổng nguồn, địa chỉ cổng đích, độ dài của gói và checksum.

a.2. Phân kênh, hợp kênh và Port:

Phân kênh, hợp kênh chính là việc lựa chọn những tiến trình ứng dụng trong một số lớn các tiến trình sử dụng giao thức UDP, và cần lựa chọn ra các ứng dụng tương ứng với gói thông tin chuyển đến.

Port 1 Port 2 Port 3

UDP: Demultiplexing Base of Port

Hình 2. 10: Quá trình phân kênh.

Việc này được giải quyết bằng cơ chế cổng (Port Mechanism), cơ chế này gắn mỗi ứng dụng với một con số gọi là số hiệu cổng ( Port number), và mỗi gói thông tin mà ứng dụng gửi đi đều mang một trường SOURCE PORT.

Tại nơi nhận, dựa vào thông tin trong trường DESTINATION PORT mà gói tin đó được truyền tới cổng tương ứng với ứng dụng. Ví dụ một bản TCP/IP đều có dịch vụ FTP (File Transfer Protocol) gắn với cổng 21 và TFTP (Trivial File Transfer Protocol) gắn với cổng 69 của UDP.

Các cách sử dụng cổng:

- Dùng những cổng dành riêng cho từng ứng dụng đã được đăng ký trước (Well – Known Port Assignment).

- Một Port Number sẽ được sinh ra khi có một ứng dụng đòi hỏi (Dynamic Binding).

- Cách tiếp cận kết hợp các kiểu trên (Hybird) vừa sử dụng Well – Known Port Assignment cho một số Port Number vừa có thể định nghĩa các Port Number khác khi cần thiết. Các Port Number thông dụng của UDP thường được dành chỗ từ 1 tới 255. Một số hệ điều hành (như 4.3 BSD UNIX) còn dành chỗ tới Port Number 1023, các Port Number có thể sử dụng được là từ số 1024 trở lên.

Một số lý do sử dụng UDP như một dịch vụ giao vận:

- Nếu một số lượng lớn các gói tin nhỏ được truyền, thông tin cho việc kết nối và sửa lỗi có thể lớn hơn nhiều so với thông tin cần truyền. Trong trường hợp này, UDP là giải pháp hiệu quả nhất.

- Những ứng dụng kiểu “Query – Response” cũng rất phù hợp với UDP, câu trả lời có thể dùng làm sự xác nhận của một câu hỏi. Nếu không nhận được sự trả lời sau thời gian nào đó, ứng dụng chỉ cần gửi đi một câu hỏi khác.

- Một số ứng dụng đã tự nó cung cấp công nghệ riêng để chuyển giao thông tin tin cậy, và không đòi hỏi dịch vụ này của Transport Layer.

b. Giao thức điều khiển truyền tin TCP:

Một số ứng dụng đòi hỏi giao thức giao vận cung cấp dịch vụ chuyển giao thông tin tin cậy sử dụng TCP bởi nó cung cấp dịch vụ kiểm tra đúng đắn và dữ liệu được truyền với một sự phối hợp thích hợp. Một số đặc điểm của dịch vụ tin cậy mà TCP cung cấp là:

Hướng dòng (Stream Orientation): TCP coi dữ liệu nó gửi đi là một dòng byte không phải là gói tin. Do đó, TCP đảm bảo số thứ tự của các byte gửi nhận.

Một phần của tài liệu tổng quan về công nghệ mobile ip và ứng dụng của nó trong mạng di động (Trang 33 - 109)

Tải bản đầy đủ (DOC)

(109 trang)
w