728x90 IT256 윤성우의 열혈 tcp/ip 소켓 프로그래밍 5장 연습문제 솔루션 답안 1. Three-way handshaking은 다음의 형태로 진행된다. 먼저 호스트 A가 호스트 B에게 전달하는 메시지를 가리켜 SYN이라 한다. 이렇듯 호스트 A가 호스트 B에게 전송하는 데이터의 동기화를 위해서 처음 보내는 '동기화 메시지'를 가리켜 SYN이라 한다. 이어서 호스트 B가 호스트 A에게 전달하는 메시지를 가리켜 SYN+ACK라 한다. 이는 처음 보내는 동기화 메시지와 앞서 수신한 메시지에 대한 응답의 내용까지 포함되어 있기 때문이다. 그리고 마지막으로 호스트 A가 호스트 B에게 전달하는 메시지에는 동기화 정보가 포함되어 있기 때문에 ACK라 한다. 답안 2. SEQ는 메시지에 번호를 부여하는데 사용된다. 반면 ACK는 번호가 부여된 메시지의 응답에 사용된다. 즉, 메시지를 보낼 때.. 2021. 5. 23. 윤성우의 열혈 tcp/ip 소켓 프로그래밍 4장 연습문제 솔루션 답안 1. TCP/IP의 4 계층은 다음과 같다. [그림 4-1: TCP/IP 프로토콜 스택] TCP는 LINK계층↔IP계층↔TCP계층↔APPLICATION계층의 구조를 지니며, UDP는 LINK계층↔IP계층↔UDP계층↔APPLICATION계층의 구조를 지닌다. 답안 2. LINK 계층은 LAN, WAN, MAN과 같은 네트워크 표준과 관련된 프로토콜을 정의하는 영역으로, 물리적인 성격의 표준을 정의하고 있는 계층으로 정리할 수 있다. 반면 IP 계층은 인터넷을 통한 데이터 전송의 표준을 정의하고 있는 계층이다. 즉 IP 계층은 LINK 계층을 기반으로 구성되는 물리적인 네트워크를 기반으로 하는 데이터 전송의 표준을 담당한다. 답안 3. 복잡한 TCP/IP 프로토콜을 계층화하면 문제해결을 전문화할 수 있.. 2021. 5. 23. 윤성우의 열혈 tcp/ip 소켓 프로그래밍 3장 연습문제 솔루션 답안 1. IPv4는 4바이트 주소체계인 반면, IPv6는 16바이트 주소체계이다. 이렇듯 IPv6는 IPv4 기반의 IP주소 고갈을 염려하여 정의된 주소체계이다. 답안 2. 데이터 전송과정의 첫 번째는 목적지가 속한 네트워크로의 데이터 전송이다. 그리고 이 때 사용되는 것이 IP주소 중에서 네트워크 ID라 불리는 부분이다. 이는 네트워크를 구분할 수 있는 주소정보로써 이를 통해서 해당 네트워크로 데이터가 전송된다. 그리고 이렇게 전송된 데이터는 네트워크를 관장하는 라우터에게 전달되며, 데이터를 수신한 라우터는 IP주소 중에서 네트워크 ID를 제외한 나머지인 호스트 ID를 참조하여 최종 목적지인 호스트로 데이터를 전송한다. 답안 3. IP주소는 인터넷상에서의 호스트를 구분하기 위한 것이다. 때문에 IP주.. 2021. 5. 23. 윤성우의 열혈 tcp/ip 소켓 프로그래밍 2장 연습문제 솔루션 답안 1. 프로토콜은 통신의 방법을 약속해 놓은 통신규약을 의미한다. 따라서 프로토콜을 정의한다는 것은 데이터 송수신에 필요한 약속을 정의한다는 의미이다. 답안 2. 중간에 데이터가 소멸되지 않고 목적지로 전송된다. 전송 순서대로 상대 호스트로 데이터가 수신된다. 전송되는 데이터의 경계(Boundary)가 존재하지 않는다. 답안 3. a, c, e 답안 4. a. 서태지와 아이들의 실시간 라이브 방송 멀티미디어 데이터 데이터의 손실에 덜 민감하고 속도가 중요시 되므로, 비 연결지향형 소켓 b. 철수가 압축한 텍스트 파일의 전송 압축파일은 데이터가 일부 손실되면 전체 해제가 불가능할 수 있으므로 연결지향형 소켓 c. 인터넷 뱅킹을 이용하는 고객과 은행 사이에서의 데이터 송수신 고객과 은행 사이에서는 데이터.. 2021. 5. 23. 윤성우의 열혈 tcp/ip 소켓 프로그래밍 1장 연습문제 솔루션 답안 1. 소켓은 물리적으로 연결되어 있는 호스트간 데이터 송수신에 필요한 프로토콜로부터 프로그래머를 자유롭게 하는 데이터 송수신의 매개체이다. 결국 소켓은 인터넷이라는 거대한 네트워크 망으로의 연결 도구로 사용되기 때문에 소켓이라는 이름이 붙게 된 것으로 정리할 수 있다. 답안 2. listen 함수가 호출되면 소켓은 연결요청이 가능한 상태가 된다. 그러나 실제 연결이 완료되려면 accept 함수가 호출되어야 한다. 답안 3 리눅스는 소켓도 파일로 간주한다. 즉, 이 둘을 구분 짓지 않는 형태로 설계가 되어 있다. 따라서 파일 입출력 함수를 소켓 입출력에 사용할 수 있다. 하지만 윈도우는 리눅스와 달리 소켓과 파일을 동일하게 간주하지 않는다. 때문에 파일 입출력 함수와 소켓 입출력 함수가 구분되어 있다.. 2021. 5. 23. 윈도우즈 API 정복 6장 예제 소스코드 API와 운영체제를 통해 알고리즘과 논리력을 키울 수 있도록 쓰여진 책입니다. 초급 프로그래머는 그래픽 환경에 쉽게 적응하여 탄탄한 기본기를 다질 수 있으며 중급 프로그래머는 운영체제의 내부 구조와 동작을 이해함으로써 진정한 응용력을 키울 수 있다. #include LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); HINSTANCE g_hInst; HWND hWndMain; LPCTSTR lpszClass=TEXT("Bitmap"); int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance ,LPSTR lpszCmdParam,int nCmdShow) { HWND hWnd; MSG Message; WNDCL.. 2021. 5. 22. 윈도우즈 API 정복 5장 예제 소스코드 API와 운영체제를 통해 알고리즘과 논리력을 키울 수 있도록 쓰여진 책입니다. 초급 프로그래머는 그래픽 환경에 쉽게 적응하여 탄탄한 기본기를 다질 수 있으며 중급 프로그래머는 운영체제의 내부 구조와 동작을 이해함으로써 진정한 응용력을 키울 수 있다. #include LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); HINSTANCE g_hInst; HWND hWndMain; LPCTSTR lpszClass=TEXT("Class"); int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance ,LPSTR lpszCmdParam,int nCmdShow) { HWND hWnd; MSG Message; WNDCLA.. 2021. 5. 22. 윈도우즈 API 정복 4-2장 예제 소스코드 API와 운영체제를 통해 알고리즘과 논리력을 키울 수 있도록 쓰여진 책입니다. 초급 프로그래머는 그래픽 환경에 쉽게 적응하여 탄탄한 기본기를 다질 수 있으며 중급 프로그래머는 운영체제의 내부 구조와 동작을 이해함으로써 진정한 응용력을 키울 수 있다. #include LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); HINSTANCE g_hInst; LPCTSTR lpszClass=TEXT("MyTimer"); int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance ,LPSTR lpszCmdParam,int nCmdShow) { HWND hWnd; MSG Message; WNDCLASS WndClass; .. 2021. 5. 22. 윈도우즈 API 정복 4장 예제 소스코드 API와 운영체제를 통해 알고리즘과 논리력을 키울 수 있도록 쓰여진 책입니다. 초급 프로그래머는 그래픽 환경에 쉽게 적응하여 탄탄한 기본기를 다질 수 있으며 중급 프로그래머는 운영체제의 내부 구조와 동작을 이해함으로써 진정한 응용력을 키울 수 있다. #include LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); HINSTANCE g_hInst; LPCTSTR lpszClass=TEXT("Callback"); int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance ,LPSTR lpszCmdParam,int nCmdShow) { HWND hWnd; MSG Message; WNDCLASS WndClass;.. 2021. 5. 22. 이전 1 ··· 9 10 11 12 13 14 15 ··· 29 다음 728x90