ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TCP 가 뭔가요? TCP/IP 원리 (1)
    CS-Theory/NetWork 2023. 7. 25. 14:46

    TCP 원리의 대한 설명을 위한 글이다.

     

    TCP 원리(1) 에서는  TCP 의 정의 ,  TCP/IP 모델 , 전반적인 데이터 전달 방식 의 내용을 설명한다.

     

    장문의 글이다.

     

    글을 읽기전 라우터, 허브,공유기의 차이를 모르거나 본이니 타인에거 명확하게 설명이 불가하다면 꼭 다음글을 먼저 읽고 와 주면 좋겠다.

     

    https://chosunghyun18.tistory.com/129

     

    허브 , 스위치, 라우터 , 공유기의 차이

    허브 , 스위치, 라우터 , 공유기는 컴퓨터 네트워크에서 각각 다른 기능을 한다. - 허브 : 데이터를 받은 포트를 제외한 나머지 모든 포트로 데이틀 브로드캐스트 한다. 소규모 네트워크를 구성시

    chosunghyun18.tistory.com

     

    1. TCP 의 정의

     

    TCP/IP 는  Transmission Control Protocol/Internet Protocol의 약자이다. 

     

    Transmission : 전송이라는 뜻이다. 즉 TCP를 번역하면 "전송을 조종하는 프로토콜" 이라는 뜻이다.

     

    여기서 TCP/IP는 명시적으로는 두가지의 프로토콜을 설명하는 것일 것 같다라는걸 알 수 가 있다..

     

    그러나 TCP/IP 프로토콜이라고 하면 TCP와 IP 두 프로토콜만을 지칭하는 것이 아니라 UDP(User Datagram Protocol), ICMP(Internet Control Message Protocol), ARP(Address Resolution Protocol), RARP(Reverse ARP) 등 관련된 프로토콜을 통칭해서 사용 할 수 도 있다.

     

    프로토콜이란 규약이라는 뜻으로 어떻게 데이터를 주고 받을지 정하는 방식이며, TCP/IP 의 탄생 배경은 당시 트렌스포트 계층의 표준화를 위하여 미국 국방성이 주도 했다라는 것 정도만 우선 알면 된다. 

     

    전송이란 특저 매체를 통하여 어떠한 것을 보내는 것이라는 뜻이다.

     

    그럼 우리는 무엇을 전송하는 걸까 ?

     

    컴퓨터를  연결하는데 있어 패킷(packet) 데이터를 보내 서로 통신을 하며 , 패킷 데이터는 네트워크에 보내고자 하는 데이터를 분해 하여 전송에 필요한 추가적으로 여러 정보를 추가한 데이터를 말한다. 

     

    여담으로  많은 양의 트래픽을 처리하기 위해서 큰 데이터들을 한번에 전송하기 위해서는 큰 대역폭이 필요하다 이때 네트워크에서 초당 실제로 처리되는 패킷의 양의 지표는  Throughput 이라 한다.

     

    2.

    OSI 7 Layer 와 함께 TCP/IP 모델을 보자. 

    출처 : http://jkkang.net/unix/netprg/chap1/net1_2.html

     

    OSI 7 Layer 에서 네트워크 계층과 트랜스포트 계층의 각 역할을 간단하게 보고 넘어 갈거다.

     

    -트랜스포트 계층 : 데이터 전송의 신뢰성과 흐름 제어를 담당한다. 

    트렌스포트 계층은 어떤 데이터가 어떤 프로세스에거 전달을 해줘야하는지 포트 번호를 붙여주는 모듈 역할도 한다.

     

    - 네트워크 계층

    OS의 커널에 SW로 구현이 되어있으며 ,

    패킷의 ip 주소를 이용하여 자신의 다음 "라우터"에게 보낼 곳을 찾고(rounting) 데이터를 넘겨준다(forwarding) .

     

     

    두 설명은 각각 대응되는 TCP/IP 모델의  트랜스포트 계층과 , 인터넷 계층의 설명과 차이가 거의 없다.

     

    트랜스 포트 계층 :  데이터(segments)를 분해 그리고 올바른 방식으로 조립을 하는 역할을 갖는다.

     

     

    인터넷 계층 :  패킷 교환(패킷 스위칭)이 일어난다.

     

     

     

     

    3. 전반적인 동작 방식 

     

    1. 데이터가 패킷으로 변환되는 과정

     

    - 데이터를 전송하려는 애플리케이션은 트랜스포트 계층에 데이터를 전달한다.

     

    - 트랜스포트 계층은 받은 데이터를 패킷으로 분할하거나, 패킷으로 묶어서 특정 정보(포트 번호 등)를 추가합니다.

     

    - TCP 프로토콜의 경우, 세그먼트라고 불리는 패킷을 생성한다. 이 세그먼트에는 출발지와 목적지 포트 번호, 일련번호, 확인응답(ACK) 번호, 윈도우 크기 등의 정보가 포함된다.

     

    - UDP 프로토콜의 경우, 데이터그램이라고 불리는 패킷을 생성합니다. 이 데이터그램에는 출발지와 목적지 포트 번호만이 포함된다.

     

     

    패킷 스위칭은 대표적으로 두 가지 형태로 구현된다.

     

    1. 데이터그램(Datagram) 패킷 스위칭: 각 패킷이 독립적으로 전달되는 방식으로, 각 패킷은 목적지까지 다른 경로로 전송될 수 있다. 예를 들어, 인터넷에서 사용되는 IP(Internet Protocol)가 데이터그램 패킷 스위칭을 기반으로 하며 비연결형 , 빠르지만 신뢰성이 낮은게 특징이다.
    2. 가상회선(Virtual Circuit) 패킷 스위칭: 패킷들이 일련의 노드 사이에서 미리 설정된 경로를 따라 전달되는 방식이다. 이 경로는 패킷이 전송되기 전에 노드들 간에 협상되며, 패킷은 동일한 경로를 따라 전송됩니다. 예를 들어, X.25나 ATM(Asynchronous Transfer Mode) 네트워크에서 가상회선 패킷 스위칭을 사용한다.

    (TCP 의  3way ,4 way 는 Virtual Circuit 이다)

     

     

    2. 데이터 패킷의 스위칭 과정

     

     

    - 트랜스포트 계층에서 생성된 세그먼트 또는 데이터그램은 인터넷 계층으로 전달

    - 인터넷 계층에서는 각 패킷에 대해 목적지 IP 주소를 확인하여 어떤 경로로 데이터를 전송할지 결정

    - 라우터라고 하는 장치들이 이러한 패킷을 받고, 최적의 경로를 선택하여 다음 라우터로 패킷을 전달

    -  라우팅과정을 거쳐 목적지까지 패킷이 전송. 중간에 여러 개의 라우터를 거쳐 최종 목적지에 도달

    - 마지막 라우터가 패킷을 목적지 호스트로 전달합니다.

    - 수신 호스트에서는 인터넷 계층에서 받은 패킷을 트랜스포트 계층으로 전달하여 세그먼트나 데이터그램을 추출

     

    트랜스 포트 계층 이 올바른 방식으로 조립을 한다 했을때 여러 라우터롤 통해 전달된 패킷의 데이터의 순서를 보장한다.

     

    - 최종 목적지인 애플리케이션은 트랜스포트 계층으로부터 데이터를 추출하여 사용

     

     

     

    여기까지 설명을 하면 TCP/IP 가 다르게 보이면 좋겠다.

     

    비연결형 기반의 프로토콜 ip 보다 상위 계층인 데이터의 순서 보장과 에러 복구가 가능한 TCP를 사용하는것이 안정적인 통신을 가능하게 한다.

     

    즉 일반적으로 TCP는 IP 와 같이 사용이 된다. IP 는 데이터 전달만의 목적이기 때문에 TCP 의 패킷의 추적 및 관리가 필요하다.

     

     

    TCP 원리(2) 에서는 TCP 의 패킷의 추적 및 관리 를 중점으로 설명하겠다.

     

     

     

     

    사진 자료 

    https://cabulous.medium.com/tcp-3-way-handshake-and-how-it-works-8c5f8d6ea11b

     

    TCP 3-Way Handshake and How it Works

    Handshake has a purpose — exchanging information to establish a connection.

    cabulous.medium.com

     

Designed by Tistory.