Reliable UDP (이하 RUDP)는 신뢰성을 갖는 UDP를 의미합니다. 일반적으로 TCP는 신뢰성을 갖는 대신 느리고, UDP는 신뢰성이 없고 빠르다고 알려져있죠. 여기에 또 하나의 특징은, TCP는 서버 (Listener)와, 클라이언트 (Connector) 관계가 성립한다는 점입니다. 즉, 서버건 클라이언트건 연결 관리가 필요하다는 것이죠. RUDP의 필요성은, 주로 클라이언트 끼리의 통신에서 대두되었습니다. 우선 일반적인 클라이언트/서버 구조에서의 클라이언트 끼리의 통신은 서버를 경유해서 데이터를 전송함으로써 신뢰성을 갖추는데, UDP보다 느리고 서버에 부하를 주기 때문에 클라이언트 끼리의 통신에서도 TCP의 장점은 신뢰성과, UDP의 장점은 속도를 모두 갖춘 Reliable UDP가 등장하..
스트레스 테스트 예상한 것보다 훨씬 많은 행동을 시도하는 테스트 클라이언트를 통해서, 많은 부하가 발생했을 시에도 정상동작하는지 확인한다. 접속/해제 테스트 좀비 클라이언트가 남는지 확인한다. 접속/해제시 소켓 재사용 로직이 잘 처리되는지 확인한다. (최대 접속 가능 수가 5000이라고 치면, 5000개 이상의 클라이언트로 접속/해제 테스트를 수행한다) 로그인 / 로그 아웃 테스트 로그인 과정에서 끊길 수 있도록, 난수로 결정된 시간 값으로 클라이언트에서 디스커넥을 시도한다. 좀비가 남지 않는지 확인해야 하는데, 이 좀비는 위의 접속해제와 다른 것이 소켓 풀에서의 좀비가 아니라, 서버 로직상에서의 좀비를 확인해야 한다. 랜덤 (더미) 패킷 테스트 프로토콜에 전혀 맞지 않는 (비암호화) 무작위 생성 패킷을..
traceroute는 자신의 컴퓨터가 인터넷을 통해 특정 컴퓨터를 찾아가면서 거치는 루트 (각 홉마다 거치게 되는 게이트웨이 컴퓨터)를 기록하는 유틸리티이다. 이것은 각 홉에 걸리는 시간의 합을 계산하여 표시해주기도 한다. traceroute는 인터넷상에 문제점이 있는 네트웍을 파악하고, 또한 인터넷 그 자체에 대해 좀더 자세한 느낌을 갖게 하는 두 가지 목적을 위해 편리한 도구이다. 다른 유틸리티로서 핑이 있는데, 이는 특정 호스트가 현재 네트웍 상에 존재하는지를 알기 위해 traceroute를 쓰기에 앞서 자주 사용된다. traceroute 유틸리티는 윈도우95/98/NT, 유닉스 기반의 시스템을 포함한 여러 종류의 운영체계에 포함되거나, TCP/IP 패키지의 일부로서 딸려 나온다. 만약 자신의 시스..
(그림 2)는 유닉스와 라우터에서 traceroute를 수행하는 과정이다. 유닉스·라우터에서의 traceroute는 윈도우 계열 OS와 달리 traceroute로 ICMP echo-request 대신 udp를 이용한다. 이때 포트 번호는 상대방이 사용하지 않을 것으로 예상되는 3만 번 이상으로 보낸다(화면 4). (화면 4) udp 포트 번호 3만번 이상의 패킷 물론, TTL 값을 하나씩 증가시켜 보내는 것은 윈도우 계열과 같은 방법이다. 이렇게 udp 3만번 이상의 포트로 패킷을 보내면 최종 목적지에서는 해당 포트 번호를 사용하지 않으므로 ICMP Destination Unreachable(Type:3 Destination unreachable, Code:3 Port unreachable)로 응답한다(..
(그림 1)은 윈도우 계열에서의 traceroute가 수행되는 과정이다. 윈도우 계열을 OS로 사용하는 컴퓨터는 ICMP echo request(Type:8 Echo request, Code:0)를 보낸다(화면 1). (화면 1) echo request 이때 TTL 값을 하나씩 증가시켜서 보내면 중간에 경유하는 라우터로부터 TTL exceeded라는 메시지를 받는다. TTL(Time To Live) 값은 라우터 하나를 거칠수록 1씩 감소하고, TTL 값이 0인 패킷을 받는 호스트는 ICMP 메시지인 TTL exceeded(Type:11 Time-to-live exceeded, Code:0 Time to live exceeded in transit)라는 메시지를 보낸다. 이를 근거로 TTL exceeded..
- Total
- Today
- Yesterday
- NDC2013
- SDL
- ruby
- 좋은 프로그래머
- ftp
- EzShortcut
- 게임개발포에버
- perfmon
- EasyExec
- 리버스 엔지니어링
- 조엘 온 소프트웨어
- 디버깅
- 루비
- CppSQLite
- 루비 온 레일즈
- Rails
- Ruby on Rails
- 바로가기 프로그램
- c언어
- 임백준
- TraceRoute
- RoR
- SQLite Spy
- svn
- 게임데브포에버
- TDD
- 엘키
- MS-SQL
- 멀티스레드
- 디자인 패턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |