Subscribe by Email


Showing posts with label TCP/IP. Show all posts
Showing posts with label TCP/IP. Show all posts

Saturday, September 21, 2013

What are the services provided to upper layers by transport layer?

In the field of computer networking, the purpose of the 4th layer or the transport layer is to provide services for the end to end communication for the various operating applications. The services are provided within an architectural framework that consists of protocols and the components and is layered. It also offers convenient services such as the following:
Ø  Connection – oriented data stream support
Ø  Reliability
Ø  Flow control
Ø  Multiplexing and so on.

- Both the OSI (open systems interconnection) and TCP/ IP model include the transport layer. 
- The foundation of the internet is based up on the TCP/ IP model whereas for the general networking, the OSI model is followed. 
- However, the transport layer is defined differently in both of these models. Here we shall discuss about the transport layer in the TCP model since it is used for keeping the API (application programming interface) convenient to the internet hosts. 
- This is in contrast with the definition of the transport layer in the OSI model. 
TCP (transmission control protocol) is the most widely used transport protocol and so the internet protocol suite has been named after it i.e., the TCP/ IP. 
- It is a connection-oriented transmission protocol and so it is quite complex. 
This is also because it incorporates reliable data stream and transmission services in to its state-ful design. 
- Not only TCP there are other protocols in the same category such as the SCTP (stream control transmission protocol) and DCCP (datagram congestion control protocol).

Now let us see what all services are provided by the transport layer to its upper layers:
ØConnection-oriented communication: It is quite easy for the application for interpreting the connection as a data stream instead of having to cope up with the connectionless models that underlie it. For example, internet protocol (IP) and the UDP’s datagram protocol.
Ø Byte orientation: Processing the data stream is quite easy when compared with using the communication system format for processing the messages. Because of such simplification, it becomes possible for the applications to work up on message formats that underlie.
Ø  Same order delivery: Usually, it is not guaranteed by the transport layer that the data packets will be received in the same order in which they were sent. But this is one of the desired features of the transport layer. Segment numbering is used for incorporating this feature. The data packets are thus passed on to the receiver in order. Head of line blocking is a consequence of implementing this.
Ø  Reliability: During the transportation some data packets might be lost because of errors and problems such as network congestion. By using error detection mechanism such as CRC (cyclic redundancy check), the data might be checked by the transport protocol for any corruption and for the verification whether the correct reception of the data by either sending a NACK or an ACK signal to the sending host. Some schemes such as the ARR (automatic repeat request) are sometimes used for the retransmission of the corrupted or the lost data.
Ø  Flow control: The rate with which the data is transmitted between two nodes is managed for preventing a sending host with a fast speed from the transmission of data more than what the receiver’s data buffer can take at a time. Otherwise it might cause a buffer overrun.

Ø  Congestion avoidance: Traffic entry in to the network can be controlled by means of congestion control by avoiding congestive collapse. The network might be kept in a state of congestive collapse by automatic repeat requests. 


Wednesday, September 11, 2013

What are transport and application gateways?

- Hosts and routers are separated in TCP/IP architecture. 
- For private networks, more protection is required to maintain an access control over it. 
- Firewall is one of the components of this TCP/IP architecture. 
- Internet is separated from Intranet by this firewall.
- This means all the incoming traffic must pass through this firewall. 
- The traffic that is authorized is allowed to pass through. 
- It is not possible penetrate the firewall simply. 
Firewall has two components namely:
Ø  Filtering router and
Ø  Two types of gateways namely application and transport gateways.
- All the packets are checked by the router and filtered based up on any of the attributes such as protocol type, port numbers, and TCP header and so on. 
Designing the rules for filtering of the packets is quite a complex task. 
- A little protection is offered by this packet filtering since with the filtering rules on one side, it is difficult to cater to the services of the users on other side.

About Application Gateways
- Application layer gateways consist of 7 layer intermediate system designed mainly for the access control. 
- However, these gateways are not commonly used in the TCP/ IP architecture. 
- These gateways might be used sometimes for solving some inter-networking issues. 
- The application gateways follow a proxy principle for supporting the authentication, restrictions on access controls, encryption and so on. 
- Consider two users A and B. 
- A generates an HTTP request which is first sent to the application layer gateway rather than being send to its destination. 
- The gateway checks about the authorization of this request and performs encryption. 
- After the request has been authorized, it is sent to user B from the gateway just at it would have been sent by A.
- B responds back with a MIME header and data which might be de-crypted or rejected by the gateway.
- If the gateway accepts, it is sent to A as if from B. 
- These gateways are designed for all the protocols of application level.


About Transport Gateways
- The working of the transport gateway is similar to application gateway but it works at the TCP connection level. 
- These gateways are not dependent up on the application code but they do need client software so as to maintain awareness about the gateway. 
Transport gateways are intermediate systems at layer 4. 
- An example is the SOCKS gateways. 
- IETF has defined it as a standard transport gateway.
- Again, consider two clients A and B. 
- A TCP connection is opened by A to the gateway. 
- The SOCKS server port is nothing but the destination port. 
- A sends a request to this port for opening the connection to B indicating the port number of the destination. 
- After checking the request, the request for connection from A is either accepted or rejected. 
- If accepted, a new connection is opened to B. 
- The server also informs A that the connection has been established successfully. 
- The data relay between the clients is kept transparent. 
- But in actual there are two TCP connections having their own sequence numbers as well as acknowledgements. 
- The transport gateways are simpler when compared with the application layer gateways. 
- This is so because the transport gateways are not concerned with the data units at the application layer. 
- It has to act on the packets simply once the connection has been established. 
Also, this is the reason why it also gives higher performance in comparison with the application layer gateways. 
- But it is important that the client must be aware of its presence since there is no transparency here. 
- If between the two networks the only border existing is the application gateway, it alone can act as the firewall. 


Friday, July 12, 2013

Sliding Window Protocols? – Part 1

- There are many types of data transmission protocols of which one type is the packet based data transmission protocols. 
- These protocols have a feature called the sliding window protocol.
- The sliding window protocols are a great help wherever the in-order delivery of the data packets demand reliability. 
- For example, the Data link layer of the TCP (transmission control protocol) model and OSI model demand such reliability and thus use window sliding protocol. 
- According to the concept of the sliding window protocols, a consecutive number which is unique is assigned to each and every portion of the transmission i.e., the packets.
- These numbers are used by the receiver for placing the packets it will receive in their correct order. 
- Also, with the help of these numbers, the missing packets can be identified and the duplicate packets can be removed. 
- One problem regarding the sliding window protocols is that it has kept no limits for the size of these numbers that are required. 

- An unlimited number of data packets can be allowed to be communicated at any instant of time if limits are placed on the number of packets involved in transmission or reception. 
- By this, we mean using the sequence numbers of fixed size. 
- By term window we refer to the transmission side. 
- It actually represents the logical boundary or limit of the number of packets that the receiver has to acknowledge. 
- The transmitter has to be informed by the receiver for each ACK (acknowledgement) packet regarding the maximum size or the window boundary of the current receiver buffer. 
- For reporting the window size of the received buffer, a 16 bit field is used in the TCP header. 
- The maximum limit or boundary of the window that we can have is 216 i.e., 64 KB. 
- When operating in the slow start mode, the counting of the transmitter begins with a low packet count.
- Gradually, the number of packets involved increases in every transmission after the ACK packet has been received. 
- Whenever it receives an ACK packet, the window slides logically by one packet for the transmission of a new packet. 
- On reaching the window threshold, one packet is sent by the transmitter for every one packet of ACK received. 
- Suppose the limit of the window is 10 packets and the transmitter is in slow start mode. 
- Then, first one packet will be transmitted followed by another two. 
- Between these two transmissions, it will send an ACK packet also. 
- This process will continue until the limit of 10 has reached. 
- After crossing the limit, the transmission is restricted to one i.e., for every ACK packet received only one data packet is transmitted. 
- When viewed during simulation, it seems as if the window is shifting by distance of one packet whenever an ACK packet is received. 
- For avoiding the traffic congestion, the sliding window protocol works up a great deal.
- In this way the application layer would not have to worry about transmission the next set of data packets. 
- It can continue to do so since the sliding windows of the packet buffer will be implemented on both the sides i.e., the receiver’s and the sender’s side by the TCP. 
-However, the network traffic influences the window size dynamically to a great extent. 
- In order to achieve the highest possible throughput, care should be taken for not forcing the transmitter to stop the transmission before one RTT or round trip delay time by the sliding window protocol. 
- The bandwidth delay product of the links in the communication should be less than the limit of the data amount that can be sent before sending ACK packet. - If this condition is not met, the links’ effective bandwidth will be limited by the protocol. 


Friday, April 2, 2010

Overview of Simple Network Management Protocol - SNMP

- The Simple Network Management Protocol (SNMP) is an application layer protocol that facilitates the exchange of management information between network devices.
- It is part of the Transmission Control Protocol/Internet Protocol (TCP/IP) protocol suite.
- SNMP enables network administrators to manage network performance, find and solve network problems, and plan for network growth.
- SNMP is a popular protocol for network management.
- SNMP can collect information such as a server’s CPU level, server chassis Temperature etc.
- SNMP is the protocol that allows an SNMP manager (the controller) to control an SNMP agent (the controlee) by exchanging SNMP messages.
- The SNMP protocol was designed to provide a "simple" method of centralizing the management of TCP/IP-based networks.

SNMP Basic Components


SNMP consists of three key components: managed devices, agents, and network-- management systems (NMSs).
- A managed device is a network node that contains an SNMP agent and that resides on a managed network.
- An agent is a network-management software module that resides in a managed device. An agent has local knowledge of management information and translates that information into a form compatible with SNMP.
- An NMS executes applications that monitor and control managed devices.

SNMP Commands


- The read command is used by an NMS to monitor managed devices. The NMS examines different variables that are maintained by managed devices.
- The write command is used by an NMS to control managed devices. The NMS changes the values of variables stored within managed devices.
- The trap command is used by managed devices to asynchronously report events to the NMS. When certain types of events occur, a managed device sends a trap to the NMS.

SNMP itself does not define which information (which variables) a managed system should offer. Rather, SNMP uses an extensible design, where the available information is defined by management information bases (MIBs). MIBs describe the structure of the management data of a device subsystem; they use a hierarchical namespace containing object identifiers (OID). Each OID identifies a variable that can be read or set via SNMP.


Monday, March 22, 2010

The TELNET (Terminal Network) Protocol

TELNET (TErminaL NETwork) is a network protocol used on the Internet or local area networks to provide a bidirectional interactive communications facility.
- Telnet offers users the capability of running programs remotely and facilitates remote administration.
- Telnet is available for practically all operating systems and eases integration in heterogeneous networking environments.
- The Telnet protocol is applied on a TCP connection to send data in ASCII format coded over 8 bits between which the Telnet check sequences come.

Communication is established using TCP/IP and is based on a Network Virtual Terminal (NVT). On the client, the Telnet program is responsible for translating incoming NVT codes to codes understood by the client's display device as well as for translating client-generated keyboard codes into outgoing NVT codes.

Commands


The Telnet protocol uses various commands to control the client-server connection. These commands are transmitted within the data stream. The commands are distinguished from the data by setting the most significant bit to 1.

Telnet Options


Options give the client and server a common view of the connection. They can be negotiated at any time during the connection by the use of commands. They are described in separate RFCs.

Use of TELNET


The use of Telnet for remote logins should be discontinued under all normal circumstances, for the following reasons :
- Telnet, by default, does not encrypt any data sent over the connection (including passwords).
- Telnet have no authentication that would ensure communication is carried out between the two desired hosts and not intercepted in the middle.

Telnet is popular in various application areas:


- Enterprise networks to access host applications, e.g., on IBM Mainframes.
- Administration of network elements, e.g., in commissioning, integration and maintenance of core network elements in mobile communication networks, and many industrial control systems.
- MUD games played over the Internet.
- Internet game clubs.
- Embedded systems.
- Mobile data collection applications.


Friday, March 19, 2010

RARP : Reverse Address Resolution Protocol

- RARP (Reverse Address Resolution Protocol) is a protocol by which a physical machine in a local area network can request to learn its IP address from a gateway server's Address Resolution Protocol (ARP) table or cache.
- A reverse address resolution protocol (RARP) is used for disk less computers to determine their IP address using the network. The RARP message format is very similar to the ARP format.
- When a new machine is set up, its RARP client program requests from the RARP server on the router to be sent its IP address.
- The RARP server will return the IP address to the machine which can store it for future use assuming that the entry has been put in the router table.
- RARP is available for Ethernet, Fiber Distributed-Data Interface, and Token Ring LANs.
- The 'operation' field in the RARP packet is used to differentiate between a RARP request and a RARP reply packet.
- Since a RARP request packet is a broadcast packet, it is received by all the hosts in the network. But only a RARP server processes a RARP request packet, all the other hosts discard the packet.
- The RARP reply packet is not broadcast, it is sent directly to the host, which sent the RARP request.

When a RARP server receives a RARP request packet, it performs the following steps:
- The MAC address in the request packet is looked up in the configuration file and
mapped to the corresponding IP address.
- If the mapping is not found, the packet is discarded.
- If the mapping is found, a RARP reply packet is generated with the MAC and IP
address. This packet is sent to the host, which originated the RARP request.

When a host receives a RARP reply packet, it gets its IP address from the packet and completes the booting process.


Thursday, March 18, 2010

Serial Line Internet Protocol - SLIP protocol

The need for a data link layer protocol to let IP operate over serial links was identified very early on in the development of TCP/IP. To solve the problem they created a very simple protocol that would frame IP data grams for transmission across the serial line. This protocol is called the Serial Line Internet Protocol, or SLIP for short.
SLIP modifies a standard TCP/IP data gram by appending a special "SLIP END" character to it, which distinguishes data gram boundaries in the byte stream. SLIP requires a serial port configuration of 8 data bits, no parity, and either EIA hardware flow control, or CLOCAL mode (3-wire null-modem) UART operation settings.

- Serial Line Interface Protocol (SLIP) is a TCP/IP protocol used for
communication between two machines that are previously configured for communication with each other.
- The dial-up connection to the server is typically on a slower serial line rather than on the parallel or multiplex lines.
- SLIP does not provide error detection, being reliant on other high-layer protocols for this.
- A SLIP connection needs to have its IP address configuration set each time before it is established.
- The Serial Line Internet Protocol (SLIP) is a mostly obsolete encapsulation of the Internet Protocol designed to work over serial ports and modem connections.
- A version of SLIP with header compression is called CSLIP (Compressed SLIP).
- The Parallel Line Internet Protocol (PLIP) is very similar to SLIP, but works at higher speeds via a parallel port.
- SLIP is a STREAMS-based computer networking facility that provides for the transmission and reception of IP packets over serial lines.
- SLIP can be used to connect one host to another via a single, physical serial line connection between serial ports or over longer distances using a modem at each end of a telephone line.


Facebook activity