페이지 선택

UDP 통신관련 시스템 함수 

네트워크 통신을 지원하는 O/S 에서 UDP 통신 관련한 시스템 함수들에 대해 간단하게 설명한다.

이 시스템 함수들은 UDP 통신에 필요한 요소들을 모듈화 해 놓은 함수들이므로 이 함수들을 살펴 보는 것으로도 UDP 통신을 이해하는 데 많은 도움이 될 것이다.

각 O/S 별로 시스템 함수의 명칭은 다를 수 있겠지만 통상적으로 언급되는 명칭으로 명기하여 간단히 설명한다..

 

 

 

socket() →  소켓  생성 

파라미터  
수행동작

♦ 프로토콜 스택에 소켓의 정보를 저장하기 위한 메모리 할당

♦ 소켓번호 생성 → 소켓번호는 O/S에서 파일디스크립터(fd)로 표현된다

반환값 파일 디스크립터/소켓번호 ← 프로토콜 스택 상에서 각 소켓을 구분해 주는 번호(포인터)

 

 

bind() →  소켓 결합(서버기능)

파라미터 소켓번호, 소켓주소(IP, Port)
수행동작 소켓번호와 소켓주소를 하나의 쌍으로 맺어 준다 → 어플리케이션 레이어에서 사용되는 소켓번호가 이로써 TCP 통신채널과 연결된다.
반환값 0(성공) / -1(실패)

 

 

connect() → 소켓 연결 (클라이언트 기능)

파라미터  소켓번호, 소켓주소(IP, Port)
수행동작  소켓주소(IP, 포트번호)를 소켓에 할당
반환값 0(성공) / -1(실패)

 

 

sendto() → 데이터 송신

파라미터 송신용 소켓번호, 송신데이터, Remote 소켓주소(IP, Port)
수행동작

♦ 소켓주소(IP, Port)  할당하고 → Remote 소켓주소로 데이터 전송

⊕ recvfrom()보다 sendto()를 먼저 호출한 통신노드/호스트가 UDP 클라이어트

반환값  

 

 

recvfrom() → 데이터 수신

파라미터 수신용 소켓번호, 수신 데이터 버퍼, 클라이언트 소켓주소(IP, Port)
수행동작

♦ 하위 레이어로 부터 올라온 데이터를 수신 버퍼에 저장한후 적절하게 상위레이어에 전달한다.

♦ 데이터 송수신은 클라언트 소켓과 서버소켓을 이용한다.

⊕sendto() 보다 recvfrom()을 먼저 호출한 통신노드/호스트가 UDP 서버

반환값 0(성공) / -1(실패)

 

 

close() → 소켓종료

파라미터 소켓번호
수행동작  소켓에 할당된 Port 번호 해제
반환값 0(성공) / -1(실패)

 

 

 

 

 

 

Viewed Page List