Design issues for the layers | Addressing | Direction of Transmission | Scalability | Routing | Reliability | Error Control | Flow Control | Multiplexing and De-multiplexing | Confidentiality and Integrity

The following are the design issues for the layers:
I) Addressing:

  • There are multiple processes running on one machine.
  • Every layer needs a mechanism to identify senders and receivers.
  • Since there are multiple possible destinations, some form of addressing is needed in order to specify a specific destination.

II) Direction of Transmission:
Based on system communication, system are classified as:

  • Simplex Systems.
  • Half Duplex Systems.
  • Full Duplex Systems.

III) Scalability:

  • When network gets large, new problem arises.
  • Thus scalability is important so that network can continue to work well when it gets large.

IV) Routing:

  • When there are multiple paths between source and destination, only one route must be chosen.
  • This decision is made on the basis of several routing algorithms, which chooses optimized route to the destination.

V) Reliability:

  • It is a design issue of making a network that operates correctly even when it is made up of unreliable components.

VI) Error Control:

  • It is an important issue because physical communication circuits are not perfect.
  • Many error detecting and error correcting codes are available.
  • Both sending and receiving ends must agree to use any one code.

VII) Flow Control:

  • If there is a fast sender at one end sending data to a slow receiver, then there must be flow control mechanism to control the loss of data by slow receivers.
  • There are several mechanisms used for flow control such as increasing buffer size at receivers, slow down the fast sender, and so on.
  • Some process will not be in position to accept arbitrarily long messages.
  • This property leads to mechanisms for disassembling, transmitting and the reassembling messages.

VIII) Multiplexing and De-multiplexing:

  • If the data has to be transmitted on transmission media separately, it is inconvenient or expensive to setup separate connection for each pair of communicating processes.
  • So, multiplexing is needed in the physical layer at sender end and de-multiplexing is need at the receiver end.

IX) Confidentiality and Integrity:

  • Network security is the most important factor.
  • Mechanisms that provide confidentiality defend against threats like eavesdropping.
  • Mechanisms for integrity prevent faulty changes to messages.

Contributor's Info

Need for layered designing for networking and communication

Need for layered designing :
1. The first computer networks were designed with the hardware as the main concern and the software as an afterthought.
2. This strategy no longer works.
3. Network software is now highly structured.
4. To reduce their design complexity, most networks are organized as a stack of layers or levels, each one built upon the one below it.
5. The number of layers, the name of each layer, the contents of each layer, and the function of each layer differ from network to network.
6. The purpose of each layer is to offer certain services to the higher layers while hiding those layers from the details of how the offered services are actually implemented.
7. In a sense, each layer is a kind of virtual machine, offering certain services to the layer above it.
8. Therefore Layered Architecture provides Flexibility to modify and develop network services.
9. Let us consider the example: Given below is a three-layer network. When layer n on one machine carries on a conversation with layer n on another machine, the rules and conventions used in this conversation are collectively known as the layer n protocol.

Contributor's Info

0Comment Private Router Login IP

The IP '' is one of the most popular IP known to internet users. It is given to network devices as there default IP's by manufacturers of network printer, wireless routers and to many more such network devices.

If you have purchased any new network device and you don't know how to access its management console panel, then just connect that device with your computer and open web browser and type '' and hit enter. It will than prompt for username and password, by default most manufacturers set both values as 'admin'. Once you pass this phase you are displayed with web page which has all details about your network device settings. This is a very simplified method to configure your network device.


'' belongs to branch of private IP addresses. These private IP addresses unlike public addresses need only to remain unique inside a local network. They are used again and again worldwide in networks of schools, corporate offices, banks and many more. Its only due to these private IPs IPv4 is still surviving.


So coming back to our topic which is an IP address of Class C. I show you step by step process of how to access my new wireless router 'kasda' model KW5815U2.


First of all switch on your wireless router. Once its powered on open your web browser and type and hit enter. Do not confuse this IP address with 192.168.l.l because 192.168.l.l or 192.168. ll is not a valid IP address .

Once you press enter key after typing in your web browser, you will see following screen

Username by default is admin, most of devices come along with password set as admin. I type 'admin' as user name and 'admin' as password .

Once you press enter you will see following screen

This is the management console of your wireless router and lets you configure your wireless router settings.

Next we see what's the impact of this IP on your computer. To see this open 'Network connection details'.  

Above is details of my wireless network connection on my PC. My PC has adopted as its default gateway, DHCP and DNS server, as you can see in red box


Contributor's Info

Created: Edited:
Sumit Verma @sumitverma 24 Apr 2017 03:59 pm

Nice !!

Cache Mapping Techniques

By caching data, operating systems want to minimize delay to fetch next data or instruction. Cache mechanisms use principle of locality to bring in data which may be accessed next, based on currently accessed data, for faster access. There are two locality principles:
Temporal locality:  data which is used recently may be used again in near future.
Spatial locality:  data near to current accessed data may be accessed in near future.
There are three mapping techniques : Direct mapping, fully associative and set associative mapping.
Direct mapping:
In a direct mapped cache, lower order line address bits are used to access the directory. Since multiple line addresses map into the same location in the cache directory, the upper line address bits (tag bits) must be compared with the directory address to ensure a hit. If a comparison is not valid, the result is a cache miss, or simply a miss. The address given to the cache by the processor actually is subdivided into several pieces, each of which has a different role in accessing data.

Fully associative:
In fully associative mapping, when a request is made to the cahce, the requested address is compared in a directory against all entries in the directory. If the requested address is found (a directory hit), the corresponding location in the cache is fetched and returned to the processor; otherwise, a miss occurs. 

