ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 전체적인 데이터 전송/수신 과정
    네트워크 2025. 3. 9. 15:31

    데이터는 어떻게 전송될까?

    이미지를 전송하는 것으로 예를 들어 설명하겠다.

     

    이미지를 전송하기 위해서는 여러 처리를 거쳐야 한다.

    1. 추가 데이터 포함시키기

    보낼 데이터에 이미지 크기, 형식(JPEG, PNG), 전송방식(POST, PATCH) 등을 포함해야 한다.

    2. 데이터 쪼개기

    한번 전송시 담을 수 있는 최대 용량이 있기 때문에 이미지를 쪼개어 여러번 전송해야 한다.

    3. 신뢰성 보장하기

    오류로 인해 데이터가 전달되지 않거나 잘못된 데이터가 전달되면 처리할 수 있도록 해야 한다.

    4. 목적지까지의 경로 설정하기

    보내고자 하는 목적지의 최적의 경로를 설정해야 한다.

    5. 실제로 데이터 전송하기

    0과 1밖에 없는 신호를 통해 전송해야 하므로, 이미지를 이진수 형태로 변경하여 전송한다.

    등등..

     

     

     

    실제로 어느곳에서 어떻게 진행될까?

    아래그림의 왼쪽은 컴퓨터를 7개의 계층으로 나눈 모습이며, 오른쪽은 이 7계층을 TCP/IP 프로토콜 관점으로 재구성한 그림이다.

     

    TCP/IP 프로토콜 차원에서 설명하면,

    1. Application : 추가 데이터 포함시키기

    2. Transport : 데이터 쪼개기, 신뢰성 보장하기

    3. Internet : 데이터 쪼개기, 목적지까지의 경로 설정하기

    4. Network Interface : 실제로 데이터 전송하기

     

    이렇게 여러 계층으로 나누어 각기 다른 작업을 하며, 순서대로 작업한다.

     

    계층을 나누는 이유?

    계층을 나누어 작업하는 이유는 유지보수때문이다.

     

    데이터 전송과정은 택배 시스템과 비슷한데,

    1. 고객이 상품을 주문 -> Application

    2. 큰 상품을 여러개의 작은 상자로 나누어 포장, 깨지지 않게 보호 -> Transport

    3. 각 박스를 목적지까지 보내기 위해 배송 경로 설정 -> Internet

    4. 배달원이 물건 전달 -> Network Interface

     

    택배 시스템의 각 과정은 각기 다른 부서나 회사가 맡고 있다. 

    덕분에 포장하는 박스가 바뀌어도 상품을 주문하는 부서에는 변경사항이 없을것이다.

     

    이처럼 각 부분을 독립적으로 개선할 수 있으므로 여러 계층을 나누어 작업하는게 좋다.

     


    데이터는 어떻게 수신될까?

    아래 그림은 전송,수신 과정을 그린 그림이다.

    전송할때는 가장 높은 7계층부터 차례대로 처리되었다면, 반대로 수신될때는 가장 낮은 1계층부터 처리된다.

     

    아래는 데이터를 전송받을때 해야 할 일들이다.

    1. 실제로 데이터 수신받기

    이진수로 이루어진 데이터를 받아온다

    2. 목적지가 자신인지 확인하기

    목적지 IP 주소와 기기 IP 주소가 같은지 검사해야 한다.

    2. 데이터 오류/변형 검사

    데이터가 수송되는 동안 잡음, 신호 간섭 등으로 변형이 될 수 있으므로 검사해야 한다.

    3. 재전송 요청하기

    쪼갠 데이터를 다시 붙일때 중간 데이터가 손실되어 없거나 순서가 틀린 경우 재전송 요청을 해야 한다.

    4. 응용 프로그램에 맞게 데이터 추가 처리하기

    웹 프로그램에서 사용할 수 있도록 데이터를 HTTP 같은 프로토콜 형식으로 변형해야 한다.

    실제로 어느곳에서 어떻게 진행될까?

    다시 TCP/IP Protocol을 보자.

     

    TCP/IP 프로토콜 차원에서 수신 과정을 설명하면,

    1. Network Interface : 실제로 데이터 수신받기, 전체적인 데이터 오류/변형 검사

    2. Internet : 목적지가 자신인지 확인하기, IP 헤더의 데이터 오류/변형 검사 (= ckecksum 검사)

    3. Transport : 쪼개진 데이터 붙이기, 재전송 요청하기

    4. Application : 응용프로그램에 맞게 데이터 추가 처리하기

     

    이렇게 전송,수신 과정마다 각 계층에서 하는 역할이 다르다.

     

Designed by Tistory.