วันเสาร์ที่ 12 กันยายน พ.ศ. 2552

Week 11 : Network and Transport Layers 2

Stream Control Transmission Protocol (SCTP) เป็น transport
protocolที่ส่งข้อมูลระหว่างจุดสองจุด เหมือน TCP และยังเก็บรักษาขอบเขตของ data message เหมือน UDP SCTP มีความสามารถในด้าน multi-homing และ multi-streaming

Virtual Circuit (VC) คือ การเชื่อมต่อเสมือน (Logical Connection)
ระหว่างสองสถานีใดๆ ในเครือข่ายสวิตซ์ สถานีจะสื่อสารกันโดยการส่งผ่านเซลลข้อมูล โดยผ่านวงจรเสมือนนี้ ส่วนเส้นทางเสมือน (Virtual Path) เป็นการจัดวงจรเสมือนให้เป็นกลุ่ม

ATM(Asynchronous Transfer Mode)
เป็นมาตรฐานรูปแบบการส่งข้อมูลความเร็วสูงที่ถูกพัฒนามาสำหรับงานที่ต้องการความเร็วในการส่งข้อมูลสูงมาก ๆ ข้อมูลที่ส่งในเครือข่าย ATM จะถูกแบ่งเป็นกลุ่มย่อยเล็ก ๆ เรียกว่า เซลล์ (Cell) ซึ่งมีขนาด 53 byte

VPI (virtual path identifier) ใช้เพื่อติดต่อกับ VCI เพื่อที่จะระบุปลายทางของเซลล์หลังจากที่ผ่าน ATM switches เพื่อใช้เป็นเส้นทางในการเดินทางมีขนาด 8 บิต
VCI (virtual channel identifier) ใช้เพื่อติดต่อกับ VPI เพื่อที่จะใช้ระบุปลายทางของเซลล์หลังจากที่ผ่านATM switches เพื่อสร้างเส้นทางในการติดต่อมีขนาด 16 บิต


Interner Address หรือ IP address ปัจจุบันมีขนาด 32
บิตในการกำหนดค่าอุปกรณืต่างๆส่วนการเขียนทำได้ 2 แบบ คือเขียนในแบบ เลขฐาน2 และ เลขฐาน10
ในการเขียนในแบบฐาน2 การเขียนจะเขียนเป็นชุด 4 ชุด
โดยแต่ละชุดจะใช้เลขฐานสองจำนวน 8 บิต(1ไบต์) โดยทั่วไป
คนส่วนใหญ่จะคุ้นเคยกับระบบเลขฐาน10 จึงมักแสดงผลโดยการใช้เลขฐาน10 จำนวน 4 ชุด
ซึ่งแสดงถึงหมายเลขเฉพาะของเครื่องนั้น สำหรับการส่งข้อมูลภายในเครือข่าย Internet
โดย IP address มีไว้เพื่อให้ผู้ส่งรู้ว่าเครื่องของผู้รับและผู้ส่งคือใคร
IPv4 Address เป็นระบบ 32 บิตหรือสามารถระบุเลขไอพีได้ตั้ง 0.0.0.0 ถึง 255.255.255.255

IPv4 Address แบ่งออกเป็น 5 Class ได้แก่ Class A,B,C,D,E
Class A,B,C จะประกอบขึ้นจาก NetId และ HostId ซึ่งแต่ละClass จะมีขาดของNetId และ HostId แตกต่างกันไป แต่ Class D,E จะไม่มีการแบ่ง NetId และ HostId
Class D จะใช้สำหรับ Multicast เป็นการส่งจากผู้ส่งไปยังผู้รับเป็นกลุ่ม สามารถกำนหดให้Hostและผู้รับมีแอดเดรสแบบ Multicast Address ได้แต่ไม่สามารถกำหนด Host ของผู้ส่งได้
Class A จะใช้ 1 Byte กำหนดค่า NetId และ 3 Byte กำหนดค่า HostId
Class B จะใช้ 2 Byte กำหนดค่า NetId และ 2 Byte กำหนดค่า HostId
Class C จะใช้ 3 Byte กำหนดค่า NetId และ 1 Byte กำหนดค่า HostId
เราสามารถทราบได้ว่าแอดเดรสนี้อยู่ในคลาสไหน โดยดูจาก Byte แรกของแอดเดสClass นั้น
Byte ของแต่ละClassมีดังนี้
Class A มีค่าระหว่าง 0-127 รูปแบบจะเป็น 0.0.0.0 ถึง 127.0.0.0
Class B มีค่าระหว่าง 128-191 รูปแบบจะเป็น 128.0.0.0 ถึง 191.255.255.255
Class C มีค่าระหว่าง 192-223 รูปแบบจะเป็น 192.0.0.0 ถึง 223.255.255.255
Class D มีค่าระหว่าง 224-239 รูปแบบจะเป็น 224.0.0.0 ถึง 239.255.255.255 ใช้สำหรับงาน Multicast
Class E มีค่าระหว่าง 240-255 รูปแบบจะเป็น 240.0.0.0 ถึง 255.255.255.255 ยังไม่มีการใช้

วันพฤหัสบดีที่ 3 กันยายน พ.ศ. 2552

Week 10 : Network and Transport Layers

Three-way handshake
  • Client จะส่ง segment แรกออกไป เรียกกว่า TCP SYN segment ประกอบไปด้วย หมายเลขพอร์ตของทั้งต้นทางและปลายทาง, Initialization sequence number : ISN) ซึ่งจะเป็นหมายเลขไบต์แรกที่Clientจะส่งให้กับServer
  • Server ส่ง segment ที่สอง คือ SYN และ ACK segment ซึ่ง segment มีจุดมุ่งหมาย 2 ประการคือ
    - เป็นการตอบรับ segment แรกที่ได้รับ โดยการใช้แฟล็ก ACK พร้อมทั้ง Acknowledment numberได้มาจากการนำ ISN ของ Client บวก 1
    - ใช้เป็น segment เริ่มต้นของ Server จะประกอบไปด้วย ISN (Initialization sequence number)
  • Client ส่ง segment ที่สาม คือ SYNACK เพื่อเป็นการตอบรับ segment ที่สอง โดยการใช้แฟล็ก ACK พร้อมทั้งหมายเลขตอบรับ ซึ่งได้มาจากการนำ ISN บวก 1

TCP (Transmission Control Protocol)

  • TCP (Transmission Control Protocol)เป็น Protocol ใน Transport layer ที่ให้บริการแบบ connection - oriented และรับประกันความถูกต้องของข้อมูล
    - Port number (หมายเลขพอร์ต) TCP ใช้ Port number เป็นเหมือน Address ที่ใช้ใน Transport layer
    - TCP Service (บริการของ TCP) เป็น Protocol ที่ใช้กับ process ที่อยู่ใน Application layer
    1) Stream Delibery Service (บริการการส่งข้อมูลเป็นสตรีม) TCP มีการรับส่งข้อมูลเป็นstream มีการรับส่งข้อมูลเป็นไบต์ที่ต่อเนื่องกันไป ก่อนที่จะส่งได้นั้น process ทั้งสองจะต้องการติดต่อกันเหมือนมีท่อใช้ลำเลียงข้อมูล
    2) Sending and receiving buffers บัฟเฟอร์นี้จะมีอยู่ 2 buffersคือ สำหรับรับข้อมูล และส่งข้อมูล ฝั่งส่งจะนำข้อมูลใส่ไว้ในbuffersก่อนแล้วจึงค่อยเริ่มทยอยส่งออกไป เมื่อได้รับก็จะตอบกลับว่าได้รับข้อมูลแล้ว จึงทำการ clear buffers นั้นออกไป เมื่อbuffers เต็มจะต้องหยุดส่ง ส่วนฝั่งรับเมื่อได้รับข้อมูลแล้วจะทำการส่งต่อไปให้กับ process แล้วจะทำการตอบกลับไปว่าได้รับข้อมูลแล้ว จึงทำการ clear buffer ถึงจะมี buffer ช่วยแก้ปัญหาเรื่องความเร็วของการรับส่งที่ไม่เท่ากันได้ แต่เนื่องจาก IP ที่ให้บริการกับ TCP และ IP จะส่งข้อมูลเป็นแพ็กเก็ต ไม่ใช่เป็นลักษณะ stream ของไบต์ จึงทำการแบ่งข้อมูลออกเป็นแพ็กเก็ตเสียก่อน
  • TCP segments
    แบ่งเป็น segment แล้ว TCP จะทำการเพิ่ม Header เข้าไปในแต่ละ segment จากนั้นจึงจะส่งต่อไปให้กับ IP แล้ว IP จะทำการเอ็นแคปซูเลตเซ็กเมนต์เป็นIP datagram


UDP (User Datagram Protocol)

  • เป็น Protocol ใน Transport layer ที่ให้บริการแบบ Conectionless และไม่รับประกันความถูกต้องข้อมูล นอกจากจัดการการส่งข้อมูลจาก Process-to-Process Delivery เท่านั้น UDP เป็น Protocol ที่มี Overhead น้อย UDP ยังเหมาะกับโปรแกรมประเภทมัลติมีเดียและMulticasting และ Port Number ใช้ Port Number เหมือนกับ Address ที่ใช้ใน Transport layer

โครงสร้างของ User Datagram

  • Source port number : มีขนาด 16 บิต ถูกใช้โดย Process ที่ Host ต้นทาง
  • Destination port number : มีขนาด 16 บิต ถูกใช้โดย Process ที่ Host ปลายทาง
  • Length : มีขนาด 16 บิต ใช้บอกขนาดของ User Datagram รวมทั้งทั้ง Header and Data หน่วยเป็น byte
  • Checksum : มีขนาด 16 บิต ใช้เก็บค่าในการตรวจสอบความถูกต้องของ User Datagram สามารถเลือกใช้หรือไม่ใช้ก็ได้

วันอังคารที่ 25 สิงหาคม พ.ศ. 2552

Week 9:Data link layer cont.

High-level Data link Control (HDLC)
เป็นโพรโตคอลที่ถูกออกแบบมาให้สามารถสื่อสารได้ทั้งแบบฮาล์ฟดูเพล็กซ์และฟูลดูเพล็กซ์ บนพื้นฐานการเชื่อมโยงอุปกรณ์สื่อสารทั้งแบบจุดต่อจุด(point-to-point) และ แบบหลายจุด (multipoint)หรือ(multidrop) HDLC มีวิธีการสื่อสาร 2 แบบ คือ NRM และ ABM

NRM-(Normal response mode)
เป็นวิธีการสื่อสารที่ต้องมีสถานีหลัก (primary station) 1 สถานี ส่วนสถานีรอง (secondary station) สามารถมีได้หลายสถานี

ABM-(Asynchronous balanced mode)
จะใช้กับการเชื่อมโยงอุปกรณ์สื่อสารแบบจุดต่อจุด โยงทุกสถานีจะทำหน้าที่เป็นสถานีหลักและสถานีรองในเวลาเดียวกัน

ในการออกแบบเฟรมข้อมูลของHDLC จะต้องให้ยืดหยุ่นกับวิธีการสื่อสารทั้งแบบ NRM และ ABM ดังนั้นจึงได้มีการกาหนดเฟรมข้อมูลไว้ 3 ชนิด ดังนี้

I-frame (information frame) เป็นเฟรมที่ใช้สำหรับบรรจุข้อมูลของผู้ใช้และควบคุมความผิดพลาดของข้อมูลจากการสูญหายเสียหายหรือส่งซ้า
I-frame ออกแบบมาเพื่อรับข้อมูลจากเน็ตเวิร์กเลเยอร์ สามารถเพิ่มบิตสำหรับควบคุมการไหลของข้อมูลและการตรวจสอบความผิดพลาดของการส่งข้อมูลได้ด้วย (piggybacking)

S-frame (supervisory frame) เป็นเฟรมที่จะใช้สำหรับควบคุมความผิดพลาดของข้อมูลจากการสูญหายเสียหายหรือส่งซ้า
S-Frame ใช้สาหรับควบคุมอัตราการไหลของข้อมูลและการตรวจสอบความผิดพลาดของการส่งข้อมูล จะมีการใช้ก็ต่อเมื่อไม่มีการทา piggybacking ดังนั้น S-frame จะเป็นเพียง acknowledgment เท่านั้นจะไม่มีการส่งข้อมูลใดๆ ไปพร้อมกับเฟรมนี้

U-frame (unnumbered frame) เป็นเฟรมที่ใช้สำหรับการจัดการระบบเช่นการสร้างการติดต่อหรือการยกเลิกการติดต่อเป็นต้น
U-frame เป็นเฟรมใช้สำหรับบริหารจัดการโดยจะมีฟิลด์ที่ใช้เก็บข้อมูลที่เกี่ยวข้องกับการบริหารระบบเท่านั้น ไม่ได้เก็บข้อมูลผู้ใช้ U-frame จะเก็บรหัส ของการควบคุมไว้ 2 ส่วนคือ 2 บิตหน้าบิต P/F และอีก 3 บิตหลังบิต P/F ดังนั้นจึงมีรหัสที่ใช้สาหรับควบคุมระบบได้ถึง 5 บิต (32 รหัส)


PPP (Point-to-Point Protocols)
เป็นโพรโตคอลสาหรับการเชื่อมโยงแบบจุดต่อจุด โดยเฉพาะที่ใช้งานตามบ้านเรือนที่ใช้เชื่อมคอมพิวเตอร์ไปยังผู้ให้บริการอินเตอร์เน็ต (ISP) ส่วนใหญ่จะเลือกใช้โพรโตคอลนี้เป็นหลัก ไม่ว่าจะใช้โมเด็มธรรดา
ดีเอสแอล โมเด็ม (DSL modem) หรือ เคเบิลโมเด็ม ซึ่งสื่อที่ใช้นั้นแตกต่างกันออกไป เช่นสายโทรศัพท์ หรือสายเคเบิลทีวี อย่างไรก็ตามในการควบคุมและการจัดส่งข้อมูลและใช้โพรโตคอล PPP
ลักษณะของ PPP
-มีการกาหนดโครงสร้างของเหรมข้อมูลที่ใช้ในการติดต่อสื่อสารกันระหว่างอุปกรณ์
-มีการกาหนดวิธีการสร้างการติดต่อและการแลกเปลี่ยนข้อมูลระหว่างกัน
-มีการกาหนดว่าข้อมูลที่ถูกส่งมาจากเน็ตเวิร์กเลเยอร์จะนาไปใส่ในเฟรมของเดทาลิงค์เลเยอร์ได้อย่างไร
-มีการกาหนดถึงวิธีการยืนยันบุคคล(authentication)

Link Control Protocol (LCP)
LCP จะประกอบไปด้วย
-Code เป็นการบอกถึงชนิดของแพ็กเก็ตLCP
-ID เป็นหมายเลขที่ใช้สำหรับการร้องขอและการตอบรับกลับ
-Lengthขนาดของแพ็กเก็ตLCP
-Information เป็นฟิลด์ที่บรรจุข้อมูลพิเศษเข้าไปกับบางเพ็กเก็ต


Authentication Protocol
การยืนยันตัวบุคคล เป็นเรื่องที่สำคัญสาหรับโพรโตคอล PPP เนื่องจากถูกออกแบบมาสาหรับการเชื่อมต่อกันโดยใช้สายโทรศัพท์เป็นหลัก ดังนั้นถ้าไม่มีการตรวจสอบการเข้าใช้งานจะเป็นเรื่องที่อันตรายมาก การยืนยันตัวบุคคลมีโพรโตคอลที่สาคัญอยู่ 2 ตัว คือ Password Authentication Protocol (PAP)และ ChellengeHandshake Authentication Protocol (CHAP)

Password Authentication Protocol (PAP)
แพ็กเก็ต PAP แบ่งออกเป็น 3 ชนิดได้แก่
-Authenticate-request ใช้สาหรับส่งชื่อผู้ใช้ และรหัสผ่าน
-Authenticate-ackใช้สาหรับการยอมรับชื่อผู้ใช้และรหัสผ่านบอกว่าสามารถให้เข้าใช้ระบบได้
-Authenticate-nakใช้สาหรับการปฏิเสธการเข้าใช้ระบบ

Challenge Handshake Authentication Protocol (CHAP)
เป็นโพรโตคอลที่มีความปลอดภัยมากกว่า PAP เนื่องจากโพโตคอลนี้รหัสผ่านจะถูกเก็บเอาไว้และจะไม่ถูกส่งออกไปตามสายส่งโพรโตคอล
แพ็กเก็ต CHAP แบ่งออกเป็น 4 ชนิด ได้แก้
-Challenge ใช้สาหรับในการส่งตัวเลขสาหรับใช้ในการคานวณไปให้กับผู้ใช้
-Response แพ็กเก็ตที่ผู้ใช้ส่งผลการคานวณมาให้กับระบบ
-Success แพ็กเก็ตที่ระบบส่งไปบอกผู้ใช้สามารถเข้าใช้งานระบบได้
-Failure แพ็กเก็ตที่ระบบส่งไปบอกผู้ใช้ว่าไม่อนุญาตให้เข้าใช้งานได้


Internetwork Protocol Control Protocol (IPCP)
เป็นโพโตคอลที่ทางานร่วมกับเน็ตเวิร์กเลเยอร์ โดยการนาข้อมูลจากเน็ตเวิร์กเลเยอร์มาใส่ไว้ในเฟรมข้อมูล PPP ฟิลด์โพรโตคอลจะมีค่าเป็น 802116เมื่อต้องนามาส่งแพ็กเก็ต IPCP
แพ็กเก็ต IPCP แบ่งออกเป็น 7 ชนิด

Code IPCP Packed
01 Configure-request
02 Configure-ack
03 Configure-nak
04 Configure-reject
05 Terminate-request
06 Terminate-ack
07 Code-reject

วันเสาร์ที่ 22 สิงหาคม พ.ศ. 2552

week 8 :Data link layer - 2

Data link control

Automatic Repeat Request (ARQ)
Main ARQ protocols

ARQ แบ่งออกเป็น 3 วิธี คือ stop-and-wait ,Go-Back-N และ Selective-Repeat

1.Stop and Wait คือกลไกที่ใช้ในการควบคุมอัตราการไหลและควบคุมการผิดพลาดของข้อมูลที่ง่ายและไม่ซับซ้อนมากนัก มีหลักการดังนี้
1) ผู้งข้อมูลจะต้องทำการcopyเฟรมข้อมูลที่จัดส่งไปเอาไว้ก่อน จนกว่าผู้รับจะยืนยันว่าได้รับเฟรมข้อมูลนั้นแล้ว
2) ในการยืนยันตอบรับเฟรมข้อมูลของผู้รับนั้น จะรับจะต้องส่งเฟรม acknowledgment(ACK) มาให้กับผุ้ส่งซึ่งการส่งเฟรม ACK เป็นการบ่งบอกว่าได้รับเฟรมอะไร และเฟรมที่จะต้องการถัดไปนั้นคือเฟรมอะไร
3) ถ้าผู้รับได้รับเฟรมข้อมุลที่ผิดพลาด ผู้รับจะทิ้งเฟรมนั้นไป เชื่ออยากได้ เฟรม 1 แต่ได้ เฟรม 0 มา จะทำการทิ้งเฟรมนั้นไป

กลไกลการทำงาน
ในการส่งเฟรมข้อมูลออกไปนั้น เราสามารถแบ่งสถานการณ์ที่เกิดขึ้นออกเป็น 4 แบบ คือ กรณีปกติ กรณีเฟรมACKสูญหาย กรณีเฟรมข้อมูลสูญหาย(Lost) และกรณี ACK ล่าช้า

2.Go-Back-N เป็นการส่งข้อมูลออกไปที่ละหลายๆเฟรม ก่อนที่จะได้รับเฟรมACKตอบกลับมา เพื่อนการใช้สายสื่อสารให้ได้อย่างเต็มที่



กลไกการทำงานของ Go Back N จะทำการส่งข้อมูลจำนวน W เฟรมก่อนที่จะได้รับเฟรม ACK ดังนั้นผู้ส่งจะต้องทำการcopyเฟรมข้อมูลทั้ง W เฟรมเอาไว้ด้วย เมื่อเป็นเช่นนี้ในเฮดเดอร์ของเฟรมข้อมูลทุกเฟรมจะต้องมีหมายเลขลำดับ (Sequence number) ด้วยเพื่อที่จะได้รับทราบว่าเป็นเฟรมที่เท่าใด โดยที่หมายเลขลำดับนี้จะเริ่มต้นจาก 0 เป็นต้นไป และจะเริ่มจากซ้ายไปขวา

ตัวอย่าง 0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7,0,1,......

Sender Slidind Windows

คล้ายๆกับการมีหน้าต่างมาครอบเฟรมข้อมูล แล้วใช้การเลื่อนหน้าต่างไปมา เฟรมข้อมูลที่อยู่ด้านซ้ายของหน้าต่างจะหมายถึงเฟรมที่ได้รับ ACK แล้ว สามารถที่จะลบทิ้งเฟรมนั้นออกจากบัฟเฟอร์ได้ ส่วน้ฟรมด้านขวาของหข้าต่างเป็นเฟรมที่ยังไม่ได้มีการส่งออกไป จะต้องรอจนกระทั้งหน้าต่างเลื่อนมาถึงจึงจะสามารถส่งเฟรมข้อมูลได้


Receiver Sliding Window


กลไก stop and wait ขนาดหน้าต่างของผู้ส่งที่ครอบเฟรมข้อมูลนั้นจะมีขนาดเท่าใดก็ได้ แต่ขนาดหน้าต่างของผู้รับจะมีค่าเท่ากับ 1 เสมอนั่นหมายความว่า หน้าต่างของผู้รับจะสามารถครอบเฟรมข้อมูลได้เพียงเฟรมเดียง เฟรมข้อมูลที่ถูกหน้าต่างครอบไว้นั้นคือ เฟรมที่ผู้รับต้องการและยังไม่ได้รับเฟรมนั้นจากผู้ส่ง





3.Selective Repeat


เนื่องจากสัญญาณรบกวนจะทำให้เฟรมข้อมูลหายหรือเสียหายได้ ดังนั้นโอกาสที่ผู้ส่งจะต้องส่งข้อมูลซ้ำของเดิมยิ่งมากขึ้นด้วย ซึ่งจะส่งผลทำให้การส่งข้อมูลช้าลง จากปัญหานี้จึงได้มีการคิดค้นโพรโตคอลที่สามารถทนต่อสื่อที่มีสัญญาณรบกวนมาก โดยจะสารถส่งเฉพาะเฟรมข้อมูลที่สูญหายหรือเสียหายเท่านั้นไม่จำเป็นต้องส่งเหรมอื่นๆด้วย

กระบวนการทำงาน

เนื่องจากมีเฟรม ACK จากผู้รับแล้ว ยังมีเฟรม NAK (nagative acknowledgment ) ด้วยโดยเฟรมนี้จะเป็นการบอกถึงเฟรมข้อมูลที่เสียหาย ซึ่งผู้ส่งจะต้องส่งเฟรมขู้อมูลกลับมาใหม่อีกครั้ง

HDLC (High-level Data Link Control) เป็นโพรโตคอลที่ออกแบบมาให้สามารถสื่อสารได้ทั้งแบบฮาล์ฟดูเพล็ก และ ฟลูดูเพล็ก บนพื้นฐานของการเชื่อมโยงอุปกรณ์สื่อสาร ทั้งแบบ point-to-point และ แบบ multipoint หรือ multidrop

วันพุธที่ 12 สิงหาคม พ.ศ. 2552

Week 7:Data Link Layer

Data link layer - ย้ายข้อมูลจากเครื่องหนึ่งไปยังอีกเครื่อง

Major functions of data link layer photocol

-Medai Access control
เป็นเลเยอร์ย่อยที่อยู่ล่างสุดของดาต้าลิงค์เลเยอร์ ซึ่งจะทำหน้าที่เชื่อมต่อกับฟิสิคอลเลเยอร์ และรับผิดชอบในการรับส่งข้อมูลให้สำเร็จและถูกต้อง
-Error control
คือกลไลในการป้องกันและหาข้อผิดพลาดในการสื่อสาร
-Message Delineation
ระบุจุดเริ่มต้นและสิ้นสุดของข้อความ

Media Access Control (MAC)
ตรวจสอบให้แน่ใจว่า 2 ปาร์ตี้ไม่ส่งในเวลาเดียวกัน

-Point to point half duplex links
ไม่สามารถส่งและรับได้ในเวลาเดียวกัน

-Multipoint configuration
ลิงค์คอมได้มากกว่า 1 เครื่อง

Main approaches
- controlled access
1 device that control point, to allow another device send data (Ex. token)
- contention based access
ตรวจสอบกลางที่สามารถใช้งานได้หรือไม่ก่อนที่จะส่งข้อมูล
Polling
-Roll call polling
ใช้ใน mainframe คอมพิวเตอร์สามารถส่งข้อมูลเมื่อมีการถามโดยเซิร์ฟเวอร์และส่งข้อมูลไปยังเซิร์ฟเวอร์
-Hub polling
เชื่อมต่อกันเป็นวงแหวน

Error Control
-Corrupted
ข้อมูลถึงแต่ปลายทางไม่ถูกต้อง
-Lost data
ข้อมูลไม่ถึงปลายทางแต่บางทีก็มีการสูญเสียข้อมูล

Major function
-Preventing errors
งานที่มนุษย์ตรวจสอบด้วยตัวเอง
-Detecting and Correcting errors
ลิงค์ข้อมูลเลเยอร์ใช้หลังจากที่มนุษย์ไม่สามารถหาข้อผิดพลาดได้

Error Detection
-Parity Checking
เป็นวิธีการตวจสอบความผิดพลาดของข้อมูลที่ไม่ยุ่งยาก
นับจํานวน 1 เพื่อตรวจสอบว่าคี่หรือเลขคู่
Even parity: มีเลข 1 เป็นจำนวน คู่
Odd parity : มีเลข 1 เป็นจำนวน คี่
-Longitudinal Redundancy Checking (LRC)
เป็นการนำบล็อกของบิตข้อมูลมาจัดในตาราง(จัดเป็นแถวและหลัก) โดยการนำบล็อกของข้อมูล 32 บิตมาจัดในตารางให้เป็น 4 แถวและ 8 หลัก แล้วทำการตรวจสอบพาริตี้บิตของหลักทุกหลักแล้วจะได้แถวของข้อมูล 8 บิตขึ้นมาใหม่ 1 แถว การทำพาริตี้บิต บิตที่ 1 ในแถวที่ 5 ได้จากการทำพาริตี้คู่ของบิตแรกในทุกๆ แถว, พาริตี้บิต บิตที่ 2 ในแถวที่ 5 ได้จากการทำพาริตี้คู่ของบิตที่ 2 ในทุกๆ แถว และเป็นเช่นนี้จนถึงบิตที่ 8 จากนั้นทำการส่งพาริตี้บิต 8 บิตนี้ต่อจากข้อมูลเดิมส่งไปยังผู้รับ

Polynomial Checking
ปกติแล้วในการแทนบิตข้อมูลของตัวหารจะไม่ใช้รูปของเลขฐานสอง เนื่องจากค่อนข้างยาวและจำไดยากแต่จะเขียนให้อยู่ในรูปแบบของโพลิโนเมียลในการเลือกตัวหารเพื่อที่จะนำมาใช้ในกับวิธีแบบ CRC นั้น ควรจะต้องต้องมีคุณสมบัติอย่างน้อยที่สุดเป็นดังนี้
- ไม่ควรที่จะถูกหารด้วย x ลงตัว
- ควรที่จะถูกหารด้วย x+1 ลงตัว

