ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 02. TCP & UDP (1) - Data 에 대한 이해
    네트워크 Network 2024. 10. 8. 23:45

     

    안녕하세요? TCP와 UDP에 대해 공부한 내용을 다섯 개의 섹션으로 나누어 정리해보겠습니다.

    이번 주제에서의 진행 순서는 아래와 같습니다.

     

    1. Data

      1. 사전 설명 및 용어 이해
      2. TCP 와 UDP 에서의 메시지 개념 이해

    2. OSI 7 Layer의 Protocol인 TCP와 TCP/IP의 TCP는 같은가?

    3. TCP 

    4. UDP 

    5. 비교 및 복습 정리 (왜 쓰는가, 어디에 쓰이는가, 무엇을 하는가, 어떻게 쓰는가)

     

     

    1. 사전 설명 및 용어 이해

     

    정보통신, 컴퓨터 관련 공부에 처음 접근했을 때, 개인적으로는 Data라는 용어를 이해하는 것부터가 어렵게 느껴졌습니다. Data는 이미 사회 일반적으로 통용되는 단어가 되었고 폭넓은 의미를 가지고 있으며 연관되는 용어 또한 많기 때문인데요. 제가 경험한 다양한 대화 상황에서 누군가 뭉뚱그려 Data라는 표현을 쓰면, 대화 참여자 및 관계자들은 맥락 상 그 의미를 이해하고 넘어가는 경우를 종종 보았습니다. 그렇다고 이미 상식으로 취급되는 말에 하나하나 의미를 명확하게 짚고 넘어가는 것도 이상한 일입니다. 이러한 말이 'Data'만 있는 것도 아니고 대충 사용해도 의미가 완전히 잘못 전달되는 경우는 거의 없지만, 이번 글을 준비하다가 문득 다시 생각이 나서 제가 이해한 개념을 함께 정리해보려고 합니다.

     

    Data

    Raw Data라는 말은 이렇게 이해합니다. "Raw Data = Data" 즉, Data는 가공되지 않은 원시 자료를 의미하며, 수치, 텍스트, 이미지, 비디오, 오디오 등 다양한 형태로 존재할 수 있습니다. 이는 정보의 원재료로서, 분석이나 처리 과정을 거쳐 의미 있는 정보로 변환될 수 있습니다. 결과물을 도출하기 위한 재료 혹은 판단의 근거가 되는 모든 사실적인 것으로 이해합니다.

     

    Data 라는 표현이 사용되는 다양한 맥락

     

    데이터 구조: 데이터를 구조화된 방식으로 저장하고 관리하는 방법. (예: 배열, 트리)

    데이터베이스: 구조화된 데이터의 집합으로, 효율적인 저장, 검색, 관리를 위한 시스템.

     

    변수와 상수: 프로그램 내에서 데이터는 변수에 저장되고 연산의 대상으로 사용됨.

    입력과 출력: 프로그램에서 입력된 데이터가 처리되어 출력으로 나타남.

     

    데이터 분석: 데이터는 분석을 통해 패턴이나 추세를 발견하고 의사결정에 활용됨.

    빅데이터: 방대한 양의 데이터를 분석하기 위해 분산 컴퓨팅 기술이 사용됨.

     

    데이터 전송 단위: 네트워크에서는 데이터가 패킷 단위로 전송됨.

    프로토콜 데이터: 데이터 전송을 위한 네트워크 규칙이 적용됨.

     

    비즈니스 인텔리전스(BI): 데이터를 분석하여 비즈니스 인사이트를 도출하고 의사결정을 지원.

    고객 데이터: 마케팅, 세일즈에서 고객 관련 데이터를 수집 및 분석.

     

    Data와 Message (메시지)의 차이

    데이터는 가공되지 않은 원시적인 값이나 사실을 의미합니다.

    메시지는 데이터를 특정한 목적으로 가공한 결과물로, 의사소통을 위해 구조화된 형태를 가집니다.

    이렇게 의미를 구별할 수 있지만, Message를 그냥 Data로 표현하기도 합니다.

     

    Data와 Information (정보)의 차이

    Data는 굳이 한국어로 순화시키면 자료라는 용어가 더 적절합니다. (Raw Data)

    정보(Information)는 Data가 가공되어 의미를 가진 상태를 의미하며, 두 용어는 구분해서 사용하는 것이 정확하다고 합니다. 그러나 많은 경우에서 Information이라는 용어 또한 Data로 대체하거나 혼동하여 사용하고 있다고 느꼈습니다.

     

     

    네트워크란?

    네트워크는 여러 장치(컴퓨터, 스마트폰, 서버 등)가 서로 연결되어 정보를 주고받을 수 있는 시스템입니다.

    이 연결된 장치들은 서로 데이터를 교환하며 다양한 작업을 수행할 수 있습니다.

     

    메시지란?

    네트워크에서 주고받는 데이터를 흔히 메시지라고도 표현합니다. 메시지는 우리가 인터넷을 사용할 때 주고받는 모든 정보입니다. 예를 들어, 친구에게 이메일을 보낼 때 이메일 내용이 메시지에 해당됩니다. 또한, 웹사이트를 방문할 때 우리가 요청하는 웹페이지 정보도 메시지로 전송됩니다.

     

    # 메시지는 공통적으로 정보 혹은 정보 전달의 의미를 가집니다. 하지만 학술적인 문맥에서는 "메시지"라는 용어가 특정 프로토콜이나 네트워크 계층에 따라 세분화될 수 있으며, 각 맥락에 따라 조금 더 명확한 정의가 요구될 수 있습니다. 예를 들어, "패킷"이나 "세그먼트" 같은 용어가 특정 맥락에서 사용될 수도 있지만, 큰 틀에서 이들 역시 메시지의 일종으로 간주될 수 있습니다.

     

    프로토콜이란? 공용어 약속의 의미!

    프로토콜은 네트워크에서 메시지를 주고받을 때 반드시 따라야 하는 규칙입니다. 쉽게 말해, 프로토콜은 네트워크에서 장치들이 서로 소통할 수 있게 해주는 '언어'입니다. 만약 모든 장치가 동일한 프로토콜을 사용한다면, 서로 정확히 이해할 수 있습니다.

     

    대표적인 네트워크 프로토콜에는 HTTP(웹페이지를 전송하는 프로토콜), TCP/IP(인터넷에서 데이터를 전송하는 프로토콜) 등이 있습니다.

     

    통신이란?

    네트워크에서 장치들이 서로 메시지를 주고받는 과정 자체를 통신이라고 합니다. 통신은 우리가 다른 사람과 대화를 나누는 것과 유사한 개념입니다. 네트워크 통신은 특정 프로토콜을 통해 메시지를 주고받는 과정으로 이루어집니다.

     

    예를 들어, 우리가 웹사이트를 방문할 때, 우리의 컴퓨터는 웹 서버와 HTTP 프로토콜을 사용하여 통신을 합니다. 이 과정에서 요청 메시지를 보내고, 서버로부터 응답 메시지를 받는 식으로 통신이 이루어집니다.

     

    네트워크의 중요성

    현대 사회에서 네트워크는 매우 중요한 역할을 합니다. 네트워크를 통해 우리는 인터넷, 이메일, 소셜 미디어 등의 의사소통 및 상호작용과 관련한 서비스를 사용할 수 있습니다. 네트워크가 없으면 이러한 디지털 소통과 정보 교환이 불가능할 것입니다.

     

     

    2. TCP 와 UDP 에서의 메시지 개념 이해

     

    위에서 메시지라는 용어를 간략히 설명하면서 사용하는 환경에 따라 더 명확한 개념이 존재한다는 것을 알았습니다. TCP와 UDP에 대해 설명할 때 "메시지"라는 개념은 조금 더 구체화되어 다뤄집니다. 이 두 프로토콜은 각각 데이터 전송을 처리하는 방식이 다르며, 이에 따라 데이터를 나누고 다루는 용어도 구체화됩니다.

     

    TCP (Transmission Control Protocol)

    TCP는 신뢰성 있는 데이터 전송을 보장하는 프로토콜로, 데이터를 작은 조각으로 나누어 전송합니다.

     

    세그먼트 (Segment):

    TCP에서 "메시지"는 세그먼트라는 이름으로 불립니다. TCP는 큰 데이터를 작은 세그먼트로 나누어 전송하며, 각 세그먼트에는 순서 번호와 확인 응답(ACK)을 위한 정보가 포함됩니다. 세그먼트는 네트워크를 통해 전송된 후, 수신 측에서 다시 원래의 순서대로 조립됩니다.

     

    패킷 (Packet):

    네트워크 계층(주로 IP 계층)에서 사용되는 용어로, TCP 세그먼트가 IP 헤더를 덧붙여서 패킷이 됩니다. TCP 세그먼트는 전송 계층에서의 데이터 단위이지만, 네트워크를 통해 실제로 전송될 때는 패킷으로 전달됩니다.

     

    ###

    데이터 단위의 명명

    데이터가 각 계층을 통과하면서 명명되는 방법이 조금씩 달라집니다. 각 계층에서의 데이터 단위 명칭은 다음과 같습니다:

    1. 전송 계층: 여기서 데이터 단위는 세그먼트(Segment) 라고 불립니다. 예를 들어, TCP 프로토콜은 데이터를 세그먼트로 나누어 전송합니다.
    2. 네트워크 계층: 전송 계층에서 받은 세그먼트에 IP 주소를 붙여 패킷(Packet) 이라는 형태로 만듭니다. 이 패킷은 목적지까지 전달되기 위해 라우터 등을 통해 경로를 설정하게 됩니다.
    3. 데이터 링크 계층: 네트워크 계층에서 받은 패킷을 프레임(Frame) 이라는 형태로 변환하여 물리 계층으로 전달합니다.

     

    세그먼트는 전송 계층의 데이터 단위이고, 이 세그먼트가 네트워크 계층으로 전달되면 패킷이라는 이름으로 불리게 됩니다. 따라서 "세그먼트가 네트워크를 통해 실제로 전송될 때 패킷으로 전달된다"는 설명은 맞는 설명입니다. 전송 계층의 세그먼트가 네트워크 계층으로 이동하면서 패킷이라는 이름으로 변환되고, 실제 전송 과정에서는 패킷으로 다뤄집니다. 이러한 각기 다른 명명법은 각 계층의 역할과 기능에 따라 데이터를 다르게 취급하기 때문에 발생하는 것입니다.

    ###

     

    UDP (User Datagram Protocol)

    UDP는 빠른 전송을 위해 설계된 프로토콜로, 신뢰성보다는 속도에 중점을 둡니다. 데이터의 손실이나 순서 보장은 하지 않습니다.

     

    데이터그램 (Datagram):

    UDP에서는 "메시지"가 데이터그램이라고 불립니다. 데이터그램은 독립적인 데이터 단위로, 각각이 독립적으로 전송됩니다. TCP의 세그먼트와 달리, 데이터그램은 순서 보장이나 재전송을 하지 않으므로 전송 속도가 빠릅니다.

     

    패킷 (Packet):

    TCP와 마찬가지로, UDP 데이터그램도 네트워크 계층에서 패킷으로 전송됩니다. 데이터그램에 IP 헤더가 추가되면 패킷이 됩니다.

     

    정리

    TCP: 메시지는 세그먼트로 처리되며, 세그먼트가 네트워크를 통해 패킷으로 전송됩니다.

    UDP: 메시지는 데이터그램으로 처리되며, 데이터그램이 패킷으로 전송됩니다.

    따라서, TCP와 UDP에서 "메시지"는 보다 구체적으로 세그먼트나 데이터그램이라는 용어로 이해될 수 있습니다. 이 용어들은 각 프로토콜의 데이터 단위 처리 방식을 명확히 나타내기 때문에, 학술적인 논의나 네트워크 관련 설명에서 정확한 개념 전달에 중요합니다.

     

     

    내용 수정, 피드백 등 모두 환영합니다.

    감사합니다!!

     

Designed by Tistory.