เมนูหน้าเว็บ

วันพฤหัสบดีที่ 2 กรกฎาคม พ.ศ. 2558

Arduino คืออะไร? ตอนที่1 แนะนำเพื่อนใหม่ที่ชื่อ Arduino

(บทความนี้ เหมาะสำหรับมือใหม่ หัดเล่น)
Arduino UNO R3

Arduino คืออะไร

         Arduino อ่านว่า (อา-ดู-อิ-โน่ หรือ อาดุยโน่) เป็นบอร์ดไมโครคอนโทรเลอร์ตระกูล AVR ที่มีการพัฒนาแบบ Open Source คือมีการเปิดเผยข้อมูลทั้งด้าน Hardware และ Software ตัว บอร์ด Arduino ถูกออก แบบมาให้ใช้งานได้ง่าย ดังนั้นจึงเหมาะสำหรับผู้เริ่มต้นศึกษา ทั้งนี้ผู้ใช้งานยังสามารถดัดแปลง เพิ่มเติม พัฒนาต่อยอดทั้งตัวบอร์ด หรือโปรแกรมต่อได้อีกด้วย
         ความง่ายของบอร์ด Arduino ในการต่ออุปกรณ์เสริมต่างๆ คือผู้ใช้งานสามารถต่อวงจรอิเล็กทรอนิคส์จากภายนอกแล้วเชื่อมต่อเข้ามาที่ขา I/O ของบอร์ด (ดูตัวอย่างรูปที่ 1) หรือเพื่อความสะดวกสามารถเลือกต่อกับบอร์ดเสริม (Arduino Shield) ประเภทต่างๆ (ดูตัวอย่างรูปที่ 2) เช่น Arduino XBee Shield, Arduino Music Shield, Arduino Relay Shield, Arduino Wireless Shield, Arduino GPRS Shield เป็นต้น มาเสียบกับบอร์ดบนบอร์ด Arduino แล้วเขียนโปรแกรมพัฒนาต่อได้เลย

Arduino with XBee Shield

จุดเด่นที่ทำให้บอร์ด Arduino เป็นที่นิยม
  • ง่ายต่อการพัฒนา มีรูปแบบคำสั่งพื้นฐาน ไม่ซับซ้อนเหมาะสำหรับผู้เริ่มต้น
  • มี Arduino Community กลุ่มคนที่ร่วมกันพัฒนาที่แข็งแรง 
  • Open Hardware ทำให้ผู้ใช้สามารถนำบอร์ดไปต่อยอดใช้งานได้หลายด้าน
  • ราคาไม่แพง
  • Cross Platform สามารถพัฒนาโปรแกรมบน OS ใดก็ได้ 

รูปแบบการเขียนโปรแกรมบน Arduino

3

1. เขียนโปรแกรมบนคอมพิวเตอร์ ผ่านทางโปรแกรม ArduinoIDE ซึ่งสามารถดาวน์โหลดได้จาก Arduino.cc/en/main/software
2. หลังจากที่เขียนโค้ดโปรแกรมเรียบร้อยแล้ว ให้ผู้ใช้งานเลือกรุ่นบอร์ด Arduino ที่ใช้และหมายเลข Com port 

4

รูปที่ 3 เลือกรุ่นบอร์ด Arduino ที่ต้องการ upload

5
รูปที่ 4 เลือกหมายเลข Comport ของบอร์ด

3. กดปุ่ม Verify เพื่อตรวจสอบความถูกต้องและ Compile โค้ดโปรแกรม จากนั้นกดปุ่ม Upload โค้ด โปรแกรมไปยังบอร์ด Arduino ผ่านทางสาย USB เมื่ออับโหลดเรียบร้อยแล้ว จะแสดงข้อความแถบข้างล่าง “Done uploading” และบอร์ดจะเริ่มทำงานตามที่เขียนโปรแกรมไว้ได้ทันที

6

Layout & Pin out Arduino Board (Model: Arduino UNO R3) 


7


1.USBPort: ใช้สำหรับต่อกับ Computer เพื่ออับโหลดโปรแกรมเข้า MCU และจ่ายไฟให้กับบอร์ด
2.Reset Button: เป็นปุ่ม Reset ใช้กดเมื่อต้องการให้ MCU เริ่มการทำงานใหม่
3.ICSP Port ของ Atmega16U2 เป็นพอร์ตที่ใช้โปรแกรม Visual Com port บน Atmega16U2
4. I/OPort:Digital I/O ตั้งแต่ขา D0 ถึง D13 นอกจากนี้ บาง Pin จะทำหน้าที่อื่นๆ เพิ่มเติมด้วย เช่น Pin0,1 เป็นขา Tx,Rx Serial, Pin3,5,6,9,10 และ 11 เป็นขา PWM  
5.ICSP Port: Atmega328 เป็นพอร์ตที่ใช้โปรแกรม Bootloader
6. MCU: Atmega328 เป็น MCU ที่ใช้บนบอร์ด Arduino
7. I/OPort: นอกจากจะเป็น Digital I/O แล้ว ยังเปลี่ยนเป็น ช่องรับสัญญาณอนาล็อก ตั้งแต่ขา A0-A5
8.Power Port: ไฟเลี้ยงของบอร์ดเมื่อต้องการจ่ายไฟให้กับวงจรภายนอก ประกอบด้วยขาไฟเลี้ยง +3.3 V, +5V, GND, Vin
9. Power Jack: รับไฟจาก Adapter โดยที่แรงดันอยู่ระหว่าง 7-12 V

10. MCU ของ Atmega16U2 เป็น MCU ที่ทำหน้าที่เป็น USB to Serial โดย Atmega328 จะติดต่อกับ Computer ผ่าน Atmega16U2

ที่มา : http://www.thaieasyelec.com

วันพุธที่ 25 มีนาคม พ.ศ. 2558

30 Keyboard shortcuts/Hot keys สำหรับ Windows 8



สำหรับ Windows 8 เองก็มี Hot keys เพื่อเพิ่มความสะดวกและเป็นอีกหนึ่งทางเลือกสำหรับการใช้งาน Windows ให้มีประสิทธิภาพมากขึ้นเช่นกันครับ และวันนี้เราก็จะมาแนะนำ 30 Hot keys ที่หน้าสนใจสำหรับ Windows 8 จะมี Key อะไรและแต่ละคีย์มีการใช้งานอย่างไรบ้างนั้นตามไปดูกันเลยครับ


วันศุกร์ที่ 20 มีนาคม พ.ศ. 2558

Hard drive sizes

Bit Value of 0 or 1
Nibble - 4 Bits
Byte - 8 Bits
Kilobit - 1,000 bits
Kilobyte - 1,000 bytes
Kibibit - 1,024 bits
Kibibyte - 1,024 bytes
Mebibit - 1,048,576 bits
Mebibyte - 1,048,576 bytes
Megabit - 1,000,000 bits
Megabyte - 1,000,000 bytes
Gibibit - 1,073,741,824 bits
Gibibyte - 1,073,741,824 bytes
Gigabyte - 1,000,000,000 bytes
Gigabit - 1,000,000,000 bits
Tebibit - 1,099,511,627,776 bits
Tebibyte - 1,099,511,627,776 bytes
Terabyte - 1,000,000,000,000 bytes
Terabit - 1,000,000,000,000 bits
Pebibit - 1,125,899,906,842,624 bits
Pebibyte - 1,125,899,906,842,624 bytes
Petabit - 1,000,000,000,000,000 bits
Petabyte - 1,000,000,000,000,000 bytes
Exabyte - 1018 bytes
Exabit - 1018 bits
Exbibit - 260 bits
Exbibyte - 260 bytes
Zettabyte - 1021 bytes
Yottabyte - 1024 bytes 


1 Gigabyte = 1073741824 Bytes

1 Byte = 8 Bit
1 Kilobyte = 1024 Bytes
1 Megabyte = 1048576 Bytes
1 Gigabyte = 1073741824 Bytes

วันอังคารที่ 20 มกราคม พ.ศ. 2558

ทำความรู้จักกับ Mode ต่างๆของ Access Point กันดีกว่า

     การใช้งานเครือข่ายไร้สายนั้น นอกจากเราจะใช้มันเป็นตัวเชื่อมต่อเข้ากับเครือข่ายหลักแบบมีสาย หรือที่เราเรียกว่า Infrastructure Mode หรือการทำงานที่ Access Point ธรรมดาๆทั่วไปทำงานได้เป็นพื้นฐานอยู่แล้ว
     แต่ด้วยแต่ละพื้นที่ ที่จำเป็นต้องการใช้เครือข่าย wireless อาจจะประสบปัญหาเช่น ความแรงไม่พอ ต้องการต่อ Outdoor Wi-Fi Hotspot ที่อยู่ในระยะไกล, ต้องการแชร์อินเตอร์เน็ตที่มาจากผู้ให้บริการ, ต้องการขยายพื้นที่ใช้งาน, ต้องการแชร์อินเตอร์เน็ตบอร์ดแบนด์ หรือแม้แต่การเชื่อมต่อแบบ Point to Point

ทำความรู้จักกับแต่ละ Mode กันว่า ท่านจะเลือกใช้ Mode ต่างๆ เมื่อใด ในสถานการณ์แบบใด

1.Access Point

      โหมด Access Point คือโหมดพื้นฐานที่สุดของการใช้งาน Wireless อยู่แล้วนั่นคือ Access Point จะทำหน้าที่ในการเชื่อมต่อเครื่องลูกข่ายเข้าสู่ ระบบเครือข่ายแบบมีสาย เพื่อเข้าไปใช้งานอินเตอร์เน็ต หรือเข้าไปยังเครือข่าย LAN ของสำนักงานเป็นต้น โดยการเข้าถึงเครือข่ายอาจจะมีการเข้ารหัส (Encryption) โดยผู้ใช้งานจะต้องใส่ Key ก่อนเชื่อมต่อ บนมาตรฐาน WEP หรือ WPA เป็นต้น
และสำหรับ AP บางรุ่นก็สามารถทำ Multi-SSID และ VLAN เพื่อแบ่ง Traffic ของผู้ใช้งานออกจากกันได้ด้วย

2.Client Bridge

     โหมด Client Bridge ก็คือ ตัวอุปกรณ์จะทำหน้าที่เหมือนเป็นตัวลูกข่ายเพื่อเข้าเชื่อมต่อกับ Access Point โดยในโหมดนี้ เหมาะสำหรับการเชื่อมต่อไปยัง AP ระยะไกล หรือเพื่อเชื่อมต่อเครือข่าย wireless สำหรับอุปกรณ์เครือข่ายที่ไม่มี wireless card เช่นกล้องวงจรปิดแบบ IP เป็นต้น

รูปแสดงการเชื่อมต่อไปยังอุปกรณ์ DVR เพื่อบันทึกภาพจากกล้อง IP-Camera

3.Client Router

     Client Router จะมีการทำงานคล้ายกับ Mode Client Bridge แต่ว่า Mode นี้อุปกรณ์จะทำหน้าที่ NAT (Network Address Translation) ด้วย และมีฟังก์ชั่น DHCP ที่สามารถแจก IP Addresss ให้กับเครื่องลูกด้วย ในโหมดนี้ จะใช้ Wireless เป็น interface WAN และ ใช้พอร์ต RJ-45 เป็น interface LAN
     พูดง่ายๆก็คือเอาไว้แชร์ Wireless Hotspot นั่นเอง เช่นเมื่อต่อ TRUE Wi-Fi หรือ Spider Hotspot แล้วต่อไปยัง switch เพื่อแชร์ให้ computer ในบ้านเรานั้น เราไม่จำเป็นต้องใช้ account login สำหรับทุกเครื่อง เพียงเครื่องใดเครื่องหนึ่ง login สำเร็จ เครื่องที่เหลือก็สามารถใช้งานได้ทันที

     รูปแสดงการเชื่อมต่อไปยัง Outdoor Wireless ISP (WISP) โดยอาศัย EOC-1650 ที่ทำงานในโหมด Client Bridge โดยทำงานเสมือนเป็น Modem สำหรับเชื่อมต่อ Internet นั่นเอง

4.Wireless Router

โหมดนี้ก็จะทำงานเหมือน Wireless Router ทั่วไปครับ คือจะใช้ พอร์ต RJ-45 เป็น WAN และแชร์อินเตอร์เน็ตผ่าน Interface Wireless ครับ

5.WDS Bridge

     WDS Bridge คือการทำงานแบบ Point to Point โดยจะมีข้อแตกต่างจาก Client Bridge คือมันจะทำการส่งค่า MAC Address ของเครื่องลูกข่ายทั้งหมดผ่านไปยัง Interface Wireless ด้วย ซึ่งจะจำเป็นสำหรับการนำไปทำ Wi-Fi Hotspot เพราะผู้ให้บริการ จำเป็นต้องทราบ MAC Address ของเครื่องลูกค้าทุกคน

6.WDS AP

     WDS AP ก็คือการทำ Repeater หรือการขยายสัญญาณ จาก AP ตัวหนึ่ง ไปยัง AP อีกตัวหนึ่ง (หรือหลายตัว) โดยสามารถทำการขยายต่อไปได้เรื่อยๆ (ยิ่งทำ WDS หลาย AP ความเร็วโดยรวมยิ่งตกลง) โดย WDS จะมีข้อดีกว่า Repeater คือ มันสามารถ ส่งผ่าน MAC Address ของ Client ผ่านไปยัง Interface Wireless ซึ่งเหมาะสำหรับ WISP ที่จะทำการ Repeat สัญญาณ
     ข้อจำกัดของ WDS AP คือ ก่อนที่จะการ Repeat นั้น AP ทั้งคู่ที่จะเชื่อมต่อกัน จะต้องมีการกำหนดสิทธิ์ของกันและกันเสียก่อน ด้วยค่า MAC Address และ AP ในกลุ่มจะต้องมี Encryption เดียวกัน ใช้ Channel เดียวกัน รวมไปถึง SSID เดียวกันด้วย

7.Universal Repeater

     Universal Repeater นั้นอุปกรณ์จะทำหน้าที่ทวนสัญญาณจาก AP ตัวใดๆก็ได้ ที่อยู่ในรัศมี ที่อุปกรณ์รับสัญญาณได้ เพื่อขยายพื้นที่ให้บริการ รวมไปถึงมันยังสามารถเปลี่ยนชื่อ SSID เดิมให้เป็น SSID ใหม่ ที่เรากำหนดขึ้นได้ โหมดนี้ ถือเป็นโหมดเจ้าเล่ห์ ที่หาตัวจับยากจริงๆ

     หวังว่าทุกท่านคงจะได้รับ ความรู้ รวมไปถึง การเลือกใช้อุปกรณ์ที่เหมาะสมกับการใช้งานของท่านนะครับ


ที่มา : http://www.rightsoftcorp.com/?name=news&file=readnews&id=21

Bridge (บริดจ์) คือ อะไร

    บริดจ์ เป็นอุปกรณ์เชื่อมโยงเครือข่ายของเครือข่ายที่แยกจากกัน แต่เดิมบริดจ์ได้รับการออกแบบมาให้ใช้กับเครือข่ายประเภทเดียวกัน เช่น ใช้เชื่อมโยงระหว่างอีเทอร์เน็ตกับ อีเทอร์เน็ต (Ethernet) บริดจ์มีใช้มานานแล้ว ตั้งแต่ปี ค.ศ.1980บริดจ์จึงเป็นเสมือนสะพานเชื่อมระหว่างสองเครือข่ายการติดต่อภายใน เครือข่ายเดียวกันมีลักษณะการส่ง ข้อมูลแบบกระจาย(Broadcasting)ดังนั้นจึงกระจายได้เฉพาะเครือข่ายเดียวกัน เท่านั้นการรับส่งภายในเครือข่ายมีข้อกำหนดให้แพ็กเก็ตที่ส่งกระจายไปยังตัว รับได้ทุกตัว แต่ถ้ามีการส่งมาที่แอดเดรสต่างเครือข่ายบริดจ์จะนำข้อมูลเฉพาะแพ็กเก็ตนั้น ส่งให้บริดจ์จึงเป็นเสมือนตัวแบ่งแยกข้อมูลระหว่างเครือข่ายให้มีการสื่อสาร ภายในเครือข่าย ของตน ไม่ปะปนไปยังอีกเครือข่ายหนึ่ง เพื่อลดปัญหาปริมาณข้อมูลกระจายในสายสื่อสารมากเกินไป ในระยะหลังมีผู้พัฒนาบริดจ์ให้เชื่อมโยงเครือข่ายต่างชนิดกันได้ เช่น อีเทอร์เน็ตกับโทเก็นริง เป็นต้น หากมีการเชื่อมต่อเครือข่ายมากกว่าสองเครือข่ายเข้าด้วยกัน และเครือข่ายที่เชื่อมมีลักษณะหลากหลาย ซึ่งเป็นทั้งเครือข่ายแบบ LAN และ WAN อุปกรณ์ที่นิยมใช้ในการเชื่อมโยงคือ เราเตอร์ (Router)
บริดจ์ เป็นอุปกรณ์ที่มักจะใช้ในการเชื่อมต่อวงแลน (LAN Segments)เข้าด้วยกันทำให้สามารถขยายขอบเขตของ LANออกไปได้เรื่อยๆโดยที่ประสิทธิภาพรวมของระบบไม่ลดลงมากนักเนื่องจากการ ติดต่อของเครื่องที่อยู่ในเซกเมนต์เดียวกันจะไม่ถูกส่งผ่านไปรบกวนการจราจร ของเซกเมนต์อื่น และเนื่องจากบริดจ์เป็นอุปกรณ์ที่ทำงานอยู่ในระดับ Data Link Layerจึงทำให้สามารถใช้ในการเชื่อมต่อเครือข่ายที่แตกต่างกันในระดับ Physical และ Data Link ได้ เช่น ระหว่าง Eternet กับ Token Ring เป็นต้น

Bridge
    อุปกรณ์ Bridge เป็นสิ่งที่ใช้แก้ไขปัญหาในเรื่องสัญญาณที่วิ่งอยู่ในเครือข่ายมากเกินไปได้ โดยจะจัดแบ่งเครือข่ายออกเป็นเครือข่ายย่อยหรือ Network Segment และจะทำการกลั่นกรองสัญญาณเท่าที่จำเป็นเพื่อส่งให้กับเครือข่ายย่อยที่ถูก ต้องได้ ทำให้สัญญาณไม่มารบกวนกันหรือมีสัญญาณที่ไม่เกี่ยวข้องมาในเครือข่ายย่อย โดยไม่จำเป็น แต่ในทางกลับกัน ถ้ามีความจำเป็นต้องการสื่อสารกันข้ามเครือข่ายเป็นจำนวนมากแล้ว อุปกรณ์ Bridge ก็อาจกลายเป็นเสมือนคอขวดที่ทำให้เครือ่ข่าย มีการทำงานช้าลงได้

การทำงานของ Bridge
    หลักการทำงานของ Bridge จะดูแลข้อมูลที่ส่งโดยพิจารณาหมายเลขของเครื่อง หรือตามศัพท์ทางเครือข่าย คือ Media Access Control (MAC Address หรือ Station Address) Bridge จะทำงานใน Data Link Layer หรือ Layer ที่ 2 ของ OSI โมเดล คือ มองข้อมูลที่รับส่งกัน เป็น Packet แล้วเท่านั้น โดยไม่ต้องสนใจโปรโตคอลสื่อสารที่ใช้ ไม่ว่าจะเป็น IP หรือ IPX หรือโปรโตคอลใด ๆ หรือก็คือ ไม่ว่าจะเป็น Packet อะไรส่งออกมาในเครือข่าย Bridge จะดูเฉพาะ Address ปลายทางแล้วถ้าพบว่าเป็นเครื่องที่อยู่คนละฟากกันก็จะส่งต่อให้เท่านั้น ไม่สนใจว่าการส่งให้ถึงเครื่อง ที่เป็นผู้รับปลายทางนั้นอาจทำได้หลายเส้นทางต่าง ๆ กัน
    ข้อจำกัดอีกประการหนึ่งของ Bridge คือในขณะที่คอมพิวเตอร์เครื่องหนึ่งต้องการส่งข้อมูลไปยังอีกเครื่องหนึ่ง แต่ไม่ทราบ Station Address จะมีการส่งข้อมูล พิเศษที่เรียกว่า Broadcast Frame เข้าไปในเครือข่าย เมื่อข้อมูลนั้นผ่านมาที่ Bridge ก็จะมีการส่งข้อมูล Broadcast นี้ต่อไปยังทุกเครือข่ายย่อยทั้งหมดที่ ตนอยู่ โดยไม่มีการเลือกหรือกลั่นกรองใด ๆ ทำให้เครื่องคอมพิวเตอร์ในเครือข่ายทั้งหมดถูกขัดจังหวะเพื่อรับข้อมูลดัง กล่าว ดังนั้นถ้าข้อมูลที่ Broadcast มากก็จะ ทำให้เครือข่ายมีปัญหาเรื่องปริมาณข้อมูลหนาแน่น และความเร็วในการทำงานลดลงได้
 

NAT คืออะไร

NAT สามารถแปลง IP หลายๆ ตัวที่ใช้ภายในเครือข่ายให้ติดต่อกับเครือข่ายอื่นโดยใช้ IP เดียวกัน ดู รูปข้างล่างครับ

จากภาพจะเห็นว่าตัว NAT device มี IP address เป็น 192.168.1.1 สำหรับเครือข่ายภายใน (inside network) และมี IP address เป็น 203.154.207.76 สำหรับเครือข่ายภายนอก (outside network) เมื่อเครื่อง 192.168.1.20 ต้องการ Export ทาง Internet NAT device ก็จะแปลง IP จาก 192.168.1.20 ไปเป็น 203.154.207.76 และข้อมูลขาออกที่ออกไปยัง external network นั้นจะเป็นข้อมูลที่มี source IP address เป็น outside IP address ของ NAT device

NAT มีขั้นตอนการทำงานอย่างไร
เมื่อ NAT เริ่มทำงาน มันจะสร้างตารางภายในซึ่งมีไว้สำหรับบรรจุข้อมูล IP address ของเครื่องในเครือข่ายภายในที่ส่ง packet ผ่าน NAT device และจากนั้นมันก็จะสร้างตารางไว้สำหรับเก็บข้อมูลหมายเลขพอร์ต (port number) ที่ถูกใช้ไปโดย outside IP address จะมีกระบวนการทำงานดังนี้
1.มัน จะบันทึกข้อมูล source IP adress และ source port number ไว้ใน Log File
2.มัน จะแทนที่ IP ของ packet ด้วย IP ขาออกของ NAT device เอง
และเมื่อ NAT device ได้รับ packet ย้อนกลับมาจาก external network มันจะตรวจสอบ destination port number ของ packet นั้นๆ แล้วนำมาเปรียบเทียบกับข้อมูล source port number ใน Log File ถ้าเจอข้อมูลที่ตรงกันมันก็จะเขียนทับ destination port number, destination IP address ของ pakcet นั้นๆ แล้วจึงส่ง packet นั้นไปยังเครื่องอยู่ภายในเครือข่ายภายใน

ข้อ ดีของ Outbound Mode NAT เมื่อเปรียบเทียบกับ Firewall
NAT ทำงานได้ในระดับเดียวกันกับไฟร์วอลล์และไม่ต้องการความรู้ด้านเทคนิคมากมาย นัก NAT สามารถซ่อน internal network IP address จากเครือข่ายภายนอกไว้ได้ ซึ่งผู้ที่อยู่ภายนอกจะมองเห็นแค่เพียง outside IP address ของ NAT device เท่านั้น ดังนั้นโอกาสในการ broadcast หรือ hack หรือ spoof จึงแทบไม่มีโอกาสเป็นไปได้

ความง่ายในการดูแลเครือข่ายที่ใช้ NAT
1.เนื่อง จากเราสามารถใช้ non-routable address ในเครือข่ายภายใน ซึ่งสามารถใช้ได้อย่างมากมาย จึงทำให้ลดค่าใช้จ่ายสำหรับ routable address ลงไปได้

อ้างถึง
non-routable address คือ IP address ที่อยู่ในช่วงที่ถูกสำรองไว้ เช่น 10.x, 172.16.x - 172.31.x, 192.168.x หรือเรียกว่า private IP address
2.มี traffic logging คือมีการบันทึกข้อมูลลงล็อกไฟล์ ทำให้สามารถตรวจสอบรายงานการใช้งานได้

NAT มีความปลอดภัยหรือไม่ ?
ถ้ามี NAT แล้วก็ไม่จำเป็นต้องมีไฟร์วอลล์ ซึ่งจริงๆแล้ว NAT ต้องเปิดพอร์ตให้บริการเสมอ เช่น 20-21 (FTP), 23(TELNET), 25 (SMTP), 53 (DNS), 80 (HTTP), 110 (POP), 143 (IMAP) นอกจากนี้การที่ user ใน internal network รันโปรแกรมบนเครื่องตัวเอง ซึ่งโปรแกรมนั้นอาจจะเป็นม้าโทรจันก็เป็นไปได้ จากนั้นม้าโทรจันก็จะส่ง packet ออกไป external network ซึ่ง NAT ก็จะปล่อยให้ packet ผ่านไปได้เพราะถือว่าเป็นการ request จาก internal side ในกรณีนี้ก็จะเห็นได้ว่า NAT ไม่ได้ช่วยอะไรได้เลย
 


ด้วย NAT นี่เองทำให้จาก external เข้ามาทำได้ยากขึ้น(เข้าจากพอร์ตไม่ปกติ--->port ที่ไม่ใช่ Well known Ports Number)
เช่น
เครื่อง ก อยู่ใน NAT แล้วเครื่อง ข จะทำมิดีมิร้าย เครื่อง ก
เครื่อง ข จะไม่สามารเข้าถึงเครื่อง ก ได้ เพราะติด NAT นั่นเอง เฮ้อ... เศร้า.....

ปล.แล้วจะทำไงดีน้อ....
ปล2.ผิด พลาดประการใดก็ขออภัยด้วยครับ...


สอบถามนิดนะครับคือว่าสงสัยนะครับ ว่าจริงๆแล้ว ถ้าเครื่องข้างนอกกเป็น public IP แล้วเครื่องข้างในเป็น Private IP เช่น ถ้าผมมี public IP  ใช้งานอยู่เครื่องหนึ่งมันสามารถ ping ไปสู่เครื่องข้างในที่ป็น Private  IP ได้หรือเปล่าว ถ้าเราตัดส่วนที่เป็น firewall ออกไป โดยไม่คำนึงถึง
จากรูปแล้วของคุณ Alternative  นั้น เวลาเราทำ NAT นั้นเราจะให้ออกด้วย Public IP  แต่ที่นี้เราจะให้ออกโดยเป็น interface ที่เราให้เป็น IP PUBLIC เลย ก็คือ 203.154.207.76  หรือเปล่าวครับ หรือว่า เราต้องหา IP PUBLIC อีกอันมา MAP    ถ้าสมมติว่า ผมให้เครื่อง 192.168.1.20 นั้นออกด้วย IP PUBLIC ที่เป็น 203.154.207.76 ของ interface ใน device ที่ทำ NAT  มันจะเรียกเป็นการทำ NAT แบบ 1:1 หรือว่า เป็นแบบ  Dynamic NAT อ่ะครับ  เพราะเท่าที่ผมรู้มาว่าถ้าทำแบบนี้เขาจะเรียกว่า Dynamic NAT เพราะเคยเห็นคนพูดกันว่าตามหลักจริงๆแล้ว ในการทำ NAT  เราต้องหา IP PUBLIC  อีกอันหนึ่งมาใช้ในการทำ NAT ต้องไม่ใช้ interface device ที่ทำ NAT ถึงแม้ว่าจะเป็น PUBLIC IP  ไม่รู้ทั่วๆไปสากลเขาใช้แบบนี้ที่ผมกล่าวถึงหรือเปล่าวครับ รบกวนพี่ที่เก่งๆและแม่นในทฤษฏีหน่อยนะครับ ขอบคุณมากครับ


สงสัยคับ คือว่าหากเราทำ static NAT private 192.168.0.5 public 203.xxx.yyy.zzz ไว้ที่ router
เครื่องผมอีกคเครื่องหนึ่งอยู่ในวง private จะ remote เข้าเครื่อง 192.168.0.5 ถึงไม่สามารถใช้ IP public ได้ครับ

NAT จะมีอยู่ สามแบบครับ

  แบบแรก NAT Static  จะอาศัยโดยการ 1 private IP ต่อ หนึ่ง Public IP ครับ หนึ่งเครื่องต่อหนึ่งครับไม่สามารถสร้างได้มากครับ

  แบบที่สอง NAT Dynamic จะหาศัยการเชื่อมต่อแบบ ไอพีการเปลี่ยนแปลงตลอดเวลา ครับ เช่นว่า host 20  และมี Public IP  10 ไอพี เช่นว่า Public IP ตั้งแต่ 183.89.160.1 - 183.89.160.10   และภาพใน 20 เครื่องนั้นมาก่อนจะได้ ไอพี Public IP จริงออกไป 183.89.160.1 และเครื่องต่อมาติดๆกัน มาอีก ไอพี183.89.160.1 ไม่ว่าง Routerจะจ่ายไอพีเครื่องที่สอง Public IP เป็น 183.89.160.2 ครับ ไปอย่างนี้เรื่อย และวนซ้ำกลับมาครับ จะสอบว่าไอพีไหนว่างก็เสียบเข้าเลย

  แบบสาม NAT Overload แบบนี้วิธีการนี้มักจะมีอยู่ตามกันใช้ทั่วไป ADSL คือจะมี Public IP มี แค่ หนึ่ง ไอพีเท่านี้นและเครืองในองค์กรหรือในบ้าน ไม่เพียงพอ เราจำเป็นต้องสร้างไอพีภายในให้ คือ private ip เพราะว่าในโลกความเป็นไอพีไม่เพียงพอต่อคอมพิวเตอร์ จึงจำแปลงต้องมีการแปลง ไอพี ภายใน ให้เป็นไอพี public  เพื่อที่จะได้ออกเล่นอินเตอร์เน็ตได้ โดยอาศัยพอร์ตการเชื่อมต่อเอา มาจากไอพีไหน เช่นว่า 192.168.10:2536 สังเกตจะมีพอมาเรื่อยๆในเครื่องเราขณะเล่นเน็ต ลอง start -> run -> cmd -> netstat -5 ดูครับ จะดูว่าจะมีการเชื่อมต่อทุกๆห้าวินาที มีใครมาเชื่อมต่อบ้างอาศัยพอร์ดไหน จะรู้ ปลายต้นและต้นทางที่เชื่อมครับ

ที่มา : http://thaicourt.blogspot.com/2010/12/nat.html

วันจันทร์ที่ 19 มกราคม พ.ศ. 2558

วันนี้ ไม่ได้อะไรมาก เรามาลองจัดคอมพิวเตอร์ตั่งโต๊ะสำหรับคุณหนูๆ
 AMD Spec 
Cpu                             =
Mainboard                   =
Ram                             =
HardDisk                     =
DvD                             =
Moniter                        =
PowerSupply                =
Mouse+Keyboard       =

วันจันทร์ที่ 12 มกราคม พ.ศ. 2558

เปิด Firefox ใน Ubuntu ขึ้นมา
ให้เราพิมพ์ about:config ลงใน URL address bar ของ firefox จากนั้นตั้งค่าตามนี้ แล้ว กด ที่ i"ll be careful,i promise!









จะได้ภาพ ตามด้านล่างนี้ แก้ตาม



แก้ไขตามด้านล่างนี้

network.http.pipelining > กำหนดเป็น True
network.http.pipelining.maxrequests > แก้ไขจาก 32 ไปเป็น 10
network.http.proxy.pipelining > กำหนดเป็น True
network.dns.disableIPv6 > กำหนดเป็น True

เท่านี้เราก็เล่นอินเตอร์ได้ตามปกติครับ แต่ยังไม่ เสถียรน๊ะคับ           
By Arcsh

วันศุกร์ที่ 7 พฤศจิกายน พ.ศ. 2557

ถายทดสด

https://plus.google.com/hangouts/_/g2vbghrbv4klsmqokra6yewqaqa

New way to make batteries safer

Coating prevents electrical current from damaging the digestive tract after battery ingestion.

