TCP/IP에 관한 질문입니다.

cjy1126의 이미지

한빛미디어의 윈도우 네트워크 프로그래밍 1장 연습문제 7번입니다.

7. 다음과 같은 TCP의 특징과 각각의 구현 기법을 조사하라.
오류 제어(error control)
흐름 제어(flow control)
혼잡 제어(congestion control)

스티븐님의 tcp/ip를 찾아봤는데 쉽게 못찾겠네요.

전에 봤던 기억과 제 생각이 맞는가 알고싶어서요.

오류 제어는 ack 를 이용하고,
흐름 제어는 슬라이딩 윈도우 를 이용하고,
혼잡 제어는 저속출발을 이용하는게 맞나요?

학교 레포트 같은거 아닙니다. ^^;;;

월요일까지 이 책 끝내기로 마음먹었는데, 연습문제가 나와서요.

제가 모르니까 궁금하긴해서 찾아봤는데... 쉽게 안찾아지고, 빨리 책은 끝내고 싶어서 아시는분 맞나 확인만 해주셨으면해서 글올렸습니다.

client/server 과정만 1년 다녀서... 그것도 리눅스만 열심히해서 윈도우쪽 잘못하는데, 병역특례가 윈도우쪽만 10군데정도 남았더라고요.(200군데 넘게 다 직접 전화해봄 ^^V)

그래서 한자리라도 더 있을때, 윈도우 공부해서 포트폴리오를 만들던가... 최소한 면접이라도 잘볼려고 목숨걸고 공부중이네요.(같이 공부한 분들은 좋은 조건에 취업되셨는데... 일배울때까지 무보수로 일한다고해도 없으니 정말 답답하네요.)

친일파 특별법인가? 그거랑 대통령 탄핵은 엄청난 속도의 국회를 보여주면서, 왜 병역특례 문제는 2년이상 소식이 없는지? 병무청에서조차 어찌될지 모른다고하니... 내년을 기약해야할지? 답답하네요.

Testors의 이미지

Quote:
오류 제어는 ack 를 이용하고,
흐름 제어는 슬라이딩 윈도우 를 이용하고,
혼잡 제어는 저속출발을 이용하는게 맞나요?

ack 는 흐름제어 입니다.
오류제어는 checksum 이겠죠.

Quote:
친일파 특별법인가? 그거랑 대통령 탄핵은 엄청난 속도의 국회를 보여주면서, 왜 병역특례 문제는 2년이상 소식이 없는지?

그 이유는 녀석들에게 2달뒤에 입대하라고 영장이 나왔기 때문입니다.

alwaysrainy의 이미지

옆에 책이 없어서 아는대로 올릴께요..

TCP에서 오류제어라 함은 패킷의 신뢰적인 전송을 위해서
패킷의 손실 여부를 체크하고 이를 재전송하여서 신뢰성을 만족시키는
메커니즘입니다. GBN(Go-Back-N), SR(Selective Repeat) 프로토콜에
대해서 검색해보시면 쉽게 아실 듯 하구요..

흐름제어는 송신자/수신자 간의 패킷 전송의 흐름을 제어하는 것입니다. 적절하게 윈도우 사이즈를 활용하는
슬라이딩 프로토콜을 사용합니다.

혼잡제어는 네트워크 망의 혼잡을 제어하는 메커니즘입니다.
AIMD, slow start, Fast retranmission 등의 메커니즘이 있고 현재 기존의 혼잡제어 알고리즘의 성능 및 보안을
개선하기 위한 방안으로 ECN이 활용되고 있습니다.

---------------------------------------
세계는 넓고, 할일은 많다.

Testors의 이미지

그러고보니 UDP 에도 checksum 은 있군요.

TCP 의 특징으로서의 error control 이라면 alwaysrainy 님 말씀대로 손실처리가 맞겠군요.

제 위의 댓글은 무시해 주세요~ >.<

Necromancer의 이미지

TCP의 Flow control은 SEQ#, ACK#, window 3개를 이용해서 합니다.
URG도 사용하는 경우는 있긴 있는데 좀 특별한 경우고요.

TCP 패킷 덤프떠서 헤더를 분석해 보시길. libpcap 쓰면 몇십 줄 코드로
TCP 패킷 전체를 통째로 덤프뜰 수 있습니다.

Written By the Black Knight of Destruction

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.