Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

Tuesday, June 25, 2013

What is Logic gates

A logic gate is a collection of transistors and other electronic components that make up a Boolean logical operation, such as AND, NAND, OR and NOR. Transistors make up logic gates. Logic gates make up circuits. Circuits make up electronic systems.

Friday, June 14, 2013

What is Hamming Code and how can it work And how can you detect and correct an error

In data communications, Hamming code is an error detection code that is interspersed with the bits of each character. At the receiving station, the code is checked in order to detect missing bits, and one-bit errors can be corrected automatically.

Hamming is a code is used to detect and correct errors in individual bits of transmitted data. Most land-based communications are satisfied by relying on checksum or CRC methods to detect errors. CRC correction requires re-transmission of faulty messages. But let us take the case of a satellite transmitting visual data as binary streams of information around another planet say Jupiter. The time it takes those messages to arrive at an Earth station from the satellite is measured in hours. During this time the satellite has adjusted its orbit and is going across new territory and sending additional data. Correcting errors in these messages cannot be done by re-transmission. A request for that re-transmission takes as long to get to the satellite as the original message took to get to Earth. Then consider the time it would take to resent the message. First satellite would have to be found. During the time it looks to send the original message and get the request to resent it, the satellite has gathered billions of additional data. The memory needed to hold data long enough to assure that were sent properly is staggering. Instead, an error-correction method such as the Hamming code is used so that errors can be corrected as they are detected.
             Hamming code provide a method for error correction. Error bits called Hamming bits, are inserted into the message at the random locations. It is believed that the randomness of their locations reduces the odds that these Hamming bits themselves would be in error. This is based on a mathematical assumption that because there are so many more message bits compared with hamming bits, there is a greater chance for a message bit to be in error than for a Hamming bit to be wrong. Determining the placement and binary value of the Hamming bits can be implemented using hardware, but it is often more practical to implement them using software. The number of bits in a message (M) are counted and used to solve the following equation to determine the number of Hamming bits (H) to be used.

 2H H + M + 1
Once the number of hamming bits is determined, the actual placements of bits into the message are performed. It is important to note that despite the random nature of the hamming bit placements, exact placements must be known and used by both the transmitter and receiver.
This is necessary so that the receiver can remove the Hamming bits from the message and compare them with a similar set of bits generated at the receiver. Once the hamming bits are inserted into their positions, the numerical values of the bit positions of the logic 1 in the original message are listed. The equivalent binary numbers of these values are added and the sum produced is used as the sets of the Hamming bits in the message. The numerical difference between the Hamming values transmitted and that produced at the receiver indicates the bit position that contains a bad bit which is then inverted to correct it.
        We shall see the following example for sending the message Help!
        When sending the message Help! using synchronous data, start and stop bits as well as parity are not used. Each ASCII character contains 7 bits, for a total of 35 bits. The number of hamming bits is computed using equation
                     2H H + M + 1
     H = 6 is the smallest value that satisfies the equation.
                    64 > 35 + 6 + 1 > 42
    For simplicity we will insert the Hamming bits, less randomly, at every other bit position, starting with the least significant bit:
                   H  e  l  p  !

100100011001011101100111000001H0H0H0H0H1H
To begin the process of determining the states of each of the Hamming bits, list of numerical value of each bit position whose state is a 1. Start with the least significant bit as 1 and increase the count by 1 for each succeeding bit position. H bit must be included in the counting (but not the listing) process. In our example, the first bit position with a 1 in it is position 2. The following are all the bit positions containing a 1 that is the positions 2, 12, 18, 19, 20, 23, 24, 26, 27, 28, 30, 33, 34, 38, and 41.
      The next step is to list the number of vertically along with the binary equivalent of each one. The value of the Hamming bits (H) is created by adding each binary bit column in the list, ignoring any carry condition.
2     0 0 0 0 1 0
12   0 0 1 1 0 0
18   0 1 0 0 1 0
19   0 1 0 0 1 1
20   0 1 0 1 0 0
23   0 1 0 1 1 1
24   0 1 1 0 0 0
26   0 1 1 0 1 0
27   0 1 1 0 1 1
28   0 1 1 1 0 0
30   0 1 1 1 1 0
33   1 0 0 0 0 1
34   1 0 0 0 1 0
38   1 0 0 1 1 0
41   1 0 1 0 0 1
----------------------------------------------------------------
H = 0 1 1 0 1 1

These values are submitted for the "H" bits in the message in the order shown. The receiver repeats the process, again ignoring the Hamming bit positions in the list. If everything is all right, a comparison of the H values sent and those generated by the receiver produces zero. When the receiver does the Hamming process, number 23 is omitted from the list. This causes the Hamming bits to have a value of 0 0 1 1 0 0 instead of 0 1 1 0 1 1. When the H bits computed at the receiver are compared with the transmitted H bits the result is as follows :
 H sent                             0 1 1 0 1 1     as shown above
 H computed at receiver  0 0 1 1  0 0 *
                                    -------------------------------
comparison results:          0 1 0 1 1 1 = 23 decimal
* because 23rd 1 will be changed to zero so the sum !
To correct the message the receiver would invert bit 23.
The reason why the Hamming code works is as follows:
     The originally transmitted codes are formulated by adding binary bits together, ignoring carries. The process of this addition is nothing more than exclusive ORing these bits together. A similar process occurs at the receiver. If a bit has changed state between being sent and  received , it either will not be included in the process or , in the case of changing from a 0 to a 1, will be added to the process. By exclusive ORing the two Hamming codes, the process is reversed. The errant bit appears as the difference between the transmitted and received Hamming bit values.

CHECKSUM ERROR DETECTION

Checksum is a calculated value that is used to test data integrity. Errors can occur when data is transmitted or when it is written to disk. One means of detecting such errors is use of a checksum. Checksum is a value calculated for a given chunk of data by sequentially combining all the bytes of data with a series of arithmetic or logical operations. After the data is transmitted or stored, a new checksum can be calculated (using the possibly faulty transmitted or stored data) and compared with the original one. If the checksum do not match, an error occurred, and the data should be transmitted or stored again. If they do match, the transmission or storage was probably error-free. Checksums are simple validation mechanism. They cannot detect all errors and they cannot be used to correct errors.
            The parity and LRC methods are not very reliable, when more than error occurs within a character or message. One major advantage of the CRC method is its ability to detect multiple errors within any length of message.


             Another major advantage of checksum is that it is simple to implement. In this method, each character being transmitted is exclusive ORed with an accumulated total of all previous characters. The final accumulated total is the checksum character sent with the message. Once again, at the receiver exclusive ORing all the characters and the transmitted checksum should produce a result of zero. Any other result indicates that an error has occurred.
             In comparison with CRC, checksum is more likely to experience similar values for different messages. While the odds that enough errors would cause a duplicate checksum to the one originally sent are reasonable high, that possibility is still far more likely than a similar occurrence using the CRC method.

See More -- 
                Cyclic Redundancy check 

CYCLIC REDUNDANCY CHECK (CRC)

CYCLIC REDUNDANCY CHECK (CRC)

In synchronous communications, CRC is used to verify the integrity of the entire packet or block of data. Integrity of the packet means whether the complete packet of data received in its correct form as it was sent from the sending end. In synchronous communications, parity checking is sufficient to ensure data integrity. In high-speed asynchronous communications, single bit corrections are not enough. As each packet is created, a CRC check is placed somewhere in the packet and is verified at the receiving end.
            CRC is a calculation method used to check the accuracy of a digital transmission over a communication link. The sending computer uses one of several formulas to calculate a value from the information contained in the data, and this value is appended to the message block before it is sent. The receiving computer performs the same calculation on the same data and should drive the same number. If the two CRCs  do not match, indicating that a transmission error has occurred, the receiving computer asks the sending computer to retransmit the data.
            This procedure is known as redundancy check because each transmission includes extra or redundant error-checking values as well as the data itself. A CRC is generated by dividing the total number of bits in the block of data being sent by a predetermined binary number. The reminder is then added to the packet and the packet is transmitted. On the receiving end, the reverse mathematical operation is performed to verify the packet contents. If the computation is successful, the packet is passed to the next step. If it fails, the issuing node is notified and the entire packet is re-transmitted.
            Common CRC patterns are 12-bit (CRC 12), 16-bit (CRC 16), and 32-bit (CRC 32).
One of the most common and widely used error detection methods for synchronous data transmission is Cyclic Redundancy Check (CRC), developed by IBM. IBM uses CRC-16 as the specific application of the CRC method. This process uses a constant "divisor" which is in binary form as ::
                          1000 1000 0001 0000 1
The steps are follows :
(a) Add 16 zeros (1 less bit than the number of bits in the "divisor") after the Least Significant Bit of the message to be sent. The message is then written down as it would be transmitted, with the extra bits sent first ( i.e. most significant bits).

