Delay in [SYN,ACK] packet by server to client by server
There is delay seen on server machine while sending [SYN,ACK] packet to Client machine for the first connection attempt from client. These are some observations analyzed with sniffer tool wireshark:-
Due to this delay:-
- Client application is sending the [TCP Retransmission] packet to server.
- Later, connection timeout expires(3 seconds) on client side and it tries second connection attempt with server.
- Surprisingly, server immediately sends [SYN,ACK] packet for second connection attempt to client back.
- After sending [SYN,ACK] packet for second attempt, server responds back with [SYN,ACK] packet for the first attempt.
For better understanding, client application sends the connection request certain set server ports all together. Server sends [SYN,ACK] packet from the listening port which is one of these ports.
I will be pleased if somebody explains :-
- Why there is delay in [SYN,ACK] packet from server machine?
- Why server able to respond back immediately with [SYN,ACK] packet for second attempt but responded for first connection attempt after sending [SYN,ACK] for first attempt.
- Who takes care of responding back [SYN,ACK] packet to client machine? Is it server application or any other operating system service?
The screenshot of wireshark is attached here. The above mentioned observation is on the basis of frame#20145 to Frame#20428
sockets listen
add a comment |
There is delay seen on server machine while sending [SYN,ACK] packet to Client machine for the first connection attempt from client. These are some observations analyzed with sniffer tool wireshark:-
Due to this delay:-
- Client application is sending the [TCP Retransmission] packet to server.
- Later, connection timeout expires(3 seconds) on client side and it tries second connection attempt with server.
- Surprisingly, server immediately sends [SYN,ACK] packet for second connection attempt to client back.
- After sending [SYN,ACK] packet for second attempt, server responds back with [SYN,ACK] packet for the first attempt.
For better understanding, client application sends the connection request certain set server ports all together. Server sends [SYN,ACK] packet from the listening port which is one of these ports.
I will be pleased if somebody explains :-
- Why there is delay in [SYN,ACK] packet from server machine?
- Why server able to respond back immediately with [SYN,ACK] packet for second attempt but responded for first connection attempt after sending [SYN,ACK] for first attempt.
- Who takes care of responding back [SYN,ACK] packet to client machine? Is it server application or any other operating system service?
The screenshot of wireshark is attached here. The above mentioned observation is on the basis of frame#20145 to Frame#20428
sockets listen
That's too little information to give an answer. Is the server ready to accept connections the first time? What is the network infrastructure? Do you connect using hostname or IP address? I would start by doing a capture both on the client and on the server machine and compare them.
– rveerd
Jan 2 at 16:04
Answer for above queries:- 1) Yes, server is ready to accept connections the first time. 2) Client and server both are running on windows. Please let me know if something more is required to understand infrastructure. 3) It is connected through hostname 4) Yes, it is done. Attached wireshark output is of server side machine.
– Mann
Jan 4 at 14:56
I mean that anything (firewalls, switches, routers, gateways) between client and server can effect TCP/IP communication. Did you compare the captures on the client and the server? Did you find any differences? You could run both the client and the server application on the same machine to eliminate any network infrastructure and see if the problem still occurs.
– rveerd
Jan 9 at 12:33
No, I am not finding any difference in client and server side. Server side is showing as packet received once sent by client. I think somewhere tcp stack on server side is playing a part in delaying sending the acknowledgement.
– Mann
Jan 22 at 9:42
add a comment |
There is delay seen on server machine while sending [SYN,ACK] packet to Client machine for the first connection attempt from client. These are some observations analyzed with sniffer tool wireshark:-
Due to this delay:-
- Client application is sending the [TCP Retransmission] packet to server.
- Later, connection timeout expires(3 seconds) on client side and it tries second connection attempt with server.
- Surprisingly, server immediately sends [SYN,ACK] packet for second connection attempt to client back.
- After sending [SYN,ACK] packet for second attempt, server responds back with [SYN,ACK] packet for the first attempt.
For better understanding, client application sends the connection request certain set server ports all together. Server sends [SYN,ACK] packet from the listening port which is one of these ports.
I will be pleased if somebody explains :-
- Why there is delay in [SYN,ACK] packet from server machine?
- Why server able to respond back immediately with [SYN,ACK] packet for second attempt but responded for first connection attempt after sending [SYN,ACK] for first attempt.
- Who takes care of responding back [SYN,ACK] packet to client machine? Is it server application or any other operating system service?
The screenshot of wireshark is attached here. The above mentioned observation is on the basis of frame#20145 to Frame#20428
sockets listen
There is delay seen on server machine while sending [SYN,ACK] packet to Client machine for the first connection attempt from client. These are some observations analyzed with sniffer tool wireshark:-
Due to this delay:-
- Client application is sending the [TCP Retransmission] packet to server.
- Later, connection timeout expires(3 seconds) on client side and it tries second connection attempt with server.
- Surprisingly, server immediately sends [SYN,ACK] packet for second connection attempt to client back.
- After sending [SYN,ACK] packet for second attempt, server responds back with [SYN,ACK] packet for the first attempt.
For better understanding, client application sends the connection request certain set server ports all together. Server sends [SYN,ACK] packet from the listening port which is one of these ports.
I will be pleased if somebody explains :-
- Why there is delay in [SYN,ACK] packet from server machine?
- Why server able to respond back immediately with [SYN,ACK] packet for second attempt but responded for first connection attempt after sending [SYN,ACK] for first attempt.
- Who takes care of responding back [SYN,ACK] packet to client machine? Is it server application or any other operating system service?
The screenshot of wireshark is attached here. The above mentioned observation is on the basis of frame#20145 to Frame#20428
sockets listen
sockets listen
edited Jan 2 at 19:28


