네트워크 스터디(Tcp 소켓 프로그래밍)

3,563 views

Published on

네트워크 스터디(TCP 소켓 프로그래밍)

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,563
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
33
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

네트워크 스터디(Tcp 소켓 프로그래밍)

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

×