파일 송수신, 전송, 원격접속의 여러가지 용어 정리 모음!! ( SSH , FTP, sFTP , 텔넷, 프로토콜 등 )



코딩을 하다보면 모르는 용어가 수두룩하게 나오게됩니다. 

모르는 용어를 하나하나 정리하면서 공부한다는 생각을 가지고 진행해보겠습니다.


프로토콜이란 ?? : 인터넷 프로토콜이란 인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 쓰이는 통신규악의 모음이다.

이 규약에서는 (규약이라기 보다 약속이라는 표현이 더 와닿을 수 있겠다. ) 신호 체계, 인증 그리고 오류 감지 및 수정 기능을 포함 할 수 있다. 

자주 쓰는 기능들은 약속된 포트에 놓고 사용한다.

 잘 알려진 포트(well-known port)는 특정한 쓰임새를 위해서 IANA에서 할당한 TCP 및 UDP 포트 번호의 일부이다. 일반적으로 포트 번호는 다음과 같이 세 가지로 나눌 수 있다.

  • 0번 ~ 1023번: 잘 알려진 포트 (well-known port)
  • 1024번 ~ 49151번: 등록된 포트 (registered port)
  • 49152번 ~ 65535번: 동적 포트 (dynamic port)

( 출처 : https://ko.wikipedia.org/wiki/%ED%86%B5%EC%8B%A0_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C ) 

( 출처 : https://ko.wikipedia.org/wiki/TCP/UDP%EC%9D%98_%ED%8F%AC%ED%8A%B8_%EB%AA%A9%EB%A1%9D  )

텔넷이란 ??  :  인터넷을 통하여 원격 호스트 컴퓨터에 접속할 때 지원되는 인터넷 표준 프로토콜

텔넷은 사용자가 마치 자신의 PC를 사용하는 것 처럼 멀리 떨어진 곳의 컴퓨터를 이용할 수 있게 해준다.

컴퓨터를 사용하려면 그 컴퓨터의  IP 주소와 인증 키 를 알아야 한다.

텔넷도 다른 TCP/IP 프로토콜처럼 고유포트번호를 가지고 있다. 

웹은 80번을 가지고 텔넷은 23번 고유 포트를 가지고 있다. (물론 별도 지정 가능 ) 

( 출처  : http://m.blog.naver.com/kplee1314/80047374077 ) 


HTTP 란 ??  ;  HTTP 는 www ( world wide web ) 상에서 정보를 주고받을 수 있는 프로토콜이다.

TCP 와 UDP 를 사용하고, 80번 포트를 사용한다. 

HTTP 는 클라이언트와 서버 컴퓨터 사이에 이루어지는 요청/ 응답 프로토콜이다.

클라이언트 ( 웹 사이트를 보고 싶은 사람 ) 가 서버에 그림 정보를 요청하면, 서버 ( 웹 사이트를 제공해 주는 사람 ) 는 응답하여 정보를 제공한다. 

( 출처 : https://ko.wikipedia.org/wiki/HTTP )


TCP/IP란 ?? :   인터넷에서 수 많은 프로그램들이 통신하는 데 있어서 가장 기반이 되는 프로토콜. 

하드웨어, 운영체제, 접속매체에 관계없이 동작할 수 있다는 개방성을 가지고 있다.

     IP _ Internet Protocol ->> 컴퓨터 간의 정보를 데이터를 전송하기 위해서는 각자의 주소가 필요하다. 

    우리가 흔하게 알고 있는 215.212.000.213 과 같은 형태를 말한다. ( 임의로 썼다. )

    이와 같은 주소는 외우기 힘들기 때문에 www.hellogohn.com 와 같은 형태의 도메인 주소를 사용한다. 

    TCP ->> 서버와 클라이언트 간에 데이터를 신뢰성 있게 전달하기 위해서 만든 프로토콜.

    UDP 방식과 다르게 이 방식은 파일을 보냈는지 여부를 다시 확인하고 정보를 무조건 보내려고 한다. 

(출처 : http://www.joinc.co.kr/w/Site/Network_Programing/Documents/IntroTCPIP  )


SSH란 ?? :  보안텔넷 SSH 는 안전한 원격 통신을 위해서 사용된다. ( 다른 컴퓨터에 로그인 하거나 원격 시스템에서 파일을 복사할 수 있도록 해줌) 

기존 텔넷 통신에는 데이터를 암호화 하지 않는 과정이 없기 때문에 네트워크 상 누군가 정보를 가로채면 보안에 심각한 위협이 될 수 있다. 

하지만 암호를 단순히 보내지 않고 암호화 해서 보낸다면 Key 를 가진 사람만 암호를 해독 할 수 있기 때문에 네트워크상에서 정보를 가로채도 문제될 여지가 적어진다. 

기본적으로 22번 포트를 사용한다. 

주로 리눅스, 유닉스 시스템에서 사용된다. 

SSH 프로그램으로 PuTTy 라는 프로그램이 있다. 

( 출처 : http://delspon.blogspot.kr/2015/05/ssh.html ) 


FTP란 ?? :  인터넷 사용시에 FTP 는 telnet 과 함께 가장 많이 사용되는 접속도구이다.

telnet 은 원격지의 서버 ( 컴퓨터 )를 자신의 컴퓨터처럼 사용할 수 있는 것이고( 원격조정 같은 느낌 ),

FTP 는 원격지의 서버( 컴퓨터 ) 필요한 파일을 올리고 받는 도구이다. 

FTP = File Transfer Protocol  -> 인터넷상에서 파일을 송/수신 하려면 필요한 것

우리가 흔히 말하는 FTP 프로그램은  FTP를 내장하고 있는 파일 송수신  전용 소프트웨어이다. 

(출처 : http://www.hostway.co.kr/support/faq/ftp%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80%EC%9A%94 )


sFTP란 ?? : ssh 와 마찬가지로 전송 시에 암호화시켜서 전송을 하게 되는데 그 중에 FTP 와 같이 파일을 전송할 때 암호화 하는 방식이다. 

SSH 에 부가적으로 있는 기능들 중 하나의 기능이다. FTP 와 같은 역할을 하지만, 사용하는 포트는 FTP 가 아니라 SSH 접속시 사용하는 포트를 사용한다. 

( 출처 : http://studyforus.tistory.com/236  )


NFS 란 ?? :  클라이언트 컴퓨터의 사용자가 네트워크 상의 파일을 직접 연결된 스토리지에 비슷한 방식으로 접근하도록 도와준다. 

쉽게 말해 원격 호스트의 파일을 마치 로컬 파일에 접근하는 것처럼 접근할 수 있는 것이다.