C_C++ 프로그래밍/뇌를 자극하는 TCP_IP
-
[원격 프로시서 호출] [RPC 개념] RPC란 무엇인가??C_C++ 프로그래밍/뇌를 자극하는 TCP_IP 2019. 6. 16. 21:15
로재의 개발 일기 RPC란?(출처 : geeks for geeks) 네트워크로부터 떨어져 있는 컴퓨터에서 코드를 실행하는 방식으로,원격 프로시저 콜 (Remote procedure call) 줄여서 RPC입니다.네트워크 서버 프로그램에서, 작업 코드를 메인 코드와 독립을 시켜경우에 따라서 Code1과 Code2를 실행이 가능하게 됩니다.이때 Code1은 네트워크 연결, Code2는 코드의 실행을 담당하는 부분으로 세부적으로 나눌 수 있게 됩니다.이를 위해서 만들어진 네트워크 프로그래밍 개발 도구가 RPC입니다. RPC 작동 방식 RPC는 외부의 프로그램을 실행시키는 개념이기 때문에, 프로그램의 이름과 실행 인자가 필요하게 됩니다.따라서 RPC를 이용한 네트워크 프로그램은 실행 인자와 실행할 코드를 명확하..
-
시그널 함수의 종류C_C++ 프로그래밍/뇌를 자극하는 TCP_IP 2019. 6. 2. 19:32
1. SIGHUP터미널을 잃어버렸을 때 발생한다. 즉 프로그램을 실행시킨 상태에서 콘솔 창을 닫을 때 발생한다.(종료) 2. SIGABRT프로그램의 비정상 종료를 뜻한다. (abort) 3. SIGNINTctrl + c 키를 입력할 때 발생한다. => 프로세스가 종료된다. 4. SIGIO비동기적인 입출력이 발생했을 때 사용한다. 5. SIGKILL프로세스를 강제로 죽이기 위해서 사용한다.주로 시스템 관리 목적 6. SIGSEGV시그널을 사용자가 직접 발생 시키기도 하지만, 운영체제에서 발생 시킬 수도 있다.ex) segmetaion fault 7. SIGSTOP프로세스를 일시 중단할 때 사용한다.ctrl + z 8. SIGCONT멈춘 프로세스를 다시 살리는 신호이다. 시그널 함수시그널 함수를 사용하면, ..
-
뇌자극 TCP/IP 11강 요약C_C++ 프로그래밍/뇌를 자극하는 TCP_IP 2019. 6. 2. 19:22
IPC = Inter process Communications네트워크 프로그래밍이 아닌 시스템 프로그래밍에 가까운 부분이다. 소켓 함수는 20개 내외로 제한적이기 때문에, 응용 프로그램 개발을 할 시에는 시스템 프로그래밍 기술이 매우 중요하다.네트워크 프로그램도 시스템 위에서 작동한다. 프로세스간의 통신을 위해서 사용한다.안정적인 작동이 가능한다.최근에는 쓰레드 기반을 사용한다. (IPC가 너무 난해하기 때문에) System V IPC 계열과 POSIX IPC가 존재한다. PIPE단방향의 데이터 통신용으로 사용한다.=> 양방향을 사용하기 위해서는 2개를 생성 부모 프로세스와 자식 프로세스간의 통신을 위해서 사용한다. 이름이 없는 파이프와 이름이 있는 파이프로 나뉨 #includeint pipe(int f..
-
뇌자극 TCP/IP 10강 요약C_C++ 프로그래밍/뇌를 자극하는 TCP_IP 2019. 6. 2. 11:07
프로세스란? 최소 실행 단위 객체, 프로그램의 실행 이미지프로그램은 일반적으로 하드 디스크 등에 저장되어 있는 실행코드이며프로세스는 프로그램을 구동하여 프로그램 자체와 프로그램의 상태가 메모리 상에서 실행되는 작업 단위이다=> 하나의 프로그램을 여러 번 구동하면 여러 개의 프로세스가 메모리 상에서 실행된다. 다수의 프로세스를 동시에 운용한다.PID (Process ID)를 할당하여 사용한다. 멀티 프로세스동시에 여러 프로세스를 운용한다.리눅스와 윈도우 등의 대부분의 운영체제프로세스를 번갈아 가면서 사용한다. (시분할, time sharing)=> 하드웨어로 분할하여 처리 = 멀티 코어 pid_t = fork(void) fork 함수를 이용해서 프로세스를 복사 부모 프로세스 : fork 함수를 호출한 프로..
-
뇌자극 TCP/IP 9강 요약C_C++ 프로그래밍/뇌를 자극하는 TCP_IP 2019. 5. 29. 21:52
UDP 복습 연결 지향 : Threeway handshake흐름 기반신뢰성 : 재 전송, 재 조합단점 : 낮은 성능, 데이터의 연속성 유지에 불리하다.스트리밍 방송은 사용 (어느 정도의 잡음이 있어도 괜찮다) 신뢰성이 꼭 필요하면, TCP를 사용해야 하지만 그렇지 않다면 무 필요. => UDP User DataGram Protocol (UDP)DataGram 중심 프로토콜Fire and Forget순서가 없다신뢰할 수 없다.높은 성능을 기대=> 실시간 스트리밍 방송에 사용 가능 출처 : 위키백과 UDP 헤더는 4개의 필드로 구성되며, 그 각각은 2바이트(16비트)로 이루어져 있다.[1] 오프셋 옥텟 0 1 2 3 옥텟 비트 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1..
-
뇌자극 TCP/IP 8강 요약C_C++ 프로그래밍/뇌를 자극하는 TCP_IP 2019. 5. 26. 00:43
인터넷 커뮤니케이션 방법TCP / UDP TCP 통신의 이유패킷 통신다양한 경로다양한 회선 상태 TCP 프로토콜의 특징1. 연결 지향(Three-way handshake)전화와 비슷하게 세번의 과정으로 상대방을 서로 확인한다.개인의 SEQ를 교환하여 +1을 더하여 ACK 신호를 교환하여 서로를 확인 2. 신뢰성 (전 이중 통신)SEQ(시퀀스 번호)를 사용하여 패킷의 순서를 조정을 할 수 있다. => 신뢰성출처 : 정보통신기술용어 모든 메시지의 ACK를 보낸다잡음과 변조 = CheckSum 경로는 어떻게 확인을 할 수 있을까?IP가 맡고 있다.그래서 TCP/IP 1. 인터넷에서 전달된 데이터 -> 소켓 버퍼2. 소켓 버퍼 -> read() -> 애플리케이션( 소켓버퍼를 사용하지 않으면 빠르지만, 데이터 불..
-
뇌자극 TCP/IP 7장 요약C_C++ 프로그래밍/뇌를 자극하는 TCP_IP 2019. 5. 25. 22:29
인터넷 주소와 도메인인터넷 사이에서 노드를 구별하기 위해서 사용하는 것이 인터넷 주소이다.방대한 크기의 주소를 관리하기 위한 시스템이 필요하다. 42억개의 노드를 관리할 수 있다.0.0.0.0 ~ 255.255.255.255계층적 관리 (4계층) 를 한다.1바이트 = 256새 (0~255) ICANN 국제적 관리 기구에서 관리한다.A Class (0...)국가 단위의 빅 클래스 B Class (10...)대형 기업, 대학, 연구소 C Class (110...)작은 규모의 회사 클래스 D Class (1110...) 인터넷 주소는 이더넷 카드에 할당이 되어 있다.하나의 이더넷 카드에 여러개의 주소가 부여되기도 한다.MAC address 점 표기 방식은 컴퓨터가 해석할 수가 없다.즉 주소 변환을 위한 함수가..