เลือกใช้พรอกซี่ (Proxy) แบบไหนดี ?
อัปเดท : 7 มิถุนายน พ.ศ.2547 , แสดง : 25,857 , ความคิดเห็น : 6
Proxy ทำงานในระดับแอปปลิเคชั่นโปรโตคอล มีหลายแบบแบ่งตามโปรโตคอลที่ใช้ เช่น FTP Proxy,Gopher Proxy HTTP Proxy(Web Proxy) โดยที่ Web Proxy เป็น Proxy ที่พบเห็นหรือมีการใช้งานอย่างแพร่หลาย เพราะทำให้การท่องเวบทำได้รวดเร็วยิ่งขึ้น โดย Web Proxy จะทำหน้าที่คล้ายนายหน้า (Broker) ที่ทำงานแทนเรา
ขั้นตอนการทำงานโดยทั่วไปของ Proxy
Step 1 | Client ร้องขอข้อมูล(Request)ไปที่ Proxy Server |
Step 2 | Proxy Server ได้รับข้อมูลมันจะทำตัวเสมือนเป็น Proxy Client เพื่อไปร้องขอข้อมูลต่อที่ Server จริงๆ อีกที |
Step 3 | Server ก็จะส่งข้อมูลกลับ (Reply) มาที่ Proxy Client ซึ่งมันเข้าใจว่าเป็น Client จริงๆ |
Step 4 | เมื่อ Proxy Client ได้รับข้อมูลจาก Server มันจะทำหน้าที่เป็น Proxy Server อีกครั้งแล้วจึงส่งข้อมูลทีรับมาไปที่ Client จริงๆ และที่สำคัญ Proxy Server จะทำการเก็บข้อมูลนั้นๆ (Cache) เอาไว้ด้วย |
เพราะ Cache นี้เอง เมื่อมีการร้องขอข้อมูลนั้นอีกครั้ง Proxy Server ก็ไม่ต้องร้องขอข้อมูลต่อที่ Server จริงๆ โดยมันจะเอาข้อมูลที่มันทำการเก็บ (Cache) ไว้ส่งต่อให้ Client ได้เลย ทำให้ Client ได้รับข้อมูลรวดเร็ว อย่างไรก็ตามในกรณีที่ข้อมูลมีการ Update ซึ่งอาจทำให้ข้อมูลใน Cache ที่ Proxy Server ส่งให้ Client อาจเป็นข้อมูลเก่า ดังนั้น Proxy Server จึงต้องมีกลไกตรวจสอบว่าข้อมูล update เช่นตรวจสอบวันเวลาหรือ ตั้งอายุการใช้งานข้อมูลของ Cache ไว้เพื่อให้ข้อมูลที่มันให้บริการถูกต้อง และ Update ที่สุด
ประโยชน์อีกอย่างของ Proxy ซึ่งนำมาใช้ในเครือข่าย Local Area Network(LAN) ก็คือประหยัด Bandwidth หรืออัตตราการถ่ายโอนข้อมูลออกไปภายนอก และ ประหยัดค่าใช้จ่ายในส่วนของ Link กล่าวคือข้อมูลไหนที่มีการใช้บ่อยหรือมีการใช้แล้ว ก็จะอยู่ใน Proxy Server (Cache ของ Proxy Server ) ซึ่งอยู่ภายในเครือข่าย การร้องขอข้อมูลซ้ำจะเกิดการ Reuse ข้อมูล
โดยปรกติ การต่อตรงระหว่าง Client-Server เพื่อสื่อสารข้อมูลที่ไม่ได้ผ่าน Proxy ข้อมูล(Header) ที่ฝั่ง Server เห็น(ได้รับ) จะเป็นดังนี้ ซึ่งข้อมูลที่เห็น Server มันรู้ว่ากำลังติดต่อกับใครอยู่
REMOTE_ADDR | 202.183.45.1 | IP Address ของ Client |
REMOTE_PORT | 11247 | Port Number ของ Client |
การแบ่งประเภทของพร๊อกซี่ ตามลักษณะการทำงาน โดยจะเน้นข้อมูลที่ Server เห็น(ได้รับ) ได้ดังนี้
1. Transparent Proxy :
Transparent Proxy จะมีการส่งค่า IP Address ของเครื่องที่ทำการร้องขอ(Client)ข้อมูล ดังนั้น Server ก็จะเห็น IP Address ของ Client ด้วย ดังนั้น Server มันก็จะรู้ว่ากำลังติดต่อกับ Proxy ตัวใด และมันรู้ด้วยว่า Proxy จะส่งต่อข้อมูลไปให้ Client ตัวไหน
REMOTE_ADDR | 202.183.45.254 | IP Address ของ Proxy |
REMOTE_PORT | 12345 | Port Number ของ Proxy Server |
HTTP_VIA | proxy.NextProject.net | ชื่อ Proxy Server |
HTTP_X_FORWARDED_FOR | 192.168.0.1 | IP Address ของ Client |
2. Anonymous Proxy :
Anonymous Proxy จะส่ง Header เฉพาะ HTTP_VIA และ REMOTE_ADDR เท่านั้น และ Proxy Server จะไม่ส่ง HTTP_X_FORWARDED_FOR ไปด้วย ดังนั้น Server มันก็จะรู้ว่า มันกำลังติดต่อกับ Proxy แต่มันไม่รู้ว่า Proxy เอาข้อมูลนั้นๆไปทำอะไรหรือให้ใครต่อ
REMOTE_ADDR | 202.183.45.254 | IP Address ของ Proxy |
REMOTE_PORT | 12345 | Port Number ของ Proxy Server |
HTTP_VIA | proxy.NextProject.net | ชื่อ Proxy Server |
3. High Anomity Proxy :
High Anomity Proxy จะส่ง Header แค่ REMOTE_ADDR เท่านั้น ซึ่งเป็นของ Proxy Server ดังนั้น Server จะไม่รู้เลยว่า ข้อมูลถูกส่งหรือมาจากที่ใด เพราะมันจะเห็น Proxy Server เสมือนว่าเป็น Client ธรรมดาตัวนึงเท่านั้น
REMOTE_ADDR | 202.183.45.254 | IP Address ของ Proxy |
REMOTE_PORT | 12345 | Port Number ของ Proxy Server |
ครับสำหรับ Proxy ก็จบแค่นี้ก่อนครับ
*** Port Number ที่ Client กำหนด(Random)ขึ้นมา เนื่องจากค่า Port ใน Header ของ IPV4 มี 16 Bit Port Number มีค่าระหว่าง 0 - 65535 แต่ ค่า 0-1023 ถูกสงวนไว้เพื่อให้ Default Port (80:HTTP,25:SMTP,23:DNS เป็นต้น ) ดังนั้น Port Number จริง ๆที่ Client กำหนด(Random) จะมีค่าระหว่าง 1024-65535 ครับ
ผู้เขียน/อ้างอิง : จักรกฤษณ์ แร่ทอง
ระบบเครือข่ายและความมั่นคง
Internet 2 : อนาคต Internet จะเป็นอย่างไร
การเลือก เวบโฮสติ้ง (web hosting) มีความสำคัญเอามากๆ
NETSTAT เป็นคำสั่งที่ใช้ตรวจสอบ Network เกี่ยวกับการเชื่อมต่อ Port ในเครื่องเรากับเครื่องอื่นใน Network
การเทียบเวลาด้วย Network Time Protocol ให้สอดคล้องกับ พรบ. ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550
การกำหนดหมายเลขไอพีแอดเดรสให้กับเครื่องไคลเอนต์บนระบบเครือข่ายนั้น เป็นหน้าที่หนึ่งของแอดมิน
Free AntiVirus AVG,Avast,Avira AntiVir,Comodo,BitDefender,ClamWin,PC Tools AntiVirus
เริ่มต้นเช้าวันทำงานนั้น ผมเชื่อว่าสิ่งที่เราต้องทำเป็นอันดับแรกๆ คือเปิดเครื่องคอมพิวเตอร์หรือโน้ตบุ๊ค
Internet Protocol รุ่นใหม่ขึ้น นั่นก็คือ Internet Protocol รุ่นที่ 6 (IPv6) เพื่อแก้ปัญหา Internet Protocol รุ่นที่ 4
ระบบอินเตอร์เน็ตเกทเวย์ที่ควรมีไว้ใช้
port port port port และ port
ความคิดเห็น/แนะนำ/ติชม/อื่นๆ
- ส่งเสริม สุทัศนะพานนท์ [14 Jul 2005 , 02:54 PM]
เรียนคุณจักรกฤษณ์ หากผมต้องการข้อมูลเพิ่มเติมเกี่ยวกับ proxy ผมจะหาข้อมูลได้จาก web หรือ link ไหนบ้างครับ อยากได้เกี่ยวกับบทความที่คุณพูดที่มีรายละเอียดมากกว่านี้ครับ
- จักรกฤษณ์ [22 Jul 2005 , 12:25 AM]
ก่อนอื่นต้องเรียนคุณ ส่งเสริม ว่า ผมเองก็ไม่มีเอกสารประกอบ ที่เขียนได้ก็เรียบเรียงเอาจากหลายๆที่ บวกกับความเข้าใจและประสบการณ์ลงไป ถ้าจะเอาเอกสารจริงๆก็หาได้จาก google ครับ เอกสารเป็นภาษาอังกฤษ เพราะเจ้าของเทคโนโลยีเค้าใช้ภาษานี้กันน่ะครับ ลองสืบค้นดูน่ะครับ
- สมยศ [23 Sep 2005 , 11:48 AM]
ผมก็ต้องการรู้เพิ่มเติมอีกครับ และอยากจะถามอีกนิดว่า Proxy ชอบจำค่าเดิมมันไม่ยอมอัพเดท จะแก่อย่างไร ใช้ wingate ครับมี
- จักรกฤษณ์ [23 ธ.ค. 2548 , 10:08 AM]
ตอบคุณ สมยศ ครับ แก้ไขเบื้องต้น ได้โดยการกดปุ่ม Ctrl พร้อม ๆ กับการใช้เมาส์คลิกที่ปุ่ม Refresh หรือ F5 จะเป็นการร้องขอ ข้อมูลตรง ๆไปยัง ปลายทางจริง ๆ ครับ
- กิตติชัย [18 เม.ย. 2549 , 02:14 PM]
ตอนนี้ผมใช้ redhat 9 เป็น proxy server โดยใช้ squid อยู่ครับ แต่ใช้ ftp ไม่ได้ จะต้อง set อะไรเพิ่มบ้างครับ
- กล้า [08 ก.ค. 2549 , 12:06 PM]
ตอนนี้ผมต้องเขียน Web Proxy Server เนื่องจากเป็น Assignment ที่ได้รับจากอาจารย์ อยากรบกวนสอบถาม เนื่องจากตอนนี้ผมต้องการแหล่งข้อมูลเกี่ยวกับการเขียนโปรแกรม , Concept ซึ่งผมยังไม่มีประสบการณ์ในการเขียนโปรแกรมในด้านนี้ ซึ่งอาจารย์มีการกำหนดภาษาที่ใช้ในการพัฒนา Java , C++ , C# พอมีตัวอย่าง Code ในการพัฒนาบ้างมั้ยครับ ^^