CHƯƠng giới thiệU



tải về 186.59 Kb.
trang3/4
Chuyển đổi dữ liệu24.07.2016
Kích186.59 Kb.
#3670
1   2   3   4

2.6.Giao thức TCP/IP

2.6.1.Giới thiệu tổng quan


Mô hình TCP/IP chỉ có 4 lớp. Mô hình tham chiếu của TCP/IP không trực tiếp giống mô hình của OSI. Mặc dù mỗi mô hình mạng đều có chung một mục đích là để truyền thông dễ dàng giữa các mạng, giữa các loại máy tính chạy trên nền hệ điểu hành khác nhau. Nhưng mỗi mô hình mạng đều có đặc điểm riêng và cách thực thi cũng chút ít khác nhau. Mô hình OSI do ISO tạo ra trong một thời gian dài, nó được dùng làm mô hình chuẩn cho các mô hình khác. Còn TCP/IP ra đời do yêu cầu cấp thiết của chính phủ Mỹ trước tình hình lúc bấy giờ, do đó sự phát triển của TCP/IP không bị đè nặng bởi những yêu cầu chặt chẻ như OSI.

Do đặc tính của OSI là một mô hình tham khảo nên việc áp dụng OSI vào thực tế là khó có thể thực hiện (hiệu suất kém vì dữ liệu khi truyền trong mạng phải qua tất cả các lớp của mô hình OSI). Do đó, OSI chỉ là một tiêu chuẩn để các nhà nghiên cứu dựa vào đó để phát triển các mô hình khác tối ưu hơn. Có rất nhiều mô hình khác nhau đã được phát minh, tuy nhiên hiện nay trên thế giới cùng với sự phát triển như vũ bão của Internet thì mô hình TCP/IP là được sử dụng phổ biến nhất.



Bộ giao thức TCP/IP là rất quan trọng trong việc lựa chọn cách thức truyền thông nhằm hạn chế lỗi và tăng hiệu quả. TCP/IP có các đặc điểm nổi bậc sau:

  • Độc lập với cầu hình mạng: TCP/IP có thể dung cho mạng bus, start, ring, cho mạng cục bộ, mạng diện rộng hay các liên mạng.

  • Độc lập với phần cứng vật lý của mạng: TCP/IP có thể dung cho Ethernet, token-ring hay bất cứ loại phần cứng nào.

  • Là một chuẩn giao thức mở: TCP/IP có thể thực hiện trên nhiều hệ điều hành (Operating System – OS) khác nhau, nên nó thích hợp dung cho các mạng hỗn tạp các loại phần cứng và phần mềm như Internet.

  • Định địa chỉ một cách tổng quát: mỗi trạm trên mạng TCP/IP có một địa chỉ IP duy nhất được dùng để liên lạc với bất kì trạm nào khác trên mạng.

  • Hỗ trợ đắc lực mạng theo mô hình Client – Server.

  • Các protocol chuẩn lớp ứng dụng: TCP/IP không những cung cấp cho lập trình viên phương pháp để truyền dữ liệu giữa các ứng dụng mà còn cung cấp cơ sở của nhiều giao thức lớp ứng dụng.

2.6.2.Kiến trúc của TCP/IP


Phát triển từ mô hình tham chiếu OSI, TCP/IP được phân làm 4 lớp:

  • Lớp truy xuất mạng (Network Access layer).

  • Lớp liên mạng (Internet Layer).

  • Lớp giao vận (Transport layer).

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

Việc phân lớp 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 hóa 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ần chú ý tới việc định nghĩa các quy tắc chuẩn hóa 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ỏ 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 bảo đảm những nguyên 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 lớp đồng mức cung cấp chức năng như nhau. Các lớp đồng mức phải sử dụng giao thức chung.

Một lớp 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ể thi hành bởi một số giao thức. Do vậy, mỗi lớp 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 lớp. Mỗi lớp phải được chuẩn hóa để giao tiếp với lớp 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 lớp trên hoặ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 lớp trên một máy tính, bởi mỗi lớp lại liên quan tới việc gửi dữ liệu từ ứng dụng này tới một ứng dụng tương đương trên một máy khác. Lớp cao hơn dựa vào lớp 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ừ lớp này xuống lớp thấp hơn cho tới khi được truyền qua mạng nhờ giao thức của lớp 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 lớp riêng lẻ không cần biết các lớp 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 lớp đó mà thôi. Sự cô lập các hàm truyền thông trên các lớp 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 lớp vật lý của mạng, phần cứng có thể được bổ sung mà không cần viết lại các phần mền ứng dụng.

Các lớp kiến trúc mô hình TCP/IP và các nghi thức tương ứng như sau:



OSI




TCP/IP




TCP/IP Protocol Stack

Application layer

Process/Application layer

FTP, SMTP, TELNET, SNMP

Presentation layer

Session layer

Transport layer

Transport layer

TCP or UDP

Network layer

Internet layer

IP, ARP, RARP, ICMP

DataLink layer

Network Access layer

Network interface card Transmission media

Physical layer

Tương quan hai mô hình OSI model và TCP/IP model

TCP (Transmission Control Protocol): một nghi thức có cầu nối (connection-oriented) cung cấp khả năng truyền dòng dữ liệu không lỗi, hai chiều song công (full duplex) cho các quá trình của người sử dụng.

UDP (User Datagram Protocol): một khi thức không thiết lập cầu nối (connectionless) cho các quá trình của user. Do đó, nó không dảm bảo dữ liệu khi truyền có đến nơi chính xác hay không.

ICMP (Internet Control Message Protocol): nghi thức sử lý lỗi và điều khiển thông tin giữa các gateway và các host.

IP (Internet Protocol): đây là protocol cung cấp dịch vụ phân phối các packet cho TCP, UDP và ICMP.

ARP (Adress Resolution Protocol): protocol ánh xạ một địa chỉ Internet vào trong một địa chỉ phần cứng.

RARP (Reverse Address Resolution Protocol): ánh xạ một địa chỉ phần cứng thành một địa chỉ Internet.

2.6.3.Lớp truy xuất mạng (Network Access Layer)


TCP/IP không định nghĩa lớp này mà dung chung với các chuẩn khác đã tồn tại như IEEE, X25…(RS232, Ethernet, X21/X21 bis, X35…). Bản chất của lớp này là việc qui định các đại lượng tín hiệu, các phương cách giao tiếp để truyền các dòng bit trên kênh truyền.

Không giống những giao thức của lớp cao hơn là sử dụng dịch vụ của lớp dưới nó và cung cấp dịch vụ cho lớp 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 ràng buộc của mạng. Lớp mạng của TCP/IP chứa chức năng của tất cả 2 lớp thấp nhất của mô hình tham chiếu OSI (lớp liên kết dữ liệu và lớp vật lý). Lớp 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 lớp 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 các lớp cao hơn (IP, TCP, UDP...). Mỗi khi có công nghệ phần cứng mới xuất hiện, những giao thức của lớp 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 lớp này bao gồm đóng gói 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ỉ IP thành địa chỉ vật lý sử dụng bởi mạng máy tính. Một 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ị mạng nào cùng địa chỉ. Địa chỉ này phải được chuyển đổi thích hợp với địa chỉ mạng vật lý nơi mà dữ liệu được truyền đi.

Hai ví dụ RFCs mô tả giao thức sử dụng cho lớp mạng là:


  • RFC 826, giao thức chuyển đổi địa chỉ chuyển đổi địa chỉ IP thành địa chỉ Ethernet.

  • RFC 894, một chuẩn cho việc truyền gói tin IP qua mạng Ethernet mô tả cách thức đóng gói để chuyển thông tin qua mạng Ethernet.

