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

Week 11: Data Communications

"CHAPTER 23" (con’t)
Network Layer:

  • Middleware > เป็นเทคนิคที่ใช้ในการซ่อน socket programming เพื่อทำให้ไม่รู้ว่ามีการใช้งานอยู่
  • Network layer connection and connection-less service > แบ่งเป็น
    - Datagram network > ไม่จำเป็นต้องทำการติดตั้งการเชื่อมต่อ การส่งข้อมูลเป็นแบบ packet โดยใช้จุดหมายเป็นที่อยู่ในการส่งข้อมูล เป็นเทคนิคที่ใช้กับ network-layer connectionless service
    - Virtual circuits network > ต้องมีที่อยู่ในการส่งข้อมูล และเมื่อมีการรับ-ส่งข้อมูล ข้อมูลจะส่งในเส้นทางเดิมเสมอ ซึ่งสามารถแบ่งจุดเชื่อมต่อกันได้ และมีการหาเส้นทางที่ถูกต้องในการส่งข้อมูล เป็นเทคนิคที่ใช้กับ network-layer connection service

"CHAPTER 19"
Network Layer:
Logical Addressing:

  • Assignment of Addresses > แบ่งเป็น
  1. Application Layer Address(URL) > ใช้สำหรับ server เท่านั้น ถูกกำหนดโดย network managers และต้องอยู่ในไฟล์ที่ปรับแต่งแล้ว บาง server อาจมีหลาย application layer address
  2. Network Layer Address(IP address) > ถูกกำหนดโดย network managers หรือ โดยโปรแกรม DHCP และต้องอยู่ในไฟล์ที่ปรับแต่งแล้ว ทุกเครือข่ายบน Internet จะถูกกำหนดค่าให้อยู่ในขอบเขตที่ IP Address ใช้ได้
  3. Data Link Layer Address(MAC address) > เป็นที่อยู่ของ hardware ที่กำหนดโดยแหล่งที่ผลิต ซึ่งมี IEEE เป็นตัวควบคุม
  • Internet Addresses > แบ่งเป็น 2 แบบ ได้แก่
  1. IPv4 Addresses > คือ IP Addresses ที่ใช้พื้นที่ 4 byte (32 bit) ในการเก็บที่อยู่ ใช้ตัวเลขฐาน 10 ในการแสดงผล โดยมีจุดคั่นในแต่ล่ะ byte
  2. IPv6 Addresses > สามารถแบ่งออกเป็น class ได้ ดังนี้
    - Class A > เป็น class ที่ใหญ่ที่สุด สามารถตรวจสอบว่าเป็น class A ได้ โดยการดูที่ byte แรก ซึ่งจะมี IP ตั้งแต่ 0-127
    - Class B > สามารถตรวจสอบว่าเป็น class B ได้ โดยการดูที่ byte แรก ซึ่งจะมี IP ตั้งแต่ 128-191
    - Class C > สามารถตรวจสอบว่าเป็น class C ได้ โดยการดูที่ byte แรก ซึ่งจะมี IP ตั้งแต่ 192-223

Maximum number of IP Addresses: 2 power 8 or 255 ;(start at zero)

Ex. Specification of IPv4 Addresses:

  1. IP Addresses ต้องมีจุดคั่นอยู่ระหว่าง byte
  2. ตัวเลขของ IP Addresses ห้ามขึ้นต้นด้วยศูนย์
  3. IP Addresses ต้องมี 4 byte (ห้ามมากหรือน้อยกว่านั้น)
  4. ตัวเลข IP Addresses มากที่สุดต้องไม่เกิน 255 (IP Addresses <= 255)
  5. IP Addresses เป็นตัวเลขฐาน 10 หรือฐาน 2 ก็ได้ แต่นำมาใช้รวมกันทั้ง 2 อย่าง ใน 1 IP Addresses ไม่ได้ (ต้องใช้อย่างใดอย่างหนึ่ง)

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)