top-rated free essay

Computer Networks UNIT I

By RitzynitzC Feb 08, 2015 4761 Words


Network Architecture - Historical review - Network software architecture: layers and protocol, OSI vs TCP. Network hardware architecture: topologies, devices. Introduction to types of networks-Optical Networks, Sensor networks NETWORKS

A network is a set of devices called nodes connected by communication links. A node can be a computer, printer or any other device capable of sending and/or receiving data generated by other nodes on the network. Network Criteria

The factors to be considered in deciding a network is a good network or not are Performance
Performance can be measured using transit time and response time. Transit time is the amount of time required for a message to travel from one device to another. Response time is the elapsed time between an inquiry and a response. Other factors include no. of users, the type of transmission medium, capability of hardware and efficiency of software. Reliability

Network Reliability is measured by the frequency of failure, the time it takes to link to recover from a failure. Security
Network Security includes protecting the data from unauthorized access.

Types of Networks based on physical Connection

A link is a communications pathway that transfers data from one device to another. There are two types of connections:

A point-to-point connection provides a dedicated link between two devices. The entire capacity of the link is reserved for transmission between those two devices.

 

A Multipoint(also called Multidrop) connection is one in which more than two specific devices share a single link. If several devices can use the link simultaneously, it is a spatially shared connection. If users make turns, it is a timeshare connection.

Workstation Workstation



The Physical topology is the way in which the devices are physically connected in a network. The topology of a network is the geometric representation of the relationship of all the links and linking devices called nodes. There are 4 basic topologies: 1. Mesh

2. Star
3. Bus
4. Ring
1. Mesh topology
In a mesh topology, every device has a dedicated point-to-point link to every other device. The term dedicated means that the link carries traffic only between the two devices it connects.

A fully connected mesh network has n(n-1)/2 physical channels to link n devices. Every device in the network must have n-1 I/O ports.

The use of dedicated links guarantees that each connection can carry its own data load, thus eliminating the traffic problems A mesh topology is robust. If one link becomes unusable, the network do not fails It is more secure because the link is not shared.

Point-to-point links make fault identification and fault isolation easy

Amount of cabling and no. of ports required is more
Installation and reconnection are difficult since every device must be connected to every other device. Wiring occupies more space
The hardware required to connect each link can be expensive.

A mesh topology can be used in a limited fashion. For example – as a backbone connecting the main computers of a network.

2. Star Topology
In a star topology, each device has a dedicated point-to-point link only to a central controller, usually called a hub.

Star topology does not allow direct traffic between devices. The controller acts as an exchange: If one device wants to send data to another, it sends the data to the controller, which then relays the data to the other connected device. Advantages

Less expensive than mesh topology
Each device needs only one link and one I/O port to connect any number of devices Easy to install and reconfigure
It is robust. If one link fails, only that link is affected.

More cabling is required to link each device to central hub but is lesser than that of mesh topology

3. Bus Topology
Bus topology is multipoint. One long cable acts as a backbone to link all the devices in a network. Nodes are connected to the bus cable by drop lines and taps.

Drop Drop Drop Drop
Line line line line

Tap Tap Tap Tap Cable end

A drop line is a connection running between the device and the main cable. A tap is connector. This is a limit on the number of taps a bus can support and on the distance between those taps.

Ease of Installation
Less cabling than mesh or star topologies
Only the backbone cable stretches through the entire network Disadvantages
Difficult reconnection and fault isolation
Difficult to add new devices
Signal reflection at the taps can cause degradation in quality which can be controlled by limiting the number and spacing of devices.

4. Ring Topology
In a ring topology, each device has a dedicated point-to-point connection only with the two devices on either side of it. A signal is passed along the ring in one direction, from device to device, until it reaches its destination. Each device in the ring incorporates a repeater. When a device receives a signal intended for another device, its repeater regenerates the bits and passes them along.

Easy to install and reconfigure
To add or delete a device requires changing only two connections Fault isolation is simplified
A signal is circulating at all times
Unidirectional traffic
A break in the ring can disable the entire network.

Categories of Networks

Three primary categories of network are
1. Local Area Network (LAN)
2. Metropolitan area network (MAN)
3. Wide area network (WAN)

Local Area Network (LAN)

