>> Read Reply from No. 61581 article  
RE: TCP/IP한번의 send로 보낼 수 있는 데이타의 크기가
..

등록 2002-11-26 17:07:00     조회 37
이름 버그소년    

		: TCP/IP한번의 send로 보낼 수 있는 데이타의 크기가 한정 되어 있는지요?
:
: 제경우 와우 파란 R2(2.4.18-4smp)를 쓰는데..
:
: 556032 bytes이상 send한번의 호출로 보내지지 않는군요..
:
: 이 경우 유저 레벨에서 나눠서 보내줘야 하는 건가요?
:
: 보통은 어떻게 처리하는 지 궁금하네요..
 TCP/IP에서 패킷 하나의 크기는 1500bytes가 기본입니다.
 (ether header 14bytes를 제외한 크기 ^^ )
 그리고 tcp header 20bytes, ip header 20bytes이므로 한 패킷으로 보낼 수
 있는 데이터의 크기는 1500 - 40 = 1460 bytes가 되겠습니다.
 물론 OS의  MTU (Maximun Trans??? Unit (??))의 크기를 1500 이상으로
 설정하여 사용할 수 있습니다만.. 1500이상의 패킷이 각 노드를 거치다가
 MTU가 1500인곳을 지날때는 재전송을 요청하게 되므로 그냥 1500에 맞추어
 전송하는것이 좋습니다. 위에서 5Kbytes가 넘는 데이터를 한번에 보냈다고
 는 하지만 정작 OS는 그것을 1500bytes씩(MTU크기만큼) 잘라서 여러번
 send(write)를 호출한 것입니다.
 보통 큰 용량의 데이터(파일전송같은거)를 전송할때는 1500을 넘지않고
 계산하기도 편리하도록 1024bytes의 데이터를 여러번 전송합니다.
 이렇게 하는 가장 큰 이유는...
 리눅스에서 2048bytes와 같이 MTU를 넘는 데이터를 send하고,
 윈도에서 recv를 할 경우, 리눅스에서 send는 표면적으로 한번 호출되지만
 데이터는 1460, 588bytes의 두개로 전송됩니다.
 이때 윈도에서 recv를 2048bytes를 하게되면,
 1460bytes의 데이터와 뒤에 2048bytes까지 NULL로 패딩된 데이터와
 588bytes의 나머지 데이터를 받는 두번의 recv가 일어나게됩니다.
 주의하시길... ^^;
이름
암호


>> 관련글
61581 TCP/IP한번의 send로 보낼 수 있는 데이타의 크기가..  세어필  2002.11.25  ...40 
  답장 RE: TCP/IP한번의 send로 보낼 수 있는 데이타의 크기가..  버그소년  2002.11.26  ...36 
Register [ localhost 목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.78 초 ] 작업시간: [ 0.26 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791091908
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.