네트워크 TCP/IP 4계층 - 전송 계층(Transport Layer)

이강용·2024년 6월 9일
0

CS

목록 보기
45/109

전송 계층

  • 데이터의 전달을 신뢰성 있게 해주고 송신자와 수신자 간의 데이터 흐름을 제어

기능

  • 데이터 분할 및 재조립 : 큰 데이터 블록을 전송하기 위해 작은 세그먼트로 분할하고 수신 측에서 이를 재조립함
  • 신뢰성 : 데이터의 신뢰성 있는 전송을 보장함(TCP의 경우)
  • 흐름 제어 : 송신자와 수신자 간의 데이터 전송 속도를 조절
  • 오류 제어 : 전송된 데이터의 오류를 검출하고 수정함(TCP의 경우)
  • 다중화 : 여러 응용 프로그램이 동시에 네트워크를 사용할 수 있도록 함

TCP(Transmission Control Protocol)

  • 연결 지향성 : 통신을 시작하기 전에 송신자와 수신자 간에 연결을 설정
    • 이를 위해 3-way 핸드 세이크 과정을 거침
  • 신뢰성 : 데이터의 전송의 신뢰성을 보장
    • 데이터가 올바르게 전달되었는지 확인하기 위해 ACK(acknowledgment)메시지를 사용
  • 흐름 제어 : 송신자가 수신자의 수신 능력을 초과하지 않도록 조절
    • 이를 위해 윈도우 크기 조절과 같은 메커니즘을 사용
  • 오류 제어 : 데이터 전송 중 발생한 오류를 검출하고 수정
    • 데이터가 손상되거나 누락된 경우, 재전송 메커니즘을 사용
  • 혼잡 제어 : 네트워크 혼잡을 방지하기 위해 송신 속도를 조절

가상회선 패킷 교환방식

오류검사 메커니즘

  1. 재전송 : 시간 초과 기간이 지나면 서버는 전달되지 않은 데이터에 대해 재전송을 시도
  2. 체크섬 : 체크섬을 통해 무결성을 평가
    • 즉, 송신된 데이터의 체크섬과 수신된 데이터의 체크섬 값을 비교해서 올바르게 왔는지를 확인

사용 예

  • 파일 전송(FTP)
  • 이메일(SMTP)
  • 웹 브라우징(HTTP/HTTPS)

TCP 3-way 핸드세이크

  1. SYN : 클라이언트가 서버에 연결 요청을 보내는 단계
  2. SYN - ACK : 서버가 요청을 받고 클라이언트에 응답하는 단계
  3. ACK : 클라이언트가 서버의 응답을 확인하고 연결을 설정하는 단계

UDP(User Datagram Protocol)

  • 비연결성 : 연결 설정 과정 없이 데이터를 전송
  • 단순함 : 데이터 전송을 위한 오버헤드가 적음
    • TCP와 달리 신뢰성, 흐름 제어, 혼잡 제어를 제공하지 않음
  • 빠른 전송 : TCP보다 빠르게 데이터를 전송할 수 있음
    • 이는 실시간 응용 프로그램에 유리
  • 데이터그램 : 데이터는 독립적인 데이터그램 단위로 전송
    • 각 데이터그램은 독립적으로 처리되며 순서가 보장되지 않음

데이터그램 패킷 교환 방식

사용 예

  • 실시간 스트리밍(음성, 영상)
  • 온라인 게임
  • DNS 조회

TCP와 UDP 비교

항목TCPUDP
패킷 교환 방식가상회선 패킷 교환데이터그램
신뢰성높음낮음
오류 검사재전송, 체크섬체크섬
패킷의 순서 보장보장함보장하지 않음
헤더 길이20-60 바이트8 바이트
연결 보장연결을 보장함
3-way 핸드셰이크로 연결을 맺고
4-way 핸드셰이크로 연결을 해제
연결 설정 및 해제 불필요
브로드캐스트 지원 여부지원하지 않음지원함
속도상대적으로 느림상대적으로 빠름
profile
HW + SW = 1

0개의 댓글