IntroductionIn this report the OSI (Open Standard Interconnection) model will be explained, with particular focus on the Transport and Session Layer, explaining the technical operations and looking in-depth at main issues on those two layers.The OSI ModelThe Open Systems Interconnection (OSI) model is a conceptual framework, used to describe the functions of a networking or telecommunication system. The model is composed by 7 layers, used to describe the network from physical connections all the way up to applications running on a machine. The 7 layers are stacked as follow:1. Physical Layer2. Data Link Layer3. Network Layer4. Transport Layer5. Session Layer6. Presentation Layer7. Application LayerThe OSI model is very important in the networking, IT and telecommunication world because, as said on a post on Quora concerning the topic, “The purpose of the OSI reference model is to guide vendors and developers so the digital communication products and software programs they create will interoperate, and to facilitate clear comparisons among communications tools.” (Quora, 2018).2.1 Physical LayerThe Physical Layer is the first and lowest layer in the hierarchy, and is concerned with the reception and transmission of a bit stream over a physical media (such as a cable or radio waves). It includes all the voltages, frequencies and physical requirements of the medium and carries the signal for all the higher layers. It provides:1. Data encoding: what signal state represents a binary 1, how the receiving station knows when a bit-time starts etc.2. Physical medium: various possibilities of the medium, how many pins does the connector has etc.3. Transmission techniques: baseband (digital) transmission or broadband (analogue) transmission.The Physical Layer is often the starting point when troubleshooting networking problems, as it can be as simple as an unplugged cable.2.2 Data Link LayerThe Data Link Layer is the layer in which the data frames are exchanged between nodes, error-free as it features error correction from the physical layer. Inside the Data Link Layer, the Media Access Control (MAC) addresses are used to identify the nodes, and most switches operates at this level to forward frames within a network. The Data Link Layer also establish and terminates the logical link between two nodes, checks the receiving frames for their integrity (error check) and determines when a node has the right to use the medium.2.3 Network LayerThis is the layer at which most routers work, forwarding packets between networks and to other routers. The Network Layer also controls the operation of the subnet, deciding the physical paths based on the conditions of the network, priority of the service and other factors. The Network Layer mainly provides:1. Routing frames between networks.2. Subnet traffic control.3. Frame fragmentation (frames are fragmented and reassembles at the end of the path for better speed and efficiency).4. Logical to physical addresses translation.2.4 Transport LayerThe Transport Layer is responsible for the coordination of the data transfer between hosts and end-systems, such as how much data is sent, at what rate etc.The main role of the Transport Layer is to accept data from the upper layers and prepare it to be sent by the lower Network and Data Link layers. It is responsible to break up the data into smaller segments, make sure all the segments are received and not lost, and to verify all segments has arrived at the destination.The Transport Layer will be discussed in depth in the following chapters of this report.2.5 Session LayerThe Session Layer allow the establishment of a session between processes that are running on different stations, and provides all the session establishment requirements, such as the maintenance and termination of a session, as well as all the session support requirements, such as performing security, logging etc.Along with the Transport Layer, the Session Layer will be discussed in depth in the following chapters of this report.2.6 Presentation LayerThe Presentation Layer formats the data that has been exchanged in the layers below and presents it to the Application Layer, so that it can be viewed by the end-user. The Presentation Layer does not only work at the receiving station, but it translates the data from the Application Layer to a common format at the sending station, and from the common format to the Application Layer at the receiving station. This includes character code translation, such as ASCII, data compression and data encryption.2.7 Application LayerThis is the last layer in the hierarchy, and serves as a window for the users and user application to access the network, and includes all the commonly needed functions, like remote file access, remote printing, directory services, electronic messaging (such as email) etc.Transport LayerAs introduced before, the Transport Layer is responsible for packing all the data from the various applications and then transporting them and delivering them. The Transport Layer can be thought of as a big shipping department that prepares a single shipping order of multiple packages to be delivered.Transport Layer ResponsibilitiesIn the Transport Layer each set of data flowing between two applications is referred to as a “conversation”, and since multiple applications can run on a single machine at the same time, it is the responsibility of the Transport Layer to keep track and maintain these conversations.Because network often have a maximum of data that can be included in one packet, Transport Layer protocols have services that segment the data in blocks. These blocks then are given a header in order to keep track of them and to be correctly reassembled at the destination.When a packet is reconstructed at the destination, the Transport Layer needs to know to which application it belongs. It does that by adding to the header an identifier of the application, called port number. Each application that needs to access the internet is assigned a port number, and this number is then added to the packet header, so it can be delivered to the right application at the destination.Transport Layer ProtocolsThough Internet Protocol (IP) is concerned with addressing and structure of the packets, it does not specify how these packets are routed. This work is done by two TCP/IP protocols: Transport Control Protocol (TCP) and User Datagram Protocol (UDP).Transport Control Protocol (TCP)Back to the shipping department analogy, TCP sends the packet that are traceable, just like you can trace a shipment. There are three main operation in the TCP protocol:1. Tracking and numbering of the segments to a host from an application.2. Acknowledging received data.3. Retransmitting any lost data.This protocol is ideal in situations where the packets that make up the data cannot be lost, such as in a download of important documents.User Datagram Protocol (UDP).Unlike TCP, UDP is a more basic transport protocol, because it does not check for unacknowledged data, it just delivers the data segments between applications. This makes it quicker than TCP but more unreliable, and it is more suitable in applications where speed is more important that the integrity of the data, like for example Skype or other conferencing applications, where a lagged feed is worse than a few frames dropped.In the shipping department analogy, UDP is like a regular, non-registered, letter in the mail, that is untraceable and where the post office has no responsibility if lost, but unlike the regular mail it gets delivered much quicker.Ports NumbersIn the header of a packet, two port numbers are registered: source port and destination port. The source port is the port of the application that is originating the data, while the destination port is the application the data is destined to. The ports are divided as follow:• Ports from 0 to 1023 are ports assigned to common protocols, like HTTP or FTP.• Ports from 1024 to 49151 are registered ports assigned by ICANN to specific services.• Ports from 49152 to 65535 are ad-hoc ports that can be used by any service.To identify the server and service requested by a client, a combination of the IP address and port number is used, and is called a Socket. For example, if the server’s IP address is 192.168.1.10, and the service’s port is 121, the socket will be: 192.168.1.10:121.Session LayerWhen two computers need to speak to each other, a session needs to be created between the two. This is responsibility of the session layer, which functions include the setup, coordination and termination of the session.Some of the key services offered by the Session Layer include:• Dialogue Discipline: the communication inside a session can be full duplex or half duplex.• Grouping: the data flowing in a session can be marked and then grouped, for example data of a single videoclip can be grouped and data of an audio stream can be grouped in a different group.• Recovery: the Session Layer features a checkpoint mechanism, so that – if some data is lost between two checkpoint – the session retransmits all data from the last checkpoint. The Session Protocol can be used to create sessions between two party (unicast) or multiparty (multicast).ConclusionThe OSI model is divided into 7 layers, that helps grouping a network into logical layers, helping with the understanding of its operations and troubleshooting.In particular the Transport Layer is responsible of packing the data from the applications and preparing it to be sent over the network, and the Session Layer is responsible of creating sessions between two or multiple machines in order to exchange data between them. This coursework helped me gain a deeper knowledge about networks and in particular the OSI model, and how important it is in today’s networks and IT environments, as it is the base of today’s network infrastructure.