(b) The divisor is exclusive ORed with the 16 most significant bits of the message are appended to the result of this to from another 16 bits of data headed by a 1.

(c) The exclusive ORing is repeated along with the rest of the process until all bits in the message are exhausted.

(d) The final exclusive OR result is the CRC characters. Enough leading zeros are appended to the CRC character to from a total of 16 bits.

           We shall try to understand the CRC character calculation using the following CRC-4 method with the modified divisor constant of 10011:
          Let the message be 1100 0110 1011 01 (The LSB is on the right)
          There is one less zero than the total number of bits in the divisor which is 10011. To use the shortened CRC-4 divisor, four zeros are
first appended to the message. The extended message becomes:
      
       110001101011010000

       Now we set up the problem:

       10011)110001101011010000
       
       Exclusive OR the first five bits with the "divisor" we have:
 
       10011)110001101011010000
             10011
             -----------
               1011
By bringing down the next bit from the message and repeating the process until all the bits in the appended message are used.
     We do this as shown below:

     10011)110001101011010000
           10011
           ----------
            10111
            10011
            ----------
             10010
             10011
             ----------
              11011
              10011
              ----------
               10000
               10011
               ----------
                 11100
                 10011
                 ----------
                  11110
                  10011
                  ----------
                   11010
                   10011
                   ----------
                     1001 = CRC



The original message followed by the CRC-16 bytes is sent to a receiving station. At the receiving station, the data are shifted in and a CRC is computed using the entire message plus the CRC bytes. If the same constant "divisor" is used, the result of the receiver's CRC computation is all zeros when there are no errors.
             To detect the correct communication errors, a sender must provide a receiver with information that enables the receiver to verify proper receipt of information or data. The sender could simply send an entire set of information twice and let the receiver compare the two sets of information for error detection, but because of the time and computer resources, it takes to perform this type of comparison. It is more popular to detect the error based on mathematical calculations that are hardware or software execute at high speed.
              The sender must use a mathematical technique to calculate error-checking data. The sender generates this redundancy data from the bit stream of information data from the bit stream of information data it sends and then appends the redundancy data to the end of the bit stream. The receiver must generate its own redundancy data from the information data it receives and compare the results with the redundancy data it receives from the sender. A favourable comparison indicates the absence of errors. An unfavourable comparison indicates the presence of errors.

Wednesday, June 12, 2013

WHAT ARE DLL Files ?





WHAT ARE DLL Files ?

Short for Dynamic Link Library, Windows DLL files are the library of executable 
functions or data that can be used by a Windows application. A DLL provides one or 
more particular functions and a program accesses the functions by creating either a 
static or dynamic link to the DLL. A static link remains constant during program execution while a dynamic link is created by the program as needed. DLLs can also contain just data. DLL files usually end with the extension .dll, .exe, .drv, or .fon. DLL files are an essential component of applications and programs, without which those applications and programs cannot run properly.
      A DLL file can be used by several applications at the same time. Some DLLs 
files are provided with the Windows operating system and available for any Windows application. Other DLL files are written for a particular application and are loaded with the application.


WHAT IS WINDOWS.dll ?

Whitout Dynamic link libraies, or .dll files. A computer would be able to achieve a very small percentage of what it actually does achieve and it would probably take ten times as long to do so.
    The .dll files are very important for a computer and the windows operating system that drives a computer. If we imagine the operating system of a computer as a pyramid with the Windows system right at the top, then immediately below that would be the application programs we commonly use like Word, Excel and Internet Explorer etc.
    Below the application programs, 'driving' these programs would be Executable (.exe) files, each of which is responsible for one particular function of the programs.

Below these .exe files are the .dll files that help these .exe applications to achieve their objectives.
    So, Windows .dll files are a critically important part of the overall Windows 'picture' and, as such, they need to function correctly, in order that all the 'levels' of the pyramid above them can operate equally as well.



Tuesday, June 11, 2013

TRANSMISSION CONTROL PROTOCOL (TCP)





TCP provides a connection-oriented transport layer service. TCP does the following 


--

(a) The sending TCP accepts a stream of characters from the sending application program.

(b) It creates packets, called segments, of appropriate size extracted from the stream.


(c) It sends them across the network.


(d) The receiving TCP receives segments and extracts data from them.


(e) It orders segments if they have arrived out of order.


(f) It delivers them as a stream of characters to the receiving application program.




    For delivery of segments, the sending and receiving TCPs make use of buffer memory. The sending TCP uses a sending buffer to store the data coming from the sending application program. The sending application program writes data to the buffer of the sending TCP. But, the sending TCP does not create a segment of data for each write operation issued from the sending application program. TCP can combine the result of several write operations into one segment to make transmission more speedy.



   The receiving TCP receives the segments and stores them in a receiving buffer. The receiving application program uses the read operation to read the data from the receiving buffer. It may not read all of the data contained in one segment in one operation. Since the rate of reading can be slower than the rate of receiving, the data is kept in the buffer until the receiving application will complete reading.


    TCP gives full-duplex service which means that data can flow in both directions at the same time. One TCP connection can carry data from application X to Y. At the same time, data from Y to X. It supports piggy backing as acknowledgments can be sent along with data.
  


Note -- TCP is a reliable transport protocol. It uses the acknowledgment mechanism to check the safe and sound arrival of data segments and places them in order before giving them to application layer.

Keyboard Shortcut Keys for Microsoft Window

More than 100 Keyboard Shortcuts must read
See Also MS-Excel Shortcut Keys

Keyboard Shortcuts (Microsoft Windows)
1. CTRL+C (Copy)
2. CTRL+X (Cut)
3. CTRL+V (Paste)
4. CTRL+Z (Undo)
5. DELETE (Delete)
6. SHIFT+DELETE (Delete the selected item permanently without placing the item in the Recycle Bin)
7. CTRL while dragging an item (Copy the selected item)
8. CTRL+SHIFT while dragging an item (Create a shortcut to the selected item)
9. F2 key (Rename the selected item)
10. CTRL+RIGHT ARROW (Move the insertion point to the beginning of the next word)
11. CTRL+LEFT ARROW (Move the insertion point to the beginning of the previous word)
12. CTRL+DOWN ARROW (Move the insertion point to the beginning of the next paragraph)
13. CTRL+UP ARROW (Move the insertion point to the beginning of the previous paragraph)
14. CTRL+SHIFT with any of the arrow keys (Highlight a block of text)
SHIFT with any of the arrow keys (Select more than one item in a window or on the desktop, or select text in a document)
15. CTRL+A (Select all)
16. F3 key (Search for a file or a folder)
17. ALT+ENTER (View the properties for the selected item)
18. ALT+F4 (Close the active item, or quit the active program)
19. ALT+ENTER (Display the properties of the selected object)


See Also MS-Excel Shortcut Keys

20. ALT+SPACEBAR (Open the shortcut menu for the active window)
21. CTRL+F4 (Close the active document in programs that enable you to have multiple documents opensimultaneously)
22. ALT+TAB (Switch between the open items)
23. ALT+ESC (Cycle through items in the order that they had been opened)
24. F6 key (Cycle through the screen elements in a window or on the desktop)
25. F4 key (Display the Address bar list in My Computer or Windows Explorer)
26. SHIFT+F10 (Display the shortcut menu for the selected item)
27. ALT+SPACEBAR (Display the System menu for the active window)
28. CTRL+ESC (Display the Start menu)
29. ALT+Underlined letter in a menu name (Display the corresponding menu) Underlined letter in a command name on an open menu (Perform the corresponding command)
30. F10 key (Activate the menu bar in the active program)
31. RIGHT ARROW (Open the next menu to the right, or open a submenu)
32. LEFT ARROW (Open the next menu to the left, or close a submenu)
33. F5 key (Update the active window)
34. BACKSPACE (View the folder onelevel up in My Computer or Windows Explorer)
35. ESC (Cancel the current task)
36. SHIFT when you insert a CD-ROMinto the CD-ROM drive (Prevent the CD-ROM from automatically playing)

Dialog Box - Keyboard Shortcuts

1. CTRL+TAB (Move forward through the tabs)
2. CTRL+SHIFT+TAB (Move backward through the tabs)
3. TAB (Move forward through the options)
4. SHIFT+TAB (Move backward through the options)
5. ALT+Underlined letter (Perform the corresponding command or select the corresponding option)
6. ENTER (Perform the command for the active option or button)
7. SPACEBAR (Select or clear the check box if the active option is a check box)
8. Arrow keys (Select a button if the active option is a group of option buttons)
9. F1 key (Display Help)
10. F4 key (Display the items in the active list)
11. BACKSPACE (Open a folder one level up if a folder is selected in the Save As or Open dialog box)



Microsoft Natural Keyboard Shortcuts

1. Windows Logo (Display or hide the Start menu)
2. Windows Logo+BREAK (Display the System Properties dialog box)
3. Windows Logo+D (Display the desktop)
4. Windows Logo+M (Minimize all of the windows)
5. Windows Logo+SHIFT+M (Restorethe minimized windows)
6. Windows Logo+E (Open My Computer)
7. Windows Logo+F (Search for a file or a folder)
8. CTRL+Windows Logo+F (Search for computers)
9. Windows Logo+F1 (Display Windows Help)
10. Windows Logo+ L (Lock the keyboard)
11. Windows Logo+R (Open the Run dialog box)
12. Windows Logo+U (Open Utility Manager)
13. Accessibility Keyboard Shortcuts
14. Right SHIFT for eight seconds (Switch FilterKeys either on or off)
15. Left ALT+left SHIFT+PRINT SCREEN (Switch High Contrast either on or off)
16. Left ALT+left SHIFT+NUM LOCK (Switch the MouseKeys either on or off)
17. SHIFT five times (Switch the StickyKeys either on or off)
18. NUM LOCK for five seconds (Switch the ToggleKeys either on or off)
19. Windows Logo +U (Open Utility Manager)
20. Windows Explorer Keyboard Shortcuts
21. END (Display the bottom of the active window)
22. HOME (Display the top of the active window)
23. NUM LOCK+Asterisk sign (*) (Display all of the subfolders that are under the selected folder)
24. NUM LOCK+Plus sign (+) (Display the contents of the selected folder)
25. NUM LOCK+Minus sign (-) (Collapse the selected folder)
26. LEFT ARROW (Collapse the current selection if it is expanded, or select the parent folder)
27. RIGHT ARROW (Display the current selection if it is collapsed, or select the first subfolder)


See Also MS-Excel Shortcut Keys


Shortcut Keys for Character Map

After you double-click a character on the grid of characters, you can move through the grid by using the keyboard shortcuts:
1. RIGHT ARROW (Move to the rightor to the beginning of the next line)
2. LEFT ARROW (Move to the left orto the end of the previous line)
3. UP ARROW (Move up one row)
4. DOWN ARROW (Move down one row)
5. PAGE UP (Move up one screen at a time)
6. PAGE DOWN (Move down one screen at a time)
7. HOME (Move to the beginning of the line)
8. END (Move to the end of the line)
9. CTRL+HOME (Move to the first character)
10. CTRL+END (Move to the last character)
11. SPACEBAR (Switch between Enlarged and Normal mode when a character is selected)
Microsoft Management Console (MMC)

Main Window Keyboard Shortcuts

1. CTRL+O (Open a saved console)
2. CTRL+N (Open a new console)
3. CTRL+S (Save the open console)
4. CTRL+M (Add or remove a console item)
5. CTRL+W (Open a new window)
6. F5 key (Update the content of all console windows)
7. ALT+SPACEBAR (Display the MMC window menu)
8. ALT+F4 (Close the console)
9. ALT+A (Display the Action menu)
10. ALT+V (Display the View menu)
11. ALT+F (Display the File menu)
12. ALT+O (Display the Favorites menu)



MMC Console Window Keyboard Shortcuts

1. CTRL+P (Print the current page or active pane)
2. ALT+Minus sign (-) (Display the window menu for the active console window)
3. SHIFT+F10 (Display the Action shortcut menu for the selected item)
4. F1 key (Open the Help topic, if any, for the selected item)
5. F5 key (Update the content of all console windows)
6. CTRL+F10 (Maximize the active console window)
7. CTRL+F5 (Restore the active console window)
8. ALT+ENTER (Display the Properties dialog box, if any, for theselected item)
9. F2 key (Rename the selected item)
10. CTRL+F4 (Close the active console window. When a console has only one console window, this shortcut closes the console)

Remote Desktop Connection Navigation

1. CTRL+ALT+END (Open the Microsoft Windows NT Security dialog box)
2. ALT+PAGE UP (Switch between programs from left to right)
3. ALT+PAGE DOWN (Switch between programs from right to left)
4. ALT+INSERT (Cycle through the programs in most recently used order)
5. ALT+HOME (Display the Start menu)
6. CTRL+ALT+BREAK (Switch the client computer between a window and a full screen)
7. ALT+DELETE (Display the Windows menu)
8. CTRL+ALT+Minus sign (-) (Place a snapshot of the active window in the client on the Terminal server clipboard and provide the same functionality as pressing PRINT SCREEN on a local computer.)
9. CTRL+ALT+Plus sign (+) (Place asnapshot of the entire client window area on the Terminal server clipboardand provide the same functionality aspressing ALT+PRINT SCREEN on a local computer.)


