##프로토콜이란?
: 프로토콜은 컴퓨터가 네트워크를 통해 서로 통신하는 방법을 지정하는 일련의 규칙입니다.
- 전송 제어 프로토콜에는 한 컴퓨터가 다른 컴퓨터로 데이터를 보내는 경우 대상 컴퓨터에서 누락된 데이터가 있는지 원본 컴퓨터에 알려 원본 컴퓨터가 다시 보낼 수 있도록하는 규칙이 있습니다.
- 또는 그만큼 인터넷 프로토콜 컴퓨터가 보내는 데이터에 주소를 첨부하여 정보를 다른 컴퓨터로 라우팅하는 방법을 지정합니다.
##전송계층 프로토콜
응용계층 : SMTP , FTP, TELNET, DNS, SNMP, DHCP ...
전송계층 : SCTP, TCP, UDP
네트워크 계층 : IP
링크계층 : LAN 또는 WAN 기술
##잘 알려진 포트번호
##UDP(User Datagram Protocol)
UDP : 비연결형, 비신뢰성 전송 프로토콜
- 호스트 대 호스트 통신(X)
- 프로세스 대 프로세스 통신(O)
- IP서비스에 추가되는 기능 X
##사용자 데이터그램
UDP 패킷 : 사용자 데이터그램(User Datagram)으로 불림
- 사용자 데이터그램 구성 : 8바이트 헤더 + 데이터
**헤더
- 8바이트의 고정된 헤더를 갖음 (2바이트 * 4개 필드)
- 처음 2개 필드: 발신지와 목적지의 포트번호 정의
- 세번째 포트 : 사용자 데이터 그램의 총 필드 길이를 정의 (16비트 > 0~65,535 사이의 전체 길이 정의 가능)
- 구성 : Source Port number, Destination Port number, Total length, Checksum
##UDP Services
전송계층 프로토콜에서 제공되는 일반적인 서비스 중 어떤 서비스가 UDP에 의해 제공?
- 프로세스 대 프로세스 통신
- UDP는 IP주소와 포트번호로 구성된 소켓을 이용하여 프로세스 대 프로세스 통신
- 비연결형 서비스
- UDP에 의해 전송되는 각각의 사용자 데이터그램은 서로 독립적 의미
- 데이터그램에는 번호가 붙지 않음
- 연결설정과 연결종료 없음 (TCP 프로토콜과 다름)
- 65,507바이트(65,535바이트 -UDP헤더 8바이트 - IP헤더 20바이트) 보다 작은 메시지를 보내는 프로세서만이 UDP 사용가능
- 흐름제어
- 오류제어
- 검사합을 제외한 오류제어 메커니즘 없음 >>메시지 손실, 중복을 송신자가 알 수 없음
- 수신측에서 검사합을 사용해 오류감지 >> 데이터그램 폐기
- 검사합 (Checksum)
- UDP 검사합 계산은 의사헤더, UDP헤더, 응용 계층으로부터 온 데이터의 세 부분을 포함
- 만약 검사합이 의사헤더를 포함하지 않는다면 사용자 데이터그램은 안전하고 정상적으로 도착가능
- 검사합의 옵션 포함 사항
- UDP 패킷의 송신자는 검사합 계산 선택안하기 가능
- 검사합을 계산하는 결우 결과값이 모두 0이면 감사합 값을 모두 1로 변경 후 전송
- 혼잡제어
- 혼잡제어 제공 안함 (비연결형 프로토콜이기 때문)
- 캡슐화와 역캡슐화
- 한 프로세스에서 다른 프로세스로 메시지를 보내기 위해 캡슐화와 역캡슐화 수행
- 큐잉(Queuing)
- 큐는 포트와 관련 있음
- 클라이언트는 시작시 윤영체제에 포트번호를 요청, 프로세스와 연계된 입력큐와 출력큐가 생성
- 다중화와 역다중화
- TCP/IP 프로토콜 호스트에서 UPD 서비스를 원하는 프로세스 >> UDP를 여러개 가질 수 있음
- UDP와 일반 단순 프로토콜과의 비교
- UDP는 수신측에서 훼손된 패킷을 감지하기 위해 부가적인 검사합 사용
##UDP Applications
응용프로그램을 설계할 때 고려된 UDP특징, UDP의 대표적인 응용은?
#고려된 UDP특징
**비연결형 서비스
- UDP패킷은 다른 패킷들과는 독립적
- 예) 클라이언트 응용이 서버에게 짧은 요청 전송, 짧은 응답 수신할 떄
- 연결지향은 연결 설정, 종료를 하기 위한 오버헤드가 클 수 있다.
**오류제어의 결함
#대표적인 응용
TCP보다 UDP의 서비스가 더 효율적인 응용들
- FTP와 같이 대량의 데이터를 보내야 하는 포로세스에서는 사용X >> FTP(X)
- 내부에 흐름 제어와 오류 제어 메커니즘을 가지고 있는 프로세스에 적절 >> TFTP(O)
- ...
루피가 머머리라니