Khi cài đặt trong UNIX, giao thức của lớp này được xem như sự phối hợp của chương trình để điều khiển thiết bị và các chương trình liên quan. Những đơn vị tương ứng với những thiết bị mạng làm nhiệm vụ đóng gói dữ liệu và chuyển giao cho mạng.

2.6.4.Lớp liên mạng (Internet Layer)


Lớp này định nghĩa đơn vị dữ liệu để truyền và định tuyến cho các đơn vị dữ liệu đó. IP là một protocol quan trọng nhất của bộ TCP/IP vì tất cả các protocol trong bộ TCP/IP đều phải dùng đến nó và tất cả dữ liệu phải lưu chuyển qua nó.

2.6.4.1.Gói tin IP (Internet Protocol)


IP là một nghi thức không kết nối (connectionless protocol), tức là không thiết lập một giao tiếp trực tiếp (end-to-end) trước khi truyền dữ liệu. IP không đảm bảo phân phát chính xác dữ liệu đến đích, các gói dữ liệu có thể đến đích không đúng thứ tự, có thể bị sao chép hay thất lạc (do đó IP phải kết hợp với TCP). Đơn vị dữ liệu của IP là datagram có chứa địa chỉ IP của nguồn và đích. IP có nhiệm vụ tìm đường cho datagram nên có thể phân mảnh hay hợp nhất các datagram để thích hợp với kích thước packet lớn nhất cho phép trên đường truyền.

Định dạng IP datagram header (32 bits header):



Version

Header length

Type of service

Total length of datagram

Identification

Flags

Fragment offset

Time to live

Protocol

Header checksum

Source address

Destination address

Option:

Strick source route

Loose source route

Record route

Time stamp

Security


Data (max 65535 bytes)

IP datagram header

Destination Address

4 bytes


Source Address

4 bytes


Type Field

2 byte


IP data

46 – 1500 bytes



CRC

4 bytes


Hình 2 5 Mô tà đóng gói IP lên khung Ethernet

Verision (VER) 4bits: đánh số phiên bản của IP, phiên bản hiện hành là 4 (IPv4) với giá trị nhị phân là 0100.

Header length (HLEN) 4bits: định nghĩa chiều dài của IP header chỉ ra bội số của 4 bytes. Dung 4bits tức giá trị tối đa là 15 tương đương 60bytes.

Service type (1 bytes): định nghĩa cách mà datagram được quản lý. Nó bao gồm các bits định nghĩa thứ tự ưu tiên của datagram. Nó cũng chứa các bit làm rõ loại dịch vụ phía gởi mong muốn độ tin cậy, trễ…

Total length (2 bytes): định nghĩa chiều dài tổng thể của một datagram. Tối đa là 65535 bytes.

Identification: được dung với các phân đoạn. Một datagram khi đi qua các mạng khác nhau có thể được chia thành các đoạn để phù hợp với kích thước khung của mạng. khi xảy ra hiện tượng này thì mỗi đoạn được định danh với một số thứ tự trong trường này.

Flags: các bits trong cờ có quan hệ với phân đoạn. Ví dụ datagram có thể hoặc không có phân đoạn, có thể đoạn đầu, đoạn giữa hoặc đoạn cuối…

Fragmentation offset: đây là một con trỏ chỉ ra độ lệch của dữ liệu trong datagram gốc (nếu đã được phân đoạn).

Time to live: định nghĩa số bước nhảy tối đa một datagram có thể đi qua trước khi bị drop (loại bỏ). Máy chủ nguồn khi tạo ra datagram sẽ khởi động giá trị trong trường này. Kế tiếp khi datagram qua Internet, mỗi router mà datagram đi qua sẽ giảm giá trị đi 1. nếu giá trị này bằng 0 trước khi đến đích cuối cùng thì datagram sẽ bị drop.

Protocol: định nghĩa loại dữ liệu nghi thức nào của lớp trên đóng gói trong datagram (TCP, UDP, ICMP…).

Header checksum (16 bits): dung kiểm tra header chứ không kiểm tra phần còn lại của gói.

Source address (4 bytes): địa chỉ IP nguồn của datagram.

Destination address (4 bytes): địa chỉ IP của đích cần gởi datagram đến.

Options: trường chọn lựa cho nhiều chức năng đối với IP datagram. Nó có thể mang các thông tin về kiểm soát định tuyến như: timing, quản lý và cân bằng.

IP lại chứa 4 nghi thức giúp đỡ là: ARP, RARP, ICMP và IGMP.



ARP (Adrees Resolution Protocol) được dùng để quảng bá tìm địa chỉ vật lý từ địc chỉ IP. Protocol này được dùng trong mạng nội bộ vì định dạng địa chỉ vật lý của mạng phhụ thuộc vào phần cứng mạng.

RARP (Reverse Address Resolution Protocol) để tìm địa chỉ IP khi đã biết địa chỉ vật lý.

ICMP (Internet Control Message Protocol) là cơ chế được dung bởi máy chủ và router. ICMP cho phép IP thông báo phía gửi nếu datagram không được phát đúng. Đặc trưng nhất của ICMP là tiện ích ping thường được các lập trình viên dùng kiểm tra các node có còn hoạt động hay không.

IGMP (Internet Group Message Protocol): nghi thức IP liên quan đến 2 thông tin là unicasting và multicasting. Unicasting là thông tin giữa một người gởi và một người nhận. nó là thông tin một – một. Tuy nhiên, một số quá trình thỉnh thoảng cần gởi một thông điệp đến nhiều người nhận đồng thời. Trường hợp này là multicasting, tức là thông tin một – nhiều. multicasting có rất nhiều ứng dụng.

2.6.4.2.Địa chỉ IP


Địa chỉ IP gồm 32 bits, thường được mô tả ở dạng thập phân và mỗi byte cách nhau bởi dấu “.” là danh hiệu duy nhất trên mạng. Địa chì này có 2 phần: phần địc chỉ mạng và địa chỉ nội bộ. Có 3 lớp địa chỉ A, B, C dành cho 3 loại mạng lớn, vừa và nhỏ; 1 lớp địa chỉ multicasting (lớp D) và một lớp dự trữ (E).

Trong đó có một lớp địa chỉ đặc biệt dùng để kiểm tra thiết bị mạng là:

127.x.x.x (loopback)


Bit trọng số

Lớp

(Class)


Phạm vi địa chỉ

Kích thước

không gian địa chỉ



0xxx

A

0.0.0.0 – 127.255.255.255

224 = 16777216

10xx

B

128.0.0.0 – 191.255.255.255

216 = 65536

110x

C

192.0.0.0 – 223.255.255.255

28 = 256

1110

D

224.0.0.0 – 239.255.255.255




1111

E

240.0.0.0 – 255.255.255.255




Không gian địa chỉ IP

Khi một mạng phức tạp có địa chỉ thuộc lớp A, B hoặc C có một vài subnet tham dự để tạo cấu trúc mạng thì local sẽ được chia làm 2 phần: subnet address và host address. Kích thước và việc gán trọng số của subnet part được quản lý bởi tổ chức nội bộ.

Để phân biệt các subnet cho các host và router thì cần dùng một subnetsmask. Đó là bộ 32 bits, bit 1 phủ phần network và subnet, bit 0 dùng để mask out số host trong địa chỉ IP.


Class A

0

Net ID

Host ID




Class B

1

0

Net ID

Host ID




Class C

1

1

0

Net ID

Host ID




Class D

1

1

1

0

Multicast address




Class E

1

1

1

1

Reserved for future use

Khuôn dạng địa chỉ liên mạng – Subnet address

