TCP / UDP 의 특징 및 헤더(header) 분석
TCP와 UDP는 모두 네트워크에서 사용하는 데이터 전송(통신)방식 입니다.
OSI 7 계층의 4계층인 전송 계층에 속하며 segment의 단위를 가지고 있습니다.
이 전송방식들은 정보를 담아두고 있는 필드인 헤더를 각각 가지고 있습니다.
TCP
- 연결형 서비스를 지원하는 전송계층 프로토콜
- 신뢰할 수 있는 통신
- 속도가 느린편(UDP에 비해)
- 대규모의 데이터 통신에 적합
- TCP 헤더의 최소 크기 : 20byte
TCP Header 구성
1) 출발지 포트 (2)
2) 도착지 포트 (2)
3) 시퀀스넘버 (4)
4) Acknowledgement(응답) 넘버 (4)
5) 플래그 (2) [ tcp header length(4bit), reserved(6bit), control flags(6bit) ]
6) 윈도우 사이즈 (2)
7) 체크섬 (2)
8) urgent pointer (2)
* ( ) : 크기, 단위는 byte
* 시퀀스 및 응답 넘버 : 데이터를 보내기전 서버와 클라이언트 사이에서 이루어지는 요청 및 응답 번호
* 플래그 : 약속된 신호를 남기기 위한 용도로 프로그램에 의해 사용되는 미리 정의된 비트
- URG : 긴급포인터
- ACK : 응답 메시지
- PSH : 데이터를 포함
- RST : 수신 거부
- SYN : 연결 요청 메시지
- FIN : 종료
* 윈도우 사이즈 : 전송할 데이터의 최대 크기
* 체크섬 : 데이터의 변조를 확인하기 위한 값, 보낸 값과 받은 값을 비교
UDP
- 비연결형 서비스를 지원하는 전송계층 프로토콜
- 신뢰할 수 없는 통신
- 속도가 빠름
- 소규모의 데이터 통신에 적합
- UDP 헤더의 고정 크기 : 8byte
UDP Header 구성
1) 출발지 포트 정보 (2)
2) 도착지 포트 정보 (2)
3) 전체 헤더의 크기 (2) [ 헤더+데이터 ]
4) 체크섬 (2)
* ( ) : 크기, 단위는 byte
* 해당 사진에는 bit 단위로 표현되어 있네요. byte로 바꾸면 각각 2byte가 맞습니다.
구분 | TCP | UDP |
신뢰성 | Reliable(신뢰성 있음) | Unreliable(신뢰성 없음) |
연결형 | 연결 지향성 | 비 연결성 |
속도 | UDP에 비해 느림 | TCP에 비해 빠름 |
용도 | 대규모의 데이터 통신(신뢰성이 필요한) | 소규모의 데이터 통신 |
헤더크기 | 최소 20 byte | 8 byte |
'Security > network' 카테고리의 다른 글
IP 주소체계와 클래스 구성 (0) | 2017.03.29 |
---|---|
TCP 3 way-handshake(SYN, ACK) (0) | 2017.03.29 |
네트워크 소켓으로 통신하기 (0) | 2017.03.22 |
VMware 네트워크 설정 (0) | 2016.11.07 |
IP/서브넷 마스크 (0) | 2016.11.01 |