Checksum วิธีการตรวจสอบแบบ checksum
1.ข้อมูลจะถูกแบบออกเป็นเซ็กเมนต์ย่อย เซ็กเมนต์ละ n บิต
2.นำข้อมูลของทุกเซ็กเมนต์มาบวกันด้วยวิทีการแบบ 1's Complement
3.นำผลรวมของทุกเซ็กเมนต์มาทำคอมพลีเมนต์
4.ส่งบิตตรวจสอบไปพร้อมกับข้อมูล

การตรวจสอบความผิดพลาดของข้อมูลเมื่อข้อมูลมาถึงผู้รับ จะมีขั้นตอนการตรวจสอบดังนี้
1.รวบรวมข้อมูลแต่ละเซ็กเมนต์ๆ ละ n บิต
2.นำข้อมูลของทุกเซ็กเมนต์มาบวกกันด้วยวิธีการแบบ 1's Complement
3.นำผลรวมของทุกเซ็กเมนต์มาทำคอมพลีเมนต์
4.ถ้าผลลัพธ์ที่ไดเท่ากับ 0 แสงว่าข้อมูลชุดนั้นถูกต้อง

Error CorrectionRetransmission
ถ้ารับข้อมูลมาเกิดความผิดพลาด ก็จะส่งข้อมูลไปบอกทางผู้รับให้ส่งกลับมาใหม่

Forward Error Correction (FEC) จะทำให้ผู้รับข้อมูลที่เกิดความผิดพลาดนั้นสามารถที่จะแก้ไขความผิดพลาดของข้อมูลได้โดยอัตโนมัติ

cyclic redundancy check
ถ้าต้องการกี่บิท นับจำนวน 0 เช่น 4 บิท 0000

วันจันทร์ที่ 27 กรกฎาคม พ.ศ. 2552

Week 6 : week 6 : Physical Layer cont.

Digital subscriber line

ADSL (Asymmetrical DSL)

  • ADSL จะคล้ายกับโมเด็ม 56K คือ อัตราเร็วที่ใช้ในการส่งข้อมูลออกไปยังอินเทอร์เน็ตจะมีอัตราเร็วที่ใช้ในการส่งข้อมูลออกไปยังอินเทอร์เน็ต (upstream) จะมีค่าน้อยกว่าอัตราเร็วของการส่งข้อมูลจากอินเทอร์เน็ต (downstream) มายังผู้ใช้ ซึ่งไม่เหมาะสมกับลูกค้าระดับองค์กรที่ต้องการทั้งการส่งและการรับข้อมูลด้วยความเร็วสูง
  • สาเหตุที่ADSL มีอัตราเร็วที่สูงกว่าการใช้โมเด็ม เพราะระบบโทรศัพท์นั้นได้มีการใช้ตัวกรองสัญญาณ (filter) เพื่อที่จะจำกัดแบนด์วิดธ์ของผู้ใช้แต่ละรายให้อยู่ที่ 4 KHz ทั้งๆที่สายโทรศัพท์มีแบนด์วิดธ์ที่กว้างถึง 1.1 MHz ดังนั้นถ้าตัดตัวกรองสัญญาณออกไปแล้ว จะทำให้การส่งข้อมูลสามารถใช้แบนด์วิดธ์ของสายได้อย่างเต็มที่ ในการใช้งานจริงยังมีอีกหลายปัจจัยที่จะทำให้แบนด์วิดธ์มีค่าน้อยกว่า 1.1 MHz เช่น ระยะทางจากบ้านไปยังชุมสายโทรศัพท์ ขนาดของสาย สัญญาณที่ส่ง เป็นต้น ดั้งนั้น ADSL จึงไม่ได้กำหนดตายตัวว่าผู้ใช้จะมีอัตราเร็วในการรับส่งข้อมูลเท่าใด เนื่องจากจะต้องมีการทดสอบผลกระทบต่าง ๆ เสียก่อน แล้วจึงจะทำการกำหนดอัตราเร็วในการรับส่งข้อมูลให้กับผู้ใช้ตอนติดตั้งระบบ

DMT (Discrete multitone technique)

  • เทคโนโลยี ADSL จะใช้เทคนิคการมอดูเลชันแบบ DTM ซึ่ง DTM เกิดจากการรวมกันของเทคนิค QAM (quadrature amplitude modulation) และ FDM (Frequency-division multiplexing) โดยเมื่อสายมีแบนด์วิดธ์ 1.104 MHz จะทำการแบ่งออกเป็นช่องสัญญาณสื่อสารได้ 256 ช่อง แต่ละช่องจะมีแบนด์วิดธ์ 4.312 KHz

ADSL modem

  • ADSL ตามบ้านเรือนของผู้ใช้ จะเชื่อมโยงกับชุมสายโทรศัพท์ที่ใกล้ที่สุด ซึ่งเราเรียกกันโดยทั่วไปว่า โลคอลลูป(Local loop) โลคอนลูปจะเชื่อมต่อกับตัวกรองสัญญาณซึ่งจะทำหน้าที่แยกสัญญาณเสียงและสัญญาณข้อมูล ส่วนโมเด็ม ADSL จะใช้หลักในการมอดูเลชันแบบ DMT เพื่อสร้างช่องสื่อสารสัญญาณสำหรับการส่งข้อมูลออกไปและรับข้อมูลเข้ามา

DSLAM (Digital subcriber line access multiplexer)

  • นอกจากโมเด็ม ADSL ที่ต้องติดตั้งตามบ้านของผู้ใช้แล้ว ที่ชุมสายโทรศัพท์จะต้องติดตั้งอุปกรณ์ที่มีลักษณะการทำงานที่คล้ายกับโมเด็ม ADSL ซึ่งเรียกกันว่า DSLAM อุปกรณ์นี้จะทำหน้าที่ส่งข้อมูลที่ได้รับมาออกไปยังอินเทอร์เน็ตต่อไป

Multiplexing

  • Multiplexing เป็นเทคนิคที่ใช้ในการรวมสัญญาณหลาย ๆ สัญญาณเข้าด้วยกันและส่งออกไปพร้อมกันภายในเส้นทางที่ใช้ในการสื่อสารเพียงเส้นทางเดียว

FDM (Frequency-division multiplexing)

  • FDM การผสมสัญญาณโดยแบ่งความถี่ เป็นการรวมสัญญาณอะนาล็อกจากหลายๆที่เข้าด้วยกัน แล้วส่งไปทางเดียวกัน โดยที่แบนด์วิดธ์ของเส้นทางที่ใช้ในการสื่อสารนั้นจะต้องกว่างพอ ซึ่งต้องมากกว่าแบนด์วิดธ์ของทุกสัญญาณที่นำมารวมกัน สัญญาณอะนาล็อกที่ถูกส่งมาจากแต่ละอุปกรณ์นั้น จะต้องผ่าย Modulator โดยที่ Modulatr แต่ละตัวนั้น จะมีคลื่นพาห์ (Carrier) ที่มีความถี่ที่แตกต่างกัน จะทำหน้าที่ในการกล้ำสัญญาณ (Modulate) จากอุปกรณ์เข้ากับคลื่นพาห์
    Minimum bandwidth of the link = Channel x Bandwidth(KHz) + Guard band x KHz for Guard band

WDM (Wave-division multiplexing)

  • WDM การผสมสัญญาณโดยแบ่งความยาวคลื่น ได้ถูกออกแบบให้ใช้กับสายไฟเบอร์ออปติกจะมีแบนด์วิดธ์ที่กว้างมากและมีอัตราการส่งข้อมูลที่สูง WDMจะมีหลักการเหมือนกับFDM แตกต่างกันที่ WDM นั้นจะใช้แสงเป็นตัวนำส่งสัญญาณ ดังนั้นในวิธีการผสมสัญญาณ (Multiplexing) และการแยกสัญญาณ(Demultiplexing)จึงแตกต่างกัน

TDM (Time-division multiplexing)

  • TDM เป็นเทคนิคที่ใช้กับสัญญาณดิจิตอล โดยจะทำการแบ่งเวลาในการส่งข้อมูลให้กับอุปกรณ์ ตามลำดับ เมื่อครบทุกเครื่องแล้วก็จะวนกลับไปที่เครื่องเริ่มต้น และเรียงตามลำดับจนถึงเครื่องสุดท้ายเพื่อทำการส่งข้อมูลอีกครั้ง ข้อมูลที่ถูกส่งมากจากทุกเครือ่งจะถูกนำมารวมกันเป็นเฟรม (Frame) และช่วงเวลาที่แบ่งให้กับแต่ละเครื่องเรียกว่า ช่องเวลา (Time slot)

STDM (Statistical time-division multiplexing)

  • STDM ใน synchronous จะมี slot เท่ากันทุกตัวและจะสร้าง slot ตามความต้องการของข้อมูล จะมีMultiplexing คอยตรวจสอบข้อมูลใน line และส่งข้อมูลจน frame เต็ม จะมีอัตรการข้อมูลที่ส่งต่ำกว่าอุปกรณ์ที่จะส่ง

IMUX (Inverse Multiplexing)

  • IMUX เป็นวิธีการส่งสัญญาณจากสื่อที่มีความเร็วสูง แยกลงสื่อที่มีความเร็วต่ำกว่าหลายๆเส้น

วันเสาร์ที่ 18 กรกฎาคม พ.ศ. 2552

Week 5 : Physical Layer(2) & Error Detection and Correction

Physical Layer (2)

Noiselless Channel : Nyquist Bit Rate

เป็นการคำนวณอัตราการส่งบิตโดยที่ช่องสื่อสารไม่มีสัญญาณรบกวน ซึ่งเรียกได้ว่าเป็นอัตราเร็วสูงสุดของการส่งข้อมูล ใช้สมการดังนี้
- Bitrate = 2*bandwidth *log2L
bandwidth หมายถึง bandwidthของช่องสื่อสาร
L หมายถึง จำนวนระดับของสัญญาณที่ใช้แทนข้อมูล

Noisy Channel : Shannon Capacity

ในความเป็นจริงแล้วมันเป็นไปไม่ได้ที่ช่องสื่อสารจะไม่มีสัญญาณรบกวนเลย จึงพัฒนาสมการใหม่สามารถคำนวณหาอัตราการส่งบิตข้อมูลภายในช่องสื่อสารที่มีสัญญาณรบกวน
- Capacity = bandwidth * log2(1+SNR)
Capacity เป็นความสามารถของการส่งข้อมูลภายในช่องสื่อสารที่มีสัญญาณรบกวน
bandwidth หมายถึง bandwidth ของช่องสื่อสาร
SNR (Signal-to-noise ratio) เป็นอัตราส่วนระหว่างพลังงานของสัญญาณที่ใช้ในการส่งข้อมูลพลังงานของสัญญาณรบกวน

Error Detection and CorrectionNetwork
- Network errors
- Human errors

Categories of Network Errors
- Corrupted (data changed)
- Lost data

Type of Error
- Single-Bit Error
- Burst error

Major functions
- Preventing errors
- Detecting errors
- Correcting errors

Differential Manchester

