공부한 기록/네트워크 통신

네트워크(11) - 전송층

YongE 2023. 6. 14. 23:22

전송층은 네트워크층과 응용계층 사이에 위치해 있다. 이는 네트워크층으로부터 서비스를 제공받고 응용계층에게 서비스를 제공할 의무가 있다.

 

전송층 서비스


전송층은 다음과 같은 서비스를 제공한다.

  • 프로세스 대 프로세스 통신 제공
    • 전송층 서비스를 사용하는 실행중인 프로그램이다. 메시지를 적절한 프로세스에 전달할 책임을 갖는다.
  • 포트번호 
    • 프로세스끼리는 클라이언트/서버로 통신한다.
    • 프로세스 통신을 위해서는 로컬호스트, 로컬프로세스, 원격호스트, 원격프로세스가 필요하다.
    • 전송층은 프로세스 통신에서 포트번호의 역할을 한다. 로컬호스트와 원격호스트는 IP주소를 사용하고 프로세스는 포트번호를 사용한다.
    • 소켓 주소 : 각 종단점을 연결하기 위해 필요한 주소이다. IP주소 + 포트 번호를 합해서 만든다.
  • 흐름제어
    • 단어 그대로 정보의 흐름을 제어한다.
    • 정보를 생산자에서 소비자로 전달하는 방법은 다음과 같다.
      • 밀기 pushing : 소비자 요구 없이 생산자가 전달
      • 끌기 pulling : 소비자가 요구한 경우에만 전달
    • 흐름 제어 구현은 버퍼를 이용한다.
  • 오류제어
    • 훼손된 패킷을 감지하고 폐기하거나 손실되거나 제거된 패킷을 추적하고 재전송한다.
    • 순서번호 : 어떤 패킷을 재전송해야 하고, 중복되었고, 순서에 어긋나게 도착했는지 패킷에 부여된 일련번호로 알아낼 수 있다.
  • 혼잡제어
    • 네트워크로 전송되는 패킷의 수가 처리용량을 초과할 때 혼잡이 발생한다.
    • 개방루프 혼잡 제어로 혼잡을 미연에 방지한다.
    • 폐 루프 혼잡제어로 혼잡이 발생하면 송신 윈도우 크기를 조정해서 패킷을 조절하여 완화한다.
  • 비연결형과 연결형 서비스

 

 

전송계층 프로토콜


다음 세 가지 프로토콜을 제공한다.

  • 단순 프로토콜 : 흐름 오류 제어 없는 비연결형 프로토콜이다.
  • 정지 후 대기 stop and wait 프로토콜 : 흐름 오류 제어 있는 연결형 프로토콜이다. 이름 그대로 확인응답이 오기 전까지 다음 패킷을 전송하지 않는다. 
    • 패킷이 훼손됐는지 확인하기 위해 검사합을 추가하였다. 훼손되었다면 재전송한다.
    • 순서번호 : 중복수신을 막기 위해 패킷 헤더부분에 추가하는 필드.
    • 다만 이 프로토콜은 대역폭이 크고 왕복지연시간이 긴 경우엔 상당히 비효율적이다.
  • n-프레임 후퇴 프로토콜 : 전송효율을 높이기 위해 확인응답을 기다리는 동안 여러 패킷을 전송할 수 있는 프로토콜
    • 순서번호는 modulo 2^m이다.
    • 확인응답은 누적 값이며 수신된 다음 패킷의 순서번호를 의미한다.
    • 패킷에 대한 타이머가 완료되면 송신측은 모든 미해결 패킷을 재전송한다.
728x90
반응형