전송층은 네트워크층과 응용계층 사이에 위치해 있다. 이는 네트워크층으로부터 서비스를 제공받고 응용계층에게 서비스를 제공할 의무가 있다.
전송층 서비스
전송층은 다음과 같은 서비스를 제공한다.
- 프로세스 대 프로세스 통신 제공
- 전송층 서비스를 사용하는 실행중인 프로그램이다. 메시지를 적절한 프로세스에 전달할 책임을 갖는다.
- 포트번호
- 프로세스끼리는 클라이언트/서버로 통신한다.
- 프로세스 통신을 위해서는 로컬호스트, 로컬프로세스, 원격호스트, 원격프로세스가 필요하다.
- 전송층은 프로세스 통신에서 포트번호의 역할을 한다. 로컬호스트와 원격호스트는 IP주소를 사용하고 프로세스는 포트번호를 사용한다.
- 소켓 주소 : 각 종단점을 연결하기 위해 필요한 주소이다. IP주소 + 포트 번호를 합해서 만든다.
- 흐름제어
- 단어 그대로 정보의 흐름을 제어한다.
- 정보를 생산자에서 소비자로 전달하는 방법은 다음과 같다.
- 밀기 pushing : 소비자 요구 없이 생산자가 전달
- 끌기 pulling : 소비자가 요구한 경우에만 전달
- 흐름 제어 구현은 버퍼를 이용한다.
- 오류제어
- 훼손된 패킷을 감지하고 폐기하거나 손실되거나 제거된 패킷을 추적하고 재전송한다.
- 순서번호 : 어떤 패킷을 재전송해야 하고, 중복되었고, 순서에 어긋나게 도착했는지 패킷에 부여된 일련번호로 알아낼 수 있다.
- 혼잡제어
- 네트워크로 전송되는 패킷의 수가 처리용량을 초과할 때 혼잡이 발생한다.
- 개방루프 혼잡 제어로 혼잡을 미연에 방지한다.
- 폐 루프 혼잡제어로 혼잡이 발생하면 송신 윈도우 크기를 조정해서 패킷을 조절하여 완화한다.
- 비연결형과 연결형 서비스
전송계층 프로토콜
다음 세 가지 프로토콜을 제공한다.
- 단순 프로토콜 : 흐름 오류 제어 없는 비연결형 프로토콜이다.
- 정지 후 대기 stop and wait 프로토콜 : 흐름 오류 제어 있는 연결형 프로토콜이다. 이름 그대로 확인응답이 오기 전까지 다음 패킷을 전송하지 않는다.
- 패킷이 훼손됐는지 확인하기 위해 검사합을 추가하였다. 훼손되었다면 재전송한다.
- 순서번호 : 중복수신을 막기 위해 패킷 헤더부분에 추가하는 필드.
- 다만 이 프로토콜은 대역폭이 크고 왕복지연시간이 긴 경우엔 상당히 비효율적이다.
- n-프레임 후퇴 프로토콜 : 전송효율을 높이기 위해 확인응답을 기다리는 동안 여러 패킷을 전송할 수 있는 프로토콜
- 순서번호는 modulo 2^m이다.
- 확인응답은 누적 값이며 수신된 다음 패킷의 순서번호를 의미한다.
- 패킷에 대한 타이머가 완료되면 송신측은 모든 미해결 패킷을 재전송한다.
728x90
반응형
'기록 > 네트워크 통신' 카테고리의 다른 글
네트워크 프로그래밍 (0) | 2023.08.31 |
---|---|
네트워크(10) - 인터넷 제어 메시지 프로토콜 ICMP (0) | 2023.06.13 |
네트워크(9) - 인터넷 프로토콜 IP (0) | 2023.06.12 |
네트워크(8) - 주소 변환 프로토콜 ARP (0) | 2023.06.11 |
네트워크(7) - 유선 이더넷 (0) | 2023.06.10 |