전체보기272 뇌자극 TCP/IP 8강 요약 인터넷 커뮤니케이션 방법TCP / UDP TCP 통신의 이유패킷 통신다양한 경로다양한 회선 상태 TCP 프로토콜의 특징1. 연결 지향(Three-way handshake)전화와 비슷하게 세번의 과정으로 상대방을 서로 확인한다.개인의 SEQ를 교환하여 +1을 더하여 ACK 신호를 교환하여 서로를 확인 2. 신뢰성 (전 이중 통신)SEQ(시퀀스 번호)를 사용하여 패킷의 순서를 조정을 할 수 있다. => 신뢰성출처 : 정보통신기술용어 모든 메시지의 ACK를 보낸다잡음과 변조 = CheckSum 경로는 어떻게 확인을 할 수 있을까?IP가 맡고 있다.그래서 TCP/IP 1. 인터넷에서 전달된 데이터 -> 소켓 버퍼2. 소켓 버퍼 -> read() -> 애플리케이션( 소켓버퍼를 사용하지 않으면 빠르지만, 데이터 불.. 2019. 5. 26. 뇌자극 TCP/IP 7장 요약 인터넷 주소와 도메인인터넷 사이에서 노드를 구별하기 위해서 사용하는 것이 인터넷 주소이다.방대한 크기의 주소를 관리하기 위한 시스템이 필요하다. 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 점 표기 방식은 컴퓨터가 해석할 수가 없다.즉 주소 변환을 위한 함수가.. 2019. 5. 25. 뇌자극 TCP/IP 6강 요약 네트워크 바이트 순서언어는 문화에 따른 어순이 존재한다.마찬가지로 컴퓨터도 어순의 차이가 존재한다.바이트 순서에 따른 차이를 극복해야한다. 컴퓨터는 비트가 아닌 바이트로만 본다.CPU는 바이트를 읽는 다른 순서를 가지고 있다. => 바이트 오더 낮은 주소부터 읽는 방식은 Big-endian높은 주소부터 읽는 방식은 little-endian 인터넷 상에서 데이터를 주고 받기 위해서는 바이트 오더 문제를 해결해야한다.=> 바이트 오더를 통일한다. 네트워크 바이트 오더 == 빅 엔디안제조과정과 기술에 문제가 있기 때문에 소프트웨어 상에서 통일하게 되었다. 호스트 바이트 오더 --------------------- 네트워크 바이트 오더 ------------------------ 호스트 바이트 오더 호스트 바이.. 2019. 5. 25. pthread_mutex_init (뮤텍스 사용하기!) 개발 환경 OS Ubuntu 18.04.2 컴파일러 gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04) int pthread_mutex_init(pthread_mutex_t * mutex, const pthread_mutex_attr *attr); mutex 객체를 초기화 시킨다. attr은 특성인데, 기본적인 뮤텍스를 원한다면 NULL로 설정하면 된다. critical section = 임계 구역 (하나의 쓰레드만 접근이 가능) pthread_mutex_t 구조체 pthread_mutex_lock();lock을 걸어 임계 구역을 시작한다. pthread_mutex_unlock();lock을 풀어 임계 구역을 해제한다. 소스코드 12345678910111213141516.. 2019. 5. 25. pthread_attr 사용 (pthread_detach 없이 자원 반납하기) 개발 환경 OS Ubuntu 18.04.2 컴파일러 gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04) int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate); PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_DETACHED 상태로 변경. pthread_attr_t attr; // JOINABLE 상태로 변경 pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE); // DETACHED 상태로 변경 pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); int pthread_.. 2019. 5. 25. pthread_cleanup_pop, pthread_cleanup_push 개발 환경 OS Ubuntu 18.04.2 컴파일러 gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04) void pthrad_cleanup_push(void (*routine) (void *), void* arg);Thread 종료 시 routine 함수가 실행이 됩니다.arg는 넘겨지는 인자 값. cleanup handler 함수는 보통 자원을 반납하거나 mutex lock 혹은 unlock을 사용하기 위해서호출됩니다. void pthread_cleanup_pop(int execute); cleanup handler 함수를 제거합니다. 매개변수가 0이면 실행하지 않고 삭제하며0이 아니라면 실행한 이후에 삭제됩니다. claenup handler 함수는 자원을 반납하거나,.. 2019. 5. 25. 이전 1 ··· 31 32 33 34 35 36 37 ··· 46 다음