วันอังคารที่ 25 พฤศจิกายน พ.ศ. 2557

TCP/IP (Transmitsion Control Protocol/Internet Protocol)

TCP/IP (Transmitsion Control Protocol/Internet Protocol)

          เป็นชุดโปรโตคอลที่นำโปรโตคอลหลายๆ ตัวมาใช้งานร่วมกัน โดยมีจุดประสงค์เพื่อให้เครื่องของผู้ใช้งานสามารถส่งข้อมูลจากต้นทาง - ปลายทาง  ทั้งเครือข่ายภายใน (Local) และเครือข่ายภายนอก (Internet) ถึงแม้ว่าในระหว่างการส่งข้อมูล เกิดเส้นทางในการส่งข้อมูลเกิดปัญหา โปรโตคอลก็จะค้นหาเส้นทางใหม่เพื่อให้ข้อมูลสามารถส่งไปถึงปลายทางได้และเป็นโปรโตคอลที่มีความคล่องตัวต่อการสื่อสารข้อมูลได้หลายชนิดทั้งแบบที่ไม่มีความเร่งด่วน เช่น การจัดส่งแฟ้มข้อมูล และแบบที่ต้องการรับประกันความเร่งด่วนของข้อมูล เช่น การสื่อสารแบบ real-time และทั้งการสื่อสารแบบเสียง (Voice) และข้อมูล (Data)



รูปที่ 1 OSI Model and TCP/IP

          จากรูปที่ 1 เป็นการเปรียบเทียบแต่ละ Layer ของ TCP/IP กับ  OSI Model  ว่ามีความสัมพันธ์กันอย่างไร ซึ่งผู้อ่านสามารถทำความเข้าใจได้ 

Application Layer   

          จะเป็นชั้น ที่ทำหน้าที่เชื่อมต่อกับผู้ใช้และให้บริการต่าง ๆ เช่น FTP, Telnet, SNMP ฯลฯ โดยจะมีการทำงานเหมือนกับ 3 ชั้นบนของ OSI Model

Host-to-Host Layer 

          จะเป็น TCP หรือ UDP ที่ทำหน้าที่คล้ายกับชั้นที่ 4 ของ OSI คือ ควบคุมการรับส่งข้อมูลจากปลายด้านส่งถึงปลายด้านรับข้อมูล และตัดข้อมูลออกเป็นส่วนย่อยให้เหมาะกับเครือข่ายที่ใช้รับส่งข้อมูล รวมทั้งประกอบข้อมูลส่วนย่อยๆนี้เข้าด้วยกันเมื่อถึงปลายทาง

Internet Layer 

          ได้แก่ส่วนของโปรโตคอล IP ซึ่งทำหน้าที่คล้ายกับชั้นที่ 3 ของ OSI คือเชื่อมต่อคอมพิวเตอร์เข้ากับระบบเครือข่ายที่อยู่ชั้นล่างลงไป และทำหน้าที่เลือกเส้นทางการรับส่งข้อมูลผ่านอุปกรณ์เครือข่ายต่าง ๆ จนไปถึงผู้รับข้อมูล ในชั้นนี้จะจัดการกับกลุ่มข้อมูลในลักษณะที่เรียกว่า frame ในรูปแบบของ TCP/IP ที่เรารู้จักกันนั่นเอง

Network Access Layer 

          ชั้นที่ควบคุม Hardware การรับส่งข้อมูลผ่านเครือข่าย ซึ่งเทียบได้กับชั้นที่ 1 และ 2 ของ OSI ในชั้นนี้จะทำหน้าที่เชื่อมต่อกับ Hardware และควบคุมการรับส่งข้อมูลในระดับ Hardware ของเครือข่าย ซึ่งที่ใช้กันอยู่จะเป็นตามมาตรฐานของ IEEE เช่น IEEE 802.3 จะเป็นการเชื่อมต่อผ่าน LAN แบบ Ethernet LAN หรือ IEEE 802.5 จะเป็นการเชื่อมต่อผ่าน LAN แบบ Token Ring เป็นต้น



รูปที่ 2  TCP/IP Protocol Stack

          จากรูปที่ 2 เป็น flow การทำงานของ Protocol ที่อยู่ใน  OSI Model  ความสัมพันธ์ของแต่ละ Protocol ในแต่ละชั้นผู้อ่านลองมาเปรียบเทียบกับชั้นของ TCP/IP ดูนะครับว่า โปรโตคอลไหนอยู่ชั้นไหน ซึ่งผมจะอธิบายหลักการทำงานของแต่ละ Protocol ที่สำคัญๆ ในบทความต่อ ๆ ไปนะครับ....^_^









วันอาทิตย์ที่ 23 พฤศจิกายน พ.ศ. 2557

