Showing posts with label Communications. Show all posts
Showing posts with label Communications. Show all posts

The OSI 7-Layer Reference Model by Hoang Lihuo


    The Open Standards Interconnection model (OSI) is a network architecture reference model developed by the International Organization for Standardization in the 1980s. It is a conceptual model rather than a real-life implementation designed as a reference for developing network architectures and protocols.

    Having a standardised, multi-layer model has a number of benefits:

        +        Modularisation and abstraction – different components can handle different layers of the stack.             If you’re a web developer, you just need to worry about the application layer, not the full stack. 

 +      Standard interfaces – interaction between layers is well defined so that you can design your   product to run on top of a lower layer protocol regardless of who developed that.

 +         Interoperability – protocols at each layer are specified such that different vendor equipment       should be able to talk to each other at the same layer.

The OSI Reference Model is referred to as a 7-layer model because the total set of functions required to interwork diverse systems was defined and then broken up into seven groups or layers, and arranged in a hierarchy. Each layer has a name and a number. We start numbering at the bottom:

        1: Physical Layer The physical layer provides a raw bit stream service. It moves 1s and 0s between the systems. This is all it does, but it has to do this completely. The physical layer includes the mechanical, electrical, functional and procedural specifications for moving binary digits over a physical medium. 

        2: Data Link Layer The data link layer manages communications on a single circuit, a single link . There may be several stations connected to the circuit – a multidrop circuit – but it is a single physical circuit. Typically sends frames or cells of data across the physical medium with an error check, and performs flow control on the link. This allows communications of blocks of data to another computer on the same circuit. 

        3: Network Layer What happens if we don't have a single link, but 86 of them, and we do not want our data broadcast to all 86 destinations, but rather want it routed and delivered to just one destination? This is the definition of a network… moving data from one link to another, essentially a forwarding function.
     
     4: Transport Layer If the receiver isn't on our network, but on another one, and the networks are connected together with data circuits, or worse yet, multiple intervening networks, how do we know that our data got delivered? The transport layer provides end-to-end error checking to verify that the data was successfully delivered to the far end, and in some cases, retransmit data that was not. Also specified in the transport layer header is the source and destination port number; essentially an identification of which computer program to communicate with on the far-end computer.
      
        5: Session Layer The session layer manages sessions between applications, including initiation, maintenance and termination of information transfer sessions. Usually this is visible to the user by having to log on with a password. SIP is another example of a session layer protocol, used to set up Voice over IP phone call sessions.

         6: Presentation Layer The presentation layer is very important: this is the coding step. How are we going to represent our message in 1s and 0s? ASCII is an example of a presentation layer protocol. Compression and encryption can also be discussed here – they too are methods of coding messages into 1s and 0s.

         7: Application Layer Sitting on top of all of this is the application layer. The application layer defines the format of the messages that will be exchanged, and is usually bundled with a Human-Machine Interface - the applications you and I use to get access to all of this wonderful distributed computing and communications.

Networks and Packets by Hoang Lihuo


Network packet is a formatted unit of data carried by a packet-switched network. A packet consists of control information and user data; the latter is also known as the payload. Control information provides data for delivering the payload (e.g. source and destination network address, error detection codes, or sequencing information). Typically, control information is found in packet headers and trailers.

In packet switching, the bandwidth of the communication medium is shared between multiple communication sessions, in contrast to circuit switching, in which circuits are preallocated for the duration of one session and data is typically transmitted as a continuous bit stream. 

    The word “network” comes from fishing nets, where we have many strings tied together to form a mesh, and one could trace many different possible routes between any two knots or nodes on the net-work.

    In the data communications business, we use the word network in the same way. Networks consist of network equipment connected together with high capacity circuits. Normally, there are redundant connections and multiple routes could be followed between any two pieces of network equipment.

    Access circuits are connected to each piece of network equipment, and users transmit data over the network by sending it into the network over an access circuit, whence it is transferred between network equipment to the receiving end, then delivered over the far-end access circuit.

Packets are blocks of data with network control information. The most interesting type of network control information is the network address, which indicates the final destination of the packet.

    All network equipment, such as routers, look at the network address to decide which route to take to get to that destination. Data to be transferred over a network must be formatted into packets with network addresses regardless of which type of data circuit is used. The most popular protocols for this is the Internet Protocol (IP).

The definition of a network is having to make a routing decision: which route to take to get to the destination.If there are no one-of-many route decisions being made, for example, if the data is broadcast to every station, then it is not, strictly speaking, a network.