티스토리 뷰

--------------------------------------------------------------------------------

소켓에서의 적정 전송량 이라는 부분에 대해 설명 부탁합니다. 


참고한 글 : TCP SOCKET 에서 적정 전송량은?... 
http://bbs.kldp.org/viewtopic.php?t=23760&highlight=tcp 

>1024가 좋습니다. 
>보통 패킷사이즈를 정할때는 MTU ,즉, 하드웨어가 한번에 보낼수 있는 최대 크기, 
>를 참고하게 됩니다. Ethernet의 경우 1500바이트이고, TCP헤더, IP헤더, Ethernet헤더등을 고려하면 1024가 정답이 되는 경우가 많습니다. 
>MTU보다 커지거나, 너무 작으면, 자르거나 붙여야 하는 오버헤드가 생기는데, 
>이를 최소화한다는 생각이 보통은 그 기준이 됩니다 

위에 참고한 글이 잘 이해가 안되서 그럽니다. 
응용계층에서 보내는 데이터는 크기에 상관없이 버퍼링되고 
패킷을 만든는것은 ip 레이어의 일 아닌가요? 

버퍼에서 MSS 만큼 꺼내서 사용되는게 아닌가요? 

프로그래머가 저렇게 크기를 지정해줘야 하나요? 

미리 감사드립니다. 
.. 언제쯤 고수가 될까나 

위로


흑기사
expert



가입: 2003년 2월 20일
올린 글: 315
위치: 비밀숙소
올려짐: 2003년10월21일 8:54주제:

--------------------------------------------------------------------------------

어플리케이션 간에 전송하는데는 아무 문제 없지만, 
패킷 분할, 합성 과정에서 OS 네트웍 처리부나 드라이버쪽에서 오버헤드가 걸리죠. 

거기다 작은 패킷 여러개보다 큰 패킷 하나가 효율적이죠. 작은 패킷은 패킷마다 
전부다 헤더가 붙어야 되니까. 물론 꼭 적은양의 데이터를 보내야 할 때는 어쩔 
수 없지만, 큰 패킷 보낼때는 가급적이면 거기에 맞춰주라는
_________________
Written By the Black Knight 

위로 


김대원
novice



가입: 2003년 10월 20일
올린 글: 7

올려짐: 2003년10월21일 20:37주제:

--------------------------------------------------------------------------------

답변주셔서 고맙습니다~ 
답해주신 내용을 아직도 이해를 못해서 요리저리 찾다가 
이렇게 늦었네요;; 

그렇다고 답을 얻은것도 아닙니다. -_-;; 

제가 아직 네트웍 i/o 처리부에 대해 개념을 못잡고 
있는게 아닌가 합니다. 

- tcp 에서의 윈도우크기 : 요것도 버퍼(send/rec 용 두개) 
- 소켓에서의 버퍼 : 요것도 버퍼 

개념을 좀 잡고 다시 질문을 올려야 곘네요 ㅜ.ㅜ 

위로


bw001730
user



가입: 2003년 3월 27일
올린 글: 21

올려짐: 2003년10월22일 1:05주제:

--------------------------------------------------------------------------------

생각해볼만한 내용으로는 두가지로 생각됩니다. 


1. 애플리케이션 상의 버퍼 
즉, 우리가 char buf[1024] ; 
이런식으로 소켓 프로그래밍에 코딩하는거 

2. 소켓의 송수신 버퍼, 커널의 버퍼입니다. 

참고: 
윈도우는 소켓의 송수신 버퍼에서 한마디로 
여유 공간의 크기를 의미합니다. 

송신윈도우 - 현재 내가 보낼수 있는 최대량(송신버퍼의 여유공간) 
수신윈도우 - 현재 내가 수신할 수 있는 최대량 (수신버퍼의 여유공간) 

참고로 한번에 내가 수신할 수 있는 최대 크기는 
상대가 보낼수 있는 최대크기와 내가 수신할 수 있는 최대 크기중에서 
더 작은 것이 선택됩니다. 

송신할수 잇는 최대크기는 
내가 송신할 수 있는 최대크기와 상대가 수신할 수 있는 최대크기중 
더 작은것이 선택됩니다. 
내가 많이 전송할 수 잇어도 상대가 수신버퍼가 부족해 수신못하면 
안되니깐요 
대충 이렇다네요.. 

위로 


김대원
novice



가입: 2003년 10월 20일
올린 글: 7

올려짐: 2003년10월22일 15:30주제:

--------------------------------------------------------------------------------

bw001730 님 
답변 고맙습니다~ 

검색끝에 얻어낸 결과는 넘 충격(?) -_-;; 
적이라 저 부분을 이해하기위해 
어디서부터 손대야 할지 정말이지 난감하군요 ㅡㅜ 

아래주소에 따르면 
응용 -> 소켓 -> tcp -> 드라이버 
요렇게 모든것이 영향을 준다는군요 ㅡㅜ 

http://www-903.ibm.com/kr/techinfo/pseries/aixnl126.html 


음 -_-;; 어려군요 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함