เหตุผล เพราะอะไร ทำไมจึงต้อง Forward Port?เพื่อไม่ให้เกิดความเครียดทั้งต่อผู้พิมพ์ และผู้อ่าน #rabbit15 ผมขออธิบายด้วยภาพ และคำอธิบายแบบลูกทุ่งสไตล์ของผมเอง เพื่อให้เข้าใจง่าย ๆ ดังนี้นะครับ
สิ่งที่ควรรู้เบื้องต้น
- ข้อมูลที่วิ่งเข้าออกผ่าน network ใด ๆ ได้, จะต้องมีหมายเลข IP และหมายเลข port ระบุไว้
ลองนึกภาพคนใช้วิทยุสื่อสารคุยกัน
- มีคนเปิดวิทยุสื่อสารรับฟังข้อความเยอะแยะไปหมด เช่น:- มีนาย กอ นาย ขอ นาย คอ นาย งอ นาย จอ (5 คน)
ชื่อ ก็คือ IP เช่น:- "192.168.0.2 ถึง 192.168.0.3" = "จาก กอ ถึง ขอ"
- เวลานาย กอ จะส่งข้อความหา จอ (เพื่อกันไม่ให้งงว่า ใครจะคุยกับใคร) ก็ควรจะพูดว่า "จาก กอ ถึง จอ ตอนนี้กินข้าวหรือยัง" (จาก กอ ถึง จอ ก็คือลักษณะของ IP)
- ส่วน port ก็คือ คลื่นความถี่ใช้เลือกใช้ , (สมมุติว่า) ถ้าเราเป็นทหาร เรากำหนดให้ใช้คลื่นความถี่ 150MHz สำหรับหน่วยแพทย์, และ 200MHz สำหรับ หน่วยเสบียงอาหาร
ถ้าเราอยากสั่งข้าว เราก็เปลี่ยนความถี่ไปที่ช่อง 200MHz, ถ้าเราอยากหาหมอ เราก็เปลี่ยนความถี่ไปที่ 150MHz
ตัวอย่าง : "จาก กอ ถึง จอ ขอข้าวผัด 2 จาน" , "จาก กอ ถึง คอ ขอยาแก้หวัด 2 เม็ด" (ประมาณนั้น)
- ถ้ามองเป็น computer ก็คือ แต่ละเครื่องก็มีเลข IP เฉพาะตัว, และมีเลข port เพื่อบอกว่า โปรแกรมที่ใช้อยู่เป็นโปรแกรมอะไร
เช่น :- ตอนนี้เปิดเล่น MSN ที่ port 1863, เล่น camfrog เปิดกล้องที่ port 2000 (อะไรทำนองนี้)
- การส่งข้อมูลหากัน หรือคุยกัน ก็จะแบ่งได้ 2 แบบใหญ่ ๆ คือ "คุย กันโดยตรง" (รูปที่1) กับ "คุย ผ่านคนกลาง" (รูปที่2)
(รูปที่ 1) "แบบคุยกันโดยตรง"
- การคุยกันโดยตรงแบบไม่ผ่านคนกลาง อะไร ๆ มันก็ง่าย เพราะไม่ต้องมานั่งแปลความหมาย ถ้าไม่เข้าใจ คน 2 คนก็คุยกันเองได้เลย
เช่น :- "จาก กอ ถึง จอ ขอข้าวผัด 2 จาน" นาย จอ ก็จะผัดข้าวผัด ให้นาย กอ ได้ทันที
- จากรูป ช่วง A คือ ช่วงที่ข้อมูลกำลังวิ่งไปสู่ Internet และ ช่วง B คือ ช่วงที่ข้อมูลวิ่งไปถึงปลายทาง (สมมุติว่าเรากำลังเล่นเกม DotA)
ช่วง A และ B หมายเลข IP จะไม่มีการเปลี่ยนแปลง ก็คือ คุยกันโดยตรง
(รูปที่ 2) "แบบคุยผ่านคนกลาง"
- การคุยโดยผ่านคนกลาง เช่น :- "จาก กอ ถึงศูนย์บัญชาการ ช่วยส่งข้าวผัด 2 จาน จากหน่วยอาหารมาให้หน่อย"
ถ้าศูนย์บัญชาการ ไม่รู้จักเบอร์ หรือคลื่นความถี่ที่จะติดต่อไปยัง หน่วยอาหาร , นาย กอ ก็จะไม่ได้ข้าวผัดแม้แต่จานเดียว ต้องทนหิวต่อไป
แต่ถ้า ศูนย์บัญชาการ รู้จักเบอร์ หรือคลื่นความถี่ของ หน่วยอาหาร, ศูนย์ก็จะส่งข้อความต่อไปให้ นาย จอ ที่เป็นพ่อครัวได้ เพื่อผัดข้าวผัด 2 จานไปใ้ห้ นาย กอ
- ครับ ถ้ามองในรูปแบบของ computer ที่กำลังเล่นเกม DotA
จากรูปที่2 ข้อมูลที่ถูกส่งออกไปจากเครื่องของเรา ช่วง A กับ ช่วง B จะมีหมายเลข IP แตกต่างกัน
ช่วง A ข้อมูลที่เราส่งออกไป จะมี IP = 192.168.0.2 ข้อมูลจะถูกส่งไปให้ Gateway Server ที่ 192.168.0.1
(ทำไม IP จึงแตกต่างกันในช่วง A กับ B)
ลองนึกภาพ ถ้าข้อมูลไม่ถูกเปลี่ยน จาก LAN IP เป็น WAN IP เวลาฝ่ายตรงข้ามที่เราคุยด้วย เค้าจะ่ส่งข้อตอบกลับมาหาเรา เค้าก็จะต้องส่งไปที่ LAN IP คือ 192.168.0.2
ซึ่งหมายเลข 192.168.0.2 นี้ มันเปรียบเสมือนชื่อเล่น ใคร ๆ ก็ใช้ชื่อนี้กัน (ร้านเน็ตไหน ๆ ก็ใช้กัน ข้อมูลนั้นก็จะไม่รู้ว่าควรจะส่งไปที่ไหนดี)
ดังนั้นการเปลี่ยนไปใช้ WAN IP ซึ่งเป็นหมายเลข IP ที่ไม่ซ้ำกับใคร (มองว่าเป็นรหัสไปรษณีย์ก็ได้ ซึ่งมันจะบ่งบอกเลยว่า ควรส่งไปรษณีย์ไปให้จังหวัดไหน เขตอะไร)
- ทีนี้ เวลาเรา ครีเอท ห้อง DotA เราก็จะต้องระบุว่า เรา ครีเอท ห้องไว้ที่ port หมายเลขอะไร ใช่ไหมครับ?
เช่น :- เรา ครีเอท ห้องไว้ที่ IP = 192.168.0.2 port = 7002 หรือเขียนในรูปแบบนี้ 192.168.0.2:7002 (ช่วง A)
เมื่อข้อมูลถูกส่งออกไปผ่าน Internet ในช่วง B ก็จะเปลี่ยนเป็น 124.120.120.121:7002
เมื่อปลายทางจะส่งข้อความกลับมาหาเรา ก็จะต้องจ่าหน้าซองไปรษณีย์กลับมาที่ 124.120.120.121:7002
ถ้าเราไม่บอก Gateway Server ว่า 7002 เป็นช่องความถี่ของใคร , Gateway Server ก็จะเก็บข้อมูลนั้นไว้กับตัว ไม่ส่งข้อความต่อไป ข้อมูลนั้นก็จะค้างอยู่ในเครื่อง Gateway Server สักพัก จนหมดอายุ แล้วก็หายไป, ซึ่งเป็นเหตุผลทำให้เวลาเรา ครีเอท ห้อง แล้วไ่ม่มีคนเห็น ใคร ๆ ก็มา จอย กับเราไม่ได้
แต่ถ้าเราระบุให้ Gateway Server รู้จักว่า ถ้ามีข้อมูลส่งมาที่ port 7002 ให้ส่งไปบอกต่อเจ้า 192.168.0.2 นะ, ข้อความนั้นก็จะไม่ค้างอยู่ใน Gateway Server
แต่จะถูกส่งต่อไปยังผู้รับที่ถูกต้อง ทำให้เราสามารถ ครีเอ และ จอย กัน กับคนภายนอกร้านของเราได้ นั่นเอง
สรุป
- การคุยกันโดยตรงไม่จำเป็นต้อง forward port (เพราะไม่ได้ผ่านตัวกลาง หรือ Server หรือ กองบัญชาการ)
- การคุยผ่านตัวกลาง
เครื่องเราคือ นาย กอ
คนกลาง ก็คือ Server หรือศูนย์บัญชาการ
DotA คือ ข้าวผัด
นาย จอ คือ หน่วยอาหาร
ถ้าเรา วิทยุไปหาศูนย์บัญชาการ
แล้วศูนย์ไม่ รู้เบอร์ นาย จอ ว่าอยู่คลื่นความถี่ไหน นาย กอ ก็จะไม่ได้ข้าวผัด
จบ ครับ #egg09 555+ ยิ่งพิมพ์ยิ่ง งง
(แต่หวังว่า ท่านผู้อ่านจะไม่ งง และมองภาพรวมออก)
ทั้งหลายทั้งปวงนี้ ก็คือเหตุผลที่ทำให้เราต้อง Forward Port
(ไม่รู้จะเข้าใจ หรือว่ายิ่ง งง กว่าเดิม)
ที่มาขอข้อมูลhttp://www.zealzonecafe.com/board/index.php?topic=1127.0