'Network'에 해당되는 글 2건

  1. 2015.05.22 Kernel support for SYN packet fingerprinting
  2. 2015.05.22 Delay-gradient congestion control

https://lwn.net/Articles/644906/

http://comments.gmane.org/gmane.linux.kernel.api/10603 - patch & discussion

http://permalink.gmane.org/gmane.linux.kernel.api/10636 - example(?)
http://coffeenix.net/doc/security/STACK_fingerprinting.txt
http://www.packetinside.com/2010/08/%ED%8C%A8%ED%82%B7%EC%A0%95%EB%B3%B4%EB%A1%9C-%EC%9B%90%EA%B2%A9%EC%A7%80-%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9D%98-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C%EB%A5%BC-%EC%B6%94%EC%A0%95%ED%95%9C%EB%8B%A4-p0f.html

TCP 연결의 초기 packet에는 해당 IP를 운영하는 system의 정보를 많이 담고 있습니다. 문제는 그 정보는 kernel 내부에 있다는 점. 그 정보를 user-space에 있는 server들이 얻을 수 있도록 해주는 patch가 최근 merge되었다고 합니다.

setsockopt() 함수를 TCP_SAVE_SYN option과 같이 listen() 함수 이전에 호출한 다음, accept()로 얻은 socket에 대해서 getsockopt() 함수를 TCP_SAVED_SYN option으로 얻은 TCP/IP header를 통해서 정보를 얻을 수 있다고 합니다.

Delay-gradient congestion control

Personal Computer/Linux 2015. 5. 22. 00:21 posted by tolkien

https://lwn.net/Articles/645115/
http://www.spinics.net/lists/netdev/msg329391.html - patch
http://en.wikipedia.org/wiki/Network_congestion

network 혼잡제어 알고리즘(network congestion-control algorithm)중 하나로 CAIA delay gradient(CDG)라는 것이 제안되었답니다.

기존 알고리즘은 packet loss가 발생하기 시작하면 network이 혼잡한 것으로 인식하고, packet 전송 갯수를 줄이는데 비해 CDG는 round-trip time(RTT)를 이용합니다. 구체적으로는 RTT_min값이 증가하면 network의 혼잡도가 증가하는 것으로 인지한다고 합니다.

기존 알고리즘과 CDG와 공존과 같은 문제를 풀어야 적용될 것같습니다.
CDG에 대한 자세한 내용은 http://caia.swin.edu.au/cv/dahayes/content/networking2011-cdg-preprint.pdf 를 보시면 됩니다.