내용: 클라이언트와 서버가 데이터를 어떻게 주고 받는지

ex. 게임 프로그램 실행하면 게임 서버와 어떻게 데이터를 주고 받을까?

 

강의 영상

https://www.youtube.com/watch?v=tG0ldt4sBzY&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=16 

목차

  1. 4계층 프로토콜
  2. 포트 번호
  3. 프로그램의 연결 정보
  4. 실습

 

4계층 프로토콜

  • 전송 계층 (Transport layer)은 송신자의 프로세스와 수신자의 프로세스를 연결하는 통신 서비스를 제공
  • 전송 계층은 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어, 그리고 다중화와 같은 편리한 서비스를 제공
  • 전송 프로토콜 중 가장 잘 알려진 것은 연결 지향 전송 방식을 사용하는 전송 제어 프로토콜 (TCP)
  • 보다 단순한 전송에 사용되는 사용자 데이터그램 프로토콜(UDP)도 있음

 

포트 번호

  • 특정 프로세스와 특정 프로세스가 통신을 하기 위해 사용
  • 하나의 포트는 하나의 프로세스만 사용 가능
  • 하나의 프로세스가 여러 개의 포트를 사용하는 것은 가능
  • 포트 번호는 일반적으로 정해져 있지만 무조건 지켜야 하는 것은 아님

 

Well-known 포트

전 세계적으로 유명

  • FTP: 포트 번호 20번, 21번
  • SSH: 22번
  • TELNET: 23번
  • DNS: 53번
  • DHCP: 67번, 68번
  • TFTP: 69번
  • HTTP: 80번 (ex. 네이버 웹툰 서버가 사용하는 포트)
  • HTTPS: 443번

 

Registered 포트

(조금) 유명한 미리 등록된 포트

  • 오라클 DB 서버: 1521번
  • MySQL 서버: 3306번
  • MS 원격 데스크탑: 3389번
  • ...

 

Dynamic 포트

일반 사용자들이 사용 (ex. 네이버 웹툰 볼 때)

상대방 프로그램과 연결하는 포트 번호

  • 시작 포트 번호: 49152번 ~ 마지막 포트 번호: 65535번

 

프로그램의 연결 정보

  • 나와 현재 연결되어 있는 컴퓨터들
  • 현재 포트 활성 여부를 나타내는 활성 연결 테이블
  • 명령어: netstat -an

 

 

 

 

+ Recent posts