Not sure what you're asking, Purnendu. I would agree with your suggestion that heterogeneity of connected devices is one criterion, and that another is the protocols supported through the core (IP, IPX, ...), although that is becoming a non-issue, as IP has dominated quite effectively. How about connection protocols at the network edges?
It's one thing to support various types of IP devices, each of which might require their own specific "apps." It's another level of complexity to also have to support non-IP devices. Such as analog or discrete, or serial digital. This might require signal processing embedded at edge nodes, depending how it's designed. Added complexity.
The network topology is a factor. The way the network might be segmented in different administrative domains, using a combination of IGP and BGP.
And so on. In individual cases, hopefully you won't have to deal with all of these complicating factors simultaneously!
To attempt the question on complexity and heterogeneity of device and networks to which in my opinion can further be seen from two different angles. The advent of Mark Weiser dreams of ubiquitous and pervasive computing has brought about proliferation in computer networks system and Technology for what we are today. That has nevertheless contributed to lots of limitation and incapacity of hardware and software that make a hole in providing the best and immediate solution of today. Still there is lot of many inconclusive research in different areas like Artificial intelligence and neural networks, Mobile ad hoc network, DDoS , complex routing and protocols and much more. The fact to conclusively describe the complexity of network in just one line would be a difficult task for anyone here. There is the need to narrow your question to point in one particular direction.
I just finished typing my answer a minute ago but I think my browser ate it - trying to enter it again, please excuse if both turn up in the end. As I said, I am also not sure of the main focus of the question, but hope this is helpful.
Certainly, “how many / how many different” (a naive way to measure complexity heterogeneity) is very important. Accepted measures in the job market include how many total enterprise users, how many total network devices, how many types of devices this total includes, and how many different protocols.
Job roles are often broken into (bottom to top) network administrators, managers, and architects (one of more of these roles may also be called network engineers). For admins, these numbers are often considered per-admin. For example, some studies have concluded that about 42 devices per admin is an acceptable maximum for effective administration. In practice it can be hundreds. Numbers are not comparable apples-to-apples since different enterprises may use different orchestration tools that allow more efficient administering. This is likely to be forced on all (like it or not) in the coming SDN days. For network managers, total numbers are taken to be more relevant, and also the total number of admins (whom they have to backstop), and if the per-admin network device number is high, it is also assumed that the network manager’s job is more difficult, since more things will be kicked up to them.
The layer the devices operate on is also relevant. L2 devices are taken to be easier to administer than L3 devices, which add complexity such as OSPF.
I was also curious as to what your own context for the question was. Are you a student trying to complete a term paper, or a research students looking for a research question, or prepping for an interview, or what? Hope you will provide some more information.
The complexity of a network is defined as a number of nodes and alternative paths that exist within a computer network, as well as the variety of communication media, communications equipment, protocols, and hardware and software platforms found in the network.
And the network that it uses multiple communication media and communication protocols to interconnect geographically distributed networks with dissimilar hardware and software platforms would be classified as a complex network.
The fact to define the complexity of the network from the perspective of the Network Administrator. For me I considered network complexity as a tool or mechanism to ensure good security system when dealing with device configuration. A complex network architecture and implementation determine how securely you can relied on the networks infrastructure against internal and external attacks. In most cases security mechanism in a network is not form with a simple rules when one wanted to make them both computationally and un-computationally secured. Hence, sometimes complexity of network can be seen from incapacity of one to understand or provide solution to the challenges faced by his networks and that can be look from the knowledge based problem and experience in the field. There so many ways to explore complexity of the network just like what "Rudra" has explained in above.