Study/Network

[네트워크 계층구조] TCP/IP에 대하여 - 1

Dream Amal 2024. 1. 12.

TCP

  • 신뢰성있는 전송을 위해 필요

UDP

  • 빠른 전송을 위해 필요

IP

  • 논리적 주소를 위해 필요

Port

  • Session Layer에서

  • 컴퓨터에서 실행되고 있는 서버를 구분 짓기 위해 필요
    • 효율적인 통신을 위해
  • IP 하나로 다양한 서비스를 제공할 수 있음
    • port번호를 다르게 부여하여 IP 하나에서도 웹, FTP 등 다양한 서비스 사용 가능

Well-known Port

Service Name and Transport Protocol Port Number Registry

  • 1 ~ 1023 까지의 포트번호
  • 매번 port번호를 매번 물어봐야 하는 번거로움을 없애기 위해 port 번호를 미리 약속해둠

⇒ 수신을 위한 포트는 1024번 부터 시작

Protocol ID

  • IP 헤더 뒤에 붙어 해당 data가 TCP인지, UDP인지 판단하기 위해 필요

⭐ TCP Header ⭐

  • Transmission Control Protocol
  • Transport Layer에서

TCP의 헤더에는 어떤 정보들이 담겨있는걸까?

  • control flags
    • SYN - ACK 를 통해 connection-oriented 되어 있음
      • Three-Way Handshaking
      • TCP가 연결을 생성하고 종료하는 방법, 핸드쉐이크
      • 연결 제어
      • DoS와 DDoS 공격은 SYN을 계속 보내 서버의 mem을 모두 예약으로 채워버림
        • SYN flooding attack
        • 방화벽을 활용해 ACK가 들어오지 않을 시, 방화벽에서 RST를 보냄
        • ACK가 들어올 시에 방화벽과 원서버가 통신 (느리지만 정확함)
      • LAND Attack은 IP spoofing을 통해 서버가 자기 자신에게 계속해서 SYN/ACK를 보내고 RST 하는 과정을 거치게 함
        • IP Spoofing : IP를 변환하여 목적지 주소와 발신지 주소가 같게 만듦
  • Sequence number, Ack number
    • 신뢰성 있는 전송
      • seq num + 1 = ack num
    • Packet Recovery
  • window size
    • ack num을 받지 않고 한번에 보낼 수 있는 data의 size
    • 수신을 확인하여 흐름 제어
  • 1:1 전송(Unicast)에 활용됨
  • 정보를 안정적으로, 순서대로, 에러없이 교환할 수 있도록 하는 것에 목적을 둠

UDP Header

  • 신뢰성이 보장되지 않지만(Best-effort Delivery), 빠른 속도로 연결이 가능
    • Best-effort Delivery : 결과는 알 수 없지만, 최선을 다함.
  • connetionless
  • total Header size = 8byte
  • 실시간 전송에 활용

IP

  • 3계층에서 필요 (OSI Letwork, TCP/IP Internet계층)
  • 신뢰성을 제공하지 않음(Best-effort Delivery)
    • IP가 신뢰성을 제공하면 UDP의 필요가 없어짐
  • IPv4
    • Network 주소와 Host 주소의 구분이 없음
    • 32bit를 8bit로 나누어 4개의 옥텟으로 10진수 표현함
      • 프로토콜 중 유일하게 10진수로 표현함 (편리성)
    • 32bit로 이루어져, 2^32개로 한정되어 있음
      • 0.0.0.0 ~ 255.255.255.255 까지의 주소 표현이 가능함

IP 주소 체계

  • 초기에는 IP 할당을 위해 최소 수량을 지정했음 (2^8 = 256개)
  • 제일 앞에 있는 한 자리를 제외한 나머지 자리를 기업에서 자유롭게 사용할 수 있도록 고안
    • A class - 2^24
    • B class - 2^16
    • C class - 2^8
    • 앞의 한 자리로 표현할 수 있는 회사가 256개밖에 되지 않는 문제가 발생관련 study note 바로가기
    • classless가 고안
728x90

댓글