Hi there!

I am a student studying computer science.

컴퓨터 네트워크

컴퓨터 네트워크 Week 10-1-1 : UDP

만능성구 2020. 11. 25. 02:57
728x90

Application Layer에서 요구하는 것에 따라 TCP, UDP 선택한다.

UDP (IP/PORT)

TCP : E-mail, HTTP, FILE  신뢰, 복잡, 멀티 플렉싱 과 디멀티플렉싱만 제공 (S/D)(IP/PORT)

 

UDP segment header

checksum: application data에 데이터 전송 오류가 있는지 확인 

보내는 사람과 받는 사람의 checksum 연산결과가 같으면 정상, 아니면 패킷을 버릴 수 있다. application layer에서 복구하기도 한다. 대부분 버린다.

UDP checksum

Goal : 전송된 segment에서 오류 (즉, 뒤집힌 비트) 감지

010101010 -->0110110

pure하지 않고 noise가 있다 

데이터 신호처리 시스템 영역

대역폭이 다른 것을 선택한다. 

 

sender

    ▪ UDP segments의 내용 (UDP 헤더 필드 및 IP 주소 포함)을 16 비트 정수 시퀀스로 처리합니다. 

    ▪ checksum : 세그먼트 내용의 추가 (1의 보완 합계) 

    ▪ UDP checksum 필드에 입력 된 체크섬 값

0101010

1010101

1's complement

 

receiver

▪ 수신된 segmnet의 checksum 계산 

▪ 계산된 checksum이 checksum field 값과 같은지 확인합니다. 

    • 같지 않음 

        -오류가 감지 됨 

    • 같음       

        -오류가 감지되지 않음. 하지만 그럼에도 불구하고 오류일까요? 더 늦게 ….

Internet checksum: an example

예 : 두 개의 16 비트 정수 더하기

참고 : 숫자를 추가 할 때 최상위 비트의 수행을 결과에 추가해야합니다.

 

#처음 두 16bit 정수를 더해서 wraparoung를 구하고 overflow가 발생하면 맨 아래 bit에 추가해주고 1의 보수를 취해서 checksum을 구성한다.

# 처음 두 16bit 정수의 마지막 비트가 10-> 01 / 01->10으로 바뀌어도 checksum의 결과는 똑같다 따라서 weak protection이다. 

Calculating the UDP Checksum: Wireshark

• Source IP = 192.168.0.31
• Destination = 192.168.0.30
• UDP source port = 20
• UDP destination port = 10
• Data (2 bytes) = “Hi”

extra example

 

#의사 헤더가 여기에서 시작됩니다. // IP packet과 UDP packet에서 


#의사 헤더는 여기에서 끝나므로 여기에 실제 udp 헤더를 추가합니다. // UDP packet에서


#이제 모든 정보를 얻었으므로 더하겠습니다.


#이전 항목에서 우리의 값은 16 bit를 초과합니다.

checksum이 16 bit이어야하므로 작동하지 않습니다.
16 bit를 얻기 위해 t에서 32 bit가되도록 결과를 확장합니다.
따라서 우리는 16 진수 000을 1 CA 39에 추가합니다.
또한 이진 값 000을 찾아서 이진 열에 추가합니다.
이제 32 비트 값을 얻었으므로 상단 00 01을 가져와 하단 ca 39에 더합니다.

 

#우리는 거기에 가고 있습니다. 

이제 위의 값을 얻었으므로 1의 보수를 찾아야합니다.

이를 위해 위 결과의 0과 1을 교환합니다.

C0A8+001F+C0A8+001E+000A + 0014+000A+000A+4869 = 1 CA39

1 CA 39 --> CA 39 + 00 01 = CA 3A

Summary: UDP

▪ "no fills" 프로토콜 : 

   • segment가 손실되거나 순서대로 배송되지 않을 수 있습니다.
   • 최선의 서비스 : "최선을 보내고 희망"

   # net layer와 app layer 사이에서 mux와 demux만 추가한다 (+checksum)

▪ UDP에는 다음과 같은 장점이 있습니다.
   • 설정 / handshacking 필요 없음 (RTT 발생 없음)
   • 네트워크 서비스가 손상되었을 때 작동 할 수 있습니다.

   • 안정성에 도움 (checksum)

▪ application layer (예 : HTTP / 3)에서 UDP 위에 추가 기능을 구축합니다.

 

728x90