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: 전송 중에 세그먼트가 손상되지 않았음을 확인함 (에러를 확인함)
'네트워크관리사2급' 카테고리의 다른 글
13. 수업노트 (응용프로토콜 2) (0) | 2024.05.16 |
---|---|
12. 수업노트 (응용 프로토콜) (0) | 2024.05.16 |
10. 수업노트 (서브넷마스크) (0) | 2024.05.14 |
9. 수업노트 (IP addess 주소체계) (0) | 2024.05.13 |
8. 수업노트 (멀티플렉싱:다중화 기법) (0) | 2024.05.12 |