Switch และ หลักการทำงานของ Switch


      วันนี้ผมคิดว่าจะอธิบายเกี่ยวกับการทำงานของ Switch แต่เปิดเว็ปไปเว็ปเปิดมา  ว้าว..เขียนได้ฟรุ้งฟริ้ง  กิง ก่อง แก้ว มาก.!! เลยขออนุญาติเอา ทั้งสองบทความที่เขียนไว้มารวมกันเลยนะครับ   ขออภัยที่ลอกมาโดยไม่ขออนุญาติละกันเนอะ


          : http://www.netbright.co.th/?name=knowledge&file=readknowledge&id=13
 

Switch

      Switch เป็นอุปกรณ์ที่พัฒนาการต่อจากฮับอีกทีหนึ่งมีความสามารถมากกว่า Hub โดยการทำงานของสวิตซ์จะส่งข้อมูลออกไปเฉพาะพอร์ตที่ใช้ในการติดต่อกับเครื่องคอมพิวเตอร์พีซีปลายทางเท่านั้น ในขณะที่ Hub จะส่ง Packet ไปทุกพอร์ต ทำให้ในสวิตซ์ไม่มีปัญหาการชนของข้อมูล (แต่ฮับจะเกิดความสิ้นเปลืองของ Bandwidth)
      สวิตซ์จะทำงานอยู่ในชั้น Data Link Layer คือจะรับผิดชอบในการเชื่อมโยงของข้อมูล ตรวจสอบความถูกต้องของการติดต่อจากโหนดหนึ่งไปอีกโหนดหนึ่งและความสมบูรณ์ของการรับส่งข้อมูล สำหรับในชั้นเชื่อมโยงข้อมูลนั่นจะทำการแบ่งข้อมูลระดับบิตที่ได้รับจากชั้น Physical Layer เป็นข้อมูลชนิดที่เรียกว่า เฟรม ก่อนจะส่งไปยังชั้นถัดไป ก็คือ Network Layer

การออกแบบเน็ตเวิร์กเป็นลำดับชั้น (Hierarchical Network Design)

Hierarchical Design

      เป็นหลักการออกแบบเน็ตเวิร์กอย่างหนึ่ง (ผมก็ไม่กล้าฟันธงนะว่ามีอย่างอื่นหรือเปล่าแต่เท่าที่รู้มีแต่อันนี้ละ 555+ )  เพื่อให้ผู้ดูแลระบบสามารถวางแผนในการวางเน็ตเวิร์กได้ง่าย  สะดวกในการเลือกใช้อุปกรณ์ ง่ายต่อการคอนฟิกและที่สำคัญง่ายต่อการแก้ไขปัญหาบางจุด  โดยการออกแบบเน็ตเวิร์กที่เป็นลำดับชั้นนี้จะมีทั้งหมด 3 Layer คือ   Access Layer (ชั้นล่าง), Distribution Layer (ชั้นกลาง) และ Core Layer (ชั้นบน)


