C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[14649] Re:라우터 만지시는 분 계십니까? TCP/UDP 문제입니다 ㅋ
이경문 [gilgil] 3347 읽음    2008-06-14 03:37
L5 - Application or Higher
L4 - TCP/UDP/ICMP, ...
L3 - IP/ARP, ...
L2 - Ethernet, ATM, ...
L1 - Physical

로 보통 얘기를 합니다.

일반적으로 라우터는 L3 레벨의 장비이고, L3 장비라고 가정을 하면 IP Layer까지만 분석할 수 있으며 그 상위 부분은 분석을 하지 못합니다(그 윗부분은 하나의 덩어리(payload)로만 봅니다). 아제나님이 얘기하는 기능(TCP, UDP를 구분해서 라우팅하는 기능)이 가능하려면 네트워크 장비가 L4 이상을 분석할 수 있는 능력이 있어야 합니다.

요즘은 네트워크 장비가 많이 좋아 져서 상위 Layer까지 분석을 할 수 있는 라우터도 많이 있지만, 기본적으로 라우터는 IP Layer까지만 본다고 생각하시면 됩니다. 단, 요즘에는 라우터단에서 IPS, Firewall 등의 기능가지 포함되기 때문에 반드시 L3로만 국한시킬 수 없는 네트워크 환경이 존재할 수 있습니다.

통신 프로그램을 만들 할 때 TCP로 통신할까 아니면 UDP로 통신할 까를 고민할 수 있는데, TCP 스택에서 지원하는 Slow Start, Additive Increase, Congestion Avoidance, Reno 등의 알고리즘을 UDP 위에서 어플 차원에서 구현하는 것이 더 효율적인 경우에는 UDP로 하는 것이 맞겠구요, 아니라면 TCP를 사용하는 것이 좋을 수도 있습니다. 또한 현재 기술로는 많이 보급된 NAT 내부의 컴퓨터끼리는 TCP Direct Connection이 힘든 이유로 인해 UDP를 사용하기도 합니다.

답변이 되었는지... ^^

아제나 님이 쓰신 글 :
: IP Layer 위에서 구현되어 있는게 TCP와 UDP지요.
: 라우터는 IP Layer보다 하위 레벨이기 때문에 라우터 입장에서는 UDP나 TCP 패킷이나 동등하게 처리될 것 같은데... 실제로 라우터 쪽에서 어떻게 처리되는지 아시는 분 계신가 궁금합니다 ^^
: 제가 들은 이야기로는 네트워크 과부하 상태에서 라우터가 폐기하는 패킷이 TCP보다 UDP가 폐기 우선 순위가 높다고 들어서요. 이론적으로 생각해보니까 불가능할 것 같아서 말이죠. 라우터 내부에서 패킷 헤더를 분석해서 TCP/UDP를 알아보고 버린다면 가능은 하겠지만요.
: 제가 리얼피투피 알고리즘을 연구하다보니 이것저것 생각이 많아지네요. ^^
아제나 [azena]   2008-06-14 18:34 X
명쾌한 해답 감사합니다. 역시 라우터단에서 UDP 패킷이 버려질 가능성이 높다는 말은 잘못된 내용이군요.
구름 [mguk322]   2014-10-28 09:36 X
음... 하지만 TCP와 UDP의 구분은 IP헤더 정보를 통해서 충분히 확인할 수 있는 내용이 아닐까 생각해봅니다. 단순히 패킷 폐기의 우선순위라면 IP헤더 정보만으로도 판별이 가능할 것 같아서요.

+ -

관련 글 리스트
14649 Re:라우터 만지시는 분 계십니까? TCP/UDP 문제입니다 ㅋ 이경문 3347 2008/06/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.