Các địa chỉ đặc biệt:



  • Nhận dạng mạng: Địa chỉ IP tham khảo tới một mạng co phần local part là zero. Tương tự đối với một subnet. Các địa chỉ này không được gán cho host và router.

  • Quảng bá trên mạng: Địa chỉ 255.255.255.255 có một mục đích đặc biệt, đó là dung để gởi một message tới mỗi host trên mạng nội bộ. broadcasts thường dùng khi một host cần định vị tới một server. Cũng có thể gởi một massega tới mỗi host trên mạng ở xa bằng cách đặt local part ở địa chỉ lên “1”.

  • Quảng bá trên subnet: Một broadcasts có thể định hướng tới một subnet đặc biệt. Khi đó host address trong địa chỉ IP được đặc lên “1”; còn nếu muốn phát rên toàn nút mạng (node) thì cả subnet address và host address được đặc lên “1”.

  • Địa chỉ tự khóa (loopback address): Đối nghịch với địa chỉ quảng bá là các message không được rời khỏi local host. Khi đó thường dung một loopback address, có nghĩa là “node” dùng để kiểm tra phần mềm mạng. đó là địa chỉ bắt đầu bằng “127.xxx.xxx.xxx”.

  • This host on network: Địa chỉ 0.0.0.0 có nghĩa là bản thân host là phần tử của mạng. với các host trên cùng một mạng cục bộ chỉ có phần host address là mang số của host trên mạng nà, còn các phần khác là zero.

  • Hệ thống tên vùng: Để có thể tra tìm tên – địa chỉ của một host nào đó, người ta dung hệ thống tên vùng giữ ở một server gọi là nameserver.

2.6.4.3.Gói tin ARP (Adrees Resolution Protocol)


Một cơ chế sử dụng để chuyển địa chỉ IP thành địa chỉ vật lý là ARP (Address Resolution Protocol). Khi hai máy tính cùng nối vào một mạng vật lý, chúng biết được địa chỉ IP của nhau nhưng để truyền thông giữa hai máy, chúng phải biết được địa chỉ vật lý của nhau. ARP giải quyết vấn đề chuyển từ địa chỉ IP 32 bits sang địa chỉ Ethernet 48 bits. Người ta sử dụng hai cơ chế đó là: ARP request và ARP reply.



Hình 2 6 Mô tả họat động của khung ARP

Chuyển giao trực tiếp: địa chỉ vật lý là một hàm của địa chỉ IP ví dụ sử dụng trên mạng token ring proNET-10 là mạng cho phép đặt địa chỉ IP và địa chỉ vật lý thỏai mái. Người ta có thể đặt địa chỉ IP là 192.5.48.3 và địa chỉ vật lý là 3, khi đó ta có Pa= f(Ia).

Chuyển giao địa chỉ động được thực hiện bằng cách máy tính muốn gửi thông tin gửi một thông báo tới tòan bộ các máy tính trên mạng, trong thông báo đó có chứa địa chỉ IP của máy tính nó cần liên lạc, mọi máy sẽ nhận được thông báo và máy nào thấy địa chỉ IP của mình thì trả lại một thông báo chứa địa chỉ vật lý. Khi đó hai máy tính có thể “ nói chuyện” với nhau.

Ngoài ra, người ta còn sử dụng bảng chỉ đường để lưu trữ tạm thời các địa chỉ sử dụng mới nhất ( Address Reslution Cache) để tăng tốc độ của việc chuyển giao địa chỉ.

Một gói thông tin ARP là một Ethernet Frame được truyền trực tiếp từ máy này tới máy khác. 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 dẫn đường, nó phải được gửi broadcast tới tất cả các máy trên mạng Ethernet (với địa chỉ FFFF_FFFF_FFFF).

Gói thông tin ARP được mô tả như sau:



Hình 2 7 Gói tin của ARP


  • Protocol type: 0x0800 cho IP (0000.1000.0000.0000).

  • Hardware len = 6 bytes cho ethernet.

  • Protocol len = 4 bytes cho IP.

  • ARP operation:

    • 1= yêu cầu

    • 2 = đáp lại

    • 3/4 = RARP yêu cầu/đáp lại



Destination Address

6 bytes


Source Address

6 bytes


Frame type

2 bytes


(ARP) Data

28 bytes


CRC

4 bytes


Hình 2 8 Trường của khung ARP

  • Địa chỉ đích (ethernet destination address):

  • FF:FF:FF:FF:FF:FF là địa chỉ broadcast cho ARP request.

  • Địa chỉ nguồn (ethernet source address) là địa chỉ của ARP yêu cầu.

  • Frame type:

    • ARP yêu cầu hoặc đáp lại (ARP request/rely) : 0x0806

    • RARP yêu cầu hoặc đáp lại (RARP request/rely): 0x08035

    • IP: 0x0800

2.6.5.Lớp giao vận (Transport Layer)


Lớp vận chuyển có 2 nhiệm vụ như sau:

  • Cung cấp dịch vụ cho lớp quá trình bên trên nó và các ứng dụng cùng với giao diện thích hợp cho mạng.

  • Phân phát message của các lớp trên giữa các host.

Lớp giao thức ngay trên lớp Internet là Host to Host Transport Layer hay thường gọi là Transport Layer. Hai giao thức quan trọng này là Transmission Control Protocol (TCP) và User Datagram Protocol (UDP). TCP cung cấp dịch vụ chuyển giao thông tin kết nối (connection oriented), nó bao gồm cả kiểm tra và sửa lổi. UDP cung cấp dịch vụ kém tin cậy hơn (unreliable) và không thể 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 lớp ứng dụng và lớp Internet. Chương trình ứng dụng có thể lựa chọn dịch vụ nào thích hợp với ứng dụng của nó.

IP phân phát một datagram từ một máy chủ nguồn đến máy chủ đích, tạo thành một nghi thức máy chủ-máy chủ. Các hệ đểu hành ngày nay trợ giúp môi trường xữ lý nhiều người sử dụng. Một chương trình thực thi gọi là process. Một máy chủ đang nhận một datagram cũng có thể chạy nhiều process đồng thời.

Các nghi thức giao vận của bộ nghi thức TCP/IP định nghĩa một tập kết nối khái niệm cho các process riêng được gọi là các ports nghi thức, hay đơn giản hơn là ports. Một ports nghi thức là mộ điểm đến (thường là một bộ đệm) để chứa dữ liệu dùng cho một process cụ thể. Giao tiếp giữa các processes và càc ports tương ứng được cung cấp bởi hệ điều hành của máy chủ.

IP là một nghi thức máy chủ - máy chủ, có nghỉa là nó có thể nhận phát gói từ một thiết bị vật lý đến thiết bị vật lý khác. Các nghi thức mức giao vận của TCP/IP là các nghi thức port to port làm việc ớ phía trên của các nghi thức IP để phân phát gói từ port gốc đến port đích tại cuối truyến.

Mỗi port được định nghĩa bằng một số nguyên dương được mang trong header của gói lớp giao vận. Một khung tại lớp giao vận dùng địa chỉ port 16 bits, đủ dùng cho các ports từ 0 đến 65535.

2.6.5.1.Giao thức UDP (User Datagram Protocol)


UDP (User Datagram Protocol) là một nghi thức không tin cậy, chỉ cố gắng hết mình để phân phát dữ liệu. UDP chỉ cung cấp cơ bản cần thiết cho phân phát end-to-end. Nó không cung cấp bất cứ chức năng đánh số thứ tự nào và do đó không thể làm rõ gói nào bị hỏng khi báo cáo về lỗi. UDP có thể khám phá ra một lỗi đã xuất hiện tức là ICMP có thể thông báo phía gửi là một user datagram đã hỏng và bị loại. Tuy nhiên nó không có khả năng biết là gói nào bị mất. UDP cho phép truyền dữ liệu trên mạng với chi phí thấp do sự phân phát dữ liệu không tin cậy. Các dịch vụ dùng UDP là TFTP, DSN, SNMP…

  • Gói thông tin UDP:

Mỗi gói thông tin UDP gọi là một Datagram được phân 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.

Chech sum: 16 bits là số bù 1 của tổng bù 1của các 2 bytes trong phần header, dữ liệu và phần header giả (pseudo header) . Nếu phần header và text chứa một số lẻ bytes thì byte cuối cùng được đệm vào bên phải với 0 để đủ 16 bit cho mục đích Checksum. Phấn đệm thì không được truyền như một phần của header.



Hình 2 9 Đóng gói UDP vào khung Ethernet


  • Phân kênh, hợp kênh và Ports.

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, người ta chọn ra những ứng dụng tương ứng với gói thông tin chuyển đến.



Hình 2 10 Sự phân kênh và hợp kênh của ARP

Việc này 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à port number và mỗi gói thông tin mà nó gửi đi đều mang một trường SOURCE PORT.

Tại nơi nhận, dựa vào thông tin trường DESTINATION PORT mà gói thông tin đó được truyền đến cổng tương ứng với ứng dụng. Ví dụ mọi bảng 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.


  • Việc sử dụng các port number cũng có nhiều cách.

    • 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 (Hybrid) trong đó người ta 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. Một khung tại lớp giao vận dùng địa chỉ port 16 bits, đủ dùng cho các ports từ 0 đến 65535.

Vì sao người lập trình ứng dụng lựa chọn UDP như một dịch vụ giao vận? Có một số lý do:



    Một số lượng lớn các gói thông 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 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-Respon” 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 một 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 cậy, và không đòi hỏi dịch vụ này của transport layer.

Đây là giao thức đơn giản và truyền nhanh, nên nó thường được sử dụng trong các ứng dụng điều khiển thời gian thực. Do đó trong Luận Văn này chọn giao thức UDP làm giao thức truyền khung điều khiển của lớp trên.

2.6.5.2.Giao thức TCP (Transmission Control Protocol)


TCP (Transmission Control Protocol) là một nghi thức tin cậy. TCP là một nghi thức port-to-port tin cậy và định hướng kết nối. TCP tạo ra một mạch ảo giữa phía gửi và nhận trong suốt quá trình truyền.TCP bắt đầu truyền bằng cách thông báo cho phía nhận biết (thiết lập kết nối) và khi kết thúc truyền thì gửi một kết thúc kết nối. Nó cố gắng phân phát dữ liệu đến đích, kiểm tra lỗi, truyền lại nếu cần, thông báo lỗi cho lớp trên nếu truyền không thành công. Do đó, việc sử dụng TCP cũng làm tăng chi phí.

TCP cung cấp đầy đủ các dịch vụ lớp giao vận đối với áp dụng. TCP là một nghi thức port to port tin cậy và định hướng kết nối. TCP tạo ra một mạch ảo giửa phía gửi và nhận trong suốt quá trình truyền. TCP bắt đầu truyến bằng cách thông báo cho phía nhận biết (thiết lập kết nối) và khi kết thúc truyền thì gửi kết thúc kết nối.

Sự tin cậy của TCP đảm bảo bằng việc phát hiện lỗi và truyền lại các khung bị hỏng: tất cả các đọan phải được nhận và xác nhận trước khi xem như cuộc truyến là hòan thành và mạch ảo được lọai bỏ.

Tại đầu gửi, TCP chia cuộc truyền thành các đơn vị dữ liệu nhỏ hơn và đóng gói thành các khung gọi là đọan. Mỗi đọan bao gồm việc đánh số nhằm sềp lại theo thứ tự khi nhận. Các đọan được tải qua mạng bên trong các IP datagram. Tại đầu nhận, TCP gom mỗi datagram khi chúng đến và xếp lại theo thứ tự dựa vào các số đã được đánh.

TCP gởi trên internet các datagram. Header của Internet Protocol mang những trường thông tin bao gồm địa chỉ nguồn và đích của máy chủ. TCP header theo sau header của internet và cung cấp thông tin cụ thể tới nghi thức TCP.



Hình 2 11 Định dạng Gói TCP

  • Source port: 16 bits địa chỉ nguồn.

  • Destination: 16 bits địa chỉ đích.

  • Sequence Number: 32 bits một dòng dữ liệu từ chương trình áp dụng có thể được chia thành hai hay hoặc nhiều đọan TCP. Số thứ tự chỉ ra vị trí của dữ liệu trong dòng dữ liệu gốc.

  • Acknowledgment Number: 32 bits dùng để xác nhận có nhận dữ liệu từ thiết bị khác. Số này chỉ xác nhận khi bit ACK trong trường điều khiển được đặt. Trong trường hợp này, số thứ tự chỉ ra mong đợi kế tiếp.

  • Data offset: 4 bits chỉ ra nơi dữ liệu bắt đầu.

  • Reserved: 6 bits dành cho tương lai.

  • Control bits: 6 bits (từ trái sang phải).

  • URG: khi được đặt chỉ ra tính hợp lệ của trường urgent pointer. Cả bit urgent và con trỏ chỉ ra rằng dữ liệu trong đọan là khẩn cấp.

  • ACK: khi được đặt chỉ ra tính hợp lệ của trường Acknowledgment number. Cả hai đều được dùng với nhau và có chức năng khác nhau tùy vào lọai đọan.

  • PSH: được dùng thông báo phía gửi là cần một tốc độ trung bình cao hơn.

  • RST: dùng để xóa kết nối khi có nhấm lẫn số thứ tự.

  • SYN: dùng để đồng bộ việc đánh số cho ba lọai đọan: yêu cấu kết nối, khẳng định kết nối(với bit ACK), và xác nhận khẳng định (với bit ACK được đặt).

  • FIN: được dùng cho kết thúc nối cho ba đọan và xác nhận của khẳng định kết thúc.

  • Window: 16 bits số dữ liệu được chỉ ra trong trường acknowledgment mà phía gửi đang đảm nhận.

  • Chech sum: 16 bits là số bù 1 của tổng số bù 1 của 16 bytes trong phần header và text. Nếu phần header và text chứa một số lẻ bytes header và text được kiểm tra, thì byte cuối cùng được đệm vào bên phải với 0 để đủ 16 bytes cho mục đích Checksum. Phần đệm thì không được truyền như một phần của header. Trong khi tính checksum, tự bản thân của trường checksum được thay thế với 0 (có nghĩa là chechsum sẽ thay thế những bit 0 này).

Chechsum cũng bao gồm 96 bit header giả (Pseudo header) được thêm vào đầu header của TCP. Header giả này chứa địa chỉ nguồn ,địa chỉ đích, nghi thức, chiều dài TCP. Phần này được đưa ra để bảo vệ TCP trong việc truyền lạc khung. Những thông tin này được mang bởi Internet Protocol và được truyền qua TCP/Network interface trong arguments hoặc kết quả của việc gọi bởi TCP trên IP.



Hình 2 12 Khung TCP

  • TCP length là chiều dài byte của header và chiều dài dữ liệu nhưng nó không bao gồm 12 bytes header giả .

  • Urgent pointer (16 bits): Trường này giao tiếp với giái trị hiện hành của Urgent pointer như là một mức offset từ số tuần tự trong khung. Urgent pointer luôn chỉ đến giá trị số bytes dữ liệu khẩn. Gía trị của trường này được tính khi tín hiệu điều khiển URG được đặt.

2.6.6.Lớp ứng dụng (Application Layer)


Gồm các ứng dụng truyền trên mạng như truyền thư (Simple Mail Transfer Protocol – SMTP), truyền file (File Transfer Protocol – FTP), truy xuất từ xa (Telnet), quản lý mạng (Simple Network Manegement Protocol – SNMP)…


tải về 186.59 Kb.

Chia sẻ với bạn bè của bạn:
1   2   3   4




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương