300x250

1. 의사 헤더의 정보는 실제 정보인가?

UDP의 허용된 계층위반
UDP 발신지와 수신지 IP 주소를 얻기 위해 IP Layer를 조회하여 가상헤더를 구성함.
프로토콜 구현상 IP 계층의 정보는 데이터가 UDP로 전해질 때 쉽게 접근 가능함.





3. UDP 데이터가 512바이트 이하로 제한된 이유

재조립을 위한 IPv4 버퍼 사이즈  최소 576bytes.

이를 위한 송신자 UDP 데이터 제한 512bytes 이하.

이유:
RFC 791
576bytes – 60bytes (최대 IPv4 헤더 크기) – 8bytes(UDP  크기) = 508 byte.
IP&UDP헤더를 뺀 사이즈(508bytes) < UDP 데이터 제한(512bytes)?
=> IPv4 header의 일반적인 크기는 20 byte이므로 순수 data의 크기가 좀 더 커도 상관 없음.
가끔 전송 실패 할 때가 있음.

4. Setsockopt() api 코딩 예제





6. UDP 종단점 생성

로컬 IP 주소의 제약
UDP 서버는 종단점을 생성할 때 자신의 로컬 IP 주소를 wildcard화 함.
들어오는 UDP 데이터 그램을 모두 받아 들이기 위함.

포트 7777 들어오는 모든 외부 ip에 대해 허락 .


7. 다중 주소 설정(가능 여부)

Ip addr add 10.0.2.13 scope host dev eth0

Ip addr add 10.0.2.14 scope host dev eth0 

sock –u –s –A 10.0.2.13 8888
( -u:
udp, -s: server, -A: SO_REUSEADDR)

sock –u –s –A 10.0.2.14 8888

sock –u –s –a 8888



반응형

+ Recent posts