Download S95 Arial, Bld, YW8, 37 points, 105% line spacing

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Multiprotocol Label Switching wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

TCP congestion control wikipedia , lookup

AppleTalk wikipedia , lookup

Net bias wikipedia , lookup

Distributed firewall wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Deep packet inspection wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Computer network wikipedia , lookup

IEEE 1355 wikipedia , lookup

Network tap wikipedia , lookup

Airborne Networking wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Internet protocol suite wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Transcript
LSVE: A Network Primer
Manuel Oliveira
Computer Science Department
University College London
Audience Assessment
•
•
•
•
Know about networks?
Know what TCP, UDP, multicast is?
Know how a router works inside?
Know about multicast routing algorithms?
Contents
•
•
•
•
•
•
•
•
Motivation
How to Talk to Network People?
Network Elements
Network Properties
Protocols
Multicast
How to Access the Network
Discussion
Motivation: Applications
•
•
•
•
•
•
•
Remote Training
Combat Simulation
Games
Education
Visualization
Collaboration
Socialization
Motivation: Evolution
MATRIX
Presence
VE
Online
Games
Graphical
MUDs
MUDs
Evolution
Motivation: Games?
Motivation: Games Perspective
• Humans are Social Beings
• Collaboration
• Share Experiences
• UO most popular activity?
• Competition
• Online categories: achievers, explorers, socializers and
killers
• A Human is better than AI/AL
Motivation: Games Better than VE?
Games
VE*
Big budgets
2-3 years cycle
Content driven
Entertainment
Robust
Cool graphics
Network is not cool
Budget?
PhD, masters or undergraduate
Functionality driven
Test research ideas
Hacks
Cool slow graphics
Network less bad
* DIS systems are an exception
How to Talk to Network People: OSI Model
Host A
Host B
Layer n+1
protocol
Layer n+1
API
Layer n
Layer n
Network
How to Talk to Network People: OSI Model
Data
Host A
Layer n+1
Layer n
PDU n
PDU n+1
Data
PDU n+1
Data
How to Talk to Network People: OSI Model
Application
Presentation
Session
Transport
Network
Data Link
Physical
How to Talk to Network People: OSI Model
Application
Application
Presentation
Presentation
Session
Session
Transport
Transport
Network
Network
Data Link
Data Link
Physical
Physical
How to Talk to Network People: OSI vs IP
Application
Presentation
Application
Session
Transport
Transport
OS
Network
Internet Protocol
Data Link
Data Link
Physical
How to Talk to Network People: IP
FTP
SMTP
DNS
SNMP
Application
TCP
UDP
Transport
ICMP
Internet Protocol
Data Link
IP
IGMP
Ethernet, FDDI
ARP/RARP
SNAP
Network Elements: Overview
• Address
• Host
• User’s computer has unique IP address
• Router
• Routes the data packets across the network
• Queues per link for incoming packets
• Lookup table
• Gateway
• Router that does protocol conversion
Network Elements: Address + Port
• Class A (network ID = 7 bits)
0 Network ID
Host ID
• Class B (network ID = 14 bits)
1 0
Network ID
Host ID
• Class C (network ID = 21 bits)
1 1 0
Network ID
• Class D (multicast)
1 1 1 0
Multicast group
• Class E (reserved for future use)
1 1 1 1 0
reserved
Host ID
Network Elements: IP Packet
Version Hdr len Type Of Service
Identification
TTL
Packet Len
Flags
Protocol ID
Fragment Offset
Hdr Cheksum
Source address
Destination address
Options (if any)
Data
20 bytes
Network Elements: IP Routing
Admin commands
redirects
Routing
Table
UDP
TCP
n
ICMP
y
Local?
routing
Options
Next Hop?
src routing
Queue
Network Interface
Other
Network Properties
•
•
•
•
Latency (Round Trip Time)
Jitter
Bandwidth (Capacity)
Loss (Congestion, Reliability)
Protocols
Transport Level:
• User Datagram Protocol (UDP)
• Transport Control Protocol (TCP)
• Application
• Real Time Protocol (RTP)
• Network Time Protocol (NTP)
• File Transfer Protocol (FTP)
• Domain Name Service (DNS)
Protocols: UDP
• Connectionless
• No state is maintained
• No setup time
• Light-weight
• No Quality of Service
• No guarantee delivery
• No order delivery
Postal Service
Protocols: UDP packet
Source Port
Destination Port
Length
Hdr Cheksum
Data
8 bytes
Protocols: TCP
• Connection Oriented
• State is maintained at routers
• Setup Handshake
• Heavy-weight
• Quality of Service
Telephone Service
• FIFO delivery
• Flow Control
• Error Recovery
• Mechanisms
• Sliding Window, Timers, Acknowledgements
Protocols: TCP Peek under the Hood
Host A
Host B
Timer
Packet N
Ack N
Protocols: TCP Peek under the Hood
Host A
Host B
Timer
Packet N
Timer
Packet N
Ack N
Protocols: TCP packet
Source port
Destination port
Sequence number
20 bytes
Ack number
Hdr len
Options
Flags
Window size
Checksum
Urgent Pointer
Options (if any)
Data
Multicast: Overview
Broadcast
WAN
Unicast
WAN
WAN
Multicast
Multicast: Model
•
•
•
•
•
•
UDP class D address – No physical meaning
Multicast is free on LANs
An address defines a logical group
A sender is oblivious to receivers
Join/Leave operations
Tree Based Routing
Multicast: Routing Overview
Multicast Routing Protocol
Internet Group
Management Protocol
(IGMP)
Multicast: Routing
• Three types:
• Flood/Prune (or Reverse Path Multicast) – basis for MBone
• Steiner - never implemented, just simulated
• Centred Based – begins to be deployed
• Some Protocols:
• Distance Vector Router Multicast Protocol (DVRMP)
• Multicast Open Shortest Path First (MOSPF) – based on link info
• Core Based Trees (CBT)
• Protocol Independent Multicast (PIM)
• Sparse Mode (SM), Dense Mode (DM)
Multicast: Core Based Trees
join
join
CBT
IGMP
join
Multicast: Core Based Trees
join-ack
join-ack
join
CBT
IGMP
join
Multicast: Core Based Trees
join-ack
CBT
IGMP
Multicast: Core Based Trees
CBT
IGMP
Multicast: Problems
• Deployment problems
• mainly interdomain routing
• No pricing model
• Membership Authorisation
• Security
• Address Allocation:
• Scope
• Clashes
• Announce/Listen (sdr)
• TCP-Friendliness (congestion)
• Error Recovery is a nightmare
Multicast: Temporary Solution
•
•
•
•
Single Source Multicast (SSM)
IGMPv3 – who to listen to
Multicast Source Discovery Protocol (MSDP) – RP exchange
Multicast Address Dynamic Client Allocation Protocol
(MADCAP) – Multicast DHCP
How to Access Network: C
• Creating a Socket
int sock;
if ((sock = socket (PF_INET, SOCK_STREAM, 0))<0) {
do error handling
return
}
Protocol Family
Socket Type
Protocol
0 = default
How to Access Network: C
• TCP - Server
struct sockaddr_in auxAddr;
bzero((char *)&auxAddr, sizeof(auxAddr));
auxAddr.sin_family = PF_INET;
auxAddr.sin_addr.s_addr = htonl(INADDR_ANY);
auxAddr.sin_port = htons(800);
If (bind(sock, (struct sockaddr *)&auxAddr, sizeof(auxAddr)) == -1) {
do error handling
return;
}
How to Access Network: C
• TCP - Server
struct sockaddr_in clientAddr;
int clientSock;
listen(sock, 20);
while (clientSock = accept(sock, (struct sockaddr *)& clientAddr,
sizeof(clientAddr)) != -1) {
process the clientSock, use threads!
}
do error handling
How to Access Network: C
• TCP – Client
struct sockaddr_in auxAddr;
bzero((char *)&auxAddr, sizeof(auxAddr));
auxAddr.sin_family = PF_INET;
auxAddr.sin_addr.s_addr = inet_addr(“137.158.128.5”);
auxAddr.sin_port = htons(800);
if (connect(sock, (struct sockaddr *)&auxAddr, sizeof(auxAddr)) == -1) {
do error handling
}
How to Access Network: C
• TCP – Client
• int write(int /*socket*/,
byte * /*data*/,
int /*data len*/)
• int read(int /*socket*/,
byte * /*buffer*/,
int /*max to read*/)
Discussion