암호화 트래픽 관리의 시작, 모든 트래픽에 대한 가시성을 확보하는 … · 암호화 프로토콜 공개키 알고리즘 대칭키 알고리즘 해쉬 알고리즘
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www. nms4you.com...
-
date post
22-Dec-2015 -
Category
Documents
-
view
261 -
download
0
Transcript of AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www. nms4you.com...
1
AMAN2002 를 이용한
TCP/IP 프로토콜 분석 및 네트워크 프로그래밍
www.nms4you.com
트래픽 발생기
2003. 3.
Chapter 12:
2제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
트래픽 발생기 관련 개념 이해 MTU(Maximum Transmission Unit)
프레임에 캡슐화 될 수 있는 데이터의 최대 길이 데이터링크 계층의 MTU 가 데이터그램보다 작을 경우 단편화 하여
전달
물리 네트워크 별 MTU
2 계층 프로토콜헤더 MTU
2 계층 프로토콜트레일러
페이로드
프레임
IP 헤더IP 데이터그램
프로토콜 MTU(Byte) 프로토콜 MTU(Byte)
Ethernet 1500 Token ring (16Mbps) 17914
IEEE 802.3/802.2 1492 Token ring (4Mbps) 4464
FDDI 4352 Point-to-Point 296
X.25 576
3제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
Ping 테스트를 통한 MTU 확인 예제를 통해 211.180.125.1 의 MTU 는 1400 ~1500 바이트 사이임을 확인
-f 옵션 : 단편화 하지않고 패킷을 전달 -l 옵션 : 전송할 데이터의 버퍼 사이즈 지정
단편화 하지 않고 , 1400 바이트의 데이터 전송 가능
1500 바이트 전송 시단편화 필요
4제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
단편화 (Fragmentation)
IP 헤더의 단편화 관련 필드 식별자 (Identification) : 16 비트
단편화 된 데이터그램은 동일한 식별자를 가짐 플래그 (Flag) : 3 비트
첫번째 비트 : 사용 안 함 두번째 비트 : 1( 단편화 할 수 없음 ), 0( 단편화 가능 ) 세번째 비트 : 1( 단편이 있음 ), 0( 마지막 혹은 단일
단편 ) 단편 옵셋 (Fragmentation offset) : 13 비트
단편 조합 시 조각의 위치를 나타냄 데이터그램 8 바이트 단위로 측정
5제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
단편화 예제 데이터그램의 단편화 예제
IP 페이로드에 2000 바이트의 데이터 실림 MTU 가 1500 바이트인 네트워크
IP헤더
UDP헤더 UDP 데이터 (1992 바이트 )
IP 데이터그램
1472 바이트IP헤더
UDP헤더
520바이트
IP헤더
패킷 패킷
20 바이트 8 바이트
IP 데이터 (2000 바이트 )
IP 데이터 (1480 바이트 )
IP 데이터 (520 바이트 )
6제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
서버 / 클라이언트 구조의 이해 클라이언트 : 명시한 기능을 요청
데이터 전송 혹은 다양한 기능 수행을 요청 서버 : 클라이언트에 의해 명시된 기능을 수행하고 응답
데이터 전송 혹은 다양한 기능에 대한 응답
웹서버
웹서버
웹클라이언트 - 요청( 인터넷 브라우저 )
2. 요청
3. 응답
1. 요청
4. 응답
S : 서버 (Server)C : 클라이언트 (Client)C
S
SC
7제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
트래픽 지연 송 / 수신 지연 및 일주 지연
송신 지연 : 서버에서 전송한 데이터를 클라이언트에서 수신할 때까지 경과 시간 수신 지연 : 클라이언트에서 데이터를 보내고 서버에서 받을 때까지 걸리는 시간 일주 지연 (RTT, Round Trip Time) : 송신지연 + 수신지연
지연 원인 전송 시간 , 스위칭 시간 , 라우터의 경로 설정 시간 등
송신 지연
수신 지연
T1
T2
T3
T4
서버의 데이터 송신 지점
서버의 데이터 수신 지점
클라이언트의 데이터 송신 지점
클라이언트의 데이터 수신 지점D source = T2 – T1D destination = T4 – T3RTT = D source + D destination
Real Time 클라이언트 서버
8제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
지터 지연의 변화량
네트워크 상에서 데이터 송 / 수신 시 지연의 가변적인 변화량을 나타냄
지터가 지정된 범위를 초과한 경우 제거Real Time
서버
클라이언트
4 3 2 1
4 3 2 1
Delay Jitter Delay Jitter Delay Jitter = discard Delay Jitter
9제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
트래픽 발생기 트래픽 생성 및 원하는 양의 데이터 전송 트래픽 발생기의 필요성
QoS(Quality of Service) 측정 복잡하고 다양한 네트워크를 연구 시 실험용
트래픽 발생기의 용도 통신망 관리 시스템 제작 시 현재 망의 분석 시 망의 대역폭 확인 시 다양한 속도의 데이터 전송 시
10
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
트래픽 전송 패킷 및 전송량 전송 패킷 포멧
UDP 기반으로 512 바이트의 데이터 전송 예
단위 시간당 전송량 초당 입력된 비트 단위의 데이터량 계산
프리엠블& SFD
프리엠블& SFD
이더넷헤더
이더넷헤더 IP
헤더
IP헤더 UDP
헤더
UDP헤더 데이터데이터 이더넷
트레일러
이더넷트레일러
14 바이트 20 바이트 8 바이트 512 바이트 4 바이트9 바이트
…
Tn (sec) + m1(msec) Tn+1 (sec) + m1(msec)Tn (sec) + m2(msec)
(double) ReceiveAmount = nReadSum * 8 / 1024;
- ReceiveAmount = 수신 데이터량 (Kbps) - nReadSum = 초당 수신 Byte 수의 합
11
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
연습 문제 사용하는 시스템이 속한 네트워크의 MTU 확인 5300 바이트의 IP 데이터그램을 MTU 가 1500 바이트인
네트워크로 전달 시 단편화 단편화 조각의 개수 단편의 IP 데이터그램 식별자 , 플래그 단편 옵셋 정보 식별자는 00001010 에서 1 씩 증가 가정
IP헤더
IP 데이터그램 (5300 바이트 )
20 바이트
…
IP 헤더 (20 바이트 )
식별자 (16 비트 ) 플래그 (3 비트 )단편화 오프셋 (13 비트 )
IP 헤더 (20 바이트 )
12
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
트래픽 발생기 프로그램 작성
13
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
트래픽 발생기 작성 다이얼로그 기반의 프로젝트 생성 헤더파일 경로 : C:\AMAN2002\include 라이브러리 파일 경로 : C:\AMAN2002\lib Nmtgen 라이브러리 모듈 추가 : nmtgend.lib
14
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
대화상자 디자인 TGen 메인 대화상자 디자인
IPADDRESS
1
3
2
4
5
6
78
9
10
Button
Edit Box
Check Box
List Control
15
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
Control 속성
# 종류 ID 속성 변수
1 IPADDRESS IDC_IPADDRESS CIPAddress m_IPAddress
2 Edit Box IDC_EDIT_Port Short m_EDIT_shPortNumber
3 Edit Box IDC_EDIT_Speed Int m_EDIT_iSpeed
4 Check Box IDC_CHECK_BestEffort
5 List Control IDC_LIST View: Report CListCtrl m_LIST_SendResult
6 Button IDC_BUTTON_SendStart
7 Button IDC_BUTTON_SendStop
8 Button IDOK Default Button
9 Button IDC_BUTTON_Help
10 Button IDC_BUTTON_About
16
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
이벤트 처리# 종류 ID 메시지 함수명
6 Button IDC_BUTTON_SendStart BN_CLICK OnBUTTONSendStart()
7 Button IDC_BUTTON_SendStop BN_CLICK OnBUTTONSendStop()
8 Button IDOK BN_CLICK OnOK()
9 Button IDC_BUTTON_Help BN_CLICK OnBUTTONHelp()
10 Button IDC_BUTTON_About BN_CLICK OnBUTTONAbout()
17
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
CNmtGen 객체 생성 CNmtGen 객체 생성BOOL CTGenDlg::OnInitDialog()
{
…
m_pNmtGen = new CNmtGen(this->m_hWnd);
}
데이터 전송 이벤트와 매핑 함수 연결BEGIN_MESSAGE_MAP(CTGenDlg, CDialog)
//{{AFX_MSG_MAP(CTGenDlg)
…
//}}AFX_MSG_MAP
// 데이터 전송 시 1 초마다 메시지를 호출ON_MESSAGE(UM_MESSAGE_SEND, OnSend)
END_MESSAGE_MAP()
18
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
데이터 전송 시작void CTGenDlg::OnBUTTONSendStart() {
UpdateData(TRUE);GetDlgItemText(IDC_IPADDRESS, m_strIpAddr);
if(m_strIpAddr == "0.0.0.0")return;
m_pNmtGen-> SetIpAddress(m_strIpAddr);m_pNmtGen-> SetPortNumber(m_EDIT_shPortNumber);
if (m_iCheckBestEffort == 1)m_pNmtGen-> SetRequestTransferSpeed(0);
elsem_pNmtGen-> SetRequestTransferSpeed(m_EDIT_iSpeed);
m_pNmtGen-> SendStart();}
19
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
전송한 시간 및 데이터량 정보LRESULT CTGenDlg::OnSend(WPARAM wParam, LPARAM lParam){
// lParam 에 입력된 주소 값을 t_SendData * 형으로 전달받음 t_SendData *pData = (t_SendData *)lParam;
…lvitem.pszText = (LPTSTR)(LPCSTR)(pData->strTime);m_LIST_SendResult.InsertItem(&lvitem);
CString data = _T("");data.Format("%lf", pData->dCount);…lvitem.pszText = (LPTSTR)(LPCSTR)data;lstrcpy(lvitem.pszText, data);m_LIST_SendResult.SetItem(&lvitem);
return 0L;}
20
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
전송 종료 및 프로그램 종료
데이터 전송 종료void CTGenDlg::OnBUTTONSendStop()
{
m_pNmtGen->SendStop();
}
프로그램 종료void CTGenDlg::OnOK()
{
delete m_pNmtGen;
CDialog::OnOK();
}
21
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
트래픽 수신기 프로그램 작성 다이얼로그 기반의 프로젝트 생성 헤더파일 경로 : C:\AMAN2002\include 라이브러리 파일 경로 : C:\AMAN2002\lib Nmtrcv 라이브러리 모듈 추가 : nmtrcvd.lib
22
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
대화상자 디자인 TRcv 메인 대화상자 디자인
1 List Control
2
3
4
5
Edit Box
Button
23
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
Control 속성# 종류 ID 속성 변수
1 List Control IDC_LIST View: Report CListCtrl m_LIST_ReceiveResult
2 Edit Box IDC_EDIT_PortNumber CEdit m_EDIT_PortNumber
3 BUTTON IDOK
4 BUTTON IDC_BUTTON_Help
5 BUTTON IDC_BUTTON_About
24
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
이벤트 처리# 종류 ID 메시지 함수명
2 Edit Box IDC_EDIT_PortNumber EN_CHANGE OnChangeEDITPortNumber()
3 Button IDOK BN_CLICK OnOK()
4 Button IDC_BUTTON_Help BN_CLICK OnBUTTONHelp()
5 Button IDC_BUTTON_About BN_CLICK OnBUTTONAbout()
25
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
CNmtRcv 객체 생성 및 이벤트 CNmtRcv 객체 생성BOOL CTRcvDlg::OnInitDialog(){
…// CNmtRcv 객체 초기화//GetWndHandle() 함수를 통해 매개 변수로 CWnd 의 m_hWnd 변수 전달m_CNmtRcv.GetWndHandle(this->m_hWnd);…
}
데이터 수신 이벤트와 함수 매핑BEGIN_MESSAGE_MAP(CTRcvDlg, CDialog)
//{{AFX_MSG_MAP(CTRcvDlg)…//}}AFX_MSG_MAP// 사용자 정의 매크로 선언 ON_MESSAGE(UM_MESSAGE_RECEIVE, OnReceive)
END_MESSAGE_MAP()
26
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
포트 번호 변경void CTRcvDlg::OnChangeEDITPortNumber()
{
CString data = _T("");
m_EDIT_PortNumber.GetWindowText(data);
unsigned short port = (unsigned short) atoi(data);
m_CNmtRcv.SetPortNumber(port);
}
27
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
데이터 수신 이벤트 처리LRESULT CTRcvDlg::OnReceive(WPARAM wParam, LPARAM lParam){
CString data = _T("");t_RecvData* tRcvData = (t_RecvData *)lParam;
// 리스트 컨트롤에 시간 정보 출력하기…lvitem.pszText = (LPTSTR)(LPCSTR)tRcvData->strTime;lstrcpy(lvitem.pszText, tRcvData->strTime);m_LIST_ReceiveResult.InsertItem(&lvitem);
// 리스트 컨트롤에 데이터량 출력하기data.Format("%lf", tRcvData->dCount);…lvitem.pszText = (LPTSTR)(LPCSTR)data;lstrcpy(lvitem.pszText, data);m_LIST_ReceiveResult.SetItem(&lvitem);
return 0L;}
28
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
TGen 과 TRcv 실행 모습
목적지 211.180.125.117 시스템의 포트 6001 번으로 데이터 전송
초당 1000Kbps 의 데이터 전송
29
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
네트워크 최대 대역폭 검증
IP : 211.180.125.117CPU : x86 Family 6 Model 8 Stepping 10 GenuineIntel ~ 1000 Mhz OS : Windows 2000 ProfessionalMemory : 523,760 KB RAM
IP : 211.180.125.122CPU : x86 Family 6 Model 8 Stepping 10 GenuineIntel ~ 1000 Mhz OS : Windows 98Memory : 523,760 KB RAM
Dummy Hub
• 해당 네트워크의 대역폭은 100Mbps 미만임을 확인
30
제 12 장 트래픽 발생기 (Traffic Generator)
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www.nms4you.com
참고 문헌 서승호 외 , AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크
프로그래밍 , 정익사 , 2002. Jones Ohlund, “Network Programming Windows”, Microsoft. Jones Ohlund, “Network programming for Microsoft Windows”, Microsoft. Schmidt, Huston, “C++ Network Programming”, IN-DEPTH. Anthony Jones and Jim Ohlund, “Network Programming Windows”,
Microsoft. 김영탁 , 김종근 , 조유제 , 한기준 공저 , “ 데이터 통신 및 컴퓨터 망” ,
정익사 , 1999. W. Richard Stevens, “TCP/IP Illustrated, Volume I”, Addison wesley, 1996. Fred Halsall, “Data Communications, Computer Networks and Open
Systems”, Addison-wesley, 1995. Avi Silberschatz, Peter Galvin, "Operating System concepts", Addison
Wesley, 1998.