คือ จะมีการเปลี่ยนสัญญาณช่วงตรงกลางบิตข้อมูล แต่จะแตกต่างจากวิธี manchester ตรงที่วิธีการแบบนี้จะไม่สนใจว่าแรงดันไฟฟ้าจะเป็นบวกหรือลบ การเปลี่ยนสัญญาณจะเกิดขึ้นก็ต่อเมื่อบิตมีค่าเป็น "0" เท่านั้น ถ้าบิตข้อมูลมีค่าเป็น "1" ไม่ต้องมีการเปลี่ยนแปลงสัญญาณ

Pulse Amplitude Modulation (PAM)

วิธีการหนึ่งที่ใช้สำหรับแปลงสัญญาณอะนาล็อกเป็นสัญญาณดิจิตอล คือ pulse amplitude modulation (PAM) ซึ่งเทคนิคแบบนี้จะทำการสุ่มสัญญาณอะนาล็อกตามช่วงเวลาต่าง ๆ โดยจะแบ่งแต่ละช่วงเวลาของการสุ่มให้เท่าๆ กัน ผลที่ได้จากการสุ่มจะเป็นลักษณะลำดับของ pulse และ ขนาดของ pulse จะเป็นสัดส่วนโดยตรงกับสัญญาณอะนาล็อก ดังนั้น pulse ที่ได้จะแทนถึงสัญญาณอะนาล็อกเป็นสัญญาณดิจิตอลและเป็นพื้นฐานของวิธีแบบ Pulse code modulatio (PCM)

Pulse Code Modulation (PCM)

PAM นั้นยังไม่ได้สร้างเป็นสัญญาณดิจิตอลที่แท้จริง ดังนั้นจึงมีการดัดแปลงPAM ใหม่ โดยเรียกว่า Pulse code modulation (PCM) เพื่อนที่จะให้เป็นการแปลงสัญญาณอะนาล็อกเป็นสัญญาณดิจิตอลได้โดยสมบูรณ์
การแปลงสัญญาณแบบ PCM สัญญาณอะนาล็อกจะถูก Quantization หรือ กำหนดค่าตัวเลขให้กับ pulse ตัวเลขที่กำหนดให้กับ pulse นั้นจะได้มาจากขนาดของสัญญาณอะนาล็อกที่ถูกสุ่มสัญญาณ
ขนาดของ pulse ที่ได้จาการสุ่มสัญญาณ จะถูกเปลี่ยนให้อยู่ในรูปของเลขฐานสอง
เมื่อได้กลุ่มตัวเลขที่เป็นบิตของข้อมูลแล้วก็จะสามารถที่จะแปลงให้เป็นสัญญาณดิจิตอลได้ โดยการใช้เทคนิคของ line coding จะแสดงตัวอย่างของผลที่ได้จาก PCM โดยใช้วิธีการแบบ unipolar ในการแปลงบิตข้อมูลให้เป็นสัญญาณดิจิตอล

วิธีการของ PCM นั้นสรุปกระบวนการทำงานได้ดังนี้
1. PAM
2. Quantization
3. Binary encoding
4. Line coding

Sampling Rate
Highest frequency = x Hz
Sampling rate = 2x samples/s

Transmission Modes

- Parallel mode
เป็นการส่งข้อมูลออกไปพร้อมๆกันได้คราวละหลายบิต ทำให้ส่งขอ้มูลได้เร็ว แต่ค่าใช้จ่ายสูง เพราะจะต้องใช้จำนวนของสายมาก นอกจากนั้นแล้วการส่งข้อมูลภายในสายอาจจะไปถึงปลายทางไม่พร้อมกัน ทำให้เกิดความผิดพลาดของการรับส่งข้อมูลได้

- Serial mode
เป็นการส่งข้อมูลที่ใช้สายส่งเพียงเส้นเดียว บิต่ถูกส่งออกจะเรียงตามลำดับกันไป การติดต่อกับอุปกรณ์ภายนอกเครื่องคอมพิวเตอร์ต้องใช้การส่งข้อมูลแบบอนุกรมแล้ว จะต้องทำการแปลงข้อมูลจากแบบขนานไปเป็นแบบอนุกรม (Parallel-to-serial) เสียก่อน ส่วนเครื่องคอมพิวเตอร์ฝั่งรับก็จะต้องแปลงข้อมูลแบบอนุกรมจากสายส่งไปแบบขนานด้วย (Serial-to-parallel)

Types of Serial Transmission

- Asynchronous
ส่งข้อมูลครั้งละไบต์ (1 Byte = 8 bit) ในแต่ลไบต์ที่ถูกส่งออกไปจึงต้องมีบิตเริ่มต้น (Start bit) ซึ่งจะกำหนดค่าเป็น "0" และบิตสิ้นสุด (Stop bit) ซึ่งจะกำหนดค่าใหเป็น "1"

- Synchronous
ใช้การนับจำนวนบิตของข้อมูลที่เข้ามาให้ได้อย่างถูกต้องและแม่นยำ การส่งแบบ Synchronous จะมีความเร็วของการรับส่งข้อมูลได้เร็วกว่าแบบ Asynchronous เนื่องจากไม่ต้องมีบิตพิเศษเพิ่มเติมเข้ามา และไม่มีช่องว่างเกิดขึ้นระหว่างไบต์ของข้อมูลอีกด้วย

- Isochronous

Digital to analog conversion

- Bit rate คือ จำนวนของบิตข้อมูลที่สามารถส่งได้ใน 1 วินาที มีหน่วยเป็น bps

- Baud rate คือ อัตราการเปลี่ยนแปลงสัญญาณใน 1 วินาที มีหน่วยเป็น baud/s

Amplitude Shift Keying (ASK)

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

Phase Shift Keying (PSK)

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