HƯỚNG DẪN CÀI ĐẶT ISA SERVER ENTERPRISE 2000 –PHẦN IV

PHÂN TÍCH CÁC LOẠI ISA CLIENT
Những câu hỏi thường được đề cập khá nhiều về ISA Clients như: ISA Client là gì, có mấy loại, và được sử dụng trong những trường hợp nào. Tất cả những câu hỏi trên đều rất cần thiết khi bạn làm việc với một hệ thống phức tạp như ISA server. Bài viết đưa ra cái nhìn tổng quan và cách thức để triển khai ISA Clients,chính xác là cách thức làm việc giữa ISA server và ISA clients như thế nào nhằm đạt hiệu quả tốt nhất.
Có 3 loại ISA clients: SecureNAT, Firewall và Web. Thuật ngữ chính xác khi mô tả về các loại Clients này là “Client request” hơn là “Client”. Tại sao ư, vì đơn giản là cách mô tả này cho chúng ta thấy được cách làm việc giữa Clients và ISA server : Đó là những yêu cầu từ phía ISA client chuyển đến ISA server được đáp ứng như thế nào.

Một khái niệm “nền” mà các bạn cần lưu ý khi triển khai các loại Client này là LAT host (Loal Address Table host- Các Computer có IP address nằm trong vùng địa chỉ nội bộ, nhằm phân biệt với các External Computers). Một LAT host có thể được cấu hình làm SecureNAT, Firewall và Web client tại cùng một thời điểm.
Tôi xin nhắc lại một số định nghĩa đã được trình bày tại phần III
· Auto-detection: Một tính năng trên ISA server (WPAD), cho phép trình duyệt Internet Explorer (phiên bản 5.0 trở lên), tự động cập nhật cấu hình thích hợp nhất cho mình để có thể làm việc được với ISA server
· DNS (Domain Name Services) Service chạy trên một Computer có nhiệm vụ trả lời những yêu cầu truy vấn tên (hostname) ra IP address thực của các Internet Servers. ví dụ về một truy vấn tên, ISA Clients cần truy cập đến www.nis.com.vn hay mail.nis.com.vn (đây là một hostname, và hostname là kiểu tên duy nhất được dùng để mô tả về các Computer đang cung cấp các dịch vụ trên Internet)
· LAT Host: Những Computer hoạt động bên trong Mạng nội bộ thông thường nằm trong danh sách LAT (Local Address Table), giúp ISA server phận biệt với các External Host. ISA server dùng NAT dể xử lý các LAT host này (thay các IP Address của LAT host bằng External IP address trên ISA server), trước khi thông tin được gửi ra ngoài.
· NetBIOS Name: Cũng được gọi là Computer Name, được dùng phổ biến trong các Mạng nôi bộ (mô hình WORKGROUP các máy tình thường dùng Netbios name để giao tiếp với nhau, không dùng Hostname – chú ý: Hostname chỉ được dùng trong 2 trường hợp: Cho các server cung cấp dịch vụ trên Internet, và trong các hệ thống Domain nội bộ, như Active directory domain của Microsoft)
· Record: Trong hệ thống DNS, và nằm trong DNS zone, các record chính là bản ghi cụ thể chỉ rõ một Host, một Mail server, một Web server hay Domain Controller, v.vv gắn liền với IP address ( hoặc ngược lại ghi IP adrress trước và Hostname sau) của những Server này, và là nhân tố chính phục vụ cho việc truy vấn tên từ Clients.
· Primary và Secondary Protocol:
Có những Server cung cấp chỉ một Network Service khi giao tiếp, có thể Service phải được vận hành trên nhiều Port (hay nói cách khác phục vụ trên nhiều connections cùng thời điểm cho dù chỉ cung cấp 1 service. Ví dụ Active FTP server service, chạy đồng thời trên 2 TCP ports: 21- thiết lập connection, và 20- truyền data (khác với Passive FTP chỉ mở TCP Port 21)

Trong ví dụ trên, Primary connection trên Active FTP server được thực hiện thông qua TCP Port 21, còn Secondary connection qua TCP port 20. Như vậy TCP 21 là Primary Protocol, còn TCP 20 là Secondary Protocol của Active FTP Server Application.
· TTL ( Time to Live) Có đơn vị, được tính bằng giây, xác định thời gian cho một name record tồn tại trong DNS zone, trước khi name record này phải được refresh, để cập nhật thông số mới chính xác cho mình.
· WINS (Windows Internet Name Services) Cũng là Sevice chuyên giải quyết các truy vấn tìm tên như DNS, ngoại trừ việc NAME được giải quyết trên WINS là NETBIOS NAME (dạng tên không phân tầng như Hostname, có chiều dài tối đa 16 kí tự - kí tự thứ 16 dùng để xác định dịch vụ mà Computer dùng NETBIOS name này cung cấp cho các Computer khác trên Mạng, ví dụ 1 record được đăng kí trong WINS server là SERVER <20> : Computer name là Server và kí tự Hexa cuối 20, xác định cho các Computer khác trên Mạng biết được 2 thông tin: Computer name là Server và dịch vụ mà máy này cung cấp là Fire and Print Sharing.
· WPAD (Windows Proxy Auto Detection)
Một tính năng trên ISA server dùng hỗ trợ cho Internet Explorer 5.0 (hoặc cao hơn). Khi được cấu hình thích hợp, nó cho phép I.E cập nhật tự động các thông số cấu hình cho mình.
Các chế độ hoạt động của ISA server:
· Cache :
Dịch vụ được cài đặt và vận hành là Caching Service. Nếu ISA server chỉ cài đặt ở chế độ này, đối tượng ISA client duy nhất mà nó phục vụ đó là Web Proxy client. Và chế độ này cũng khôgn hỗ trợ cho H.323 Gatekeeper service. ISA server hoạt động ở chế độ này chỉ cần cung cấp Web cache, cho nên chỉ cần 1 NIC Card.
· Firewall:
ISA server ở chế độ này là sự kết hợp của Firewall Service và Web Proxy service, và hoàn toàn không dính dáng gì đến Web Cache service. Tất cả các tính năng chính của ISA Server là nằm ở đây và tất cả các loại ISA Clients đều được hỗ trợ. ISA Server ở chế độ này yêu cầu ít nhất 2 NIC Cards- 1 External Card và 1 Internal Card dành cho LAT.
· Integrated:
Tích hợp trọn gói gồm đầy đủ các dịch vụ trên cộng lại (Web Proxy, Firewall và Web Caching service). Sự thực thì khác biệt giữ chế độ này và Firewall đó là Intergrated có thêm Web Caching service.
Các loại ISA Clients:
1. SecureNAT : Chính là một LAT host (Client có cấu hình IP address bên trong Mạng nội bộ). trong một Mạng đơn giản thì SecureNAT Client có đường định tuyến duy nhất (default route / default gateway) ra Internet là qua ISA server, và nhận Default Gateway chính là IP address của ISA server Internal NIC. Trong một Mạng phức tạp hơn có thễ sẽ hơi khác, SecureNAT Clients sẽ nhận Default Gateway là các Interface của Router đứng phía sau ISA server, và nhiệm vụ cac Router này là chỉ đường đến Internal Interface trên ISA.

Hình 1: Các thông số TCP/IP khi cấu hình một SecureNAT client
Những câu hỏi liên quan đến SecureNAT Client:
- Có phải SecureNAT client chỉ cần xác lập IP address trong Internal Networks (LAT host) và thông số Default Gateway chính là ISA Internal IP ?
+ Đúng, Trong một Simple Network đơn giản chỉ là như vậy, nhưng nếu trong một Network phức tạp hơn, SecureNAT sẽ chọn Default Gateway là IP address của một Router và sau đó Router này cần routing đến ISA Internal IP
Hình 2: Mô hình Mạng đơn giản
Hình 3: Mô hình Mạng phức tạp
- SecureNAT client hoạt động với những chế độ nào trên ISA server ?
∆ Firewall mode và Intergrated mode. Lưu ý rằng Cache mode không được liệt kê ở đây. Vì SecureNAt client cần dùng ISA server như một Router trong khi chức năng này không tồn tại với chế độ ISA server Cache mode. Firewall service bắt buộc phải được cài đặt và vận hành trên ISA server trước khi SecureNAT client có thể “get out”
- Những Computer không chạy Hệ Điều Hành Microsoft (non-Microsoft Host), liệu có thể trở thành SecureNAT được không ?
∆ Có, vì đơn giản những non-Microsoft Host chỉ cần xác lập thành LAT Host và dùng Default Gateway là ISA Internal IP
- SecureNAT Client có tính năng tự động cập nhật cấu hình ISA Auto-Detect hay không ?
∆ Không
- SecureNAT Client có thể dùng những Protocol nào ?
∆ Có thể dùng bất cứ Protocol đơn giản nào- simple protocol (ngoại trừ các secondary connections). Các protocols này được liệt kê trong Policy Elements, Protocol definitions, và được sư cho phép (allow) trong Access Policy, Protocol Rules). Những protocols này không bị hạn chế bởi User hay Group trong Access policy, Site and Content rules trên ISA server.
- SecureNAT client có được dùng Secondary Protocol không ?
∆ Không
- SecureNAT Client có thể được xác thực với ISA server không- Client Authentication ?
∆ Không, khi yêu cầu từ SecureNAT được gửi đến ISA server bạn sẽ không nhận thấy các Authentication pop-up xuất hiện để điền thông tin xác thực vào, hoặc bị “failed” khi thực hiện kết nối. Đây là những dấu hiệu cho thấy SecureNAT client không được xác thực bởi ISA server, việc xác thực tùy thuộc vào Application, hoặc service khi khởi tạo yêu cầu đến ISA Server và kĩ thuật xác thực được áp dụng cho các yêu cầu đó.
- ISA server có hỗ trợ DNS để giải quyết truy vấn tên cho SecureNAT client không ?
∆ Không, khi cấu hình các thông số trong TCP/IP settings của Client machine, bạn phải đưa vào thông số DNS cần dùng (hoặc có thể nhân các thông số này tự động từ DHCP server). Có bất công lắm cho SecureNAT client không khi mà Web Proxy Client và Firewall client được sự hỗ trợ giải quyết DNS hostname từ ISA server thông qua ISA Web Proxy/ Firewall services' DNS "feature" câu hỏi này dành cho Microsoft ? Như vậy trong cấu hình TCP/IP SecureNAT client phải chỉ rõ nó sẽ dùng DNS nào, Internal DNS hay External DNS (từ ISP). Cho dù dùng DNS nào cũng phải được sự chấp thuận của ISA server (allow) trong chính sách điều khiển Protocol rule. Ví dụ các Admin có thể tạo một Protocol rule gọi là “Internet DNS” và cho phép thực hiện DNS queryDNS zone transfer protocols. Chú ý không lựa chọn Server versions cho những Protocols này, vì nó được dùng cho việc publish Server chứ không chuyển các yêu cầu truy vấn ra bên ngoài. Hình 1 cho chúng ta thấy SecureNAT client dùng DNS IP 192.168.1.200, được cài đặt trên chính ISA (ISA server kiêm luôn DNS server hoạt động theo cơ chế DNS-caching-only, có nghĩa là khi tiếp nhận yêu cầu tìm Hostname từ SecureNAT sẽ chuyển đến các DNS khác có mặt trong danh sách Forwarders (thường là các DNS server của ISP..), và sau đó giử lại kết quả đã trong DNS cache của mình nhằm phục vụ cho các truy vấn tiếp theo đến từ các SecureNAT clients khác.
2. Web Proxy: Được cấu hình đơn giản thông qua một Application (IE hay các trình duyệt Web khác như Netscape.., hoặc các ứng dụng hỗ trợ (web-enabled application) như Yahoo Messenger v.vv, trên LAT host dùng các yêu cầu proxy gửi đến Outbound web listener trên ISA server ra Internet. Các yêu cầu từ một ISA web proxy client được gửi trực tiếp đến ISA server Web proxy service, tuân theo những nguyên tắc (rules) và những giới hạn mà Web Proxy service quy định.
Cấu hình tại ISA server để hỗ trợ cho Web Proxy Client
Mở ISA MMC và kéo xuống Client Configuration. Right-click Web Browser và chọn Properties; chọn tiếp Direct Access tab bạn sẽ thấy như trên hình 4. Đây là nơi mà chúng ta sẽ có vài xác lập liên quan đến Internet explorer tại Connection tab. Toàn bộ các xác lập ở đây sẽ đươc sẽ được gửi đến IE dưới dạng một Jscript (nếu từ phía IE của Client tạo một yêu cầu cập nhật thông số Web proxy thì sẽ dùng đường dẫn sau http:///array.dll?Get.Routing.Script hoặc http:///wpad.dat.
Hình 4: Cấu hình các thông số cung cấp cho Web proxy client trên ISA Server
Bypass proxy for local addresses - Được giải thích tại Cấu hình Client machine trở thành một Web proxy client
Directly access computers specified in the Local Domain table (LDT) – Nếu không check xác lập này, IE trên client vẫn sẽ gửi các yêu cầu có “proxy” đến ISA Server Web proxy service trước khi dịch vụ này chuyển yêu cầu đến Internal Host thuộc LDT- Local Domain table. Đôi khi trong một Internal Network việc truy cập lẫn nhau giữa các Internal Host sẽ check vào đâyxác lập nhằm tăng tốc độ truy cập.
Directlyaccess these servers or domains - Xác lập này cho phép bạn truy cập đến những Server /domain cụ thể, ngoài 2 nguyên tắc đã xác lập ở trên (dùng nút Add để đưa vào list), nếu những Server/domain này nằm ở bên ngoài Mạng của bạn (internet) IE sẽ trông đợi vào sự hoạt động của SecureNAT hoặc Firewall Client cho yêu cầu này
Tiếp theo, chọn Backup Route tab. Xác lập này cho phép IE dùng phương tiện thay thế để ra Internet trong trường hợp primary ISA server không phản hồi. Có 2 chọn lựa:
Direct Access - Lựa chọn này cho phép IE tạo các yêu cầu như một SecureNAT hay Firewall client, tất nhiên trong trường hợp cụ thể này Client machine đã được cấu hình như SecureNAT/Firewall client
Alternative ISA Server –Lựa chọn này cho phép ISA sử dụng một secondary ISA nếu như Primary ISA gặp sự cố
Cấu hình Client machine trở thành một Web proxy client:
Dùng Internet Expolorer 6.0 làm một ví dụ về cấu hình web proxy client
Mở Internet Expolorer 6.0\ Tools\ Internet Options\ Connections\ LAN settings\
Hình 6: Mô tả về cấu hình cho một Web proxy client trên nền IE 6.0
Như các bạn đã thấy việc xác lập cho client để trở thành một Web proxy client không khó khăn lắm. Tôi tạm thời tách ra làm 2 phần xác lập và coi như chúng độc lập với nhau (sự thực là như vậy)
- Automatic configuration (phần trong khung Đỏ): Phần này bao gồm 2 xác lập Automatic detect settings và Use automatic configuration script
Automatic detect settings: Hoàn toàn phụ thuộc vào tính năng Auto Discovery khi tính năng này được enabled, ngoài ra cần có thêm WPAD entry trong internal DNS zone. Nếu như bạn không có internal DNS hoặc DHCP với option 252 đã xác định thì nên tắt tính năng này. Ngoài ra, nếu bạn đang dùng IE cũ hơn phiên bản 5.0, hoặc các internet browser khác, tính năng này sẽ không hoạt động và cũng lưu ý thêm Client không thể dùng tính năng ISA Auto Detection cho đến khi nó có thể giải quyết được ISA Server name (trên hình là isaserver), đây là điều kiện tiên quyết.
Use automatic configuration script: Cho phép Browser tự cấu hình mình theo một Jscipt được cung cấp từ ISA server. JScript này được hình thành từ những thông số đã cấu hình trong LDT (local domain table), và Web Proxy Client Configuration options. Ví dụ về một đường dẫn để nhận các thông số của Jscript file như sau: http://isaserver/array.dll?Get.Routing.Script hoặc http://isaserver/wpad.dat
- Proxy Server (phần khung Xanh) bao gồm xác lập Use a proxy server for your LAN (These settings will not apply to dial-up or VPN connections) và xác lập phụ Bypass Proxy server for Local address. Dùng các xác lập này chỉ được dùng khi các xác lập Automatic settings không sử dụng được hoặc xác lập là trống (None)
Use a proxy server for your LAN (These settings will not apply to dial-up or VPN connections) Các xác lập này sẽ không áp dụng tới các dial-up hoặc VPN connection
Bypass Proxy server for Local address các Client truy cập đến các Internal Host không cần chuyển yêu cầu đến Web proxy Service trên ISA Server. Check vào xác lập này có thể giúp client truy cập vào các Internal Host dễ dàng (không qua kiểm soát của ISA Server Web proxy service) và nhanh hơn.
Những câu hỏi liên quan đến Web proxy Client:
- Web proxy client hoạt động với những chế độ nào trên ISA server ?
∆ Hoạt động trên tất cả chế độ của ISA server (Firewall, Cache, Intergrated)
- Những Computer không chạy Hệ Điều Hành Microsoft (non-Microsoft Host), liệu có thể trở thành Web proxy client được không ?
∆ Bất cứ application đang chạy trên một LAT host đều có thể trở thành một Web Proxy client nếu:
a. Các application (browser, FTP client, etc.) tương thích chuẩn CERN (CERN-compatible), hiểu một cách đơn giản đó là một phương pháp phù hợp chung cho các Aplication khởi tạo các yêu cầu proxy đến Proxy Server service
b. Cung cấp phương tiện cho phép bạn xác định Computer name, IP address và cổng -port để phục vụ cho các yêu cầu proxy.
- Web proxy client có tính năng tự động cập nhật cấu hình ISA Auto-Detect hay không ?
∆ ISA auto-detection dành cho Web Proxy clients chỉ hỗ trợ cho các phiên bản Internet Explorer 5.0 trở lên.
- Web proxy Client có thể dùng những Protocol nào ?
∆ Các Protocol dùng với Web proxy client khá hạn chế chỉ bao gồm HTTP, HTTPS và FTP download
- Web proxy client có được dùng Secondary Protocol không ?
∆ Không, chỉ dùng các simple protocol
- Web proxy client có thể được xác thực với ISA server không- Client Authentication ?
∆ Có.
- ISA server có hỗ trợ DNS để giải quyết truy vấn tên cho Web proxy client không ?
∆ Có, nhờ tính năng ISA Web Proxy DNS "feature". Tính năng này cho phép một LAT host với vai trò Web proxy client sử dụng DNS service do ISA Web proxy DNS cung cấp mà bản thân không cần phải cấu hình các thông số liên quan đến DNS
3. Firewall: Cũng là một LAT host, được cài đặt software ISA Firewall client, được enabled và các application trên Client sẽ dùng nó sau đó.
Loại Client này có hầu hết các khả năng trong hoạt động với ISA server, bởi vì nó có khả năng thực hiện trên mỗi application “per-application” nó hoạt động thế nào và mỗi application sẽ cần những thông tin gì để hoạt động. Ngoài ra, nó còn là loại ISA client duy nhất có thể dùng secondary protocols. Cần phải thực hiện các connection dùng đến secondary protocols nhằm phục vụ cho các Application như Instant Messaging (yahoo messenger..), streaming media, FTP, etc. Và nó cũng là loại ISA client khiến cho người sử dụng gặp những khó khăn “trong suy nghĩ” khi triển khai.
Những câu hỏi liên quan đến Firewall Client:
- Firewall Client hoạt động với những chế độ nào trên ISA server ?
∆ Firewall, Integrated. Lưu ý rằng Cache mode không hoạt động với Firewall Client. Bởi vì ISA server cài đặt ở cache mode hoàn toàn không có Firewall service- service này được yêu cầu để Firewall và SecureNAT clients hoạt động đúng chức năng.
- Những Computer không chạy Hệ Điều Hành Microsoft (non-Microsoft Host), liệu có thể trở thành Firewall Client được không ?
∆ Không.
- ISA server có hỗ trợ DNS để giải quyết truy vấn tên cho Firewall Client không ?
∆ Có, một điều tuyệt vời. Firewall Clients có khả năng giải quyết hostname thông qua ISA Firewall service DNS trên ISA server .Nếu bạn không muốn dùng ISA Firewall service DNS trên ISA server, có thể cấu hình để giải quyết Hostname như SecureNAT clients đã làm.
- Firewall Client có thể dùng những Protocol nào ?
∆ Firewall Clients có thể dùng tất cả những protocols với điều kiện :
. Được cho phép trong Access Policy, Protocol Rules
.Không bị chặn bởi Site and Content Rules
. Có thể dùng secondary connections
- Firewall Client có được dùng Secondary Protocol không ?
∆ Có
- Firewall Client có thể được xác thực với ISA server không- Client Authentication ?
∆ Firewall Clients, giống như Web Proxy clients, có thể xác thực với ISA server
- Firewall Client có tính năng tự động cập nhật cấu hình ISA Auto-Detect hay không ?
∆ Có
Firewall Client (FWC) và những thông số:
Configuration Files – Trên Firewall Client LAT host bao gồm 2 Files trong \Program Files\Microsoft Firewall Client\internal_setup\ 2 files này nắm các xác lập cho Firewall Client software và cách thức phản hồi đến các yêu cầu dạng Winsock từ những applications và services:
- mspclnt.ini; File này chứa phần lớn dữ liệu cấu hình và trình bày nội dung của wspad.dat
- msplat.ini; File này chứa tất cả entries được tạo trong Network Configuration, Local Address Table, và nằm tách biệt trên Client nhằm duy trì sự tương thích với Proxy-2 form của file wspcfg.dat. File này cũng chứa 2 subnets gồm:
224.0.0.0-255.255.255.254 subnet chuẩn multicast. Từ khi ISA server không cho phép truyền multicast, cho nên vùng IP multicast này phải được xác định như Local addresses.
127.0.0.0-127.255.255.255 Đây là chuẩn “localhost” address. Địa chỉ ở vùng này chỉ có giá trị đối với Host đang vận hành, không có giá trị đối với ISA server trong việc quản lý các Client
Cả 2 file này sẽ được gửi đến ISA server trong suốt quá trình cài đặt Firewall Client software trên LAT host. Sau khi cài đặt xong, User click vào nút Update Now trên Firewall Client configuration dialog, những bước tiếp theo sẽ xảy ra:
1. Nếu như “Enable ISA Firewall automatic discovery in Firewall Client” checkbox được lựa chọn thì FWC sẽ thực hiện kết nối đến http://isaserver/wspad.dat để nhận các xác lập và save vào mspclnt.ini
2. Sau đó FWC thực hiện kết nối đến ISA thông qua cổng TCP-1745 để nhận dữ liệu cho msplat.ini và lấy luôn các dữ liệu khác cho mspclnt.ini tại cùng thời điểm.
Luôn chú ý về giải pháp tìm tên của ISA server phải hoàn chỉnh, nếu không sẽ không nhận được các thôgn số cấu hình cho 2 file từ ISA server.
Các xác lập trên ISA Server hỗ trợ Firewall Client:
Những xác lập ở phần này là quan trọng nhằm cung cấp cho Firewall Client và những application trên nó những thông số phù hợp khi làm việc vớiI ISA server
Trước hết, open Client Cnfiguration\ Firewall Client. Ở đây là tất cả những gì bạn cần xác lập để quy định cách thức làm việc giữa applications của Client và ISA server thông qua Firewall Client software:
double-click trên Firewall Client
Đây là nơi mà chúng ta có thể tạo hoặc gián đoạn các chức năng của ISA Firewall Client. Mọi thứ bạn xác lập ở đây được xác định như default settings cho Firewall Client khi hoàn tất cài đặt FWC software trên LAT host, cũng như dữ liệu này sẽ được chuyển đến Firewall Client khi nó yêu cầu cập nhậ thông số mới từ ISA server (refresh)
DNS name: NetBIOS name của ISA server được đưa vào mặc định. Bạn cũng không nên can thiệp vào default name đã được xác lập này.Trừ khi bạn đã cài đặt mô hình DNS round-robin nhằm cải thiện cân bằng tải cho các server (internal load balancing).
  • IP address: Thay vì dùng tên, bạn có thể xác lập dùng IP address của ISA server nếu bạn không có bất kì giải pháp tìm tên nội bộ nào như (WINS, DNS).
  • Enable ISA Firewall automatic discovery in Firewall Client – Thực ra xác lập này không điều khiển việc Firewall Client auto-detect ISA server, xác lập này có thể được thay đổi từ phía Firewall Client.
  • Tiếp theo, click trên “Application Settings tab; ở đây các bạn có thể tạo hoặc ngưng các application tương thích Winsock (Winsock-compatible applications với ISA Server Firewall Client
(hết phần 4)
Hồ Việt Hà
Training Manager of New Horizons Vietnam (Computer Learning Center)
E-mail: hvha@newhorizons.com.vn
Thứ Tư, 21/09/2005 10:01
31 👨 1.668
0 Bình luận
Sắp xếp theo