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

Week 10: Data Communications

Network and Transport Layer (1)
"CHAPTER 23"


  • Transport layer > มีหน้าที่ส่งข้อมูลจาก process-to-process และถ้าข้อมูลมีขนาดใหญ่เกินไป Transport layer จะแบ่ง Segmentation ให้เล็กลง แล้วจึงส่ง
  • Internet transport-layer protocols > ก่อนที่จะส่งข้อมูล มีการ establish connection (เหมือนกับโทรศัพท์) แบ่งเป็น
    - TCP > มีการควบคุมความเร็วและลำดับในการส่งข้อมูล
    - UDP > เป็น Protocol ที่ใช้กับ Internet และมีความเร็วสูง
  • Network Layer > มีหน้าที่ส่งข้อมูลจากโปรแกรมสู่โปรแกรม โดยใช้ IP Protocol และมีการหาเส้นทางที่ดีที่สุดในการส่งข้อมูล
  • Linking to Application Layer > การที่ TCP link to Application layer protocol จำเป็นต้องใช้ Port numbers เป็นตัวเลขในการกำกับ เพื่อที่จะได้รู้ว่าต้องส่ง application layer ไปที่โปรแกรมไหน

TCP Connection Management:

  • Three way handshake >
  1. Client host จะส่ง TCP SYN segment ไปยัง Server แต่ยังไม่มีข้อมูล จะมีแต่ seq # เริ่มต้น
  2. Server host จะรับ SYN และส่ง SYNACK segment กลับไป
  3. Client จะรับ SYNACK และส่ง ACK segment กลับไปพร้อมกับข้อมูล
  • Closing a connection >
  1. Client host ส่ง FIN Control segment ไปยัง Server
  2. Server host รับค่า FIN และส่ง ACK กับ FIN กลับไปพร้อมกับทำการตัดการเชื่อมต่อ
  3. Client รับค่า FIN และส่ง ACK กลับไป
  4. Server รับค่า ACK และทำการตัดการเชื่อมต่อ
  • Fast retransmit > เป็นการส่งข้อมูลแบบที่ไม่ต้องมีการรอ time-out
  • Quality of Service > เป็นการรับรองว่าข้อมูลจะส่งไปถึงผู้รับและมีความถูกต้องแน่นอน และยังมีการบอกระยะเวลาในการส่งอีกด้วย
  • Protocols Supporting QoS > เป็น Protocol ที่สนับสนุนการทำงานของ QoS ได้แก่ Asynchronous Transfer Mode และ TCP/IP protocol suite
  • Socket programming > คือ ประตูที่อยู่ระหว่าง application process กับ end-end-transport protocol(UCP or TCP)
  • Socket programming with TCP > เมื่อ client ติดต่อกับ server, server process จะ run ก่อน client และ server จะสร้าง socket ขึ้น เพื่อติดต่อกับ client

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

Week 9: Data Communications

Data Link Protocols: Bit-oriented protocols (con’t)
  • HDLC > คล้ายกับ SDLC แต่มี address และ control fields ยากกว่า มี window size ใหญ่กว่า และเป็นพื้นฐานสำหรับ Data Link Protocols อื่นๆ
  1. NRM > แบ่งเป็น point-to-point คือ การส่งข้อมูลแบบ เครื่องที่ 2 จะส่งข้อมูลมาให้ ก็ต่อเมื่อ เครื่องที่ 1 ขอให้ส่งมา และแบบที่ 2 คือ Multipoint ทำงานเหมือนแบบ point-to-point แต่มีเครื่องที่ 2 หลายเครื่อง
  2. ABM > เป็นการส่งข้อมูลแบบสนับสนุนการทำงานแบบ point-to-point เท่านั้น ไม่มีการแบ่งเป็นเครื่องที่ 1 หรือ 2
    HDLC frame types:
    - I-frame > คือ frame ที่ผู้ส่งใช้ส่งข้อมูล การจะตรวจสอบว่าเป็น I-frame สามารถทำได้โดยการดู bit แรกในช่อง control ว่าเริ่มต้นด้วยเลข 0 หรือไม่
    - S-frame > คือ frame ที่ไม่มีข้อมูลบรรจุไว้ ใช้สำหรับร้องขอข้อมูลจากเครื่องอื่น การจะตรวจสอบว่าเป็น S-frame สามารถทำได้โดยการดู bit แรกในช่อง control ว่าเริ่มต้นด้วยเลข 1 0 หรือไม่
    - U-frame > คือ frame ที่ใช้สำหรับ establish และ terminate การจะตรวจสอบว่าเป็น U-frame สามารถทำได้โดยการดู bit แรกในช่อง control ว่าเริ่มต้นด้วยเลข 1 1 หรือไม่
  • Ethernet > เป็นที่นิยมใน LAN protocol ใช้ contention based media access control เป็นตัวควบคุมการเข้า-ออกของข้อมูล
  • PPP > ใช้ในการเชื่อมต่อระหว่างคอมพิวเตอร์ที่บ้านกับ ISP
    - LCP > เป็น protocol ตัวแรกที่ PPP ใช้ด้านการเชื่อมต่อแต่ยังไม่สามารถรับ-ส่งได้
    - PAP > เป็นตัวอย่างของการเชื่อมต่อแบบ Authentication protocol ซึ่งใช้ในการยืนยันผู้ใช้ แต่มีปัญหาที่ว่า password ถูกส่งไปที่ network เป็นเวลานาน ทำให้บางคนสามารถขโมย password และนำไปใช้ในทางไม่ดีได้
    - CHAP > เป็น protocol ที่พัฒนามาจาก PAP โดยมีหลักการทำงานคือ ISP จะส่งตัวเลขมาให้ผู้ใช้ เพื่อให้ผู้ใช้นำไปคำนวณกับรหัสของตัวเองและส่งกลับเพื่อเป็นการยืนยัน
    - IPCP > เป็น protocol ที่ใช้ในการสร้างหรือตัดการเชื่อมต่อใน Network Layer
    - IP > เป็น protocol ที่ใช้ในการแลกเปลี่ยนข้อมูลภายใน Network Layer
  • Transmission Efficiency > คือ ประสิทธิภาพในการรับ-ส่งข้อมูล ซึ่งขึ้นอยู่กับเป้าหมายหรือผลกระทบของเครือข่าย

Transmission Efficiency = Total number of info bits to be transmitted/ Total number of bits to be transmitted

Ex. Async Transmission:
7 bit ASCII (info bits),1 parity bit, 1 stop bit, 1 start bit
Transmission Efficiency = 7 / 10 => 70%
Ex. SDLC Transmission:
Assume 100 info characters (800 bits), 2 flags (16 bits), Address (8 bits), Control (8 bits), CRC (32 bits)
Transmission Efficiency = 800 / 864 => 92.6%
Maximum of Message length: 1,500 byte

Week 8: Data Communications

Data Link Layer (2)
“CHAPTER 11”
Data Link Control:


  • ARQ > กระบวนการที่ผู้รับเรียกร้องให้ส่งข้อมูลซ้ำ เมื่อไม่ได้รับข้อมูล
  1. Stop and Wait ARQ (half duplex) > การส่งข้อมูลแบบหนึ่งต่อหนึ่ง โดยผู้ส่งจะส่งข้อมูลไปและรอ acknowledge จากผู้รับ ส่วนผู้รับจะยืนยันข้อมูลและส่ง acknowledge กลับมา
    1.1 Piggybanking > ผู้ส่งและผู้รับสามารถส่งและยืนยันข้อมูลได้ด้วย
  2. Continuous ARQ (full duplex) > การส่งข้อมูลแบบมากกว่าหนึ่ง คือ ผู้ส่งจะส่งข้อมูลแบบต่อเนื่องโดยที่ไม่ต้องรอ acknowledge จากผู้รับ
    2.1 Go-Back-N ARQ > เทคนิคที่ผู้ส่งจะมีของเขตในการส่งที่เรียกว่า window size คือ เมื่อ ผู้ส่งจะส่งข้อมูลไปและมีการยืนยันข้อมูลกลับมา window size จะเลื่อน เพื่อทำให้สามารถส่งข้อมูลถัดไปได้ การส่งข้อมูลจะส่งได้เฉพาะตามขนาดของ window size ของผู้ส่ง และ window size ของผู้รับจะมีได้แค่ 1
    Maximum window size[sender] = (2 power n) – 1 ; n = number of bits

    2.2 Selective-Repeat ARQ > คล้ายกับ Go-Back-N ARQ แต่ window size ของผู้รับจะมีมากกว่า 1 และ window size ของผู้ส่งจะมีค่าได้มากที่สุดคือ 1/2(2 power n)
  • Data Link Protocols > แบ่งเป็น
  1. Asynchronous Transmission > การส่งข้อมูลคราวล่ะ 1 bit โดยมี start bit และ stop bit เป็นตัวกั้นระหว่างข้อมูล
  2. Synchronous Transmission > การส่งข้อมูลคราวล่ะมากๆ โดยรวมข้อมูลเป็น frame หรือ packet แล้วจึงส่ง
    2.1 Bit-oriented protocols > ผู้ส่งและผู้รับใช้ bit ในการส่งข้อมูล
    - SDLC > เป็น protocol ตัวแรก ที่ IBM เป็นผู้พัฒนา และใช้ controlled media access protocol เป็นตัวควบคุมข้อผิดพลาดและเส้นทางของข้อมูล โดยมี flag เป็นจุดเริ่มต้นและจุดสิ้นสุดของข้อมูล แต่ SDLC ยังมีปัญหาที่ว่า บางครั้งข้อมูลที่ส่งไปซ้ำกับ bit ของจุดเริ่มต้นหรือจุดสิ้นสุดของข้อมูล ซึ่งสามารถแก้ไขได้โดยใช้เทคนิค Bit stuffing คือ ผู้ส่งจะเพิ่มเลข 0 เข้าไปด้านหลังข้อมูลที่มีเลข 1 ติดกัน 5 ตัว และผู้รับจะเอาเลข 0 ออกจากด้านหลังข้อมูลที่มีเลข 1 ติดกัน 5 ตัว
    2.2 Byte-count protocols > การส่งที่มี field พิเศษ ใช้ในการเก็บข้อมูล และมีการนับจำนวน byte เมื่อส่งข้อมูลเสร็จ
    2.3 Byte-oriented protocol > การส่งแบบมีตัวอักษรพิเศษมากกว่า 1ตัว และมี code พิเศษที่ทำให้ code บางอย่างไม่สามารถทำงานได้ ใช้ในการเชื่อมต่อระหว่างคอมพิวเตอร์ที่บ้านกับ ISP

Week 7: Data Communications

“CHAPTER 8” (con't.)
Data Link Layer:
มีหน้าที่ในการส่งข้อมูลจาก node-to-node และควบคุมเส้นทางของข้อมูล

  • Media Access Control > การควบคุมคอมพิวเตอร์ว่าจะส่งอะไรและเมื่อไหร่
  • Controlled Access > การควบคุมข้อมูลตามลำดับว่าเข้าก่อนหรือเข้าหลัง
  • Polling > กระบวนการในการส่งข้อมูลไปยังผู้รับ เมื่อผู้รับต้องการหรืออนุญาติเท่านั้น
  • Roll Call Polling > กระบวนการในการตรวจสอบผู้รับว่าต้องการข้อมูลนั้นหรือไม่
  • Hub Polling > การใช้ Token ในการส่งข้อมูล
  • Contention > การใช้งานคอมพิวเตอร์มากกว่า 1 เครื่อง และไม่สามารถรู้ว่าเครื่องไหนใช้งานอยู่ ทำให้มีการส่งข้อมูลพร้อมกัน จึงเกิดปัญหาขึ้น ทำให้ต้องแก้ปัญหาโดยการ random number และเครื่องไหนที่ได้ number น้อยที่สุดจะได้ส่งก่อน

“CHAPTER 10”
Error Detection and Correction:

  • Error Control > การควบคุมข้อผิดพลาด ซึ่งอาจเกิดได้จาก network error กับ human error

Type of error:
-
Single-bit error > ข้อผิดพลาดที่เกิดเพียง 1 bit
- Bust error > ข้อผิดพลาดที่เกิด 2 bits หรือมากกว่านั้น

Major functions:
- Preventing errors > การหลีกเลี่ยงข้อผิดพลาด
- Detecting errors > การตรวจสอบข้อผิดพลาด
- Correcting errors > การรวบรวมข้อผิดพลาด

  • Error Detection > เทคนิคการตรวจข้อผิดพลาด
    - Parity checks > เทคนิคที่เพิ่มเลข 0 เข้าไปต่อท้าย bit เมื่อจำนวนเลข 1 ใน bit ของข้อมูลเป็นเลขคี่ และจะเพิ่มเลข 1 เข้าไป เมื่อจำนวนเลข 1 ใน bit ของข้อมูลเป็นเลขคู่
    - Longitudinal Redundancy Checking > การเพิ่ม block check character เข้าไปใน bit ข้อมูล
    - Polynomial checking > มี 2 แบบคือ
  1. Check Sum > การนำผลลัพธ์จากการคำนวน bit มาสลับจากเลข 1 เป็น 0 และ 0 เป็น 1 และเมื่อสลับเรียบร้อยแล้ว ผลลัพธ์สุดท้ายได้ออกมาเป็น 0 ทั้งหมด ก็คือไม่ error
  2. Cyclic Redundancy Check > ถ้า remainder of bit = 0 หมายถึงข้อมูลถูกต้อง ถ้า remainder of bit = 1 หมายถึงข้อมูลผิด

CRC: n bits = number of zero
Divisor: n + 1 bits

  • Error Correction > เทคนิคการรวบรวมข้อผิดพลาด
    - Retransmission > ผู้รับจะตรวจสอบข้อผิดพลาด และถามผู้ส่งเพื่อส่งข้อมูลซ้ำอีกครั้ง
    - Forward Error Correction > เทคนิคการตรวจสอบและรวบรวม burst error ซึ่งตัวรับข้อมูลสามารถรวบรวมข้อมูลที่กำลังส่งมา ได้ด้วยตัวของมันเอง (ออกจากการส่งข้อมูลซ้ำ)

Number of redundancy bits: 2 power r >= m + r + 1 ; m = number of data bits

วันพุธที่ 9 กันยายน พ.ศ. 2552

Week 6: Data Communications

Digital subscriber line:
  • ADSL > เทคโนโลยีที่ขึ้นอยู่กับสภาพแวดล้อม โดยอัตราการรับส่งข้อมูลจะขึ้นอยู่กับสภาพของสายนำสัญญาณ (อัตราการ download ไม่เท่ากับ การ upload )
  • ADSL modem จะมี Splitter เป็นตัวแบ่งสัญญาณ internet ออกจากโทรศัพท์

Multiplexing:

  • FDM > เทคนิคในการส่งสัญญาณ analog แบบหลายช่องทาง
  • Filter จะรับความถี่เฉพาะที่ผู้รับได้ตั้งค่าไว้
  • Guard band มีไว้เพื่อใช้ป้องกันไม่ให้คลื่นมาซ้อนทับกัน ทำให้เวลาฟังไม่มีคลื่นแทรก
  • WDM > เทคนิคที่เอาความยาวคลื่นมาต่อกัน แล้วจึงส่งเป็นสัญญาณ analog
  • TDM > เทคนิคในการส่งสัญญาณ digital โดยแต่ล่ะเครื่องจะมีช่องในการส่งเป็นของตัวเอง
  • STDM > เทคนิคการส่งสัญญาณที่ไม่จำเป็นต้องส่งสัญญาณเต็ม time slots ทำให้เครื่องอื่นสามารถใช้ช่องสัญญาณที่ว่างอยู่ร่วมกันได้

Physical Layer (3)
“CHAPTER 8”

Switching:

  • Switching network > การส่งข้อมูลในแบบที่สามารถเลือกเส้นทางได้
  • Circuit Switching > การส่งข้อมูลที่ต้องเชื่อมต่อกันก่อน ถึงจะส่งข้อมูลได้ ถ้าเส้นทางที่จะส่งเชื่อมต่อระหว่างผู้ส่งและผู้รับแล้ว คนอื่นจะไม่สามารถใช้เส้นทางนั้นได้
  • Packet Switching > การส่งข้อมูลแบบแบ่งข้อมูลเป็นส่วนย่อยๆ

วันอังคารที่ 8 กันยายน พ.ศ. 2552

Week 5: Data Communications

"CHAPTER 4"
Digital Transmission:

  • Digital transmission of Digital data > การส่งข้อมูล digital แบบ binary code (คือ 0 กับ 1) โดยมีมาตรฐานเดียวกันเพื่อให้ผู้รับและผู้ส่งมีความเข้าใจที่ตรงกัน
  • Digital transmission of Analog data > การส่งข้อมูล analog ผ่านเครือข่าย digital ทำให้ต้องมีการแปลงสัญญาณจาก analog เป็น digital

- Sampling rate > การเลือกค่าบางส่วนจาก analog data มาแปลงเป็น digital data ซึ่ง sampling rate จะต้องมีค่าอย่างน้อยเป็น 2 เท่าของค่าความถี่สูงสุด

Transmission Modes:

  • Parallel mode > การส่งข้อมูลแบบขนาน สามารถส่งได้มากกว่า 1 bit ในเวลาเดียวกัน แต่ต้องใช้สาย 1 สายต่อการส่ง 1 bit มีข้อดี คือ สามารส่งได้รวดเร็ว แต่ราคาแพง เพราะต้องใช้สายจำนวนมาก
  • Serial mode > การส่งข้อมูลแบบใช้สาย 1 สายต่อการส่ง 1 bit และส่งในเวลาเดียวกันไม่ได้

Digital to Analog conversion:

  • Analog transmission of Digital data > การสส่งสัญญาณ analog โดยขึ้นอยู่กับข้อมูล digital

- Bit rate > จำนวน bit ต่อวินาที

- Baud rate > จำนวนส่วนประกอบของสัญญาณต่อวินาที

ใน analog transmission of digital data : Bit rate >= Baud rate ; ถ้า n = 1

Bit rate = n * Baud rate ; n = จำนวน bit ที่สามารถส่งได้ใน 1 สัญญาณ

n = log2L ; L = level of bit

Bandwidth = fC1 - fC2 + baud rate (ถ้าเป็น full-duplex: bandwidth ต้องหาร 2)

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

Week 4: Data Communications

"CHAPTER 3" (con't)

  • A sin wave > คือ คลื่นที่มีความสัมพันธ์ระหว่าง เวลา กับ ความถี่ของสัญญาณคงที่

อัตราการเปลี่ยนแปลงความถี่จะมีความสัมพันธ์กับเวลา > f(Hz) = 1/T(s)

- ถ้าเวลามีการเปลี่ยนแปลงในระยะสั้น ความถี่จะสูง

- ถ้าเวลามีการเปลี่ยนแปลงในระยะยาว ความถี่จะต่ำ

- ถ้าสัญญาณไม่มีการเปลี่ยนแปลง ความถี่ = 0

- ถ้าสัญญาณมีการเปลี่ยนแปลงอย่างรวดเร็ว ความถี่จะ infinite

  • Signal bandwidth > คือ อัตราความเร็วในการรับส่งข้อมูล ซึ่งมาจากความแตกต่างระหว่างความถี่สูงสุดและความถี่ต่ำสุดในสัญญาณ(ระดับความถี่ของการแผ่รังสีคลื่นแม่เหล็กไฟฟ้า)

8 Kbps = 8 kilo bits per sec

8 KBps = 8 kilo byte per secรายการลำดับหัวข้อย่อย

1 byte = 8 bits

-Signal levels > ถ้าจำนวนสัญญาณเพิ่ม จำนวน bit ก็จะเพิ่มตามไปด้วย,

ถ่าสัญญาณใกล้กันมากเกินไป จะไม่สามารถแยกแยะสัญญาณได้

  • Digital signal > คือ ตัวประกอบของสัญญาณ analog ที่มี bandwidth ไม่จำกัด

-Baseband transmission > คือ การส่งแบบใช้ความถี่ตั้งต้น หรือ ศูนย์

-Bandwidths of two low-pass channels > การส่งแบบใช้ความถี่เริ่มต้นเป็นศูนย์

-Baseband transmission using a dedicated medium > การส่งแบบมี wide-bandwidth ทำให้สัญญาณที่ออกมา(output)ไม่ต่างจากเดิมมาก และถ้ามีช่องทางการส่งหลายช่องก็จะส่งได้เร็ว

- Bandpass channel > ใช้สัญญาณ analog ในการส่ง เพราะส่งเป็นสัญญาณ digital ไม่ได้ ถ้าจะส่งเป็นสัญญาณ digital จะต้องแปลงสัญญาณก่อนที่จะส่ง

  • Medium bandwidth

- Analog bandwidth - hertz

- Digital bandwidth - bits per second

  • Physical Layer (2)

- Bitrate = 2 * bandwidth * log2L ; L = number of signal levels

- Capacity = bandwidth * log2L (1+SNR) ; SNR = ความแรงของสัญญาณ / ความแรงของสัญญาณรบกวน