아직은 잠이 안와
article thumbnail

TCP/IP - FTP, 3-way Handshaking

- 호스트 to 호스트로 데이터를 전송하는데 사용되는 표준 프로토콜

- TCP를 사용하며 서버-클라이언트 모델을 구성

 - FTP 클라이언트 프로그램을 이용하여 FTP 서버에 접속 후 파일을 송수신

 - FTP는 사용자 ID와 패스워드를 입력 받아 인증을 수행(암호하 되진 않음)

 

클라이언트에서 한 프로세서는 서버에서 한 프로세스로부터 서비스를 제공받음

- 각 프로세스를 구분하기 위해 Port Number 사용

 

잘 알려진 포트(Well-Known Port Number)

 - 0 ~ 1023 번호 사용

 - TCP/IP에서 사용되는 보편적인 포트 번호

 - ICANN에서 할당되고 관리 됨

 

등록된 포트 (Registered Ports)

 - 1024부터 49,151 사이의 번호는 ICANN에 의해 사전에 할당되거나 관리되진 않음

 - 중복을 방지하기 위해 ICANN에 등록될 수 있음

 

동적 포트 (Dynamic Ports)

 - 49,152 ~ 65,535 사이의 번호는 관리되지 않고 등록되지도 않음

 - 개인적인 포트 번호로 사용 가능 

 

포트 번호를 사용한 연결

 - 랜덤 포트 번호를 사용하는 클라이언트가 잘 알려진 포트 번호를 사용하는 서버에 연결을 요청 

 - 서버는 클라이언트가 보낸 정보에 있는 포트 번호를 사용해 응답 생성

 

소켓 주소

 - 전송 계층 프로토콜에선 연결을 만들기 위해 IP 주소포트 번호가 모두 필요함

 - IP 주소와 포트 번호를 결합한 주소를 소켓 주소라고 함

 - 인터넷 상에서 전송 계층의 서비스를 이용하기 위해 한 쌍의 소켓 주소가 필요 

 

TCP에서의 연결

 - 발신지와 목적지 사이의 논리적 연결을 수립

 - 전체 메시지에 대한 ACK 프로세스를 명확히 하고 파손되거나 손실된 패킷을 재전송 가능하게 함 

 - IP 서비스를 이용해 개별 세그먼트를 수신 프로세스로 전송, 이때 연결은 TCP가 제어

 - 세그먼트가 손실되거나 파손되면 재전송

 - 세그먼트 순서가 바뀐 채로 도착하면 TCP는 세그먼트를 임시 저장 후에 잃어버린 세그먼트가 도착하면 순서에 맞춰서 전달

 

3-Way Handshaking

연결하고자 하는 두 장치 간의 논리적 접속을 성립하기 위해 사용하는 연결 확인 방식

 - Passive Open: 서버에서 프로세스를 시작하면서 연결을 받을 준비가 되었음을 알림

 - Active Open: 클라이언트가 서버에 연결할 때 특정 서버로 TCP 연결을 하도록 함

 - TCP는 세 번의 세그먼트를 주고 받아 연결

  1. 클라이언트가 [SYN] 세그먼트를 서버로 전송
  2. 클라이언트 -> 서버 방향의 통신을 위한 시퀀스 번호를 서로 동기, 이때 시퀀스 번호 하나 소비
  3. 서버는 두 번재 세그먼트인 [SYN + ACK] 세그먼트를 클라이언트에 전송
  4. 서버 -> 클라이언트 방향의 통신을 위한 새로운 시퀀스 번호 전달
  5. 클라이언트는 세 번째 세그먼트인 [ACK] 세그먼트를 서버로 전달
  6. 서버 -> 클라이언트 방향의 통신을 위한 새로운 시퀀스 번호에 대한 확인 응답 (이 때 시퀀스 번호 소비 X)

4-Way Handshaking

 두 장치 간의 연결을 해제할 때 주고받는 확인 작업

 

'정보보안 > 정보보안 기사' 카테고리의 다른 글

WebHacking - OWASP Top 10(2019.ver), 웹 보안  (0) 2022.04.19
이메일 보안 기술  (0) 2022.04.15
FTP 보안 위협 및 대책  (0) 2022.04.13
FTP - TFTP  (0) 2022.04.13
FTP 연결의 종류 - Active, Passive  (0) 2022.04.12
profile

아직은 잠이 안와

@Dirstibone

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!