TCP에서 패킷전송후에 ACK 안오면, ACK 안온 패킷의 다음 시퀀스 번호의 TCP 데이터를 전송하나요?

pmj0403의 이미지

TCP에서 패킷전송후에 ACK 안오면, ACK 안온 패킷의 다음 시퀀스 번호의 TCP 데이터를 전송하나요?

예를 들어 송신자에서 TCP 10번 메시지를 수신자한테 보냈는데,

10번메시지에 대한 ACK를 못받은 상태이라면, 다음보기중 어떤게 맞는건가요?

1) 11번부터 쭉~~데이터를 보내나요???

2) 10번 ACK 받을때까지 무조건 기다린다

3) 11번부터 몇개보내보다가 그래도 ACK 안오면 그다음 기다린다

4) 답이 없다. 다른 정답이 있다.

답변 주시면 감사드리겠습니다. 머리 깨지겠네요;ㅋㅋ

세이군의 이미지

제가 알고 있기로는 10번 메시지를 몇차례 보내고 응답이 없으면 연결이 끊어진 것으로 알고 RST(reset)을 보냅니다.
(제 기억에 의존하기때문에 틀릴수도 있습니다.)
확실히 알고 있는 부분은 10번 메시지를 몇차례 다시 보낸다는 것입니다.

JuEUS-U의 이미지

TCP implementation에 따라 행동양식이 달라서 설명하기 애매합니다만...
기본적으로는 재전송이 이뤄집니다만
거기에 window, congestion control 알고리즘 등에 따라
언제 얼마만큼의 패킷을 보내느냐가 결정됩니다.

stypr의 이미지

우선 중요한 것은 1 ~ 9 번까지의 data 가 어떻게 전송이 되어 졌는지가 굉장히 중요합니다. 위에 분 말씀처럼 window 크기에 따라서 10 번 segment 를 상대방의 ACK 를 기다리지 않고 보낼 수도 있고 ACK 을 기다린 후 보낼수도 있거든요.

그래서 위의 보기 모두 답이 없다고 할 수 있겠네요. 경우에 따라 다릅니다.

일반적인 TCP stack 의 경우 (여기서는 New reno) Retransmission timer 가 존재하기 때문에 아마 이에 대한 timer 가 호출되어 재전송이 발생되게 됩니다. 하지만 (window 상황에 따라 다르겠지만) 대부분의 경우 (3 duplicate ACKs 후) fast retransmission/recovery mode 가 작동되게 됩니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.