728x90
UDP 서비스
포트번호 기반의 다중화 서비스
- 서버: Well-Known Port
- Well-Known = 잘알려져 있어야한다. -> 누구한테? 클라이언트한테.
- 클라이언트: Ephemeral Port
- Ephemeral Port = 임시 포트
비연결형(connectionless) 전송 서비스
- 통신 소켓 간의 연결 설정이 없다 -> 연결 설정 지연시간을 피할 수 있다.(HandShaking)
- 소켓 간 연결이 없으므로 데이터를 전송할 때 목적지 정보를 지정해줘야 한다.
데이터그램 실시간 전송 서비스
- 응용 프로세스로부터 데이터가 송신 소켓에 전달되면, 송신 UDP는 해당 데이터를 포함하는 UDP 데이터그램을 생성한다.
- 각 데이터그램은 IP를 통해 독립적으로 목적지 UDP 소켓에 전송한다.
응용
- 인터넷 전화 등 실시간 응용에 적합
- DNS(Domain Name System) 등 작은 데이터, 빠른 응답 지연시간이 요구되는 응용에 적합하다.
1:N, N:1 데이터그램 통신 서비스
- 목적지 IP 주소에 멀티캐스트 주소를 사용하여 다수의 목적지 소캣으로 데이터그램 전송 가능
- 여러 개의 소켓으로부터 데이터그램 수신 가능
- 응용 프로세스는 송신할 때마다 UDP에게 수신 소켓 주소 지정
- UDP가 응용 프로세스에게 데이터를 전달할 때마다 송신 소켓 주소 표시
응용
- 인터넷 TV 등 멀티캐스트 응용 효과적 지원
간단한 데이터그램 포맷
- 처리 시간 단축
- 데이터그램의 헤더에 출발지 포트번호, 목적지 포트번호, 전체 길이, 책섬(checksum) 정보를 저장한다.
- 책섬은 무결성 확인을 하며, Hash 함수를 통해 데이터 그램이 전송되는 과정에서 훼손되었는지를 확인한다.
- 한 어플리케이션 프로세스로 데이터그램이 들어가 출발지 IP 주소 + 출발지 Port 번호로 출발지 소켓 번호를 얻고, 목적지 IP 주소 + 목적지 Port 번호로 목적지 소켓 번호를 얻는다.
검사합(checksum)
송신자
- 송신하는 메시지를 정해진 길이의 데이터 단위로 나눈다.
- 모든 데이터 단위를 1의 보수(1's complement) 연산으로 더하여 합을 구한다.
- 합의 1의 보수를 검사합(checksum)으로 생성, 검사합을 추가하여 메시지 전송
수신자
- 수신된 메시지(데이터그램)를 정해진 길이의 데이터 단위로 나눈다.(검사합 포함)
- 모든 데이터 단위를 1의 보수(1's complement) 연산으로 더하여 합을 구한다.
- 합이 0이면 성공적인 수신, 아니면 오류 발생
1의 보수 연산
- 이진수 1의 보수: 각 비트 값 0과 1을 서로 바꾼 값(원래 비트 값과 더하여 1이 되는 값)
- +0: 모든 비트가 0
- -0: 모든 비트가 1
m비트 이진수의 1의 보수 덧셈
- m비트 결과 값 생성
- 최종 비트 올림(carry)이 생길 경우 캐리 값을 m비트 결과에 더하여 최종 m비트 결과값 생성
1의 보수 덧셈(8비트 이진수)
8비트 검사합 계산
오류 확인
- 결과가 -0이므로 오류가 나지 않은 것을 확인할 수 있다.
검사합 장점
- 높은 오류 검출 능력
- 단순함
- 소프트웨어 구현에 적합
단점
- 각 데이터 단위에서 발생하는 오류의 합이 0이 되는 오류 검출 불가
- 책섬을 변경하지 않는 오류 검출 불가
오류 검출 불가
- 원래 데이터: 00111010 10011000 00111010
- 수신 데이터: 00111000 10011010 00111010 11110010(검사합(책섬))
- 데이터의 수신이 잘못되었지만 결과값이 -0이므로 오류가 발생하지 않은 것으로 인식한다. 즉, 오류 인식이 불가능하다.
728x90
'Computer Network' 카테고리의 다른 글
[컴퓨터 네트워크] 오류 복구2: Go-back-N ARQ (0) | 2022.10.09 |
---|---|
[컴퓨터 네트워크] 오류 복구1: Stop-and-wait ARQ (0) | 2022.10.05 |
[컴퓨터 네트워크] 트랜스포트 계층(Transport Layer) 서비스 (0) | 2022.10.05 |
[컴퓨터 네트워크] DNS(Domain Name System) (0) | 2022.09.27 |
[컴퓨터 네트워크] 이메일과 SMTP (0) | 2022.09.27 |
댓글