Microsoft Internet Explorer Keyboard Shortcuts

1. CTRL+B (Open the Organize Favorites dialog box)
2. CTRL+E (Open the Search bar)
3. CTRL+F (Start the Find utility)
4. CTRL+H (Open the History bar)
5. CTRL+I (Open the Favorites bar)
6. CTRL+L (Open the Open dialog box)
7. CTRL+N (Start another instance of the browser with the same Web address)
8. CTRL+O (Open the Open dialog box,the same as CTRL+L)
9. CTRL+P (Open the Print dialog box)
10. CTRL+R (Update the current Web page)
11. CTRL+W (Close the current window)

See Also MS-Excel Shortcut Keys
             Speed Up YOUR Computer

ROUTING




Routing means finding a the route (next hop) for a datagram. If the destination node is on the same network as the source node, the delivery is direct. In direct delivery, the sender can compare the destination address with the address of the computers to which it is connected to. If a match is found, the packet is delivered to the same.
    If the destination host is not in the same network as the sender, the delivery is indirect. In the indirect delivery, the packet goes from router to router until it reaches the network of the destination host. In indirect delivery, the sender uses the IP address of the destination computer and a routing table. The roouting table is used to find the IP address of the router to which the packet should be sent to.




ROUTING METHOD'S





1. STATIC ROUTING


In static routing method, routing tables are manually configured by the network administrator. Static routing is used in smaller networks that contain only a smaller number of routers or where security is major concern. Routers that uses static routing are called static routers. Each static router must be configured and maintained separately because static routers do not exchange routing information with each other.




2. DYNAMIC ROUTING


Dynamic routing is a routing mechanism which is handled by routing protocols such as Routing Information Protocol (RIP), Open Shortest Path First (OSPF) Protocol etc. These protocol dynamically exchange routing information among routers on an inter-network. Routers that use these methods are called dynamic routers.
    A router protocol is installed on each Dynamic Router. The routers periodically exchange their routing information so that if the inter-network is reconfigured or a router goes down, the routing tables of each router are modified accordingly.

Note -- Dynamic routers are less secure because routing tables can be hampered by         hackers




3. DISTRIBUTED ROUTING


In distributed routing, each router periodically exchanges its routing information with each of its neighbours. For example, let us assume that the hop count is taken as a metric-for-routing in a certain network. Once every T milli seconds, a router A send to its neighbourr a list of hop counts (to each destination). It also receives a similar list from its neighbours. Suppose a neighbours B has sent a routing table with 'Bi' as the hop count required to reach node i. If node A knows that the hop count to reach node B is m, it knows that it can reach node i via B in m + Bi hop counts. By performing similar calculation for all the routing tables that arrive, a node can find out the best estimate and correspondingly modify its routing table.




4. HIERARCHICAL ROUTING


In the method of routing, a network is divided into sub-networks. The router is a sub network knows only about the nodes within it sub-network. It is ignorant about the nodes in other sub-networks. This frees the routers from keeping information about all the nodes in a network. As networks grow in size, router does not require large memory, large CPU time and huge bandwidth.


5. DISTANCE VECTOR ROUTING (SHORTEST PATH ROUTING)

6. LINK-STATE ROUTING



CONGESTION CONTROL





Congestion control is the process of monitoring and regulating the total amount of data entering into a network so as to keep traffic levels at an acceptable value. This is done in order to avoid congestion in a telecommunication network. A network is considered congested when too many packets try to access the same router's buffer and the load may exceed the network capacity. During congestion, actions need to be taken by both the transmission protocols and the network routers in order to avoid a congestion collapse and furthermore to ensure network stability, throughput efficiency and fair resource allocation to network users.


            

    Congestion control is implemented at both the transport layer protocols, Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). 
                Two of the congestion control algorithms used in TCP are:

(a) slow start.

(b) exponential backoff.




             Slow chart is one of the algorithms that TCP uses to control 
congestion inside the network. It is also known as the " exponential growth phase". Slow-start works by increases the window size by number of segments acknowledged. This happens until either an acknowledgement is not received for some segment or a predetermined threshold value is reached. In case a packet is lost, TCP assumes this it is due to network congestion and takes steps to reduce the offered load on the network.
            


            Exponential backoff algorithm uses feedback to multiplicatively decrease the rate of some process, in order to gradually find an acceptable rate. It is often used in network congestion avoidance to help determine the correct sending rate. When a collision first occurs, it sends a jamming signal all participating nodes to prevent sending of further data. It will then send a frame after either 0 seconds or after n number of seconds chosen at random. If this sending fails, it will resend the frame after either 0s, ns, 2ns, or 3ns. If these also do not work, it will resend the frame after (k x n)s, where k is a random number between 0 and 23 - 1.