Every year, nearly 4,000 children go to emergency rooms after swallowing button batteries — the flat, round batteries that power toys, hearing aids, calculators, and many other devices. Ingesting these batteries has severe consequences, including burns that permanently damage the esophagus, tears in the digestive tract, and in some cases, even death.
To help prevent such injuries, researchers at MIT, Brigham and Women’s Hospital, and Massachusetts General Hospital have devised a new way to coat batteries with a special material that prevents them from conducting electricity after being swallowed. In animal tests, they found that such batteries did not damage the gastrointestinal (GI) tract at all.
“We are all very pleased that our studies have shown that these new batteries we created have the potential to greatly improve safety due to accidental ingestion for the thousands of patients every year who inadvertently swallow electric components in toys or other entities,” says Robert Langer, the David H. Koch Institute Professor at MIT and a member of MIT’s Koch Institute for Integrative Cancer Research, Institute for Medical Engineering and Science (IMES), and Department of Chemical Engineering.
Langer and Jeffrey Karp, an associate professor of medicine at Harvard Medical School and Brigham and Women’s Hospital, are the senior authors of a paper describing the new battery coatings in this week’s edition of the Proceedings of the National Academy of Sciences. The paper’s lead authors are Bryan Laulicht, a former IMES postdoc, and Giovanni Traverso, a research fellow at the Koch Institute and a gastroenterologist at MGH.
Small batteries, big danger
About 5 billion button batteries are produced every year, and these batteries have become more and more powerful, making them even more dangerous if swallowed. In the United States, recent legislation has mandated warning labels on packages, and some toys are required to have battery housings that can only be opened with a screwdriver. However, there have been no technological innovations to make the batteries themselves safer, Karp says.
When batteries are swallowed, they start interacting with water or saliva, creating an electric current that produces hydroxide, a caustic ion that damages tissue. This can cause serious injury within just a couple of hours, especially if parents don’t realize right away that a child has swallowed a battery.
“Disc batteries in the esophagus require [emergency] endoscopic removal,” Traverso says. “This represents a gastrointestinal emergency, given that tissue damage starts as soon as the battery is in contact with the tissue, generating an electric current [and] leading to a chemical burn.”
The research team began thinking about ways to alter batteries so they would not generate a current inside the human body but would still be able to power a device. They knew that when batteries are inside their housing, they experience a gentle pressure. To take advantage of this, they decided to coat the batteries with a material that would allow them to conduct when under pressure, but would act as an insulator when the batteries are not being compressed.
Quantum tunneling composite (QTC), an off-the-shelf material commonly used in computer keyboards and touch screens, fit the bill perfectly. QTC is a rubberlike material, usually made of silicone, embedded with metal particles. Under normal circumstances, these particles are too far apart to conduct an electric current. However, when squeezed, the particles come closer together and start conducting. This allows QTC to switch from an insulator to a conductor, depending on how much pressure it is under.
To verify that this coating would protect against tissue damage, the researchers first calculated how much pressure the battery would experience inside the digestive tract, where movements of the tract, known as peristalsis, help move food along. They calculated that even under the highest possible forces, found in patients with a rare disorder called “nutcracker esophagus,” the QTC-coated batteries would not conduct.
“You want to know what’s the maximum force that could possibly be applied, and you want to make sure the batteries will conduct only above that threshold,” Laulicht says. “We felt that once we were well above those levels, these coatings would pass through the GI tract unchanged.”
After those calculations were done, the researchers monitored the coated batteries in the esophagus of a pig, and found no signs of damage.
“A relatively simple solution”
Because QTC is relatively inexpensive and already used in other consumer products, the researchers believe battery companies could implement this type of coating fairly easily. They are now working on developing a scalable method for manufacturing coated batteries and seeking companies that would be interesting in adopting them.
“We were really interested in trying to impose design criteria that would allow us to have an accelerated path to get this out into society and reduce injuries,” Karp says. “We think this is a relatively simple solution that should be easy to scale, won’t add significant cost, and can address one of the biggest problems associated with ingestion of these batteries.”
Also, because the coating is waterproof, the researchers believe it could be used to make batteries weather-resistant and more suitable for outdoor use. They also plan to test the coating on other types of batteries, including lithium batteries.
Edith Mathiowitz, a professor of medical science at Brown University who was not involved in the research, says she believes this approach is a “brilliant idea” that offers an easy fix for the potential dangers of battery ingestion.
“What I like about it is that it’s a simple idea you could implement very easily. It’s not something that requires a big new manufacturing facility,” she says. “And, it could be useful eventually in any type of size of battery.”
The research was funded by the National Institutes of Health.
 

วันพฤหัสบดีที่ 6 พฤศจิกายน พ.ศ. 2557

Can you out-race a computer?

Can you out-race a computer?

Deep-learning algorithm can weigh up a neighborhood better than humans.


