วันอาทิตย์ที่ 27 กันยายน พ.ศ. 2552

Data Communication Project : Design the Augment Stadium

Design the Augment Stadium เป็นโปรเจคใหญ่ของประเทศอังกฤษ ที่เกี่ยวข้องกับการสื่อสารในระบบเครือข่าย Ad-Hoc เพื่อให้ผู้เข้าชมได้ทำการแบ่งปันข้อมูลต่างๆเช่น ความคิดเห็น รูปภาพ และคลิปวีดีโอ ผ่านกันทั่วทั้งสนามกีฬา โดยโปรเจคนี้ เป็นการวิจัยของนักศึกษามหาวิทยาลัยเมืองกลาสโกว์ และทุนของ EPSRC ซึ่งมีบริษัท Microsoft และ ARUP เป็นผู้สนับสนุน โดยที่โปรเจคนี้ มีกำหนดแล้วเสร็จในปี 2010

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

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

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

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

week 13 : Application layer

Application Architectures
- Client and server
- Peer to peer
- Hybrid of client server

Host-based Architectures - everything is in one machine(mainframe)

Problems with Host-based Architecture
- Host becoming a bottleneck : Everything is on a server, server has to do all processing
- Upgrade typically expensive and "lumpy"

Client-based Architectures
- Client need a high performance
- Server keep data but no processing
- When client want information of someone, Server can send just whole data and Client need to find by themself

Client-Server Architectures (Used by most network today)
- Client no need very high performance (don't have to spend a lot of money)
- When Client want information of someone, Server can send just that information to Client

Advantage of Client-Server Architectures
- Advantages
- More efficient because of distributed processing
- Allow hardware and software from different vendors to be used together
- Disadvantage
- Difficulty in getting software from different vendors to work together smoothy
- May require Middleware, a third category software

Fat vs. Thin Clients
- Fat clients do a lot of work in client based Architecture
- Thin client is an easy machine(low cost machine) which can control user not to use unlicensed program

Criteria for choosing Architecture
- Infrastructure Cost : Cost of hardware
- Development Cost : Develop on mainframe, cheaper than develop on Client, Server
- Scalability : Can add new server is cheaper cost than mainframe

3-Tier Architecture
- Client (microcomputer)
- Application server (microcomputer)
- Database server (microcomputer, minicomputer or mainframe)
- Application server and Database server are divided to do part of logic but both of them don't have to do much work

N-tier Architecture
- Data have to travel along network from client side to server side
- Database server can divide in more than 1 tier (having another tier), if Database server reply something, it needed to pass to every server

Multi-tier Architectures
- Advantages
- Better load balancing
- More stable(if server work hard, just add more server)
- Disadvantages
- Heavily loaded network
- Difficult to program and test due to increased complexity

DNS - Domain Name Services - Use to translate URL (DNS) to IP address

How DNS works
1. Assume that Susie asks for a web page on Indiana University's server by access in www.susie.indiana.edu from University of Torronto
2. Client will ask DNS server that know Susie or not
3. If no, Ask Root that know Susie or not
4. If no but know Indiana, Send request to Indiana
5. Then send result back to Susie at Torronto


วันจันทร์ที่ 21 กันยายน พ.ศ. 2552

week 12 : Network and Transpot Layer cont.

In IPv4 addressing, a block of address can be defined as x.y.z.t/n (/n is a number of mask)
The first address (network address) in the block can be found by setting the rightmost 32 - n bits to 0s
The last address in the block can be found by setting the rightmost 32 - n bits to 1s
The number of addresses in the block can be found by using the formula 2 power 32 - n

The first address can be found by ANDing the given addresses with the mask
The last address can be found by ORing the given addresses with the complement of the mask
The number of address can be found by complementing the mask, interpreting it as a decimal number, and adding 1 to it

Private address
- easy in the future if want to connect to internet
- security(hide machine from internet)
- can use only 1 public IP for many user

Translation table (for router) use to convert IP and send data in to correct client
IPv6 uses 16 byte (128 bits) addresses but v4 use just 32 bits (problem of v4 is number of addresses)
Dual stack - OS or machine know 2 versions of IP address (If machine need to send data, version that want to send it up to destination - ask DNS first what version that destination can receive)

Dynamic address - not require fix address
Bootstrap protocol - Client will get same IP address (If machine doesn't turn on , no-one can use that IP)

Routing Protocol
Autonomous System - maintain whole system
Types of routing protocol
1.interior routing protocols - use inside 1 AS
2.Exterior routing protocol - use between AS
Types of Routing
1.centralized routing - one center computer
2.Decentralized routing (static routing, dynamic routing)




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

week 11 : Network and Transport layer cont.

Middleware - Don't have to worry about network
Ex. Open database connectivity(ODBC) - Middleware of database

Network layer
Connection - VC network
Connectionless - Datagram network
Analogous to the transport-layer services but,
- host to host
- No choice

Virtual circuit
choose the right path to application, need to call setup first

VC implementation (consist of:)
1.Path from source to destination
2.VC number
3.forwarding table(map of router) in routers along path

Signaling protocol
- use in ATM
- not used in today's internet

Datagram network
- no call setup (connectionless)
- routers

Network layer function
Addressing
- Assignment of address
- Translation (translation process is called address resolution)
Routing
Assignment of address
- Application layer address (URL)
- Data link layer address (MAC address, unique address)

IPv4 Address
- 4 byte, 32 bits address
- Dotted decimal notation (seperate by dot)

Classfull Adressing
Class A : 0 - 127
Class B : 128 -191
Class C : 192 - 223
Class D
Class E

Netid - just specific number
Network address - both Netid and Hostid






วันอาทิตย์ที่ 6 กันยายน พ.ศ. 2552

week 10 : Network and Transport Layers

Transport and Network Layers
Network Layers = source to destination
Transport Layers = program to program

Transport Layer
- Responsible for end-to-end delivery of messages
- Responsible for segmentation ( divide large data to small pieces ) and reassembly (make it be original data)

Internet transport-layer protocols
- Reliable (TCP) - Before it can send data it has to establish connection first
  • congestion control - If high traffic reduce speed of sending data
  • flow control - recieve data correctly by order
  • connection setup - need to connect first
- Unreliable (UDP) - It doesn't do anything that TCP does, just help sending program to destination (UDP works faster)
  • no-frills extension of "best-effort" IP
- Service not available
  • delay guarantees
  • bandwidth guarantees (Shared by a lot of users)
Network Layer
- Responsible for addressing (Assign unique address) and routing (Major task and find the best part from source to destination ) of messages

Transport vs. Network layers
- Network layer = between host
- Transprot layer = between process

Transport Layer function
- Establish connection
  • Connection Oriented
  • Connectionless
  • Quality of service

Linking to Application Layer
- Port number = use number to connect program to another program, 2 bytes is each source and destination

Packetization = Break a large message into a small pieces
Reassembly = Put them back together at the destination

Three ways handshake
1. Client host sends TCP SYN segment to server
2. Server host recieves SYN, replies with SYNACK segment
3. Client recieves SYNACK, replies with ACK segment

Closing connection
1. Client end system sends TCP FIN control segment to server
2. Server recieves FIN, replies with ACK
3. Client recieves FIN, replies with ACK
4. Connection closed

QoS - Try to guarantees something
- Timeliness - time to delivery of packets
- QoS routing ( realtime, choose parts that give the best bandwidth)

Socket programming - Allow to create network program without go deep in TCP

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

week 9 : Data link layer cont.

NRM - Normal response mode
Primary send command to secondary, secondary send response to Primary (It can send data, If Primary ask)
ABM - Asynchronous Balance mode
No Primary and Secondary (Problem : support just point to point)

HLCD
I-frame - first bit in control field is 0
(Pole and Final
If it send 1 and send from primary to secondary - call pole
If it send 1 and come from secondary - call final
but If it send 0 that mean don't want to use this bit)

S-frame - first 2 bit in control field is 1 0
(RR - receive ready, same as ASK
RNR - receiver not ready to receive next frame, just stop sending data
REJ(go-back-N ARQ) - reject
SREJ - selective reject)

U-frame - first 2 bit in control field is 1 1

Point to point Protocol (PPP)
use when access internet to house, use only U-frame
Byte stuffing - If want to send flag as a data have to use ESC to make that be data

Link Establishing - LCP
Authenticating - PAP, CHAP
Network layer establishment - IPCP
Network termination - IPCP
Link terminating - LCP

Factor affecting network efficiency
- circuit
- error control techniques
- protocol used
Efficiency of protocol in % = total number of info bits to be transmitted/total number of bits transmitted
(Bigger the message length, better the efficiency - If use very large frame, It will have more chance to get error/Maximum 1500)

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

week 8 : Data link layer cont.

Data link control
Automatic Repeat Request (ARQ)
- Stop and Wait ARQ(after sender send 1 frame of data then wait for receiver check it correct or not)
- Continuous ARQ (sender can send more than 1 frame, don't have to wait)

Stop and Wait ARQ
ACK - Acknowleadge (tell that data is correct and send the number of next frame)
NAK - Negative Acknowleage (tell that data is incorrect and tell the number of frame that sender need to send again)
If receiver lost data when it reply to sender and sender doesn't receive anything, it have to wait until time out and send data to receiver again.
In case delayed ACK, receiver can't reach sender before time out and sender send data again.
If receiver want to send data too, have to reply first then send it own data, use Piggybacking to fix it.

Go-Back-N ARQ
sender will send more than 1 frame at the time (1 2 3 4). If receiver tell sender that frame #2 error, sender have to send frame 2 3 4 again.
Can send just frame in window If no respond from receiver, it have to wait(can't send more frame) but receiver doesn't have to reply every frame
Size of the sender window must less than 2 power n (2 power n - 1), Size of the reciever window is always 1.

Data link protocol
- Message delineation (start of frame and end of frame)
- Frame length
- Frame field structure (How many field we use in frame?)

Synchronous Transmission photocols
- Bit oriented protocol (bit by bit)
- Byte count protocol (sender and receiver count number of byte)
- Byte oriented protocol (special character)