Sunday, June 9, 2013

DOMAIN NAME SYSTEM (DNS)


DNS is a distributed data system that works at the transport layer to provide name-to-address mapping for client applications. DNS servers maintain databases that consist of hierarchical name structures of the various domains in order to use logical names for device identification. This type of address/ name resolution is called service-provider initiated. The largest use of DNS is in the internet.
Sun Micro-systems developed the Domain Name System (DNS) in the early 1980s as an easier way to keep track of internet addresses. The Internet Protocol (IP) uses Internet address information to deliver mail and other data from computer to computer. Every IP address on the internet is actually a series of four numbers seperated by periods called dots, such as 163.52.128.72. But it will be difficult to remember numeric addresses to communicate with someone using electronic mail. The DNS establishes a hierarchy of domains, which are groups of computers on the internet.




The DNS gives each computer on the net an internet address, or domain name, using easily recognizable letters and words instead of numbers.

Domain Name System (DNS) is the standard for resolving names to Internet addresses. However, the hosts file still plays a role in name resolution during the booting of a system and as a means to provide LAN resolution when DNS is down. In a nutshell, DNS is a distributed database whose structure looks like the UNIX file system. DNS is a client / server system in which the resolvers query the named servers to find an address record for a domain name. The query process begins with the root name servers. If the root name server does not know the answer, it returns the address of a name server that knows more details about the domain name. The resolver then queries the new name server. This iterative process continues until a name server responds with the address of a domain name.

