Download - 네트워크 스터디(Tcp 소켓 프로그래밍)
![Page 1: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/1.jpg)
네트워크 스터디TCP/IP 소켓 프로그래밍
2011/08/06박민수
![Page 2: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/2.jpg)
목차
네트워크 바이트 순서 인터넷 주소와 도메인 TCP 소켓 프로그래밍 Q&A 과제 확인 과제
![Page 3: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/3.jpg)
네트워크 바이트 순서
컴퓨터는 ‘바이트’단위로 데이터를 관리
CPU 종류에 따라 읽는 방식이 다름 리틀 엔디안 (Little Endian) : 높은 주소 부터 빅 엔디안 (Big Endian) : 낮은 주소 부터
![Page 4: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/4.jpg)
네트워크 바이트 순서
![Page 5: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/5.jpg)
네트워크 바이트 순서
Intel 계열 -> 리틀 엔디안
Visual Studio Memory 창으로 확인
![Page 6: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/6.jpg)
네트워크 바이트 순서
엔디안 방식이 다르면 문제 발생
네트워크 바이트 순서를 정함 네트워크에서는 빅 엔디안
호스트 쪽에서 판단해 변환해서 보냄
![Page 7: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/7.jpg)
네트워크 바이트 순서
바이트 순서 변환 함수
htonl, htons, ntohl, ntohs
의미 h : 호스트 n : 네트워크 to : ~ 에서 l : 4 바이트 s : 2 바이트
![Page 8: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/8.jpg)
네트워크 바이트 순서
XML - [eXtensible Markup Language]
XML 방식 – 바이트 순서 상관 없음
![Page 9: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/9.jpg)
인터넷 주소와 도메인
인터넷 주소 (IP Address) 컴퓨터를 구분하기 위해 필요 유일한 주소여야 함
ICANN 에서 관리(Internet Corporation for Assigned Named and Numbers)
![Page 10: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/10.jpg)
인터넷 주소와 도메인
계층 구조를 이용 IPv4 – 255.255.255.255 IPv6 – 255.255.255.255.255.255
인터넷 주소 클래스 계층 구조의 높이에 따라 나뉨
![Page 11: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/11.jpg)
인터넷 주소와 도메인
![Page 12: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/12.jpg)
인터넷 주소와 도메인
인터넷 주소 변환 함수 inet_addr inet_aton inet_ntoa
보통 inet_addr 을 사용함 네트워크 바이트 순서로 변환됨
![Page 13: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/13.jpg)
인터넷 주소와 도메인
도메인 주소 IP 주소보다 사용하기 편함 ICANN 에서 관리
도메인 레벨 (3 차 ) (2 차 ) (1 차 ) www.naver.com
![Page 14: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/14.jpg)
인터넷 주소와 도메인
1 차 도메인 com, org, edu, net, mil. gov, …
2 차 도메인 co, ac, … naver 등 브랜드 이름 (3 차 도메인으로 보기도
함 ) 3 차 도메인
www
![Page 15: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/15.jpg)
인터넷 주소와 도메인
DNS 서버1. 브라우저에 도메인 주소 요청2. 현재 호스트에 도메인 이름이 있는지 검사3. 없으면 네임 서버에 요청4. DNS 데이터베이스 검색5. IP 주소로 접속
![Page 16: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/16.jpg)
TCP 소켓 프로그래밍
분산 네트워크 방식 ( 패킷전송 방식 ) 쪼개서 보내고 받아서 합침
장점 네트워크 라인 자원을 분할해서 사용 가능 전송이 실패된 데이터만 다시 보냄 견고한 네트워크 방식
단점 견고한 만큼 속도가 느림
![Page 17: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/17.jpg)
TCP 소켓 프로그래밍
MTU(Maximum Transmission Unit) 패킷의 최대 전송 크기
MTU : 500 / 데이터 1300 500 + 500 + 300 으로 세조각
![Page 18: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/18.jpg)
TCP 소켓 프로그래밍
TCP 특징 연결지향 : 전용 연결회선 생성 신뢰성 : 데이터가 올바른지 확인 전 이중 통신 : 읽고 쓰기 가능
연결지향 , 신뢰성이 중요함
http://www.ietf.org/rfc/rfc793.txt
![Page 19: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/19.jpg)
TCP 소켓 프로그래밍
![Page 20: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/20.jpg)
TCP 소켓 프로그래밍
![Page 21: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/21.jpg)
TCP 소켓 프로그래밍
![Page 22: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/22.jpg)
TCP 소켓 프로그래밍
![Page 23: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/23.jpg)
TCP 소켓 프로그래밍
![Page 24: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/24.jpg)
TCP 소켓 프로그래밍
![Page 25: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/25.jpg)
TCP 소켓 프로그래밍
TCP 소켓 생성 socket(AF_INET, SOCK_STREAM, IP-
PROTO_TCP)
기존 예제와 다를게 없다… ;;
![Page 26: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/26.jpg)
Q&A
![Page 27: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/27.jpg)
과제 확인
![Page 28: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/28.jpg)
과제 (2 주 )
Socket 클래스 만들기
NetBuffer, Packet 클래스 만들기 ( 옵션 )
게임 파트 : 콘솔 RPG
보안 파트 : 암호화 , 체크섬
![Page 29: 네트워크 스터디(Tcp 소켓 프로그래밍)](https://reader035.vdocuments.mx/reader035/viewer/2022062307/55858ec1d8b42abc7b8b45f4/html5/thumbnails/29.jpg)
끝