A LAN is privately owned and links the devices in a single office, building, or campus. LANs are designed to allow resources to be shared between personal computers or workstations. The resources to be shared can include hardware, software or data. One of the computers may be given a large capacity disk drive and may become a server to the client. Software can be stored on this central server and used as needed by the whole group. In addition to size, LANs are distinguished from other types of networks by their transmission media and topology. LANs have data rates in the 4 to 16 Mbps range.

Metropolitan Area Network (MAN)
A metropolitan Area network (MAN) is designed to extend over an entire city. It may be a single network such as a cable television network, or it may be a means of connecting a number of LANs into a larger network so that resources may be shared LAN-to-LAN as well as device-to-device. For example, a company can use a MAN to connect the LANs in all its offices throughout the city.

Wide Area Network (WAN)
A Wide area Network (WAN) provides long-distance transmission of data, voice, image and video information over large geographic areas that may comprise a country, a continent, or even the whole world. In contrast to LANs, WANs may be utilize public, leased or private communication equipment usually in combinations. A WAN that is wholly owned and used by a single company is referred to an enterprise network.

When two or more networks are connected, they become an Internetwork, or internet.

Protocols and standards

A protocol is a set of rules that governs data communication. A protocol defines what is communicated, how it is communicated and when it is communicated.

The key elements of a protocol are:


It refers to the structure or format of data, ie the order in which they should be represented.

Eg-a simple protocol might expect the first 8 bits of the data to be the address of the sender. The second 8 bit for the receiver address and the rest is the information.

It refers to the meaning of each section of bits. How is the particular pattern to be interpreted and what action is to be taken based on that interpretation. Timing:

It refers to two characteristics.
1. When data should be send.
2. How fast it should be send.


Standards are essential in creating and maintaining an open and competitive market for equipment manufactures and in guaranteeing national and international interoperability of data and telecommunication technology. Some of the Std committees are-

1. ISO- International Std Organization
2.ITU-T-InternationalTelecommunication Union-Telecommunication Std. 3. ANSI- American National Standard Institute
4. IEEE- Institute of Electrical and Electronics Engineers
5. EIA- Electronics Industries Association


An ISO standard that covers all aspects of network communications is the Open Systems Interconnection (OSI) model. An Open System is a model that allows any two different systems to communicate regardless of their underlying architecture.

The purpose of OSI model is to communicate between different systems without requiring changes to the logic of the underlying hardware and software.

Layered Architecture

The OSI model is built of 7 ordered layers:

1. Physical layer (layer 1)
2. Data link layer (layer 2)
3. Network layer (layer 3)
4. Transport layer (layer 4)
5. Session layer (layer 5)
6. Presentation layer (layer 6)
7. Application layer (layer 7)

As the message travels from A to B, it may pass through many intermediate nodes. These nodes involve only the first 3 layers of the OSI model as shown in the figure.

Peer-to-Peer Process

Within a single machine, each layer calls upon the services of the layer just below it. The processes on each machine that communicate at a given layer are called peer-to-peer processes. At the physical layer, communication is direct: Machine A sends a stream of bits to Machine B. At the higher layers, communication must move down through the layers on machine A, over to machine B, and then back up through the layers. Each layer in the sending machine adds its own information to the message it receives from the layer just above it and passes it to the layer just below it. This information is added in the form of headers or trailers.

Interfaces between layers
The passing of the data and network information down through the layers of the sending machine and back up through the layers of the receiving machine is made possible by an interface between each pair of adjacent layers.

Organization of the layers
The 7 layers can be grouped into 3 subgroups
1. Network Support Layers
Layers 1,2,3 - Physical, Data link and Network are the network support layers. They deal with the physical aspects of moving data from one device to another such as electrical specifications, physical addressing, transport timing and reliability. 2. Transport Layer

Layer4, transport layer, ensures end-to-end reliable data transmission on a single link. 3. User Support Layers
Layers 5,6,7 – Session, presentation and application are the user support layers. They allow interoperability among unrelated software systems Functions of the Layers

1. Physical Layer
The physical layer coordinates the functions required to transmit a bit stream over a physical medium.

The physical layer is concerned with the following:
Physical characteristics of interfaces and media
The physical layer defines the characteristics of the interface between the devices and the transmission medium. Representation of bits
To transmit the stream of bits, it must be encoded to signals. The physical layer defines the type of encoding. Data Rate
The transmission rate-the number of bits sent each second – is also defined by the physical layer. Synchronization of bits
The sender and receiver must be synchronized at the bit level. Their clocks must be synchronized. Line Configuration
In a point-to-point configuration, two devices are connected together through a dedicated link. In a multipoint configuration, a link is shared between several devices. Physical Topology
The physical topology defines how devices are connected to make a network. Devices can be connected using a mesh, bus, star or ring topology. Transmission Mode
The physical layer also defines the direction of transmission between two devices: simplex, half-duplex or full-duplex.

2.Data Link Layer

The data link layer transforms the physical layer, a raw transmission facility, to a reliable link and is responsible for node-to-node delivery.

At this layer, data packets are encoded and decoded into bits. The data link layer is divided into two sublayers: The Media Access Control (MAC) layer and the Logical Link Control (LLC) layer. The MAC sublayer controls how a computer on the network gains access to the data and permission to transmit it. The LLC layer controls frame synchronization, flow control and error checking. The duties are:

Framing- the DDL divides the stream of bits received from the n/w layer into data units called frames.

Physical addressing- if frames are to be distributed to different systems on the n/w , the DDL adds a header to the frame to define the sender and receiver.

Flow control- if the rate at which the data are absorbed by the receiver is less than the rate produced in the sender ,the DDL imposes a flow ctrl mechanism.

Error control- used for detecting and retransmitting damaged or lost frames and to prevent duplication of frames. This is achieved through a trailer added at the end of the frame. Access control -used to determine which device has control over the link at any given time.


This layer is responsible for the delivery of packets from source to destination.

This layer provides switching and routing technologies. The duties are:

Logical addressing-If a packet passes the n/w boundary, we need another addressing system for source and destination called logical address. Routing- Incase of n/w to n/w, we need routers to switch the packets to their final destination.

This layer provides transparent transfer of data between
Process to Process delivery. The duties are:
Port addressing-The header in this must therefore include a address called port address. This layer gets the entire message to the correct process on that computer. Segmentation and reassembly-The message is divided into segments and each segments are assigned a sequence number. These numbers are arranged correctly on the arrival side by this layer. Connection control-This can either be connectionless or connection-oriented. The connectionless treats each segment as a packet and delivers to the destination. The connection-oriented makes connection on the destination side before the delivery. Flow and error control-Similar to DDL layer but process to process take place.

This layer establishes, manages and terminates connections between applications. The duties are :
Dialog control-This session allows two systems to enter into a dialog either in half duplex or full duplex. Synchronization-This allows to add checkpoints into a stream of data.


This is concerned with the syntax and semantics of information exchanged between two systems. The duties:

Translation-The information must be changed into bit streams before being transmitted.

Encryption and decryption-It means that sender transforms the original information to another form and sends the resulting message over the n/w. and vice versa.

Compression and expansion-Compression reduces the number of bits contained in the information particularly in text, audio and video.


This layer enables the user to access the n/w. The duties:

N/w virtual terminal-This allows the user to log on to remote user.

FTAM(file transfer,access,mgmt)-Allows user to access files in a remote host.

Mail services-Provides email forwarding and storage.

Directory services-Provides database sources to access information about various sources and objects.


Transmission Control Protocol/Internet Protocol (TCP/IP)

Most commonly used network protocol suite today
Wide vendor support
Open protocol

The TCP/IP model can be broken down into four layers:
Network Interface

Application layer provides access to network resources
It defines rules, commands, and procedures for client to talk to a service running on a server Transport layer is responsible for preparing data to be transported across the network Internet layer is responsible for logical addressing and routing Network Interface layer consists of the network card driver and the network card itself.

1.Application Layer Protocols

There are many Application layer protocols, each of which is associated with a client application and service HTTP
Hypertext Transfer Protocol (HTTP) is the most common protocol used on the Internet today HTTP defines the commands that Web browsers can send and how Web servers are capable of responding FTP
File Transfer Protocol (FTP) is file-sharing protocol
FTP is implemented in stand-alone FTP clients as well as in Web browsers It is safe to say that most FTP users today are using Web browsers TELNET
Telnet is a terminal emulation protocol that is primarily used to connect remotely to UNIX and Linux Systems The Telnet protocol specifies how a telnet server and telnet client communicate SMTP

