2012년 9월 12일 수요일

12/09/11

1.
임의 파일 하나 만들어서 트래커에 등록 후,
다른컴퓨터로 받아봄.

비공개형식으로하니 pex와 dht가 꺼지네. 조으다조으다

어떤트래커를 사용하냐에따라 연결하는데 까지 시간차이가 있는듯하다.

2.
일단 모두 덤프하는거 코딩
완전모두는아니고
컴퓨터 3대를 대상으로 해야하니까, 그 3대의 아이피만 골라서해야겠다.

3.
그리고나서 분석하는 코딩은......
자바로해야되나?
그냥 씨로해도되겠지. 몰라썅

2012년 9월 3일 월요일

OSI 7 계층과 특히 1, 2, 3, 4계층에 대해.

1 계층은 물리계층.
물리계층은 실질적으로, 물리적으로 연결된 선을 통해서 데이터를 주고받고한다.
각각 전선들의 물리적인 특성에 영향을 받으며, 속도에 따라 CAT1~6까지 있다.

2계층은 데이터링크계층.
상위계층에서 내려온 패킷에 MAC addr를 붙여 실질적인 다음행선지로 보내는 역할을 수행한다.

3계층은 네트워크계층.
원하는 목적지의 IP주소를 알아내어 상위계층에서 내려온 세그먼트에 IP와 관련된 헤더를 추가시킨다. 네트워크계층에서는 원하는 목적지로 가기위해 가장빠른 루트를 선택하는 라우팅 테이블을 작동시켜 저장한다. end-point가 물리적 패킷 전송을 담당한다.

4계층은 전송계층.
응용계층, 표현, 세션계층에서 내려온 응용프로그램을 구별하기 위해 port번호를 데이터에 추가시키고, 연결방식 tcp냐 udp냐를 선택해서 역시 데이터에 추가한다. 네트워크계층과는 다르게 논리적인 end-point가 연결을 담당한다.

567은 그냥 응용계층이라고 보면되고. 단순히 어플리케이션이 제공하는 인터페이스, 기본 프로토콜을 생각하면 된다.

그래서 패킷이 전달되는 과정을 생각해보면,
567계층에서 내려온 패킷에 목적지 응용프로그램에 맞는 포트번호와, 보내는포트번호(이것역시 응용프로그램에 맞거나 임의번호일 수 있다.)를 저장한다. 또한 연결지향이면 TCP 와 같은, 아니면 udp와 같은 프로토콜을 선택하여 필요한 데이터를 추가한다.

그리고 네트워크계층은 dns서버등을 이용하여 상대방의 IP주소를 알고, 현재 라우팅테이블을 가동하여 가장 최적의 경로를 계산한다. 그래서 그내용을 헤더에 추가하여 아랫단으로 보낸다.

데이터링크계층에서는 mac어드레스를 계산해야하는데, IP주소만으론 mac어드레스를 모르기때문에 ARP프로토콜을 이용해, 외부 네트워크망이라면, 라우터의 mac어드레스를 저장하여 라우터로 전송하는데 목표를 둔다. 그렇게 보내는 machine의 mac addr과 받는 machine의 mac addr를 저장하여 물리단으로 보내면 물리단은 해당 기계를 향하여 전송하게 된다.

중간에 스위치를 만나게되면, 스위치는 가지고 있는 라우팅 테이블에 mac주소와 연결된 포트번호가 있는데, 라우터 mac주소를 보게되면 라우터에 연결된 포트에 데이터를 보낸다. IP와 관련이 없다.

mac addr이란 랜카드의 물리적인 주소값으로, 대내외적으로 사용되는 IP와는 또다르다.
서브넷마스크란. 아이피주소는 네트워크 주소와 호스트주소로 구별할 수 있는데, 그것을 구별시켜주는 값을 서브넷마스크라 한다. 예를들어 C 클래스의 경우 서브넷마스크값이 255.255.255.0이라면 뒤 호스트주소만 마스킹되고 나머지는 원래 값을 유지하게 된다.
이걸 사용하는 이유는, 여러가지가 있겠지만, 낭비되는 IP를 방지하기 위한 이유도 존재한다.