TIL

[모의 면접 준비] 전송 계층 프로토콜

nbcssw 2024. 10. 28. 16:46

전송 계층 프로토콜

  • 전송 계층은 OSI 7계층의 4계층에 해당하는 계층입니다. 전송 계층은 데이터가 전달되는 과정에서 수신자와 송신자의 신뢰성을 보장하고, 데이터가 잘 전달되도록 하는 역할을 합니다.
  • 이를 위한 대표적인 프로토콜이 두 가지가 있는데, TCPUDP입니다.
  • TCP연결 지향형 프로토콜로, 통신을 시작하기 전에 송신자와 수신자가 연결을 설정합니다. 그리고 오류 제어나 흐름 제어를 통해 데이터가 손실되거나 순서가 바뀌는 것을 방지하여 신뢰성을 보장해준다는 특징이 있습니다.
  • 반대로 UDP비연결형 프로토콜로, 송신자와 수신자 간의 연결을 설정하지 않습니다. 그리고 데이터의 신뢰성을 보장해주지 않아 데이터의 손실이나 순서가 뒤바뀔 수 있지만, TCP보다 속도가 빠르다는 특징이 있습니다.

IP의 한계

  • IP는 OSI 7계층 중 3계층인 네트워크 계층의 프로토콜입니다. IP는 데이터를 전송할 때 UDP와 같이 연결하지 않고 데이터를 전송하기 때문에 데이터가 손실되거나 순서가 뒤바뀔 수 있습니다.
  • UDP와의 차이점
    • 동작 계층: IP는 네트워크 계층, UDP는 전송 계층에서 동작합니다.
    • 목적과 역할: IP는 목적지인 IP 주소까지 데이터를 보내주지만, UDP는 추가적인 포트 번호로 데이터를 전달해줄 수 있습니다.

오류 제어

  • 오류 제어란, 데이터 전송 중에 발생하는 오류를 탐지하고 해결하는 과정입니다. TCP에서 데이터의 신뢰성을 보장하기 위해 사용합니다.
  • 이 때, 체크섬이라는 기법을 통해 오류를 탐지합니다.
    • 체크섬 기법: 데이터를 전송하는 송신자가 데이터의 각 비트를 더한다든가 등의 알고리즘을 적용해서 체크섬 값을 계산하고, 데이터와 함께 전송합니다. 수신자는 데이터와 체크섬 값을 받고, 받은 데이터의 체크섬을 계산하고 받은 체크섬과 같은 지 체크해서 데이터의 무결성을 검사하는 방식입니다.
  • 이렇게 했을 때 오류가 발견되면, 데이터를 다시 전송해줍니다.
  • 또한 중복된 데이터가 수신되면 제거해주는 역할도 합니다.

흐름 제어

  • 흐름 제어란, 데이터 전송의 속도를 조절해서 수신자의 처리 능력보다 데이터 전송 속도가 빠르지 않도록 조절해주는 과정입니다. 수신자의 처리 능력이 데이터의 전송 속도보다 느리면 미리 할당된 버퍼의 한계를 초과해버리는 버퍼 오버플로우라는 현상이 발생해버립니다.
  • 데이터가 전송될 때, 수신자는 송신자에게 자신의 버퍼 크기를 송신자에게 알려주고, 송신자는 이 정보를 바탕으로 데이터의 전송 양을 조절합니다.

'TIL' 카테고리의 다른 글

최종 프로젝트 기획안  (1) 2024.11.13
[모의 면접 준비] 대칭키와 비대칭키  (0) 2024.10.28
Buffer  (0) 2024.10.22
[웹소켓] Chrome_dino 프로젝트 트러블슈팅  (1) 2024.10.07
모의면접 준비  (0) 2024.09.30