Access Layer

      เป็นชั้นที่อยู่ใกล้กับผู้ใช้งานมากๆเนื่องจากชั้นนี้เป็นชั้นที่อุปกรณ์เน็ตเวิร์กเชื่อมต่อกับเครื่องคอมพิวเตอร์ของผู้ใช้งานกับอุปกรณ์เน็ตเวิร์กชั้น Distribution หรือ Core Layer  (แล้วแต่ออกแบบอ่ะนะ = = ") โดยส่วนใหญ่จะเป็นอุปกรณ์ที่ทำงานอยู่บน Layer 2 ซึ่งเป็นอุปกรณ์ราคาถูกจำพวก Switch L2 เป็นต้น

OSI Model

OSI Model (Open Systems Interconnection model)


          เป็นลำดับชั้นในการติดต่อสื่อสารระหว่างอุปกรณ์ โดยแต่ละชั้นมีหน้าที่การทำงานที่แตกต่างกัน OSI Model ถูกสร้างขึ้นมาเพื่อให้ ผู้ผลิตฮาร์ดแวร์ หรือ ซอร์ฟแวร์ ใช้เป็นโครงสร้างในการสร้างอุปกรณ์ เพื่อให้อุปกรณ์ให้สามารถทำงานร่วมกันได้ถึงแม้อุปกรณ์จะมาจากผู้ผลิตคนละรายองค์ประกอบของ OSI MedelOSI Model มีองค์ประกอบทั้งหมด 7 ชั้น ซึ่งทำหน้าที่แตกต่างกัน โดยผู้เขียนจะอธิบายจากชึ้น บนลงมาเพื่อให้ผู้อ่านได้ทำความเข้าใจได้ง่ายขึ้น (หรือป่าวว >,,<)






วันเสาร์ที่ 19 เมษายน พ.ศ. 2557

การทำ nat เพื่อแชร์เน็ตให้กับเน็ตเวิร์กภายใน (centos 6)


เพื่อให้เข้าใจง่ายจะ อธิบายเน็ตเวิร์กตัวอย่างขึ้นมา



1.เครื่องหลัก (frontEnd) เป็นเครื่องที่สามารถติดต่อได้ทั้งเน็ตเวิร์กภายใน-นอก ซึ่งจะมีเน็ตเวิร์กการ์ดอยู่ 2 ใบ
   - ใบแรก  eth0 : ipaddress :10.2.80.253/8   ใช้สำหรับติดต่อกับเน็ตเวิร์กภายนอก(ไว้ออกเน็ต)
   - ใบสอง  eth1 : ipaddress : 192.168.10.1/24 ใช้สำหรับติดต่อกับเน็ตเวิร์กภายใน
2.เครื่องลูก  (client)  เป็นเครื่องที่เราต้องการใช้อินเตอร์เน็ตผ่านเครื่อง frontEnd
   - คอนฟิกให้อยู่ในเน็ตเวิร์ก   192.168.10.0/24 ซึ่งเป็นวงเดียวกับการ์ด eth1
   - ให้ชี้ gateway มาที่  192.168.10.1 ซึ่งก็คือ eth0

วันพุธที่ 11 ธันวาคม พ.ศ. 2556

“failed to fetch” error เมื่อ apt-get update


มีบ้างครั้งเมื่อเรา apt-get update แล้วมีการ error ที่แจ้งว่า  “failed to fetch”หรือเหมือนอย่างด้านล่าง
=====================================================
Err http://security.ubuntu.com precise-security Release.gpg
  Unable to connect to security.ubuntu.com:http: [IP: 91.189.92.190 80]
Reading package lists... Done
W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise/InRelease  

W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise-updates/InRelease  

W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise-backports/InRelease  

W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/precise-security/InRelease  

W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/precise/InRelease  

W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise/Release.gpg      Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]

W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise-updates/Release.gpg  Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]

W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise-backports/Release.gpg  Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]

W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/precise/Release.gpg  Unable to connect to extras.ubuntu.com:http:

W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/precise-security/Release.gpg  Unable to connect to security.ubuntu.com:http: [IP: 91.189.92.190 80]

W: Some index files failed to download. They have been ignored, or old ones used instead.
==========================================================

วันเสาร์ที่ 16 พฤศจิกายน พ.ศ. 2556

การติดตั้ง Web Server (apache)

เว็บเซิร์ฟเวอร์ (Web Server) คือ
                เครื่องคอมพิวเตอร์ที่ทำหน้าที่เป็นเครื่องบริการเว็บแก่ผู้ร้องขอด้วยโปรแกรมประเภทเว็บบราวเซอร์ (Web Browser) ที่ร้องขอข้อมูลผ่านโปรโตคอลเฮชทีทีพี (HTTP = Hyper Text Transfer Protocol) เครื่องจะส่งข้อมูลให้ผู้ร้องขอในรูปของข้อความ ภาพ เสียง หรือสื่อผสม เครื่องบริการเว็บจะเปิดบริการพอร์ท 80 (HTTP Port) ให้ผู้ร้องขอได้เชื่อมต่อผ่านโปรแกรมประเภทเว็บ
สิ่งที่
Web Server  ต้องการมีอยู่ 3 โปรแกรมหลัก
                -  Apache   :   เป็นซอร์ฟแวร์ที่ทำให้เครื่องให้บริการเป็นเว็บเซิร์ฟเวอร์
                -  PHP         :   โปรแกรมที่ทำหน้าประมวลผลการทำงานของภาษา PHP
                -  MySQL     :  โปรแกรมระบบจัดการฐานข้อมูล  
โดยหน้าที่หลักของ webserver ทั่วไปมีดังนี้
                - คอยจัดการ Request ก็คือ การร้องขอข้อมูล
               
- คอยจัดการ Resposne ก็คือ การส่งข้อมูลกลับไป
               
- คอยจัดการ process และจัดลำดับ ของ request และ response
               
- คอยเก็บ logs ที่มีการ access เข้ามารวมกระทั้ง error ต่างๆๆ ที่ webserver พบ เช่น ไม่เจอไฟล์ชื่อนี้
                 -สามารถ เอา module มาใช่ร่วมกับ webserver ได้ ยกตัวอย่างเช่น Apache นั้น ไม่สามารถ run ไฟล์ .php ได้ ต้อง เรียกใช้ module php อีกที หรือ การ rewrite url ก็ใช่เดียวกันต้องใช้ mod_rewrite ในการสร้าง