Human beings have a remarkable ability to make inferences based on their surroundings. Is this area safe? Where might I find a parking spot? Am I more likely to get to a gas station by taking a left or a right at this stoplight?
Such decisions require us to look beyond our “visual scene” and weigh an exceedingly complex set of understandings and real-time judgments. This begs the question: Can we teach computers to “see” in the same way? And once we teach them, can they do it better than we can?
The answers are “yes” and “sometimes,” according to research out of MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL). Researchers have developed an algorithm that can look at a pair of photos and outperform humans in determining things like which scene has a higher crime rate, or is closer to a McDonald's restaurant.
An online demo puts you in the middle of a Google Street View with four directional options and challenges you to navigate to the nearest McDonald's in the fewest possible steps.
While humans are generally better at this specific task than the algorithm, the researchers found that the computer consistently outperformed humans at a variation of the task in which users are shown two photos and asked which scene is closer to a McDonald's.
To create the algorithm, the team — which included PhD students Aditya Khosla, Byoungkwon An, and Joseph Lim, as well as CSAIL principal investigator Antonio Torralba — trained the computer on a set of 8 million Google images from eight major U.S. cities that were embedded with GPS data on crime rates and McDonald's locations. They then used deep-learning techniques to help the program teach itself how different qualities of the photos correlate. For example, the algorithm independently discovered that some things you often find near McDonald's franchises include taxis, police vans, and prisons. (Things you don’t find: cliffs, suspension bridges, and sandbars.)
“These sorts of algorithms have been applied to all sorts of content, like inferring the memorability of faces from headshots,” said Khosla. “But before this, there hadn’t really been research that’s taken such a large set of photos and used it to predict qualities of the specific locations the photos represent.”
The researchers presented a paper about the work at the IEEE International Conference on Computer Vision and Pattern Recognition (CVPR) this summer.
While the project was mostly intended as proof that computer algorithms are capable of advanced scene understanding, Khosla has brainstormed potential uses ranging from a navigation app that avoids high-crime areas, to a tool that could help McDonald's determine future franchise locations.
                                                                                             
Khosla previously helped develop an algorithm that can predict a photo’s popularity.
 

New frontier in error-correcting codes

New frontier in error-correcting codes

Coding scheme for interactive communication is the first to near optimality on three classical measures.

Error-correcting codes are one of the glories of the information age: They’re what guarantee the flawless transmission of digital information over the airwaves or through copper wire, even in the presence of the corrupting influences that engineers call “noise.”
But classical error-correcting codes work best with large chunks of data: The bigger the chunk, the higher the rate at which it can be transmitted error-free. In the Internet age, however, distributed computing is becoming more and more common, with devices repeatedly exchanging small chunks of data over long periods of time.
So for the last 20 years, researchers have been investigating interactive-coding schemes, which address the problem of long sequences of short exchanges. Like classical error-correcting codes, interactive codes are evaluated according to three criteria: How much noise can they tolerate? What’s the maximum transmission rate they afford? And how time-consuming are the encoding and decoding processes?
At the IEEE Symposium on Foundations of Computer Science this month, MIT graduate students past and present will describe the first interactive coding scheme to approach the optimum on all three measures.
“Previous to this work, it was known how to get two out of three of these things to be optimal,” says Mohsen Ghaffari, a graduate student in electrical engineering and computer science and one of the paper’s two co-authors. “This paper achieves all three of them.”
Vicious noise
Moreover, where Claude Shannon’s groundbreaking 1948 analysis of error-correcting codes considered the case of random noise, in which every bit of transmitted data has the same chance of being corrupted, Ghaffari and his collaborator — Bernhard Haeupler, who did his graduate work at MIT and is now an assistant professor at Carnegie Mellon University — consider the more stringent case of “adversarial noise,” in which an antagonist is trying to interfere with transmission in the most disruptive way possible.
“We don’t know what type of random noise will be the one that actually captures reality,” Ghaffari explains. “If we knew the best one, we would just use that. But generally, we don’t know. So you try to generate a coding that is as general as possible.” A coding scheme that could thwart an active adversary would also thwart any type of random noise.
Error-correcting codes — both classical and interactive — work by adding some extra information to the message to be transmitted. They might, for instance, tack on some bits that describe arithmetic relationships between the message bits. Both the message bits and the extra bits are liable to corruption, so decoding a message — extracting the true sequence of message bits from the sequence that arrives at the receiver — is usually a process of iterating back and forth between the message bits and the extra bits, trying to iron out discrepancies.
In interactive communication, the maximum tolerable error rate is one-fourth: If the adversary can corrupt more than a quarter of the bits sent, perfectly reliable communication is impossible. Some prior interactive-coding schemes, Ghaffari explains, could handle that error rate without requiring too many extra bits. But the decoding process was prohibitively complex.
Making a list
To keep the complexity down, Ghaffari and Haeupler adopted a technique called list decoding. Rather than iterating back and forth between message bits and extra bits until the single most probable interpretation emerges, their algorithm iterates just long enough to create a list of likely candidates. At the end of their mutual computation, each of the interacting devices may have a list with hundreds of entries.
But each device, while it has only imperfect knowledge of the messages sent by the other, has perfect knowledge of the messages it sent. So if, at the computation’s end, the devices simply exchange lists, each has enough additional information to zero in on the optimal decoding.
The maximum tolerable error rate for an interactive-coding scheme — one-fourth — is a theoretical result. The minimum length of an encoded message and the minimum decoding complexity, on the other hand, are surmises based on observation.
But Ghaffari and Haeupler’s decoding algorithm is nearly linear, meaning that its execution time is roughly proportional to the length of the messages exchanged.
“It is optimal in the sense that it is linear,” says Mark Braverman, an assistant professor of computer science at Princeton University who has also worked on interactive coding. “That’s an important benchmark.”
But linear relationships are still defined by constants: y = x is a linear relationship, but so is y = 1,000,000,000x. A linear algorithm that takes an extra second of computation for each additional bit of data it considers isn’t as good as a linear algorithm that takes an extra microsecond.
“We still need to worry a little bit about constants,” Braverman says. “But before you can worry about constants, you have to know that there is a constant-rate scheme. This is very nice progress and a prerequisite to asking those next questions.”
 
Custom Search