===== Intro =====
1.
제 나름대로 구상한 방식입니다
2.
막히면 돌아가고 깊이가 방대하면 포기하고 다음으로!
3.
구성 : 토픽 – 기반기술 학습 – 기반기술 기반 실습(되는데로..) – 최종 프로젝트
===== Overall story =====
1.
1화 = 북한 ip의 구성
2.
2화 =
Torrent 이용중 IP 동작
Step – 0
==Torrent 는 어떻게 내
ip를 알 수 있지?
토렌트를 사용하면 이런 궁금증이 생기죠(저만 그럼 말고요…) “나는 파일만 다운받았는데 왜 내 ip가 보이지?” “누가 내 접속 정보를 보는 거야?”
è 이걸 이해하기 위해서는
먼저 Torrent의 동작 방식을 알아야 합니다
(빅 브라더의 음모일지 모릅니다)
Step – 1
==P2P(Peer To Peer)개념
일반적인 다운로드는 서버(Server)에서 파일을 받아옵니다만 토렌트는
참여한 사람들(Peer)끼리 직접 파일을 주고 받습니다, 쉽게
말하면 중앙 창고 없이 사람들끼리 직접 물건을 주고받는 방식입니다
(서버에서
파일을 받는 것 & 사용자끼리 직접 주고받는 것)
Step – 2
==서버 없이 파일 공유가 된다고?!!
보통 토렌트가 공유하는 파일은 수백~수천개의 조각(Piece)로 나눠져 있습니다, 그리고 이걸 동일한 파일을 소유하고
공유하는 사람들이 나눠서 가지고 있고 동시에 여러 사람에게 받아서 속도가 빨라지는 원리입니다, 즉 파일을 보유한 사람이 곧 서버가 된다~
(이걸
생각하면 쉽습니다..90년대에 유행하던 플래시겟(파일을 쪼개서
받았던 혁신적인 녀석이죠)
Step – 3
==Seeder 와 Leecher
토렌트 네트워크의 사용자는 2가지로
Seeder 와 Leecher 로
Seeder= 파일을 100%가지고
있으며 다른사람에게 업로드 해주는 사용자
Leecher=파일을 받는중인 사용자
è 파일을 모두 받으면 Leecher 에서 Seeder가 되겠죠?
(파일을
여기저기 돌면서 받아오기 때문에 급식실과 같다고 할수 있지 않을까..)
Step – 4
==그래서…다 좋은데 그럼
이 파일을 가진사람을 어떻게 아는건데?
그럼 여기서 의문이 듭니다, 이 큰 인터넷 세계에서 누가 이 파일을
가지고 있는지 어떻게 알수 있을까요? 그게 바로 Tracker가
하는 역할입니다
Tracke는 파일을 주는 서버가 아니라
1.
이 토렌트 사용중인 사람 목록
2.
Ip 주소
3.
포트정보
4.
등등등
쉽게 말하면 “소개팅 주선자? 중매쟁이?” 정도 된다고 본다
Ex) 이 파일을 받고싶다고?
-> 그럼 지금 이 파일을 가진 사람은
1.
xxx.xxx.xxx.xxx
2.
yyy.yyy.yyy.yyy
3.
zzz.zzz.zzz.zzz
등이야! 라고 알려준다
(네트워크에서
누가 파일을 가진(윌리) 인지 모르니 찾아주는 Tracker(소개팅 주선자))
Step – 5
==Peer Discovery(피어탐색)
파일을 가진 사람들을 본격적으로 찾는 과정! 대표적으로
1.
Tracker
2.
DHT(Distributed Hash Table)
3.
PEX(Peer Exchange)
등이 사용되며 Torrent Client 는 계속 새로운 Peer를 찾기 때문에 다운로드중 연결의 수가 증가합니다
(늘어가면
늘어날수록 빨라지는 다운로드!)
Step – 5
==DHT(Distributed Hash Table)
최근 Torrent 가
tracker 없이도 작동이 가능한 이유로 자료구조(Data Structure)에서 배우는
연결리스트(Linked List)같은 구조를 통해 이루어 냈다고 이해 하면 됩니다, 더 쉽게 설명하면 사용자들이 서로 사용자 정보를 저장하는 분산 전화번호부가 있다!
1.
A가 b의
위치를 가지고 있다
2.
B는 c의
위치를 가지고 있다
3.
C는 d의
위치를 가지고 있다
4.
…..
또한 서로 물어보면서 주소를 유지한다
이 Torrent 주소 아니?
-> ip를 알려줄게!
등등으로… 그래서 Torrent
network 는 생각보다 잘 죽기 어렵다
(다음집
주소를 앞집 사람이 가지고 있다)
Step – 6
==Magnet Link
예전엔 xxx.torent 파일이 있어야 다운로드가 가능했지만 이젠 magnet link 만 클리해도 다운로드가 가능한 시대가 되었음
è magnet:?xt=... (이렇게 생겼습니다 )
Torent 프로그램이 링크를 클릭하면
1.
Hash 확인
2.
DTH 조회
3.
Peer 검색
4.
다운로드 시작
을 자동으로 수행하기 때문에 요즘은 파일 없이도 공유가 가능한 시대가 되었음
(File
의 시대가 아닌 Magnet Link 하나로 다 되는 시대)
Step – 7
==Overall – 토렌트는 중앙 서버에서 받는 방식이 아니다
정리하면 Torrent 는
è P2P 참여 -> Peer 탐색
-> IP확인 -> 파일 조각 교환 ->
업로드 + 다운로드
로 동작한다 따라서
è Torrent 에 참여하는
순간 다른 참여자와 연결되므로 ip정보가 노출될 수 있음
(네트워크에
참여하면 자신도 보여줄 각오를 하자)
다음엔 어떻게 Torrent 네트워크에서 Peer ip를 어떻게 찾는지, 그리고 Tracker/DHT가 어떤 데이터를 주는지 살펴보자!
댓글 없음:
댓글 쓰기