일반인은 잘 모르는 FTP에 대한 사실
FTP는 2개, 혹은 2개 이상의 연결을 한다.
하나는 명령어 전송을 위해
또 다른 포트는 데이터 연결을 위해 사용한다.
ACTIVE or PASSIVE 모드
기본적으로 FTP는 ACTIVE 모드로 접속을 한다.
문제는 ACTIVE 모드일 경우에 데이터 전송용 포트(기본: 20) 참고로, 명령어 전송 포트가 21임)를 서버가 클라이언트에게 요청을 하게 된다는 것이다. 따라서 인터넷 같은 환경에서 클라이언트가 공인 IP가 아닌 이상 서버->클라이언트 접속이 안될 가능성이 있다.
이를 보완하기 위한 방법이 PASSIVE 모드. 데이터 전송도 클라이언트->서버가 하는 것이고 1024 이상의 포트를 이용하게 된다. 따라서 서버가 별도의 포트를 listen해야 하고, 클라이언트에게 어디포트로 접속하라고 알려주어야 할 필요가 있다.
웹 브라우저의 경우 이 PASSIVE 모드를 이용한다(서버가 인터넷 상에 있을 가능성이 높기 때문)
PASSIVE 모드로 들어가는 명령어는 PASV이다.
- PASV
- 227 Entering Passive Mode (10,16,11,84,8,89). => 2137
- PASV
- 227 Entering Passive Mode (10,16,11,84,8,90). => 2138
- PASV
- 227 Entering Passive Mode (10,16,11,84,8,91). => 2139
10,16,11,84,8,89 => 코마로 구분되어 있는데 각각 하나의 WORD를 십진수로 나타낸다.
처음 4워드는 IP를, 뒤의 2워드는 포트를 의미한다.
10,16,11,84,8,89 => 10.16.11.84:2137 (8,89 => 0x08,0x59 = 0x0859 = 2137)
8, 89 = 0x08, 0x59 => 0x0859 = 2137
8, 90 = 0x08, 0x5A => 0x085A = 2138
8, 91 = 0x08, 0x5B => 0x085B = 2139
'Network' 카테고리의 다른 글
robots.txt과 웹 로봇의 크롤링 (0) | 2012.09.21 |
---|---|
HTTP(Hypertext Transfer Protocol) (0) | 2012.09.21 |
DNS(Domain Name System) (0) | 2012.09.21 |
네이트온 - 프로토콜 (0) | 2012.09.21 |
Active Directory(액티브 디렉터리) (0) | 2012.09.21 |