Mahib
2,23923652
2,23923652
asked Jan 2 at 14:57


MannMann
1
1
That's too little information to give an answer. Is the server ready to accept connections the first time? What is the network infrastructure? Do you connect using hostname or IP address? I would start by doing a capture both on the client and on the server machine and compare them.
– rveerd
Jan 2 at 16:04
Answer for above queries:- 1) Yes, server is ready to accept connections the first time. 2) Client and server both are running on windows. Please let me know if something more is required to understand infrastructure. 3) It is connected through hostname 4) Yes, it is done. Attached wireshark output is of server side machine.
– Mann
Jan 4 at 14:56
I mean that anything (firewalls, switches, routers, gateways) between client and server can effect TCP/IP communication. Did you compare the captures on the client and the server? Did you find any differences? You could run both the client and the server application on the same machine to eliminate any network infrastructure and see if the problem still occurs.
– rveerd
Jan 9 at 12:33
No, I am not finding any difference in client and server side. Server side is showing as packet received once sent by client. I think somewhere tcp stack on server side is playing a part in delaying sending the acknowledgement.
– Mann
Jan 22 at 9:42
add a comment |
That's too little information to give an answer. Is the server ready to accept connections the first time? What is the network infrastructure? Do you connect using hostname or IP address? I would start by doing a capture both on the client and on the server machine and compare them.
– rveerd
Jan 2 at 16:04
Answer for above queries:- 1) Yes, server is ready to accept connections the first time. 2) Client and server both are running on windows. Please let me know if something more is required to understand infrastructure. 3) It is connected through hostname 4) Yes, it is done. Attached wireshark output is of server side machine.
– Mann
Jan 4 at 14:56
I mean that anything (firewalls, switches, routers, gateways) between client and server can effect TCP/IP communication. Did you compare the captures on the client and the server? Did you find any differences? You could run both the client and the server application on the same machine to eliminate any network infrastructure and see if the problem still occurs.
– rveerd
Jan 9 at 12:33
No, I am not finding any difference in client and server side. Server side is showing as packet received once sent by client. I think somewhere tcp stack on server side is playing a part in delaying sending the acknowledgement.
– Mann
Jan 22 at 9:42
That's too little information to give an answer. Is the server ready to accept connections the first time? What is the network infrastructure? Do you connect using hostname or IP address? I would start by doing a capture both on the client and on the server machine and compare them.
– rveerd
Jan 2 at 16:04
That's too little information to give an answer. Is the server ready to accept connections the first time? What is the network infrastructure? Do you connect using hostname or IP address? I would start by doing a capture both on the client and on the server machine and compare them.
– rveerd
Jan 2 at 16:04
Answer for above queries:- 1) Yes, server is ready to accept connections the first time. 2) Client and server both are running on windows. Please let me know if something more is required to understand infrastructure. 3) It is connected through hostname 4) Yes, it is done. Attached wireshark output is of server side machine.
– Mann
Jan 4 at 14:56
Answer for above queries:- 1) Yes, server is ready to accept connections the first time. 2) Client and server both are running on windows. Please let me know if something more is required to understand infrastructure. 3) It is connected through hostname 4) Yes, it is done. Attached wireshark output is of server side machine.
– Mann
Jan 4 at 14:56
I mean that anything (firewalls, switches, routers, gateways) between client and server can effect TCP/IP communication. Did you compare the captures on the client and the server? Did you find any differences? You could run both the client and the server application on the same machine to eliminate any network infrastructure and see if the problem still occurs.
– rveerd
Jan 9 at 12:33
I mean that anything (firewalls, switches, routers, gateways) between client and server can effect TCP/IP communication. Did you compare the captures on the client and the server? Did you find any differences? You could run both the client and the server application on the same machine to eliminate any network infrastructure and see if the problem still occurs.
– rveerd
Jan 9 at 12:33
No, I am not finding any difference in client and server side. Server side is showing as packet received once sent by client. I think somewhere tcp stack on server side is playing a part in delaying sending the acknowledgement.
– Mann
Jan 22 at 9:42
No, I am not finding any difference in client and server side. Server side is showing as packet received once sent by client. I think somewhere tcp stack on server side is playing a part in delaying sending the acknowledgement.
– Mann
Jan 22 at 9:42
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54008508%2fdelay-in-syn-ack-packet-by-server-to-client-by-server%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54008508%2fdelay-in-syn-ack-packet-by-server-to-client-by-server%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
That's too little information to give an answer. Is the server ready to accept connections the first time? What is the network infrastructure? Do you connect using hostname or IP address? I would start by doing a capture both on the client and on the server machine and compare them.
– rveerd
Jan 2 at 16:04
Answer for above queries:- 1) Yes, server is ready to accept connections the first time. 2) Client and server both are running on windows. Please let me know if something more is required to understand infrastructure. 3) It is connected through hostname 4) Yes, it is done. Attached wireshark output is of server side machine.
– Mann
Jan 4 at 14:56
I mean that anything (firewalls, switches, routers, gateways) between client and server can effect TCP/IP communication. Did you compare the captures on the client and the server? Did you find any differences? You could run both the client and the server application on the same machine to eliminate any network infrastructure and see if the problem still occurs.
– rveerd
Jan 9 at 12:33
No, I am not finding any difference in client and server side. Server side is showing as packet received once sent by client. I think somewhere tcp stack on server side is playing a part in delaying sending the acknowledgement.
– Mann
Jan 22 at 9:42