Unlocking the Potential of the Cloud for IBM Power Systems
Networking and socket
1. Networking
In the world of computers, networking is
the practice of linking two or more
computing devices together for the purpose
of sharing data. Networks are built with a
mix of computer hardware and computer
software.
2. • A network consists of two or more computers
that are linked in order to share resources
(such as printers and CDs), exchange files, or
allow electronic communications.
• The computers on a network may be linked
through cables, telephone lines, radio waves,
satellites, or infrared light beams.
• common types of networks :
– Local Area Network(LAN)
– Wide Area Network(WAN)
– Metropolitan area Network(MAN)
3. Advantages
• User access control , Information storing and
sharing, Connections ,Services, Internet,
sharing resources, Flexible Access.
Disadvantages
• Expensive to Install, Requires Administrative
Time, Servers Fail, Cables May Break, Security
4. • A computer network consists of machines
interconnected by communication channels.
• We call these machines hosts or routers .
• Hosts are computers that run applications
such as your Web browser, the application
programs running on hosts are really the users
of the network.
• Routers are machines whose job is to relay or
forward information from one communication
channel to another.
5. • By information we here mean a sequences of
bytes that are constructed and interpreted by
programs.
• In the context of computer networks these
byte sequences are generally called packets .
• A protocol is an agreement about the packets
exchanged .
• TCP is designed to detect and recover from
the losses, duplications, and other errors that
may occur in the host-to-host channel
provided by IP.
• TCP provides a reliable byte-stream channel.
7. Socket
• A socket is one end-point of a two-way
communication link between two programs
running on the network.
• A server application normally listens to a specific
port waiting for connection requests from a client.
• When a connection request arrives, the client and
the server establish a dedicated connection over
which they can communicate.
• During the connection process, the client is
assigned a local port number, and binds a socket to
it. The client talks to the server by writing to the
socket and gets information from the server by
reading from it.
8. • In computer networking, a port number is
part of the addressing information used to
identify the senders and receivers of
messages.
• Port numbers are most commonly used
withTCP/IP connections. Home network
routers and computer software work with
ports and sometimes allow you to
configure port number settings. These port
numbers allow different applications on the
same computer to share network resources
simultaneously.
10. Socket Addresses
• IPv4 uses 32-bit binary addresses to identify
communicating hosts.
• .NET encapsulates the IP addresses
abstraction in the IPAddress class which can
take a long integer IP argument in its
constructor, or process a string with the
dotted-quad representation of an IP address
using its Parse()method.
• The Dns class also provides a mechanism to
look up, or resolve names to IP addresses
(e.g., server.example.com ).
11. • a single server to resolve to multiple IP
addresses or name aliases, the results are
returned in a container class IPHostEntry,
which contains an array of one or more string.
• The Dns class has several methods for
resolving IP addresses. The GetHostName()
method takes no arguments and returns a
string containing the local host name.
12. • The GetHostByName() and Resolve()methods
are basically identical, they take a string
argument containing the host name to be
looked up and returns the IP address and
host name.
• Information for the supplied input in the form
of an IPHostEntry class instance. The Get-
HostByAddress() method takes a string
argument containing the dotted-quad string
representation of an IP address and also
returns host information in an IPHostEntry
instance.
13. using System.Net;
using System.Net.Sockets;
namespace socket1
{
class IPAddressExample
{
static void PrintHostInfo(String host)
{
try {
IPHostEntry hostInfo;
// Attempt to resolve DNS for given host or address
hostInfo = Dns.Resolve(host);
//Resolve:-looked up and returns the IP address and host name
14. // Display the primary host name
Console.WriteLine(" tCanonical Name : " + hostInfo.HostName);
// Display list of IP addresses for this host
Console.Write(" tIP Addresses: ");
foreach (IPAddress ipaddr in hostInfo.AddressList)
{
Console.Write(ipaddr.ToString()+"");
}
Console.WriteLine(" n");
}
catch (Exception)
{
Console.WriteLine(" tUnable to resolve host:"+ host+ "n");
}
}
15. static void Main(string[] args) {
// Get and print local host info
try {
Console.WriteLine("Local Host:");
String localHostName = Dns.GetHostName();
Console.WriteLine(" tHost Name: " + localHostName);
PrintHostInfo(localHostName);
}
catch (Exception)
{
Console.WriteLine("Unable to resolve local hostn");
} }
}
16.
17.
18. TCP classes
• The transmission control protocol (TCP) classes
offer simple methods for connecting and
sending data between two endpoints. An
endpoint is the combination of an IP address
and a port number.
• Existing protocols have well defined port
numbers, for example, HTTP uses port 80, while
SMTP uses port 25.
• The Internet Assigned Number Authority (IANA),
(http://www.iana.org/) assigns port numbers to
these well-known services.
19. • Socket: Low-level class that deals with
managing connections. Classes such as
WebRequest, TcpClient, and UdpClient use
this class internally.
• NetworkStream: Derived from Stream.
Represents a stream of data from/to the
network.
• TcpClient: Enables you to create and use TCP
connections.
20. • TcpListener: Enables you to listen for incoming
TCP connection requests.
• The TcpListener class listens for incoming TCP
connections with the Start()method.
• When a connection request arrives you can
use the AcceptSocket() method to return a
socket for communication with the remote
machine, or use the AcceptTcpClient()method
to use a higher-level TcpClient object for
communication.
21. • UdpClient: Enables you to create connections
for UDP clients. (UDP is an alternative protocol
to TCP, but is much less widely used, mostly
on local networks.)