반응형

TCP

 - 네트워크 계층 상위에서 수행되는 전송 계층의 프로토콜

 - 클라이언트와 서버 간의 연결지향, 신뢰성 있는 데이터 전송, 에러제어, 흐름제어 등의 기능을 수행함

 - 주기적으로 메시지를 송수신하여 송수신 가능 여부를 확인함

 

TCP/UDP 특징

TCP UDP
Connection 방식 (연결지향) Connectionless 방식 (비 연결지향)
- 수신측의 인증이 필요함                     
- 신뢰성이 높음                                        
- Header부분이 큼
- 속도가 느림
- 데이터를 패킷 단위로 전송함
- 완전이중 방식
- 수신측의 인증이 불필요함
- 비 신뢰성 서비스
- Header부분의 크기가 작음 (간단한 헤더 구조)
- 실시간 데이터 또는 동영상 전송에 사용됨
- 데이터를 블록 단위로 전송함
- 데이터그램 형태의 전송

*완전이중방식: 전화기처럼 송신자는 송신, 수신자는 수신을 동시에 할 수 있음

 

TCP 헤더 구조

Source Port (송신) Destination Port (수신)
가상 선로의 송신 측 포트 가상 선로의 수신 측 포트

- Sequence Number: TCP 순서번호를 표시함 → 송신자가 전송하는 데이터의 일련번호

- Length: 헤더와 데이터를 포함한 전체 길이 → TCP 헤더에 몇개의 32Bit 워드가 포함되어 있는가를 나타냄

- Cheeksum: 에러 제어를 위한 필드

- Ack: 잘 받았다는 확인 응답 (전송 확인이 필요할 때 설정함)

- Offset: TCP헤더 길이를 4바이트 단위로 표시함

- Flags: 제어비트로서 세그먼트 종류를 표시함

- Windows size: 상대방 확인 없이 전송할 수 있는 바이트 (수신 측에서 수신할 수 있는 최대의 Byte 수)

 

tip. 요약

TCP의 주요 기능
- 신뢰성 있는 전송: ACK Number를 송신자에게 전송→ ACK Number가 수신되지않으면 재전송
- 순서제어: 메세지 전송시 Sequence Number를 같이 보냄 → 메세지의 순서가 맞지않아도 일련번호로 정렬가능
- 완전이중: 전화기처럼 송신자는 송신, 수신자는 수신을 동시에 할 수 있음
- 흐름제어: 수신자가 메세지를 제대로 받지 못하면 송신자는 전송속도는 낮추어 네트워크 효율성을 제어함
- 혼잡제어: 수신자의 메모리 버퍼 정보, Windows size을 송신자가 수신 받아서 수신자의 버퍼상태를 보고 전송속도를 조절함

*일련번호와 전송확인은 데이터 흐름 제어에 사용되는 32Bit 정수임

*슬라이딩 윈도우 프로토콜은 송신자가 일련번호와 함께 데이터를 전송하고 수신자는 받은 데이터 수를 의미하는

 전송 확인 번호를 응답함으로써 안정적인 데이터 전송을 보장함

 

UDP

 - 데이터를 빠르게 전송할 용도로 사용함

 - 재전송 기능이 없기 때문에 네트워크에서 패킷이 손실될 수 있어 데이터가 전송되는 것을 보장하지 않음

- 송수신의 여부에 대한 책임을 Application이 가짐

 

UDP 헤더 구조

 - Source Port: 데이터를 보내는 송신 측의 응용 프로세스를 식별하기 위한 포트

 - Destination Port: 데이터를 받는 수신측의 응용 프로세스를 식별하기 위한 포트

 - Length: 헤더와 데이터를 포함한 전체길이

 - Cheeksum: 전송 중에 세그먼트가 손상되지 않았음을 확인함 (에러를 확인함)

반응형

+ Recent posts