Set associative mapping:
The set associative cache operates in a fashion somewhat similar to the direct-mapped cache. Bits from the line address are used to address a cache directory. However, now there are multiple choices: two, four, or more complete line addresses may be present in the directory. Each of these line addresses corresponds to a location in a sub-cache. The collection of these sub-caches forms the total cache array. In a set associative cache, as in the direct-maped cache, all of these sub-arrays can be accessed simultaneously, together with the cache directory. If any of the entries in the cache directory match the reference address, and there is a hit, the particular sub-cache array is selected and outgated back to the processor. 

Contributor's Info

Diffie-Hellman key exchange

The Diffie-Hellman key agreement protocol (1976) was the first practical method for establishing a shared secret over an unsecured communication channel. The point is to agree on a key that two parties can use for a symmetric encryption, in such a way that an eavesdropper cannot obtain the key.
1. Alice and Bob agree on a prime number p and a base g.
2. Alice chooses a secret number a, and sends Bob ( ga mod p).
3. Bob chooses a secret number b, and sends Alice ( gb mod p).
4.  Alice computes (( gb mod p )a mod p).
5. Bob computes (( ga mod p )b mod p).
Both Alice and Bob can use this number as their key. Notice that p and g need not be protected.

Contributor's Info

Created: Edited:
RSA Cryptosystem

RSA Cryptosystem
 The system was invented by three scholars Ron Rivest, Adi Shamir, and Len Adleman and hence, it is termed as RSA cryptosystem.
Generation of RSA Key Pair
Each person or a party who desires to participate in communication using encryption needs to generate a pair of keys, namely public key and private key. The process followed in the generation of keys is described below −

  • Generate the RSA modulus (n)

    • Select two large primes, p and q.

    • Calculate n=p*q. For strong unbreakable encryption, let n be a large number, typically a minimum of 512 bits.

  • Find Derived Number (e)

    • Number e must be greater than 1 and less than (p − 1)(q − 1).

    • There must be no common factor for e and (p − 1)(q − 1) except for 1. In other words two numbers e and (p – 1)(q – 1) are coprime.

  • Form the public key

    • The pair of numbers (n, e) form the RSA public key and is made public.

    • Interestingly, though n is part of the public key, difficulty in factorizing a large prime number ensures that attacker cannot find in finite time the two primes (p & q) used to obtain n. This is strength of RSA.

  • Generate the private key

    • Private Key d is calculated from p, q, and e. For given n and e, there is unique number d.

    • Number d is the inverse of e modulo (p - 1)(q – 1). This means that d is the number less than (p - 1)(q - 1) such that when multiplied by e, it is equal to 1 modulo (p - 1)(q - 1).

    • This relationship is written mathematically as follows −

ed = 1 mod (p − 1)(q − 1)

The Extended Euclidean Algorithm takes p, q, and e as input and gives d as output.

An example of generating RSA Key pair is given below. (For ease of understanding, the primes p & q taken here are small values. Practically, these values are very high).

  • Let two primes be p = 7 and q = 13. Thus, modulus n = pq = 7 x 13 = 91.

  • Select e = 5, which is a valid choice since there is no number that is common factor of 5 and (p − 1)(q − 1) = 6 × 12 = 72, except for 1.

  • The pair of numbers (n, e) = (91, 5) forms the public key and can be made available to anyone whom we wish to be able to send us encrypted messages.

  • Input p = 7, q = 13, and e = 5 to the Extended Euclidean Algorithm. The output will be d = 29.

  • Check that the d calculated is correct by computing −

de = 29 × 5 = 145 = 1 mod 72
  • Hence, public key is (91, 5) and private keys is (91, 29).

Encryption and Decryption

Once the key pair has been generated, the process of encryption and decryption are relatively straightforward and computationally easy.

Interestingly, RSA does not directly operate on strings of bits as in case of symmetric key encryption. It operates on numbers modulo n. Hence, it is necessary to represent the plaintext as a series of numbers less than n.

RSA Encryption

  • Suppose the sender wish to send some text message to someone whose public key is (n, e).

  • The sender then represents the plaintext as a series of numbers less than n.

  • To encrypt the first plaintext P, which is a number modulo n. The encryption process is simple mathematical step as −

C = Pe mod n
  • In other words, the ciphertext C is equal to the plaintext P multiplied by itself e times and then reduced modulo n. This means that C is also a number less than n.

  • Returning to our Key Generation example with plaintext P = 10, we get ciphertext C −

C = 105 mod 91

RSA Decryption

  • The decryption process for RSA is also very straightforward. Suppose that the receiver of public-key pair (n, e) has received a ciphertext C.

  • Receiver raises C to the power of his private key d. The result modulo n will be the plaintext P.

Plaintext = Cd mod n
  • Returning again to our numerical example, the ciphertext C = 82 would get decrypted to number 10 using private key 29 −

Plaintext = 8229 mod 91 = 10

Contributor's Info

Created: Edited:
Flow Control and Ethernet Frame Format (IEEE 802.3)

\(ɑ = { Propagation delay (Tp)\over Transmission delay (Tt)} \)


Stop & Wait




      \( {1 \over1+ 2a}\)

   \( {N \over 1+2a}\)

  \( {N \over 1+2a}\) 

Sequence Numbers




Retransmissions (for 1 packet lost )




















In CSMA/CD, minimum length of packet to detect collision, L >= 2 * Tp * Bandwidth
Ethernet Frame Format (IEEE 802.3):


Contributor's Info

Created: Edited: