0
Tải bản đầy đủ (.doc) (98 trang)

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

Một phần của tài liệu TÌM HIỂU VỀ MẠNG MÁY TÍNH (Trang 41 -45 )

một số lớn các tiến trình sử dụng giao thức UDP, và cần chọn ra những ứng dụng tơng ứng với gói thông tin chuyển đến.

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 đến cổng tơng ứng với ứng dụng. Ví dụ mọi 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.

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).

41

UDP Datagram arrives

IP Layer UDP: Demultiplexing Based on Port Port 3 Port 2 Port 1

• 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ố cổng UDP dành riêng 0 Reserved 7 Echo 9 Discard 11 Active users 13 Daytime 15 Who is up or NETSTAT

17 Quote of the day

19 Character generator

37 Time

42 Name server

43 Who is

53 Domain name server

67 Boottrap protocol server

68 Boottrap protocol client

69 Trivial File Tranfer Protocol ( TFTP)

111 Sun RPC

123 Network time protocol

161 SNMP net monitor

162 SNMP traps

512 UNIX comsat

513 UNIX rwho process

514 System log

525 Timed

Có một số lý do để ngời lập trình ứng dụng lựa chọn 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 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 tin cậy, và không đòi hỏi dịch vụ này của transport layer.

Giao thức điều khiển truyền tin (Transmission Control Protocol - 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. Trờng Sequence number và Acknowledgment number trong header của TCP giữ dấu của các byte trong toàn bộ dòng dữ liệu truyền. TCP chuẩn không bắt hệ thống phải sử dụng một số đặc biệt nào để đánh số dòng byte, mỗi hệ thống tự chọn một số mà nó sẽ dùng làm điểm bắt đầu. Mỗi trạm cuối phải biết số thứ tự mà trạm kia dùng. Chúng phải trao đổi một segment để đồng bộ hệ thống số sẽ đợc sử dụng (Synchronize sequenence number - SYN) trong quá trình bắt tay. Trờng Sequent number trong SYN segment chứa số bắt đầu (ISN) của

dòng số đánh thứ tự, số này đợc chọn ngẫu nhiên. Mỗi byte trong dữ liệu đợc giữ dấu bởi số ISN do đó byte đầu tiên của dữ liệu mang số ISN+1. Sequent number chứa vị trí của dòng byte trong gói tin nếu ISN=0 và 4000 byte đã đợc chuyển giao thì con số tiếp theo sẽ là 4001. • Chuyển giao bộ đệm (Buffered Transfer): Để giảm số lợng truyền thông,

giao thức cố gắng sử dụng số lợng tối thiểu các segment để truyền tải thông tin, do vậy, giao thức sử dụng tối đa độ dài có thể của segment. Trờng window trong TCP header cho biết số byte tối đa mà trạm đích có thể nhận đợc, nếu trạm đích có khả năng chấp nhận 6000 byte thì tr- ờng window sẽ là 6000, trạm gửi có thể điều chỉnh lại dữ liệu cho phù hợp. Nếu trờng window mang giá trị 0 có nghĩa là trạm gửi phải chờ tới khi nhận đợc một số khác 0.

• Kết nối hai chiều (Full Duplex Connection): TCP/IP cung cấp kết nối cho cả hai đầu của liên kết. Điều này có nghĩa là tầng phía dới cung cấp khả năng gửi trả thông báo từ trạm đích trở lại trạm nguồn. TCP là giao thức h- ớng kết nối. Nó thiết lập quan hệ logic giữa 2 trạm tham gia liên kết. Thông tin điều khiển gọi là handshake đợc trao đổi giữa 2 trạm để thiết lập hội thoại trớc khi thông tin đợc truyền. TCP chỉ dẫn chơng trình điều khiển của một segment bằng cách đặt một bit dành riêng của cờ tại word thứ 4 của segment header. Kiều bắt tay của TCP gọi là three way

handshake bởi vì 3 segment đợc trao đổi. Trạm A bắt đầu kết nối bằng

cách gửi một segment với bit Synchronize sequenence number (SYN). Segment này báo cho trạm B thứ tự trạm A sẽ sử dụng cho những segment của nó gửi, số thứ tự này đảm bảo cho dữ liệu một trật tự thích hợp. Trạm B đáp lại trạm B với một segment với bit Acknowledgment (ACK) và SYN đợc đặt. Segment của B thông báo rằng nó đã nhận đợc thông báo của A và báo cho A biết số thứ tự mà nó sẽ sử dụng. Cuối cùng, A gửi một segment báo cho B nó đã nhận đợc thông báo và truyền gói dữ liệu đầu tiên. Chú ý rằng, gói tin thứ nhất chứa bit SYN và các gói tiếp theo

chứa bit ACK. Sau khi trao đổi, trạm A xác định hiển nhiên trạm đích tồn tại và đã sẵn sàng nhận dữ liệu. Ngay sau khi kết nối đợc thiết lập, dữ liệu có thể truyền. Khi kết thúc hợp tác truyền giao dữ liệu, chúng sẽ trao đổi three way hanshake chứa bit thông báo hết dữ liệu truyền No more data

from sender gọi là (FIN) để kết thúc kết nối. Đó là sự trao đổi giữa hai

trạm cung cấp một kết nối logic giữa hai hệ thống.

TCP cung cấp dịch vụ tin cậy với một cơ chế gọi là "Positive Ackowledgment with Retransmission" (PAR). Đơn giản là trạm nguồn tiếp tục gửi thông tin đi cho tới khi nó nhận đợc thông báo dữ liệu đã đợc nhận chính xác tại trạm đích. Đơn vị thông tin chuyển giao giữa các ứng dụng gọi là segment, mỗi segment chứa checksum để đảm bảo rằng segment không bị phá huỷ trên đ- ờng truyền, nếu segment không bị phá huỷ, trạm nhận gửi thông báo xác nhận lại trạm gửi, nếu segment bị phá huỷ, trạm nhận huỷ bỏ nó và sau một thời gian nào đó, trạm gửi sẽ gửi lại gói tin mà nó không nhận đợc thông báo xác nhận. Gói tin TCP

Một phần của tài liệu TÌM HIỂU VỀ MẠNG MÁY TÍNH (Trang 41 -45 )

×