본문 바로가기
IT Basic/Network

모두의 네트워크 - 6장 전송 계층 : 신뢰할 수 있는 데이터 전송하기

by HouseDust 2021. 12. 8.
반응형

제 6장, 전송 계층 : 신뢰할 수 있는 데이터 전송하기

 

전송 계층 ?

목적지에 신뢰할 수 있는 데이터를 전달하기 위한 계층

- 오류 점검 기능

- 목적지 애플리케이션 식별 기능

오류가 발생하면, 데이터를 재전송하도록 요청하고, 

받은 데이터를 어떤 애플리케이션으로 전송할지 식별한다.

 

신뢰성/정확성

  • 데이터를 목적지에 문제없이 전달하는 것
  • 신뢰성/정확성이 우선인 통신 방법 : 연결형 통신

정확한 데이터가 중요한 경우 사용

TCP(Transmission Control Protocol)

 

 

효율성

  • 데이터를 빠르고 효율적으로 전달하는 것
  • 효율성이 우선인 통신 방법 : 비연결형 통신

빠른 전송이 중요한 경우 사용 (ex. 영상 스트리밍)

UDP(User Datagram Protocol)

 

TCP(Transmission Control Protocol)

  • 신뢰성과 정확성을 우선한다.
  • TCP헤더가 붙은 데이터 : 세그먼트(Segment)
  • TCP헤더 속 정보
    1. 출발지 포트번호(16bit)
    2. 목적지 포트번호(16bit)
    3. 일련번호(32bit)
    4. 확인 응답 번호(32bit)
    5. 헤더 길이(4bit)
    6. 예약 영역(6bit)
    7. 코드 비트(6bit)
    8. 윈도우 크기(16bit)
    9. 체크섬(16bit)
    10. 긴급 포인터(16bit)
    11. 옵션

 

연결(Connection)

  • 데이터를 전송하려면, 연결(connection)이라는 가상의 독점 통신로를 확보해야 함.
  • TCP헤더의 코드 비트(107~112번째 비트)

 

3-way 핸드셰이크

  • 상대를 확인하고 악수하듯, 데이터가 확실하게 전송되었는지 확인하며 이뤄지는 통신 수단
  • 연결 시 
  • 연결 종료 시

 

TCP 헤더 - 일련번호(Sequence Number)

  • 송신 측에서 수신 측에 이 데이터가 몇 번째 데이터인지 알려주는 역할

 

TCP 헤더 - 확인 응답 번호(Acknowledgement Number)

  • 수신 측이 몇 번째 데이터를 수신했는지 송신 측에 알려주는 역할
  • 다음 번호의 데이터를 요청하는 데에도 사용된다.
  • 재전송 제어 - 데이터가 손상되거나 유실된 경우, 확인 응답 번호를 사용하여 데이터를 재전송하도록 한다.

 

TCP 헤더 - 윈도우 크기(Window Size)

  • 버퍼(Buffer)
    • 효율을 높이기 위해 세그먼트를 연속해서 보내는데, 그때 받은 세그먼트를 일시적으로 보관하는 장소
    • 버퍼 용량 이상으로 대량의 데이터를 받으면, 오버플로(overflow)가 발생한다. 
  • 오버플로를 막기 위해 버퍼의 한계 크기 정보를 담은 것
  • 얼마나 많은 용량의 데이터를 저장해 둘 수 있는지

 

포트번호(Port Number)

  • 데이터의 목적지가 어떤 프로그램인지 구분하는 역할
  • 출발지 포트번호와 목적지 포트번호가 필요함.
  • 0~1023 : 잘 알려진 포트(well-known ports)
  • 1024 : 예약되어있으나 사용하지 않는 포트
  • 1025 이상 : 랜덤 포트
  • 웹브라우저는 임의의 포트가 자동으로 할당되므로, 클라이언트 측에서는 포트번호를 정해두지 않아도 된다.

 

UDP(User Datagram Protocol)

  • 데이터를 효율적으로 빠르게 보내는 통신 방법
  • 스트리밍 동영상 서비스와 같은 곳에서 사용
  • UDP 헤더가 붙은 데이터 : UDP 데이터 그램
  • UDP 헤더 내용
    1. 출발지 포트 번호(16bit)
    2. 목적지 포트 번호(16bit)
    3. 길이(16bit)
    4. 체크섬(16bit)
  • 브로드캐스트(Broadcast) 가능

 

 

 


참고자료

 

모두의 네트워크

 

모두의 네트워크 - 교보문고

10일 만에 배우는 네트워크 기초 | 즐거운 프로그래밍 경험 | 누구나 10일이면네트워크를 이해할 수 있다!준비 | 네트워크 기초 지식 익히기네트워크, 패킷, 비트, 바이트, 랜, 서버 등 네트워크 용

www.kyobobook.co.kr

 

반응형

댓글