전송 계층의 역할

  • 포트를 통해 응용계층의 프로세스 식별
  • 네트워크 계층의 신뢰성,연결성 확립

포트

  • 포트 번호 : 16비트로 표현가능
  • 포트 범위 : 0번 ~ 65535번

Well known Port 종류

FTP

  • File Transfer Protocol
  • 네트워크를 통해 파일을 전송하는 데 사용되는 표준 프로토콜 SSH
  • Secure Shell
  • 네트워크를 통해 다른 컴퓨터에 안전하게 접속하고 관리할 수 있는 프로토콜 SMTP
  • Simple Mail Transfer Protocol
  • 이메일을 전송하는 데 사용되는 프로토콜 DNS
  • Domain Name System
  • 메인 이름을 IP 주소로 변환하는 시스템 DHCP
  • Dynamic Host Configuration Protocol
  • 네트워크에 연결된 장치에 동적으로 IP 주소와 기타 네트워크 구성 정보를 자동으로 할당하는 프로토콜 HTTP
  • Hypertext Transfer Protocol
  • 웹 클라이언트(주로 브라우저)와 웹 서버 간의 데이터 전송을 위한 프로토콜

HTTPS

  • Hypertext Transfer Protocol Secure
  • HTTP에 SSL/TLS 보안 계층을 추가한 프로토콜

Registered Port

  • 덜 범용적이지만 흔히 사용되는 애플리케이션
  • 특정 제품 , 기업 위주

https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml

동적포트 , 사설 포트 , 임시 포트

  • 사용자가 자유롭게 할당 가능한 포트
  • 클라이언트는 일반적으로 동적 포트로 동작

포트 확인

  • WINDOW
    • netstat -ano | find “LISTEN”
  • MAC
    • $ sudo lsof -iTCP -sTCP:LISTEN -n -P
    • $ netstat -anv | grep LISTEN

NAT

  • Network Address Translation
  • 공인 IP 주소와 사설 IP 주소 간의 변환
    • IP 주소 부족 문제를 해결 (포트를 활용)
  • 보안 강화
    • 내부 네트워크의 사설 IP 주소를 외부에 노출하지 않으므로, 외부 공격자로부터 내부 네트워크를 보호하는 데 도움을 줍니다.
    • NAT를 통해 외부에서 직접 내부 장치에 접근하는 것이 어렵습니다.

TCP

MSS

  • Maximum Segment Size
  • TCP 세그먼트로 보낼 수 있는 최대 크기
  • 페이로드

TCP 세그먼트의 구조

  1. 출발지 포트
  2. 목적지 포트
  3. 순서 번호
    • 송수신되는 세그먼트 데이터 첫 바이트에 부여되는 번호
    • 초기 순서번호는 랜덤으로 지정
  4. 확인 응답 번호
    • 순서 번호에 대한 응답
    • 다음으로 수신 받길 기대하는 바이트 번호
  5. 제어 비트
    • ACK
      • 세그먼트 승인을 나타내는 비트
    • SYN
      • 연결 수립을 위한 비트
    • FIN
      • 연결을 끝내기 위한 비트
    • RST
      • 연결을 리셋하기 위한 비트
  6. 윈도우
    • 수신지 윈도우 크기
    • 한 번에 수신 받고자 하는 양

UDP

  • 비연결성 / 비신뢰성 프로토콜