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를 알아보고 버린다면 가능은 하겠지만요.
: 제가 리얼피투피 알고리즘을 연구하다보니 이것저것 생각이 많아지네요. ^^
|