Hyunebee

TCP와 UDP 본문

zerebase/네트워크

TCP와 UDP

Hyunebee 2022. 5. 29. 03:52

TCP

 프로세스 대 프로세스 프로토콜로 종단간의 흐름제어 및 오류 제어등의 기능을 통해 데이터 전송의 신뢰성을 제공한다. 

 여기서 데이터 링크 계층의 오류제어 기능과 다른 점은 데이터 링크 계층은 이웃 노드 간이지만 TCP는 송신부 부터 수신

 부까지 이기 떄문

 

 신뢰성 있는 전송을 위해 사용자 데이터 세그먼트와 함께 이에 대한 확인 응답인 ACK를 이용

 세그먼트 : TCP 프로토콜 사이에 전송단위

 

 위에서 말한것과 같이 신뢰성 있는 스트림 전송서비스를 제공하는게 TCP의 목적이다.

  이것을 구현하기위해 p-ACK 재전송 기법을 사용하고 있다. ACK를 받지 못하거나 타임아웃이 되면

  재전송을 하는 방식으로 구현 하고 있다. 

 

TCP전송의 특징

 1. 스트림 지향성 

  TCP는 데이터 전송에 있어서 옥텟(octets) 또는 바이트를 기본단위로 하여 사용자 데이터를 스트림 형태로 처리  스트    림 전송서비스는 전송 측에서의 데이터 순서가 최종 목적지에서도 일치되도록 함

 2. 가상 회선 연결

  TCP는 연결 지향 수송 계층 프로토콜이다. 

  프로세스대 프로세스 즉 각각 자신의 운영체제하에서 응용프로그램(프로세스)가 동작한다. 

  즉 연결이 정상적이여야 데이터 전송이 가능해진다. 

 3. 버퍼를 이용한 전송

 4. 전 이중 전송 연결

  양방향 전송 연결은 반대되는 방향성을 갖는 두 개의 독립적인 스트림의 흐름 생성 => 효율적인 전송 가능

 

 연결 지향 프로토콜(TCP 연결)

  TCP는 3방향 교신 기법을 사용하여 연결을 설정한다. 

  첫 세그먼트는 SYN비트를 설정해 보낸다.

 

  두번째 세그먼트는  수신한 SYN에 대한 응답을 나타내기위해 ACK를 1로 설정 후 교신중이라는 의미의 SYN을 1로 바꿔    SYN + ACK를 전달한다.

 

  세번째 세그먼트는 다시 ACK를 보내면서 서로 설정 완료되었음

  을 알리는 역할을 한다.

 

 

 연결 지향 프로토콜(TCP 해제)

 수정된 3방향 교신 과정을 사용

 FIN과 일련 번호를 보내고 수신 완료인 ACK전달 하지만 아직 남아있는 데이터의 전송을 종료할때까지 데이터가 흐르게   됨 그럼으로 반대 ACK세그먼트는 연결이 해제된 후에도 전송된다.  모두 보내게 되면 각 종점에서 연결에 대한 정보를 삭   제 한다. 

 

 

UDP

IP 서비스에 단지 프로세스 대 프로세스(process-to-precess) 데이터통신 환경만을 제공  상호 간에 데이터를 주고받을 때 TCP에서처럼 연결설정 단계를 거치지 않음 간단한 구조로 오버헤드를 최소화  비연결성(connectionless), 비신뢰성(unreliable) 전송 프로토콜(체크섬도 선택적으로 수행)

 

'zerebase > 네트워크' 카테고리의 다른 글

TCP/IP 네트워크 모델과 IP  (0) 2022.05.29
라우팅  (0) 2022.05.29
OSI 7 계층  (0) 2022.05.29
데이터 통신과 네트워크  (0) 2022.05.29