소켓 시스템 콜에서, 소켓타입의 2가지를 쓰시오.
(SOCK_STREAM, SOCK_DGRAM)
TCP , UDP
소켓프로그램에서 주요한 시스템 콜은?
tcp 서버쪽 | 클라이언트 쪽 |
server_fd = socket(AF_INET,SOCK_STREAM,0)) | AF_INET,SOCK_STREAM |
int setsockopt(SOCKET socket, int level, int optname, const void* optval,int optlen) | |
if(bind(server_fd, (struct sockaddr *)&server_addr, sizeof(server_addr))< 0) | |
listen(server_fd,5) | (struct sockaddr *)&cli_addr |
client_fd = accept(server_fd,(struct sockaddr *)&client_addr,(socklen_t *)&len); |
<server> <client>
socket socket
(set socket option) connect
bind
listen
accept
ip주소
*입력으로 받을떄 server_addr.sin_addr.s_addr = inet_addr(argv[2]);
*하드코드 시킬떄 server_addr.sin_addr.s_addr = inet_addr(IPADDR);
*server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
포트
*server_addr.sin_port = htons(atoi(PORT)) ; // "1234"
*server_addr.sin_port = htons(PORT) ;
입력 받을떄 server_addr.sin_port = htons(atoi(argv[1]));
udp 소켓 연결 할때
UDP 서버쪽 소켓 시스템 콜 | UDP 클라이언트쪽 시스템콜 |
socket(AF_INET,SOCK_DGRAM,0) | socket(AF_INET,SOCK_DGRAM,0) |
(struct sockaddr*)&addr |
socket bind socket
소켓을 사용하여 multicast 를 구현하는 경우, 소켓 시스템 콜에서 setsockopt 에서 사용되는 소켓레벨과 ip 주소범위는?
레벨 | 옵션 | 의미 |
SOL_SOCKET | SO_BROADCAST | 방송형 메세지 전송 |
SO_DEBUG | DEbUG모드 선택 | |
SO_REVSEADDR | 주소의 재사용 | |
IPPROTO_IP | IP_TTL | time to LIve 변경 |
IP_MULTICAST_TTL | 멀티캐스트 패킷의 TTL변경 | |
IPPROTO_TCP | TCP_MAXRT | TCP 의 최대의 재전송 지정 |
TCP_MAXSEG | TCP의 MSS지정 |
ip 주소 범위는 224.0.0.0~239.255.255.255
WireShark 를 사용하여 다음 절차을설명하시오.
1)특정연결(connection)을 스니핑 하는경우 , 필터링 포함한 절차를 설명하시오.
*특정연결 선택후 > follow> 해당 Stream 선택
2)특정 ip address를 스니핑 하는 경우 필터링 포함한 절차를 설명하시오.
*검색창에서 ip.addr == ip주소 검색 > follow > 해당 Stream 선택
MQTT 프포토콜 사용 모델및 동작에 필요한 역할자와 역할을 설명 하시오.
*publisher 는 topic을 발행하고 , Subscriber는 topic에 구독(subscribe)합니다.
Broker는 이들의 중계역할을 하며, 단일 topic에 여러 Subscriber가 구독할 수 있기때문에
*1:N 통신구축에 매우 유용하다
실습에 사용한 broker 종류(명칭)및 사용 포트는?
* Mosquitto , 1883
MQTT 사용을 위한 command line 과 설명
*mosquitto_pub -d(실행옵션?) -t messagebox(토픽) -m hello(메세지내용)
MQTT | CoAP | |
기반 프로토콜 | TCP | UDP |
통신 노드 | M : N | 1 : 1 |
Qos | 0, 1, 2 | 없음(별도구현) |
사용 모델 | publisher-breker-sub scnber | RESTful환경 |
CoAP 프로토콜에서 CoAPthon을 사용하는 경우, 서버 실행 방법, 클라이언트 실행 방법?
python3 coapserver.py -i 127.0.0.1(IP주소)
python3 coapclient.py -o GET -p coap://(IP주소)/옵션
웝스트리밍 함수 (패키지)는?
mjpg_streamer
mjpg_streamer mjpg_streamer
'space' 카테고리의 다른 글
손소독제 추천 트리즈 손 소독제 500ml 리뷰 (0) | 2020.02.28 |
---|---|
포천 잠실 3006 번 버스 노선 (0) | 2020.02.24 |
우분투 TCP 클라이언트 예제 <client> (0) | 2020.02.06 |
우분투 TCP 서버 예제 <server> (0) | 2020.02.06 |
OSI 7 Layer 표 (0) | 2020.02.06 |