1. HTTP 패킷 전송과정(1) TCP 연결과정 확인(2) Base object와 다른 object의 TCP Packet을 클릭하여 내부 정보 분석(Get 과 Response 확인)Base Object일반 Object(3) TCP 연결 종료 분석 - FIN Packet(4) SYN과 FIN의 개수 확인2. FTP Packet 전송과정(1) 컴퓨터와 FTP 서버 간의 TCP 연결부터 로그온 메시지 교환 과정 확인(2) TCP 헤더 분석(3) 디렉토리 목록을 가져오는 데까지 사용된 4가지 응답 코드 확인(4) 루트 디렉토리 목록을 받아오기 위한 TCP 연결 및 해제를 확인하고, 해당 디렉토리 목록의 데이터 크기를 기입(5) 읽기/쓰기에 사용된 데이터 크기 및 명령어 확인- Down 디렉토리 목록을 받아오기 위한 데이터의 크기가 얼마인지 확인- RTER 메시지 요청 후에 몇 개의 데이터 전송이 이루어지는지 확인- Upload 디렉토리 목록을 받아오기 위한 데이터의 크기가 얼마인지 확인- STOR 메시지 요청 후에 몇 개의 데이터 전송이 이루어지는지 확인 13. SMTP Packet 전송과정(1) SMTP 프로토콜을 이용한 이메일 송신 부분 과정- 이메일 송신을 위한 TCP 연결과정 (IP주소, 포트 번호)- TCP 연결 후 이메일 서버에 접속하기 위한 과정- 서버 접속 후 이메일 전송을 위한 command 분석(MAIL FROM. RCPT TO, DATA, QUIT)-TCP 연결 해제 과정(2) POP3 프로토콜을 이용한 이메일 수신 부분 과정- TCP 접속과정 확인- TCP 연결 후 이메일 서버에 접속하기 위한 과정 (사용자 ID와 비밀번호)- 서버 접속 후 이메일 수신을 위한 command 분석 (STAT, LIST, RETR, QUIT)- TCP 연결 해제 과정4번 DNS 패킷 전송 과정HTTP(1) DNS Query 메시지 분석요청한 도메인 이름 확인DNS 메시지를 발신한 IP주소와 Port 번호, 수신한 IP주소와 Port 번호Queries 필드 부분에서 데이터 타입 (Data type) 확인(2) DNS Response 메시지 분석-요청한 도메인 이름 확인- DNS 메시지를 발신한 IP주소와 Port 번호, 수신한 IP주소와 Port 번호- Queries 필드 부분에서 데이터 타입 (Data type) 확인- Answers 필드 부분에서 연결된 도메인의 IP 주소 확인SMTP- 요청한 도메인 이름 확인- DNS 메시지를 발신한 IP주소와 Port 번호, 수신한 IP주소와 Port 번호- Queries 필드 부분에서 데이터 타입 (Data type) 확인- Answers 필드 부분에서 연결된 도메인의 IP 주소 확인(1) DNS Query 메시지 분석(2) DNS RESPONSE 메시지 분석5번 P2P 패킷 전송 과정(1) 초기 연결시 사용된 트래커 서버와의 TCP 연결 확인- TCP 연결을 위한 SYN-SYN/ACK-ACK 과정 확인- 트래커 서버의 IP와 개수그림 41 : 다운 파일의 Tracker 목록그림 42 여러 Tracker 중 하나 선택 (tracker.publicbt.com/announce) , peer 목록을 요청하고 수신함.그림 43 Tracker 를 찾기 위해 HTTP 프로토콜 packet을 검색함.(2) TCP로 연결된 peer와의 연결 설정 과정 분석- 연결된 peer들 중 TCP 연결 맺은 하나의 peer 선택- TCP 필터링 후 TCP 연결 과정 및 헤더 분석그림 44 : Download 중인 파일을 보유하고 있는 peer들의 접속 상태그림 45 : TCP 접속과정과 TCP [PSH, ACK] Packet 의 헤더그림 46 TCP [ACK]와 헤더부분(3) TCP 연결 없이 데이터 전송하는 peer의 데이터 분석- TCP이 연결이 되지 않은 peer 하나를 선택- 해당 UDP 패킷의 헤더 분석 (IP 주소, Port번호, TTL- TCP 연결을 하지 않는 이유그림 47 : 보유중인 파일을 갖고있는 Peer들의 List그림 48 : UDP Packet List와 헤더 정보-
이름 :학번 :학과 :제목 : 6.25 전쟁의 사례를 통한 정보의 중요성과 정보 활용에 대한 교훈서론1950년 6월 25일 새벽 4시, 한국전쟁이 발발하기 까지 무려 417회의 남침 징후가 육본에 보고되었습니다. 모진교 사건과, 북한귀순자의 첩보 등 6월이 될수록 너무도 분명한 징후가 있었음에도 불구하고 모든 정보는 무시되었으며 결국 남한은 아무런 대비도 하지 못한 채 동족상잔의 비극을 맞이하게 되었습니다.1. 정보전담기관의 부재와 정보에 대한 안일한 대처 ? 정보 활용의 실패 사례남한에는 당시 군정보국이 존재하였으나 육군본부의 통제를 받았기 때문에 그 영향력은 매우 약했으며 군 정보국의 첩보가 육군본부의 채병덕 참모총장에 의해 대부분 무시된 것이 아무런 대비 없이 전쟁을 맞이하게 된 결정적 계기가 되었습니다. 24일 오후, 장도영 군정보국장은 ‘인민군의 전면 남침준비?를 판단, 채병덕 참모총장에게 비상경계령을 부활시켜 대비할 것을 요청하였으나, 채병덕 참모총장은 화를 내며 ??오전에 해제하였는데 어떻게 오후에 다시 경계령을 부활시키는가???라며 거절했다고 합니다. 그래서 장도영 정보국장은 국장들을 불러 ??인민군의 전면 침공이 예상된다.??라고 하였는데, 국장들도 별 반응이 없이 ??유언비어를 퍼뜨려 사회를 혼란시킬 작정인가? 당신 빨갱이 아니오???라고 했다고 합니다.2. 국군 6사단의 정보 수집과 적극적인 대비 ? 정보 활용의 성공적 사례국군 6사단의 사단장 김종오 대령은 6월 19일에 생포한 포로의 진술을 토대로 화천과 양구에 정찰대를 파견하여 정보를 수집했습니다. 수집된 정보에 따라 적의 전면적 또는 국지적 공격이 있을 것으로 판단하고 전군의 비상경계령 해제에도 불구하고 사단 자체적으로 전 장병의 휴가를 제한하였습다. 그리고 무기와 장비를 신속히 정비하여 전쟁에 대비하였습니다. 예상대로 6.25전쟁이 발발했고 국군의 전 사단이 방어선을 지키지 못하고 후퇴하는 가운데 6사단만이 유일하게 3일 동안 춘천, 홍천 지구를 방어하면서 김일성의 서울 점령계획을 지연시켰고 국군이 반격을 위한 준비시간을 확보하는데 크게 기여했다.3. 결론위의 첫 번째 사례를 정보의 순환과정 측면에서 살펴보면, 첩보와 생포한 포로를 통해 정보의 수집은 이루어 졌으나 당시 참모총장과 정보국의 국장들의 정보에 대한 무지로 인하여 정보에 대한 분석과 생산, 배포와 사용이 제대로 이루어지지 못하였음을 알 수 있습니다. 이에 대한 근본적인 원인은 당시 남한의 국가정보전담기관과 전문가의 부재로 인해 수집된 정보를 통한 객관적인 판단과 정보의 활용이 이루어지지 못했기 때문이라고 생각합니다.
< 국제무역의 이해 >1. 해외 시장조사수출입 절차에서 가장 최초에 행하는 절차가 해외 시장조사이다. 물품을 수출 또는 수입 하려면 먼저 목표하는 시장부터 찾아야 한다.해외 시장조사의 의의시장조사는 물품을 그 생산자로부터 소비자에게 판매하는데 관련된 모든 문제를 수집, 기록, 분석하는 활동이라고 할 수 있다.특히 수출에 있어서 해외 시장조사란 수출상이 물품을 가장 효율적이고 장기적으로 판매할 수 있는 시장을 찾기 위하여 당해 물품의 판매에 관한 모든 사실을 과학적인 방법으로 수집, 종합, 비교, 분석하는 일련의 활동을 뜻한다.시장조사 항목(1) 지리적조건 측면 : 기후, 지형, 도시의 분포상황에 대하여 조사한다.(2) 정치, 경제적 측면 : 해당국가의 국내 산업 보호정책 수준, 자원의 분포상황.(3) 사회적 측면 : 종교, 교육수준, 관습, 생활양식, 인종, 인터넷의 보급정도 등을 조사.조사방법(1) 직접조사직접 현지에 출장을 가서 조사하는 방법과, 해외에 나가있는 자사의 대리점이나 지점을 통해 조사하는 방법.- 출장조사출장조사는 현지에 직접 가서 조사하여 감각적이고 실직적인 조사를 할 수 있다는 장점이 있지만 비용이 많이 들고 주관적인 조사가 될 위험이 있다. 출장조사는 업계 공동 시장조사단에 참석하거나 국제 무역박람회에 참석하여 조사할 수 있다.- 대리점, 지점을 통한 조사해외에 있는 자사의 지점을 통해 시장조사를 할 수 있다. 현지의 신문, 뉴스를 통해 정보를 입수하거나, 거래처와 지속적인 관계를 유지할 수 있다.(2) 간접조사간접조사는 국내에 있는 해외 대사관이나 해외에 있는 한국 대사관을 통해 정보를 얻는 방법 또는 KOTRA, 국내의 상공회의소, 무역협회 같은 무역기관을 통해 조사하는 방식이다.이 중에서 KOTRA는 해외 각 시장에 무역관을 개설하여 운영중에 있으며 정보의 신속성과 정확성이 높다고 정평이 나있다.(3) 위탁조사위탁조사는 전문조사기관에 의뢰하여 조사하는 방식으로 비용이 많이 들지만 정확하고 신뢰도 높은 정보를 얻을 수 있다. 위탁조사는 크게 간접조사 범주에 포함된다.2. 거래처 선정 및 신용조사- 거래처 선정해외시장조사를 통해 목표 시장을 찾으면 그 다음으로 거래처를 선정 한다. 거래처 조사는 무역업자명부, 무역 관련기관, 홍보물 배포, 직접출장을 통하여 할 수 있다.무역업자명부를 통한 조사Trade directory 또는 Yellow page 같은 곳에서 발행하는 간행지를 통해 buyer list를 확인하고, 같은 품목을 취급하는 업체를 찾아서 잠정적인 거래처로 선정한다.무역 관련기관을 통한 조사KOTRA, 한국무역협회 같은 기관에 의뢰하여 거래처를 소개받거나 WTCA(world trade center association), 상업회의소에 의뢰하여 그곳에서 발행하는 기관지를 통해 거래처명단을 확보할 수 있다.홍보물 배포 방법무역업자 명부나, 무역관련기관의 서비스를 통해 알게된 buyer list 중에서 잠정적인 거래대상을 선정한 후 그들에게 자사의 물품을 홍보하는 Catalog나 lefleat을 발송하여 거래처를 물색하는 방식이다.직접출장을 통한 조사현지에 직접 출장을 가거나 박람회 참석 또는 무역기관에서 파견하는 민간무역사절단에 참가여하여 거래처를 물색할 수 있다.- 신용조사거래처를 선정하고 계약을 체결하기 이전에 상대방의 신뢰도를 확인하기 위하여 신용조사를 반드시 해야된다. 무역거래는 국내거래와는 비교할 수 없을 정도로 큰 신용위험이 따르고, 해외 거래처에는 견본품으로 생계를 이어나가는 sample merchant나 고의로 클레임을 제기할 것을 미리 계산하고 계약하는 claim merchant 같은 악덕 기업들이 존재하기 때문에 반드시 신용조사가 필요하다. 신용조사는 거래계약을 맺었던 업체에 대해서도 주기적으로 실시해 주는 것이 좋다.신용조사 항목 3C's(1) charater기업윤리, 대금 지급에 대한 성의, 채무변제이행 열의, 평판이 Character 항목에 포함된다. Character 에는 기업 운영진들의 도덕성, 성실성과 신뢰성이 반영되므로 가장 중요한 항목이라고 할 수 있다.(2) capital자본과 부채비율, 영업결과에 따른 손해와 이익, 재정상태를 조사한다. 이런 것을 알아보기 위해서는 재무제표를 조사하는데 대표적인 것으로 손익계산서와, 대차대조표이다.(3) capacity기업의 장래성과, 경영능력, 취급업종을 조사하는 항목이다. 아무리 자본이 많은 회사라고 하더라도 장래성이 없거나 경영자의 경영 능력이 부족하다면, 장기적으로 봤을 때 전망이 밝지 못하다고 할 수 있다.+ (4) condition국가의 정치적 안정성을 조사하는 항목, 최근에는 이 항목의 비중이 커지고 있다. 예를 들어 리비아 같이 정치적 안정성이 없는 국가의 거래처와는 거래하면 위험이 높다.신용조사 방법- 거래은행이나 동업자를 통한 조사- 전문 기관에 의한 조사 - Moody's , Dun & Bradstreet 등- 국내의 해외신용조사기관신용조사방법은 한국신용평가 또는 KOTRA, 신용보증기금 등을 통해 조사할 수 있다. 신용보증기금은 미국의 Dun&Bradstreet사 등 유수의 해외신용조사 전문기관과 제휴하여 신속 정확한 자료를 제공한다.- 인터넷을 통한 조사.dnb, 한국수출보험공사 신용보증기금등의 인터넷 사이트에서 신용조사를 할 수 있다.무역계약의 의의무역계약은 국제물품매매계약으로 매도인에게는 수출계약이 되며 매수인에게는 수입계약이 된다.특징 1. 무역계약은 매매계약이다.무역계약은 매매계약으로 판매자를 매도인, 구매자를 매수인이라고 한다. 매도인에게는 물품을 인도할 의무가 있고 매수인에게는 물품에 대한 대금을 지급할 의무기 있다.특징 2. 무역계약은 물품계약이다.무역계약은 물품계약으로 물품을 거래 대상으로 한다. 지적재산권이나 서비스는 포함되지 않으나 정보산업의 발달로 생성된 디저털제품은 포함한다.특징3. 무역계약은 국제계약이다.무역계약은 매수인과 매도인이 서로 다른 국가에서 영업소를 두고 있는 국제 계약이다.무역계약시 현물거래와 선물거래현물거래는 매도인이 계약 당시에 물품을 보유하고 있는 경우를 뜻하고, 선물 거래는 계약 체결 후 계약서나 명세서의 표기에 따라 물품의 생산에 들어가는 거래방식을 뜻한다. 보통 무역에서는 선물거래가 일반적이며 공산품과는 다르게 곡물 거래에서는 표준품매매 방식으로 곡물이 수확되기 전에 미리 계약이 체결된다.
데이터통신Project #2 - Selective Repeat1. 목적프로그래밍 언어를 이용하여 Selective Repeat ARQ를 구현한다. Source측과 Destination측에 각각 Selective Repeat을 수행하기 위한 기능을 구현하고, 주어진 데모 시나리오를 통해 구현된 알고리즘을 테스트한다.2. 설계 조건Programming Language : C++ (Win32 Console Application)- C++ 을 사용하여 각 기능을 함수로 만들고 함수들을 조합하여 구현함.송신측에서 전송하는 frame 수는 반드시 연속적으로 다수 개 이어야 함.Source는 Data를 전송만 수행하며 ACK, NAK를 제외한 다른 Data 수신 기능이 없다.Destination은 Data를 수신만 하며, ACK 또는 NAK를 전송한다. 이 외에 다른 DATA를 전송하지 않는다.Source 측 기능Frame : 200ByteCRC : 16bit (bit operation 필요)timer onframe 전송 : window managementframe 전송 시 : error bit 추가 기능ACK 수신시 : window managementNAK 수신시 : 재전송 및 window managementtimeout 시 : 재전송 및 window managementDestination 측 기능frame 수신 : window managementCRC 검사 (bit operation 필요)ACK or NAK 생성 : window managementACK or NAK 전송 : error bit 추가 기능3. 설계 과정(1) Frame 정의TypeSequence NumberAck NumberNAK NumberDATAFCS4Byte4byte4byte4Byte180Byte4Byte첫 단계로 설계 조건을 충족시키기 위한 정보들을 담고 있는 Frame을 정의했다. Source 측에서는 위와 같은 Frame을 생성하여 전송 매체로 전달한다. 각 Field별 기능은 다음과 같다.1)eive_frame_info(frame & frame); // 수신한 프레임 정보 확인하는 함수(4) Destineation 측 기능 구현// receiver 함수 선언void B_init(); // 윈도우 초기화 함수void B_receive_frame(); // 프레임 수신 함수void B_send_ACK(int ACK_N0); // ACK 전송 함수void B_send_NAK(int NAK_N0); // NAK 전송 함수void B_send_frame_info(frame & frame); // 전송한 프레임 정보 확인하는 함수void B_receive_frame_info(frame & frame); // 수신한 프레임 정보 확인하는 함수// receiver 변수 선언frame B_window[window_size]; // 프레임 윈도우int B_write[window_size]; // 윈도우에 저장된 프레임 위치 (0 : 비어있음, 1 : 저장되어있음)int B_Rn; // 수신할 프레임 위치번호frame B_medium[medium_size]; // 전송매체, receiver TX sender RX 연결int B_medium_index; // 전송할 전송매체 위치번호int B_medium_index_received; // 수신할 전송매체 위치번호int B_medium_n; // 전송매체애 프레임 전송한 개수int B_upper_layer_frame[data_size]; // 상위 계층 프레임4. 데모 시나리오 수행과정(1) 정상적인 Frame 전송과 ACK 교환과정Source : A , Destination : BSTEP 1 ) Source A가 Network Layer로부터 Data를 받게되고 Data는 180Byte 단위로 나뉘어 5개의 Frame이 형성된다. 전송된 각 Frame의 Field 구성은 아래의 [표1] 와 같고 5개의 Frame이 모두 전송된 후의 Window 모습은 [표2]과 같다 Sf는 0번 Frame을 가리키고 있으며 Sn은 다B는 Frame7을 수신하고 Window를 3칸 Slide하며 다음에 수신할 Frame 번호를 나타내는 Cumulative ACK 2를 전송한다.23456701234567RnSliding Window ( Size = 7 )Step 5) A는 Cumulative ACK2를 받고 윈도우를 5칸 슬라이드 한다.70123456701Sf, Sn전송완료Sliding Window ( Size = 7 )(3) Damaged ACK와 복구 과정Step 1). A가 B에게 3개의 Frame(2,3,4)을 연속으로 3개의 Frame을 전송한다.TypeSequence NumberAck NumberNAK NumberDATAFCS02--DATA2FCS203--DATA3FCS304--DATA4FCS4Step 2) B는 연속으로 Frame을 3개 수신하며 각각의 Frame이 들어올 때 마다 윈도우가 슬라이딩 한다. 마지막 Frame4를 받고 슬라이딩한 다음 Cumulative ACK5를 전송한다.23456701234567Rn수신완료Sliding Window ( Size = 7 )Step 3) Cumulative ACK가 전송 중 손상되고, A는 손상된 ACK를 수신하지 않고 받고 버린다.TypeSequence NumberAck NumberNAK NumberDATAFCS1 (ACK)-5--FCSTypeSequence NumberAck NumberNAK NumberDATAFCS-1 (Unknown)-5--FCSStep 4) Time Out이 발생하기 전에 A에는 2개의 Frame이 생성되어 B에게 전송하고, B는 Frame5,6을 수신하며 윈도우를 슬라이딩한 다음 ACK 7번을 전송한다. 그리고 Rn은 7번을 가리키게 된다.23456701234567Rn수신완료Sliding Window ( Size = 7 )Step 5) A는 ACK7을 받고, 앞에 돌아오지 않은 Cumulative ACK5에 해당하는 Frame2,3,4가 B에게 제대로 전송되었음을 파악하게 된다. 따라서, Frame 2,3,, 순차적으로 연속된 윈도우가 채워지게 되어 Window는 4번 까지 한 번에 슬라이딩한다. 그 후 ACK4를 전송하고, Rn은 다음에 받을 Frame으로 4번 Frame을 기다리게 된다.3456701234567RnSliding Window ( Size = 7 )Step7) A는 ACK4를 수신함으로써, 그 동안 보냈던 모든 Frame들 (Frame7, 0, 1, 2, 3)을 B가 정상적으로 수신했음을 인식하고 A의 Window를 다음에 전송될 프레임인 4번 Window까지 슬라이딩 한다.34567012345Sf,SnSliding Window ( Size = 7 )// S_R.cpp#include "S_R.h"int main(void){A_init();B_init();// 1. 정상적인frame 전송과ACK 교환///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////cout < "1. 정상적인frame 전송과ACK 교환" < endl < endl;cout < "A가B에게연속5개frame 전송" < endl;for(int i = 0; i< 5; i++){A_send_frame(A_Sn);}cout < endl;cout < "B가연속5개frame 수신하고cumulative ACK 전송" < endl;B_receive_frame();cout < endl;cout < "A가cumulative ACK 수신" < endl;A_receive_frame();cout < endl < endl;///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 2. damaged frame과복구//////////////;cout < "B가연속3개frame 수신하고cumulative ACK 전송" < endl;B_receive_frame();cout < "B가A에게전송한cumulative ACK 손상" < endl;frame_damage(B_medium[B_medium_index-1]);cout < endl;cout < "A가손상된cumulative ACK 수신" < endl;A_receive_frame();cout < "A가B에게연속2개frame 전송" < endl;for(int i = 0; i< 2; i++){A_send_frame(A_Sn);}cout < endl;cout < "B가연속2개frame 수신하고cumulative ACK 전송" < endl;B_receive_frame();cout < endl;cout < "A가cumulative ACK 수신" < endl;A_receive_frame();cout < endl < endl;///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4. damaged NAK와복구///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////cout < "4. damaged NAK과복구" < endl < endl;cout < "A가B에게연속3개frame 전송" < endl;for(int i = 0; i< 3; i++){A_send_frame(A_Sn);if(i == 1){cout < "A가B에게전송한frame 중2번째frame 손상" < endl;frame_damage(A_medium[A_medium_index-1]);}}cout < endl;cout < "B가연속3개f///}