[네트워크] TCP/IP

zini9188·2023년 1월 27일
0

네트워크

목록 보기
1/6

TCP/IP (Transmission Control Protocol/Internet Protocol)


네트워크 프로토콜 스위트로 온라인 상의 안전하고 효율적인 데이터 전송의 필수 요건을 정의

프로토콜이란? (Protocol)

수를 표기할 때 아라비아 숫자 0 ~ 9를 사용하는 것처럼 인인터넷에서는 인터넷을 사용하는 사람끼리 소통을 하기위해 정해진 공통된 약속이 필요함. 이러한 약속을 프로토콜이라고 함

IP란?

  • 인터넷에서 컴퓨터의 주소를 정확하게 찾아서 데이터를 전송하기 위해 지켜야하는 프로토콜

  • IPv4, IPv6로 나뉘며 아직까지는 IPv4를 주로 사용

  • 네트워크 접속 기기가 많아지면 IP 주소를 별도로 관리해야 하는데, 이를 위해 IPAM이라는 통합 도구 모음을 사용

IPAM

  • 풍부한 사용자 환경을 위해 IP 주소 인프라의 엔드 투 엔드 계획, 배포, 관리 및 모니터링을 지원

  • 네트워크 상의 IP 주소, 인프라 서버 및 DNS 서버를 자동으로 검색하여 중앙 인터페이스에서 이들 서버를 관리할 수 있음

TCP란?

  • 인터넷 상에서 데이터를 메세지 형태로 보내기 위해 IP와 함께 사용하는 프로토콜

  • 일반적으로 TCP와 IP는 함께 사용하고 IP는 배달을 TCP는 패킷의 추적 및 관리를 한다.

  • 애플리케이션에게 신뢰적이고 연결지향성 서비스를 보장하기에 데이터의 흐름 제어와 혼잡 제어를 수행하지만 이러한 기능으로 속도가 느림

  • 3-way handshaking 과정으로 연결을 설정하고 4-way handshaking을 통해 해제

UDP란?

  • 데이터를 데이터그램 단위로 처리하는 프로토콜

  • 비연결형 프로토콜로 할당되는 논리적인 경로가 없고 각각의 패킷이 다른 경로로 전송되어 독립적으로 처리 된다.

  • UDP는 연결을 설정하고 해제하는 과정이 존재하지 않아 속도가 빠르고 네트워크 부하가 적다는 장점을 가지지만 신뢰성이 낮다.

TCP/IP: 4계층


TCP/IP 프로토콜 통신 과정에 초점을 맞춰, OSI 7계층을 좀 더 단순화 시킨 TCP/IP 4계층이 등장하였고, 아래와 같은 4개의 층으로 이루어짐

  1. 네트워크 액세스 계층 (Network Access Layer)

    • OSI 7계층의 물리계층과 데이터 링크 계층에 해당

    • TCP/IP 패킷을 네트워크 매체로 전달하고 네트워크 매체에서 받아들이는 과정을 담당

    • 프레임 단위의 데이터 구성

    • 논리 주소(IP 주소)가 아닌 물리적인 주소 MAC를 사용

    • LAN, 패킷망 등에 사용

  2. 인터넷 계층(Internet Layer)

    • OSI 7계층의 네트워크 계층에 해당

    • 어드레싱(addressing), 패키징(packaging), 라우팅(routing) 기능을 제공

    • 패킷 단위의 데이터 구성

    • IP, ARP, ICMP, RARP 등

  3. 전송 계층(Transport Layer)

    • OSI 7 계층의 전송 계층에 해당

    • 통신 노드 간의 연결을 제어하고 신뢰성 있는 전송 기능을 제공

    • 세그먼트 단위의 데이터 구성

    • TCP, UDP, RTP 등

  4. 응용 계층(Application Layer)

    • OSI 7 계층의 세션 계층, 프리젠테이션 계층, 애플리케이션 계층에 해당

    • 사용자와 가장 가까운 계층으로 사용자가 소프트웨어 애플리케이션과 소통할 수 있게 해줌

    • TCP/UDP 기반의 응용 프로그램을 구분할 때 사용

    • HTTP, SSH, FTP 등의 프로토콜이 존재

MAC 주소란?

  • 네트워크 기기는 제조사에서 제조될 때 할당되는 고유 시리얼 번호인 MAC 주소를 가지고 있음

  • 네트워크 상에서의 송수신은 IP 주소만으로 가능하지 않으며 MAC 주소와 IP 주소를 조합해야만 통신이 가능

  • 이더넷에서는 네트워크상의 송수신 상대를 특정하기 위해 MAC 주소를 사용하는데 이때 사용하는 것이 ARP(address resolution protocol)이고 ARP는 MAC 주소를 파악하기 위해 네트워크 전체에 브로드 캐스트를 통해 패킷을 보내고 해당 IP를 가지는 컴퓨터가 자신의 MAC 주소를 Response하면서 통신하게 해주는 프로토콜이다.

패킷이란?

  • 컴퓨터 네트워크에서 여러 상대와 통신하기 위해 만들어진 통신 방법

  • 원본 데이터를 패킷이라는 작은 단위로 나누고 여러 회선을 공용해 통신을 주고 받음

  • 하나의 패킷은 헤더와 페이로드로 구성되며, 헤더에는 어떤 데이터의 몇번째 데이터인지의 정보와 보내는 곳, 최종 목적지에 대한 정보 등이 담겨 있음

  • 분할하여 전송하고 도착한 곳에서 원래대로 복원

TCP 3 - way handshake


  • 양 끝단의 기기의 신뢰성 있는 데이터 통신을 위해, TCP 방식이 연결을 설정하는 방식

  1. (SYN)

    • 처음으로 sender는 receiver와 연결 설정을 위해 랜덤으로 설정된 SYN(Synchronize Sequence Number)와 segment를 함께 전송

    • 이를 통해 receiver에게 sender가 통신을 시작하고 싶다고 알림

  2. (SYN / ACK)

    • receiver 는 받은 요청을 바탕으로 SYN/ACK 신호 세트를 응답
    • Acknowledgement(ACK) 응답으로 보내는 segment가 유효한 SYN요청을 받았는지를 의미
  3. (ACK)

    • 마지막 단계에서 sender는 받은 ACK를 receiver에게 전송을 하면서, 신뢰성 있는 연결이 성립되었다는 사실을 sender와 receiver 양쪽에서 알 수 있고, 실제 데이터 전송이 시작

포트 (Port)


TCP, UDP 모두 포트 번호를 사용하는데, IP 프로토콜만으로는 여러 애플리케이션의 동작에서 특정 애플리케이션을 찾을 수 없다. 포트 번호를 이용하여 애플리케이션을 특정해야 한다.

  • 포트는 중복해서 사용할 수 없으며 0 ~ 65,535 까지 사용할 수 있다.

  • 그 중 0 ~ 1023 포트는 통신 규약에 따라 이미 정해져 있다.

포트 번호 범위설명
Well-known port0 ~ 1023시스템 사용 번호로 (슈퍼 유저 권한 필요) 사용을 권장하지 않음
Registered port1024 ~ 49151특정 프로토콜이나 어플리케이션에서 사용하는 번호 (슈퍼 유저 권한 필요 x)
Dynamic port49152 ~ 65535어플리케이션에서 혹은 임시 사용 번호
  • 자주 사용되는 Well-known port

    • Port프로토콜 이름Transport protocol설명
      80HTTPTCP웹 서버 접속
      443HTTPSTCP웹 서버 접속(SSL)
      110POP3TCP메일 읽기
      25SMTPTCP메일 서버간 메일 전송
      22SSHTCP컴퓨터 원격 로그인
      53DNSUDPDNS 질의
      123NTPTCP시간 동기화
profile
똑같은 짓은 하지 말자

0개의 댓글