Simple Mail Transfer Protocol (SMTP) is used to send and receive e-mail messages between e-mail servers that are communicating It is used by e-mail client software, such as Outlook Express, to send messages to the server SMTP is never used to retrieve e-mail from a server when you are reading it Other protocols control the reading of e-mail messages

Post Office Protocol version 3 (POP3) is the most common protocol used for reading e-mail messages This protocol has commands to download messages and delete messages from the mail server POP3 does not support sending messages

POP3 supports only a single inbox and does not support multiple folders for storage on the server IMAP4
Internet Message Access Protocol version 4 (IMAP4) is another common protocol used to read e-mail messages IMAP4 can download message headers only and allow you to choose which messages to download IMAP4 allows for multiple folders on the server side to store messages

2.Transport Layer Protocols

Transport layer protocols are responsible for getting data ready to move across the network. The most common task performed by Transport layer protocols is breaking entire messages down into packets. Transport layer protocols use port numbers.

Each Transport layer protocol has its own set of ports.
When a packet is addressed to a particular port, the Transport layer protocol knows to which service to deliver the packet. The combination of an IP address and port number is referred to as a socket.

Transmission Control Protocol (TCP) is the most commonly used Transport layer protocol TCP is connection-oriented and reliable
Connection-oriented means that TCP creates and verifies a connection with a remote host before sending information Verifies that the remote host exists and is willing to communicate before starting the conversation TCP is the Transport layer protocol used for most Internet services

User Datagram Protocol (UDP)
Not as commonly used as TCP
Used for different services
Connectionless and unreliable
Streaming audio and video are in this category

TCP versus UDP

TCP is connection-oriented and reliable
Like registered mail
UDP is connectionless and unreliable
Like sending a message split on several postcards and assuming that the receiver will be able to put the message together

3.Internet Layer Protocols
Internet layer protocols are responsible for all tasks related to logical addressing An IP address is a logical address
Any protocol that is aware of other networks exists at this layer Each Internet layer protocol is very specialized
They include: IP, RIP and OSPF, ICMP, IGMP, and ARP

Internet Protocol (IP) is responsible for the logical addressing of each packet created by the Transport layer As each packet is built, IP adds the source and destination IP address to the packet

Internet Control Messaging Protocol (ICMP) is used to send IP error and control messages between routers and hosts The most common use of ICMP is the ping utility

Internet Group Management Protocol (IGMP) is used for the management of multicast groups Hosts use IGMP to inform routers of their membership in multicast groups Routers use IGMP to announce that their networks have members in particular multicast groups The use of IGMP allows multicast packets to be distributed only to routers that have interested hosts connected

Address Resolution Protocol (ARP) is used to convert logical IP addresses to physical MAC addresses This is an essential part of the packet delivery process

Reverse Address Resolution Protocol (RARP), which provides reverse address resolution at the receiving host. (Although Microsoft does not implement the RARP protocol, it is found on other vendors' systems, and is mentioned here for completeness.) OSI Reference Model – Easy way to remember

 Application Layer:
End user processes like file transfer, e-mail, network software services. E.g. Telnet, FTP,SMTP,POP,HTTP 
Presentation/Syntax Layer:
Format, Encrypt data to send across network.
 Session Layer:
Establishes, manages and terminates connections between applications .  Transport Layer:
End-to-end error recovery, flow control.

 Network Layer:
Switching, Routing, Addressing, internetworking, error handling, congestion control and packet sequencing.  Data Link Layer:
Encoding, decoding data packets into bits.
Media Access Control Sub-layer(MAC): Data access/transmit permissions. Logical Link Sub-layer(LLC) : Frame synchronization, flow control, error checking.  Physical Layer:
Conveys the bit stream (electrical, light, radio)
E.g. Ethernet, RS232, ATM
 An easy way to remember : use the following quotes
“All People Seem To Need Data Processing”
“People Do Not Trust Sales People Always”

sensor network
A sensor network is a group of specialized transducers with a communications infrastructure intended to monitor and record conditions at diverse locations. Commonly monitored parameters are temperature, humidity, pressure, wind direction and speed, illumination intensity, vibration intensity, sound intensity, power-line voltage, chemical concentrations, pollutant levels and vital body functions. A sensor network consists of multiple detection stations called sensor nodes, each of which is small, lightweight and portable. Every sensor node is equipped with a transducer, microcomputer, transceiver and power source. The transducer generates electrical signals based on sensed physical effects and phenomena. The microcomputer processes and stores the sensor output. The transceiver, which can be hard-wired or wireless, receives commands from a central computer and transmits data to that computer. The power for each sensor node is derived from the electric utility or from a battery. Potential applications of sensor networks include:

Industrial automation
Automated and smart homes
Video surveillance
Traffic monitoring
Medical device monitoring
Monitoring of weather conditions
Air traffic control
Robot control.
wireless sensor network
(WSN) consists of spatially distributed autonomous sensors to monitor physical or environmental conditions, such as temperature, sound, vibration, pressure, motion or pollutants and to cooperatively pass their data through the network to a main location. The more modern networks are bi-directional, enabling also to control the activity of the sensors. The development of wireless sensor networks was motivated by military applications such as battlefield surveillance; today such networks are used in many industrial and consumer application, such as industrial process monitoring and control, machine health monitoring, and so on. The WSN is built of "nodes" – from a few to several hundreds or even thousands, where each node is connected to one (or sometimes several) sensors. Each such sensor network node has typically several parts: a radio transceiver with an internal antenna or connection to an external antenna, a microcontroller, an electronic circuit for interfacing with the sensors and an energy source, usually a battery or an embedded form of energy harvesting. A sensor node might vary in size from that of a shoebox down to the size of a grain of dust, although functioning "motes" of genuine microscopic dimensions have yet to be created. The cost of sensor nodes is similarly variable, ranging from hundreds of dollars to a few pennies, depending on the complexity of the individual sensor nodes. Size and cost constraints on sensor nodes result in corresponding constraints on resources such as energy, memory, computational speed and communications bandwidth.The topology of the WSNs can vary from a simple star network to an advanced multi-hopwireless mesh network. The propagation technique between the hops of the network can be routing or flooding.In computer science and telecommunications, wireless sensor networks are an active research area with numerous workshops and conferences arranged each year.

A wireless sensor network (WSN) is a wireless network using sensors to cooperatively monitor physical or environmental conditions The development of wireless sensor networks was originally motivated by military applications. Wireless sensor networks are now used in many wide-range application areas. sensor characteristics

Wireless sensors are small devices that gather information. Pressure, Humidity, Temperature
Speed, Location
Wireless sensors have some characteristics:
Low power
Small size
Low cost
Primary Function
Sample the environment for sensory information
Propagate data back to the infrastructure
Traffic pattern in sensor network
Low activity in a long period
Bursting data in short time
Highly correlated traffic
Sensors can be classified into two categories:
Ordinary Sensors
Data gathering
Ordinary Sensors require external circuitry to perform some dedicated tasks like data analyzing. Smart Sensors
Data gathering and processing
Smart Sensors have internal circuitry to perform dedicated tasks.

Area monitoring
Area monitoring is a common application of WSNs. In area monitoring, the WSN is deployed over a region where some phenomenon is to be monitored. A military example is the use of sensors to detect enemy intrusion; a civilian example is the geo-fencing of gas or oil pipelines. When the sensors detect the event being monitored (heat, pressure), the event is reported to one of the base stations, which then takes appropriate action (e.g., send a message on the internet or to a satellite). Similarly, wireless sensor networks can use a range of sensors to detect the presence of vehicles ranging from motorcycles to train cars. Air pollution monitoring

Wireless sensor networks have been deployed in several cities (Stockholm, London or Brisbane) to monitor the concentration of dangerous gases for citizens. Forest fires detection
A network of Sensor Nodes can be installed in a forest to control when a fire has started. The nodes will be equipped with sensors to control temperature, humidty and gases which are produced by fire in the trees or vegetation.[3] The early detection is crucial for a successful action of the firefighters; thanks to Wireless Sensor Networks, the fire brigade will be able to know when a fire is started and how it is spreading.

Greenhouse monitoring
Wireless sensor networks are also used to control the temperature and humidity levels inside commercial greenhouses. When the temperature and humidity drops below specific levels, the greenhouse manager must be notified via e-mail or cell phone text message, or host systems can trigger misting systems, open vents, turn on fans, or control a wide variety of system responses.

Landslide detection
A landslide detection system, makes use of a wireless sensor network to detect the slight movements of soil and changes in various parameters that may occur before or during a landslide. And through the data gathered it may be possible to know the occurrence of landslides long before it actually happens.

Machine health monitoring
Wireless sensor networks have been developed for machinery condition-based maintenance (CBM)as they offer significant cost savings and enable new functionalities. In wired systems, the installation of enough sensors is often limited by the cost of wiring. Previously inaccessible locations, rotating machinery, hazardous or restricted areas, and mobile assets can now be reached with wireless sensors.

Water/wastewater monitoring
There are many opportunities for using wireless sensor networks within the water/wastewater industries. Facilities not wired for power or data transmission can be monitored using industrial wireless I/O devices and sensors powered using solar panels or battery packs. Agriculture

Using wireless sensor networks within the agricultural industry is increasingly common; using a wireless network frees the farmer from the maintenance of wiring in a difficult environment. Gravity feed water systems can be monitored using pressure transmitters to monitor water tank levels, pumps can be controlled using wireless I/O devices and water use can be measured and wirelessly transmitted back to a central control center for billing. Irrigation automation enables more efficient water use and reduces waste.

Structural monitoring
Wireless sensors can be used to monitor the movement within buildings and infrastructure such as bridges, flyovers, embankments, tunnels etc... enabling Engineering practices to monitor assets remotely with out the need for costly site visits, as well as having the advantage of daily data, whereas traditionally this data was collected weekly or monthly, using physical site visits, involving either road or rail closure in some cases. it is also far more accurate than any visual inspection that would be carried out.

Cite This Document

Related Documents

  • Computer networks assignment

    ... Introduction Below is the report is a report outlining the steps that were undertaken in order to come up with a computer network design that will benefit the company, and help improve the security and safety of the company’s information while also improving communication among the four offices. Task 1 To improve my work I could use some ...

    Read More
  • Computer Network Computer Networking Prof. Jean-Yves Le Boudec Prof. Andrzej Duda Prof. Laurent Toutain Prof. Patrick Thiran ICA, EPFL CH-1015 Ecublens Introduction 2 Objective o understand TCP/IP and networking terminology l l l l l l l l l l layered model transport protocol TCP; UDP; IP; MAC IP...

    Read More
  • Computer Networks

    ...CS601: Computer Networks lab EXERCISE - 1 Write a Program in C/ C++ for error detecting code using CRC-CCITT (16 bit) Objective: To enable the receiver of a message transmitted through noisy channel to check whether the message has been corrupted. The aim of an error detection technique is to enable the receiver of a message transmitted throug...

    Read More
  • Computer Network

    ...Bahçeşehir University Department of Computer Engineering CMPE 2204 Introduction to Computer Networks Spring 2013 Chapter 1 Data Communications and Networks Overview and Protocol Layers Dr. Çağrı Güngör 1 Basic Info about the Course • Course Content (tentative): — Computer networks; network architectures; protocol layers;...

    Read More
  • Computer Networks

    ...BUYUKHAN COMPUTER NETWORKS NETWORK TELEPHONY –VOICE OVER INTERNET PROTOCOL(VoIP) VoIP is a set of technologies that enable voice calls to be carried over the internet (or other networks designed for data), rather than the traditional telephone landline system-the Public Switched Telephone Networks(PSTN). VoIP uses IP protocols, originall...

    Read More
  • Computer Networks

    ...Computer Networks Objectives 1.Define computer network. 2.Discuss the need for networks. 3.Identify the disadvantages of networks. What is a Computer Network? Consider All Reasons • On the next slide there will be a statement. • In groups, you are to consider all of the possible reasons behind the statement. • You will be asked to fe...

    Read More
  • Computer Network

    ... NETWORK Computer Network also called Network is a group of computers and other devices connected to each other to share resources electronically. Networks can be as small as two computers or many thousand computers that are connected to one another. These computers are usually connected to one another through wires, satellite, and mo...

    Read More
  • Computer Network

    ...Computer Network A computer network is a number of computers linked together to allow them to share resources. Networked computers can share hardware, software and data. Most computer networks have at least one server. A server is a powerful computer that provides one or more services to a network and its users. For example, file storage and e...

    Read More

Discover the Best Free Essays on StudyMode

Conquer writer's block once and for all.

High Quality Essays

Our library contains thousands of carefully selected free research papers and essays.

Popular Topics

No matter the topic you're researching, chances are we have it covered.