Question

In: Computer Science

In 17.3   TCP Connection Establishment we noted that RST packets had to have a valid SYN value,...

In 17.3   TCP Connection Establishment we noted that RST packets had to have a valid SYN value, but that “RFC 793 does not require the RST packet’s ACK value to match”. There is an exception for RST packets arriving at state SYN-SENT: “the RST is acceptable if the ACK field acknowledges the SYN”. Explain the reasoning behind this exception. (This is the one RST transition shown in the state diagram at 17.7   TCP state diagram.)

Solutions

Expert Solution

TCP is quite different in several dimensions .

TCP is stream-oriented, meaning that the application can write data in very small or very large amounts and the TCP layer will take care of appropriate packetization (and also that TCP transmits a stream of bytes, not messages or records;

TCP is connection-oriented, meaning that a connection must be established before the beginning of any data transfer

TCP is reliable, in that TCP uses sequence numbers to ensure the correct order of delivery and a timeout/retransmission mechanism to make sure no data is lost short of massive network failure.

In Above

RFC 793 does not require the RST packet’s ACK value to match”

The original TCP standard RFC 793 does allow data to be sent with the first SYN packet, as part of the handshake, but such data cannot be released to the remote-endpoint application until the handshake completes.

TCP Connection Establishment  RST packets had to have a valid SYN value If B had not been LISTENing at the port to which A sent

its SYN  its response would have been RST (“reset”), meaning in this context “connection refused”. Similarly,if A sent data to B before the SYN packet, the response would have been RST.

RST can be sent by either side at any time to abort the connection. Sometimes routers along the path send “spoofed” RSTs to tear down TCP connections.

sometimes external attackers are able to tear down a TCP connection with a spoofed RST;

spoofed So this Requires the

1.brute-force guessing the endpoint port numbers

2.the current SYN value

Thats why RFC 793 does not require the RST packet’s ACK value to match

In the days of 4 kB window sizes, guessing a valid SYN was a one-in-a-million chance.

In all states except SYN-SENT, all reset (RST) segments are validated by checking their SEQ-fields.

A reset is valid if its sequence number is in the window. In the SYN-SENT state (a RST received in response to an initial SYN), the RST is acceptable if the ACK field acknowledges the SYN.

The receiver of a RST first validates it, then changes state. If the receiver was in the LISTEN state, it ignores it.

If the receiver was in SYN-RECEIVED state and had previously been in the LISTEN state, then the receiver returns to the LISTEN state, otherwise the receiver aborts the connection and goes to the CLOSED state

If the receiver was in any other state, it aborts the connection and advises the user and goes to the CLOSED state.


Related Solutions

Using a TCP SYN spoofing attack, the attacker aims to flood the table of TCP connection...
Using a TCP SYN spoofing attack, the attacker aims to flood the table of TCP connection requests on a system so that it is unable to respond to legitimate connection requests. Consider a server system with a table for 256 connection requests. This system will retry sending the SYN-ACK packet five times when it fails to receive an ACK packet in response, at 30 second intervals, before purging the request from its table. Assume that no additional countermeasures are used...
Using a TCP SYN spoofing attack, the attacker aims to flood the table of TCP connection...
Using a TCP SYN spoofing attack, the attacker aims to flood the table of TCP connection requests on a system so that it is unable to respond to legitimate connection requests. Consider a server system with a table for 256 connection requests. This system will retry sending the SYN-ACK packet five times when it fails to receive an ACK packet in response, at 30 second intervals, before purging the request from its table. Assume that no additional countermeasures are used...
Considering the TCP ACK Scan that we have seen in class, write a signature for an...
Considering the TCP ACK Scan that we have seen in class, write a signature for an Intrusion Detection System (IDS) that is able to catch it.
We have noted that the classical dichotomy assumption holds in the long run but not in...
We have noted that the classical dichotomy assumption holds in the long run but not in the short run. a. Briefly describe 3 reasons why the classical dichotomy would not hold in the short-run b. If we assume that the classical dichotomy holds in the short run as well, what effect would changes in the nominal interest rate have on the real economy?
A recent article online noted that grocery stores have had to increase the price of eggs...
A recent article online noted that grocery stores have had to increase the price of eggs by 14% to make up for suppliers doubling the cost of wholesale eggs. Explain how each of the three inventory cost methods would impact the financial statements during this time of rising prices. Response should be no more than 1 page, double spaced. (10 points)
A recent article online noted that grocery stores have had to increase the price of eggs...
A recent article online noted that grocery stores have had to increase the price of eggs by 14% to make up for suppliers doubling the cost of wholesale eggs. Explain how each of the three inventory cost methods(FIFO,LIFO,weighted average) would impact the financial statements during this time of rising prices.
In this chapter, we have noted how businesses are dynamic and constantly looking to exploit new...
In this chapter, we have noted how businesses are dynamic and constantly looking to exploit new opportunities that involve changing the way they operate production. What might not have been a success for some firms does not mean to say that there are no other firms that will be able to benefit. This article shows how problems faced by one firm in making sufficient profits are not necessarily shared by other firms as the use of factor inputs is changed.    ...
An issue that we have been constantly facing is determining whether valid characters exist in the...
An issue that we have been constantly facing is determining whether valid characters exist in the command line arguments for the laboratory tests. Many solutions rely on stepping through the argument list determining whether the current character is valid via a series of 'if' statements. Whilst this approach is certainly effective it is often prone to error. Consider an array of suitable characters for an application as follows: const char validCharacters[] = ".,-+eE0123456789"; Utilising nested 'for' loops, the characters in...
n this chapter, we have noted how businesses are dynamic and constantly looking to exploit new...
n this chapter, we have noted how businesses are dynamic and constantly looking to exploit new opportunities that involve changing the way they operate production. What might not have been a success for some firms does not mean to say that there are no other firms that will be able to benefit. This article shows how problems faced by one firm in making sufficient profits are not necessarily shared by other firms as the use of factor inputs is changed.    ...
n this chapter, we have noted how businesses are dynamic and constantly looking to exploit new...
n this chapter, we have noted how businesses are dynamic and constantly looking to exploit new opportunities that involve changing the way they operate production. What might not have been a success for some firms does not mean to say that there are no other firms that will be able to benefit. This article shows how problems faced by one firm in making sufficient profits are not necessarily shared by other firms as the use of factor inputs is changed.    ...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT