Research Topic: Networking

Published April 25, 2007
Advertisement
Hail all!

In spite of the fact that I'm still re-doing the Feature Analysis, there's nothing wrong with getting prepared for the design and/or implementation. The first system we'll be implementing is the networking system. The reason for this should be apparent. Ya' can't make a multi-player game without networking, and the synchronization between the client & server is such an integral part of the architecture that it makes little sense to attempt to add networking after-the-fact.

As a result, I've added the first research topic. Listed below are the .NET namespaces we may be using, the website for a freely available C# UDP wrapper library, other websites with networking information, and finally...for the more masochistic, the RFC's for TCP and UDP that are most well known.

If you know of any valuable networking resources which may help myself, or others with completing the networking component of this project, feel free to add a comment to this post.

So with no further ado, here's the first research topic info.

==================================================================================
RESEARCH TOPIC 1: TCP and UDP Networking
==================================================================================

C# Namespaces

System.Net
System.Net.Sockets

Available Network Libraries

A well known C# Socket library called: Lidgren

Websites
- Networking articles on GDNet.
- Gamasutra's Programming Articles.
- A good, all-in-one networking resource index can be found Here.

Request for Comments

Standards, Information, Experiments, & Best Practices
768 - UDP
791 - IP
793 - Transmission Conrol Protocol (TCP)
813 - window and ack strategies in TCP
879 - Max segment size option in TCP
896 - Congestion control in TCP/IP
1146 - TCP alternate checksum options
1155 - Structure and identification of management information for TCP/IP-based internets
1166 - Internet numbers
1180 - TCP/IP Tutorial
1337 - TIME-WAIT Assassination Hazards in TCP
1470 - FYI on a Network Management Tool Catalog: Tools for Monitoring and Debugging TCP/IP Internets and Interconnected Devices
2151 - A Primer On Internet and TCP/IP Tools and Utilities
2398 - Some Testing Tools for TCP Implementors
2415 - Simulation Studies of Increased Initial TCP Window Size
2525 - Known TCP Implementation Problems
2861 - TCP Congestion Window Validation
3096 - Requirements for robust IP/UDP/RTP header compression
3243 - Robust Header Compression (ROHC): Requirements and Assumptions for 0-byte IP/UDP/RTP Compression
3360 - Inappropriate TCP Resets Considered Harmful
3409 - Lower Layer Guidelines for Robust RTP/UDP/IP Header Compression
3449 - TCP Performance Implications of Network Path Asymmetry
3465 - TCP Congestion Control with Appropriate Byte Counting (ABC)
3522 - The Eifel Detection Algorithm for TCP
3649 - HighSpeed TCP for Large Congestion Windows
3742 - Limited Slow-Start for TCP with Large Congestion Windows
4163 - RObust Header Compression (ROHC): Requirements on TCP/IP Header Compression
4413 - TCP/IP Field Behavior
4614 - A Roadmap for Transmission Control Protocol (TCP) Specification Documents
4653 - Improving the Robustness of TCP to Non-Congestion Events
4782 - Quick-Start for TCP and IP
4787 - Network Address Translation (NAT) Behavioral Requirements for Unicast UDP

Proposed Standards
(1144) - Compressing TCP/IP Headers for Low-Speed Serial Links
(1323) - TCP Extensions for High Performance
(1349) - Type of Service in the Internet Protocol Suite
(2018) - TCP Selective Ack Options
(2581) - TCP Congestion Control
(2883) - An Extension to the Selective Ack Option of TCP
(2988) - Computing TCP's Treransmision Timer
(3042) - Enhancing TCP's Loss Recovery Using Limited Transmit
(3390) - Increasing TCP's Initial Window
(3517) - A Conservative Selective Acknowledgment (SACK)-based Loss Recovery Algorithm for TCP
(3782) - The NewReno Modification to TCP's Fast Recovery Algorithm
(4015) - The Eifel Response Algorithm for TCP
(4145) - TCP-Based Media Transport in the Session Description Protocol (SDP)
0 likes 1 comments

Comments

Krys
Hi,

There is another C# library for networking.

It is RUDP

www.codeplex.com/RUDP

It is more powerful than "lidgren". It is currently in beta but soon will use the same congestion protocol than CTCP (New Vista TCP Stack).

Also, there are some new features like :
- MTU Discovery (On some network without this lidgren will never be able to communicate)
- NAT Traversal

....
May 31, 2007 06:43 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement