One of the disadvantages of I-TCP is the segmentation of the single TCP connection into TCP connections, thereby losing the original end to end TCP semantic. This TCP enhancement was quite transparently and transmits the TCP end to end connection intact. The main role of this improvement is to buffer data close to the fast local retransmission in case of packet loss.
In this method, the foreign agent buffers are packets with the destination mobile host and additionally snoops the packet flow in both directions. The foreign agent buffers every packet until it receives an acknowledgment from the mobile host. If the foreign agent did not receive an acknowledgment from the mobile host within a certain amount of time.
Alternatively, the foreign agent could receive a duplicate acknowledgment also showing the mass of a packet. Now the foreign agent transmits the packet directly from the buffer, thus performing a much faster transmission compared to the correspondent host. The time out for acknowledgment can be said much shorter, for it reflects only the delay of one-hop plus passing time.
To remain transparent, the foreign agent must not acknowledge data to the respondent host. Doing so so would make the correspondent host believe that the mobile host had received the data. This would violet the end-to-end semantic in case of a foreign agent failure. However, the foreign agent can filter the duplicate acknowledgment to avoid unnecessary retransmissions of data from the correspondent host. If the foreign agent now crashes, the Timeout of the correspondent host still works and triggers retransmission.
Furthermore, the foreign agent may drop duplicates of packets already transmitted locally and acknowledged by the mobile host. This avoids redundant traffic on the wireless connection.
Extending the functions of a foreign agent with a snooping TCP has several advantages:
However, the simplicity of this came also results in some disadvantages:
Software quality assurance Software quality is described as conformance to explicitly state functional and performance requirements, explicitly documented standards and implicit features that are anticipated of all professionally developer software ... Read More
A tunnel establishes a virtual pipe for data packets between a tunnel entry and a tunnel endpoint. Packets entering a tunnel are forwarded inside the tunnel leave the tunnel unchanged. Tunneling, that is, sending a packet through a tunnel, is achieved by using encapsulation ... Read More
The overall structure of the software components and how the success provides a conceptual integrated file system. In other words, architecture is the hierarchical structure of program components, how these components interact, and the structure of data that are used by the components ... Read More
Real-time and distributed system design The real-time system is a software system the correct functioning of the system depends on the results produced by the system the time at which these results are produced ... Read More
Waterfall Model The waterfall model also called classic life cycle requirements is well defined and stable. It suggests a systematic, sequential approach to software development. It begins with customer specification of requirements and processes through planning, modeling, instruction, and deployment ... Read More
Software Design A software design is an essential engineering description of some software product that is to be established. A design can be determined to the customer's requirements and can be assessed for quality against predefined patterns ... Read More