The root of DNS database on the internet is managed by the Interenet Network Information Center (http://www.internic.com). The top-level domains were assigned organization wise, and by country.



DNS is a protocol that can be used in different platforms. In the Internet, the domain name space (tree) is divided into the three different sections :::

(a) Generic domains

(b) Countary domains
(c) Inverse domains





A. GENERIC DOMAINS ::


The generic domains define registered hosts according to their generic behaviour. Each node in the tree defines a domain, which is an index to the domain name space database. The first level in the generic domain-section allows seven possible three character lebels. These labels describe the organization types as listed ---

..............................................................................................

 Label Description
..............................................................................................
 com Comercial organization
 edu Educational institutions
 gov Government institutions
 int International organization
 mil Military groups
 net Network support centers
 org Nonprofit organization
.................................................................................................

Recently a few more first-level labels have been proposed. These are listed in Table 2.


........................................................................................................

 Label Description
.......................................................................................................
 art Cultural organizations
 firm Bussiness or firms
 info Information service provider
 nom Personal nomenclatures 
 rec Recreations/entertainment organization
 store Business offering goods to purchase
 web Web-related organizations
.............................................................................................................




B: COUNTRY DOMAINS ::


The Country domain section follows the same format as the generic domains but uses two-character country abbreviations (e.g; "us" for United States) in place of the three-character organizational abbreviations at the first level. Second-level labels can be more specifies, national destinations. The United States, for example, uses state abbreviations as a subdivision of "us" (e.g., ca.us.).


C. INVERSE DOMAINS ::


The inverse domain is used to map an address to a name. This may happen, for example, when a server has received a request from a client to do a task. Whereas the server has a file that contains a list of authorized clients, the server lists only the IP address of the client (extracted from the received IP packet). To determine if the client is on the authorized list, it can send a query to the DNS server and ask for mapping of address to name.




DNS SERVER 


A DNS server is any computer registered to join the Domain Name System. It runs special-purpose networking software, features a public IP address, and contains a database of a network names and addresses for other Internet hosts.
                  DNS servers communicate with each other using private network protocols. All DNS servers are organized in a hierarchy. At the top of this hierarchy are root servers that store the complete database of Internet domain names and their corresponding IP addresses. The Internet employs 13 root servers named A, B, C and so on up to M. The other DNS servers are installed at lower levels of the hierarchy and maintain only certain pieces of the overall database.
                Most of the lower-level DNS servers are owned by businesses or Internet Service Providers (ISPs). For example, Google maintains various DNS servers around the world that manage the google.com, google.co.uk, and other domains. Similarly, ISP's maintain DNS servers for their customer's Internet connection setup.
                When we type a url in our web browser, the web browser acts as a DNS client and sends a request to our ISP's DNS servers. The DNS server will then search its database for a matching name is not in its database, it automatically passes that request to another DNS server or to the next higher level server in the DNS hierarchy. Eventually the request will arrive at a server that has the matching name and IP address in its database. This server will then issue the response which will flow back through the chain of DNS servers to the client.



What is POST OFFICE PROTOCOL (POP)

Post Office Protocol (POP) is a simple protocol used for opening the remote email boxes. This protocol is defined in RFC 1225.
Post Office Protocol version 3 (POP3) provides mechanisms for storing message sent to each user and received by SMTP in a receptacle called a mailbox. A POP3 server stores message for each user until the user connects to download and read them using a POP3 client such as Microsoft Outlook 98, Microsoft Outlook Express, or Microsoft Mail and News.




To retrive a message from a POP3 server, a POP3 client establishes a Transmission Control Protocol (TCP) session using TCP port 110, identifies itself to the server, and then issues a series of POP3 commands::




(a) stat: Asks the server for the number of messages waiting to be retrieved.

(b) list: Determines the size of each message to be retrived .


(c) retr: Retrieves individual message.


(d) Quit: Ends the POP3 session.


Note :; After a POP3 client reads a message in its mailbox on a POP3 server, the Message is deleted. Primarily because of this, POP3 is being supplanted by Internet Mail Access Protocol version 4 (IMAP4), which offers better support for mobile users. POP3 is supported by Microsoft Exchange Server.


See Also ::

1.SMTP
2.FTP
3.NFS
4.SNMP
5.Types of Computer Attacks

Simple Mail Transfer Protocol (SMTP)



*****************************************************
 **** Simple Mail Transfer Protocol (SMTP)  ****
*****************************************************
SMTP stands for Simple Mail Transfer Protocol. It is a TCP/IP protocol that specifies how computers exchange electronic mail. It works with Post Office Protocol (POP).
SMTP is used to upload mail directly from the client to an intermediate host, but only computers constantly connected such as Internet Service Providers (ISP) to the Internet can use SMTP to receive mail. The ISP server then off loads the mail to the users to whom they provide the Internet service.
Windows 2000 includes as SMTP mail client so does Windows NT Resource Kit. Microsoft Exchanging Server will route your LAN mail on and off the internet.




Working of SMTP



SMTP is a simple ASCII protocol. After establishing the TCP connection, the sending machine, operating as the client, waits for the receiving machine, operating as the serve, to talk first. The server starts by sending a line of text giving its identity and telling whether or not it is prepared to receive mail. If it is not, the client releases the connection and tries again later. If the server is willing to accept e-mail, the client announces whom the email is coming from and whom it is going to. If such a recipient exists at the destination, the server gives the client the go-ahead to send the message. Then the client sends the message and the server acknowledges it.



The problems that may arise with SMTP protocol are as follows ::

* Some older version of SMTP implementations cannot handle messages exceeding 64 KB.

* If the client and the server have different timeouts, one of them may give up while the other  is still busy, unexpectedly terminating the connection.

To get around these problems, extended SMTP (ESMTP) has been defined in RFC 1425.

See Also ::
1. What is FTP ?
2. What is NFS ?
3. What is SNMP ?
4. Types of computer attacks



Saturday, June 8, 2013

File Transfer Protocol

Permits files to be transferred from one computer to another using a TCP connection. A related but less common file transfer protocol. Trivial File Transfer Protocol (TFTP), uses UDP rather than TCP to transfer file data.

What is Network File System (NFS) ?


                 **********************************
                  *** Network File System (NFS) ***
                 **********************************
Network File System (NFS) is distributed file system protocol suite developed by Sun Microsystems that allows remote file access across a network. It allows all network users to access shared files stored on remote computers, in exactly the same way as a user would access any local files. This is made possible by a mixture of kernel functionality on the client side (that uses the remote file system) and an NFS server on the server side (that provides the file data). This file access is completey transparent to the client, and works across a variety of server and host architecture.




NFS provides access to shared files through an interface called the 'Virtual File System (VFS)' that runs on top of TCP/IP. With NFS, computers connected to an network operate as clients while accessing remote files, and as servers while providing remote users access to local shared files.



NFS offers a number of advantages. These are :-:

(a) Data accessed by all users can be kept on a central host. For example, we can keep all user accounts on one host, and have all hosts on our access their home (user) directories from that hosts.

(b) Data consuming large amounts of disk space can be kept on a single host. For example, all files and programs relating to LaTeX and METAFONT could be kept and maintained in one place.

(c) Administrative data can be kept on a single host. There is no need keep copies of such files n number of different machines.



See Also :-: