NFS is the Network File System and is another application which provides almost transparent access to files for client applications. At the core of NFS lies Sun:RPC remote procedure Call which should be understood to consider NFS properly.
Sun Remote Procedure Call
For network programmers much of their work is done by creating application programs that called system functions to perform specific operations. For instance there are functions which open TCP connections, others that close them and some send data across these connections. There are literally hundreds of these functions which can be called to perform every conceivable network operation.
Two of the most popular classes of functions for network programming are sockets and TLI. The APi used by a client and the API used by the server can be very different. Combine this with possible differences in operating systems and software and there’s huge possibility for communication problems.
The communication protocol and the application protocol are in charge of determining whether a given client and server can communicate with each other. It is surprising to see how much different systems can communicate, for example many applications running Cobol on a mainframe are accessed via applications written in C running on Unix clients. Often an intermediary API can facilitate this if both the hosts are connected in some way using TCP/IP or perhaps a UK VPN trial.
Usually the communication will commence when the client sends a request or command to the server, which will then respond back to the client. Just about all network applications and protocols operate in this same basic way, whether it’s FTP or Telnet.
However RPC operates in a slightly different way in as far as the concept of network programming. For example when a client calls a Remote procedure, it’s actually calling a function on the local host which has been generated by the RPC package. This is also known as the client stub which packages the various procedure variables tino a network message which is sent to the server.
This message is received by a server stub which resides on the server which has received the network message. All the network programming functions are done by the stubs and the RPC library. THe client simply calls the server procedures and all the network programming is contained in the RPC package plus the client and server stubs.
Many applications use IP multicasting primarily for two distinct functions.
The first one is to provide a delivery mechanism for multiple destinations. Many applications provide information to multiple recipients simultaneously, commonly used for things like delivering mail, news or updates. Other applications like conferencing and distributing video feeds to an audience.
Without multicasting, these applications would have to deliver a separate copy to each individual destination. Although TCP provides some reliability the resources required without multicasting can be huge. Imagine the overhead a video distribution service or teleconferencing application would generate delivering an individual, yet identical copy of a video stream to multiple recipients in the same network.
Applications which use multicasting can deliver the content once to hundreds of connections. IF you have limited bandwidth this can make a real difference to performance. Many companies use multicasting to deliver corporate announcements across the world to remote employees. These individuals may already be operating under limited network bandwidth perhaps due to local infrastructure or maybe they’re simply using a UK VPN or proxy like this to connect back to the host securely.
The other major use of IP multicasting is to identify the location of servers for some specific purpose. Take for example a network workstation without a hard disk, this client needs to locate a bootstrap server before it can communicate properly on a network. The usual method to locate this server without any prior configuration is to broadcast across all networks until one is located. However a much more efficient method is to use a multicast option. This allows the bootp server to be located without imposing a huge overhead on different hosts which simply don’t provide this service.
To make all this work, multicast addresses need to be used. A multicast address is the combination of high order 4 bits of 1110 and the multicast group ID. These addresses are normally written as dotted decimal numbers usually in the range 126.96.36.199 to 188.8.131.52.
Sometimes the Internet Control Message Protocol might not look very helpful when you’re trying to troubleshoot issues. However ICMP contains a lot of different message types and lots of them are in fact extremely useful for both troubleshooting and general network management tasks. Obviously the most used and famous command in ping which is focussed on using ICMP echo and reply messages. Closely followed by the Traceroute command which uses ICMP traceroute and time-exceeded messages for monitoring things like hop count. There are actually many more messages and although some are seldom seens and perhaps of little practical use, many more can give valuable insight into network issues.
Here are some of the common ICMP messages that you are likely to see:
ICMP Unreachable: When an IP host generates this message it does not have a valid route to the requested host, port, protocol or network. There are in fact several of these messages which all have slightly different meanings. For example routers can generate these messages if a firewall or access control list is denying access to a route or resource. Although these messages are useful for troubleshooting you should consider the security implications of them. There can be a lot of information contained in the messages including host addresses embedded in replies. On routers you can usually filter these messages by using the no ip unreachables command on the interface.
ICMP Redirects When a router generates a ICMP redirect it means that the packet received on a specific interface has a destination address on the same interface. Any router that receives redirect messages can use this information to update their routing tables appropriately. One of the most common uses for the ICMP redirect messages are to detect routing loops. There is also a command for suppressing these messages – no ip redirects command on the interface. Some of Cisco’s routing protocols like HSRP automatically suppresses these messages.
ICMP Source Quench – These messages are primarily a means of providing ICMP congestion control. When a router detects any congestion because packets are being dropped it will issue this message back to the source of the packets. This message is useful for troubleshooting general networking issues plus for specific problems. They are useful in determining specific problems consider a client trying to access a certain site – perhaps trying to stream BBC news abroad and finding it blocked. Using these message you can rule out any network problems and you can actually see that the reason is the BBC using region locking to block access from VPNs and specific IP addresses.
So don’t think that you’re restricted to simple traceroute messages and using ping. These are only a few of the messages that ICMP can supply, there are many more. It’s important to remember when using any of these messages to troubleshoot to think of the context when you look at them. Think carefully about the route, especially when you’re looking at connections which originate or terminate across the internet. It’s also useful to examine the protocol involved in any other data for example if you buy proxies and they’re not accessible or functioning. Most of these proxies merely tunnel applications through them so they are difficult to identify as the source.
When you’ve got used to using a VPN service, you’ll slowly start to discover the various advantages of being able to switch countries when you like. For example although in the UK most of the Premiership Football matches are only available on subscription TV if you change your location to USA or Canada you can find them broadcast online.
That means if you switch your VPN connection to the US, all American online broadcasts become available. They are usually available in other places too, most European stations broadcast football from other countries. In fact a general rule of thumb is that if you switch to a country where the sport is not too popular then you can often find it on mainstream TV broadcast over the internet.
It also works well for current affairs, after all why get your news second hand via your domestic broadcaster. Want to learn about Italian news and current affairs? Well, connect through an Italian VPN and all the Italian domestic broadcasts will be available without restriction. Obviously you’ll need to understand the language but it’s amazing the difference in perception you get from news from the domestic broadcaster than an international one. If you don’t speak the language it’s a great way to practice or learn.
Here’s one in action –
As you can see, the whole experience changes when you access an Italian web site with an Italian IP address. All countries are pretty much the same particularly with regards to media channels, normally access from outside the country is blocked or you may get redirected to some sort of ‘international version’.
In many ways it’s kind of sad that we see so many of these restrictions happening online. In the very early days of the internet, there were very few boundaries indeed technical knowledge was one of the few. Certainly you didn’t expect to be treated differently depending on where you were logging in from.
Nowadays there’s certainly better places to use the internet than others. Starting an online business in most western countries is relatively straightforward however taking and making payments from many African or Asian countries without a secure banking infrastructure can be difficult. We’ve probably all heard of the the Nigerian online scams, but spare a thought for the legitimate Nigerian entrepreneur who faces all sorts of discrimination online.