CS/컴퓨터네트워크8 TCP/IP (2) Internet Protocol 송신 호스트와 수신 호스트가 패킷 스위칭 네트워크(Packet Switching Network)에서 정보를 주고받는 데 사용하는 정보 위주의 규약. 보통 ip address를 ip라고 줄여 말하는데, 혼동하면 안됨. 패킷 스위칭 네트워크 : 목적지 정보만 가지고 그때그때 라우팅테이블 등 참조해서 목적지를 향해 가는 네트워크. 이때 같이 사용되는 프로토콜이 RIP라면 distance vector routing(벨만포드 응용), OSPF라면 link state routing(다익스트라 응용) 등 구현방법의 차이 존재. ( circuit switching network) 헤더: version : v4인지 v6인지 등 IHL : ip header length total lengt.. 2020. 12. 22. TCP/IP (1) 내용이 워낙 방대해서 기본적인 부분만 정리. 더 찾아볼만한 건 하단에 따로 용어 정리 OSI 7 layer : 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것 tcp/ip protocol suite(인터넷 프로토콜 스위트) : OSI 7 layer보다 먼저 개발됨. 이 모델로 tcp/ip를 이해하는 것이 더 쉬움. Application layer : src application -> dest application [message] Transport Layer : src port -> dest port [segment] Network layer : src ip -> dest ip [datagram] datalink layer : hop -> h.. 2020. 12. 22. [열혈] 멀티쓰레드 기반 서버구현 목적 : 멀티플렉싱 멀티쓰레드 기반 서버 구현에 대한 이해, 쓰레드 특징 프로그램 : 1. 멀티쓰레드를 이용해서 256명 이하의 다수의 사용자에게 채팅 서비스를 해주는 서버 (에코서버의 일종) 멀티프로세스 기반 서버는 프로세스 생성 오버헤드와 IPC 구현의 어려움 + 프로세스의 컨텍스트 스위칭에 드는 오버헤드 단점이 존재한다. 멀티프로세스의 특징을 유지하면서 단점을 어느정도 극복하기 위해 쓰레드가 등장했다. 컨텍스트 스위칭이 빠르고 쓰레드간 데이터 교환에 특별한 기법이 필요하지 않다. 하나의 프로세스 내에서 여러 쓰레드가 각각 스택영역만 갖고 힙과 데이터 영역(전역변수)은 공유한다. #include int pthread_create( pthread_t *restrict thread,//생성할 쓰레드 id.. 2020. 12. 22. [열혈] 멀티플렉싱 기반 서버구현 목적 : 멀티플렉싱 기반 서버 구현에 대한 이해, 멀티플렉싱 특징 프로그램 : 1. 멀티플렉싱을 이용해서 다수의 클라이언트에 서비스. 단, 한번에 하나의 클라이언트만 처리함. 2. select함수 사용 멀티프로세스 기반 서버는 프로세스 생성에 상당한 오버헤드가 든다. IPC가 필요한 상황에서 코딩하기도 매우 힘들다. 멀티플렉싱 : 하나의 통신채널을 통해 둘 이상의 데이터(시그널)를 전송하는데 사용되는 기술. ->멀티플렉싱을 이용하면 하나의 프로세스로 다수의 client를 상대하는 서버를 구현할 수 있다. select함수와 사용되는 구조체 #include #include int select(int maxfd, fd_set *readset, fd_set *writeset, fd_set *exceptset, .. 2020. 11. 24. 이전 1 2 다음