유디피 소켓 사용의 단점 1.TCP의 ack & 재전송 방식을 사용하지않는 비연결지향형 프로토콜인 UDP에서는 lost datagram이 생겼을때 프로그램상에서 별도의 처리를 해주어야 한다는 문제가 있음 ( 전송된 데이터가 유실됨 ) 클라이언트에서 서버로 sendto 한다음에 recvfrom에서 블럭되어 있는데 보낸 패킷이 lost되었을 경우 recvfrom에서 무한히 블럭되어 있을 가능성이 있다. 그렇기 때문에 이것을 해결하기 위해 select 또는 sigalram시그널핸들러를 통해서 타이머를 세팅해주어야 한다. 2.상대방이 보내온 데이터가 정말로 내가 원하는 상대방인지 별도의 장치를 사용하지 않으면 알 수 가없다. -> 서버쪽에서는 이런 문제가 상관이 없다. 클라이언트의 경우에는 udp소켓을 사용해서..
플로이드 알고리즘어떤 정점에서 시작해서 다른 정점으로 가는 최단경로를 구함. (모든 정점에 대해서) 알고리즘 동작 과정 0번에서 0,1,2,3,4,5,6번 정점까지 가는 최단경로1번에서 0,1,2,3,4,5,6번 정점까지 가는 최단경로2번에서 0,1,2,3,4,5,6번 정점까지 가는 최단경로3번에서 0,1,2,3,4,5,6번 정점까지 가는 최단경로4번에서 0,1,2,3,4,5,6번 정점까지 가는 최단경로5번에서 0,1,2,3,4,5,6번 정점까지 가는 최단경로6번에서 0,1,2,3,4,5,6번 정점까지 가는 최단경로를 모두 구할것이다. 처음에는 0번 정점만을 거칠수 있을때 0번에서 0,1,2,3,4,5,6번 정점까지 가는 최단경로1번에서 0,1,2,3,4,5,6번 정점까지 가는 최단경로2번에서 0,1,2..
RNS의 집합을 UTRAN이라고 부른다.UTRAN은 core network라고 불리는 것과 연결 되어 있고 CN을 통해서 다른 네트워크와도 연결 된다. Node B에서는 어떤 동작을 하는게 아니라 단순히 신호를 수신하고 송신하는 역할만을 한다. UTRAN의 경우 GSM의 인프라를 그대로 이용할 수 있게끔 했다고 했다. 위의 그림은 GSM은 기본적으로 Circuit Switching 방식이므로 ip에 부적합하다.따라서 Packet Switching 방식을 지원하기 위해서 GPRS라는게 존재 했었고 RNS에서 CN을 통해 외부 네트워크에 연결 되어 데이터를 송수신 할 수 있게 된다. 일반적으로 이용자가 이동하면 iP주소가 변하게 된다.변화하는 IP주소를 이용해서 이동성 처리를 한다. 사용자가 어디로 이동했건..
앞 포스팅에서 우리나라에서 사용하는 3세대 무선 통신 표준은 IMT-DS or UTRA FDD or W-CDMA라고 불리는 기술에 대해서 알아보았다. 이 w-cdma기술은 원래 UMTS라는 기술 표준의 일부였었다. w-cdma기법을 사용할때 단말기가 보내는 데이터를 spreading code로 데이터를 암호화(구분하기 위해서)하고 그 암호화된 데이터들을 scrambling code로 한번더 암호화 하게 된다 이 스크램블링 코드를 통해서 사용자들을 구분한다. 그 중에서 orthogonal한 특성을 갖는 스프레딩 코드를 만들어 내는 방법인 OSVF코딩에 대해서 알아보겠다. 1,0,1,1을 보내려고 하는 경우 SF가 1일때 1과 곱해져서 최종적으로 1,0,1,1이 그대로 보내지며 3.84Mbps속도를 갖는다...
TCP소켓을 사용할때 TCP의 정의에서 네트워크 상황을 커널은 알지만 유저프로세스는 거의 모르거나 극히 일부로 제한되는 경우가 많다. 유저프로세스가 알게 되면 트랜스포트 계층(L4)에서의 일은 트랜스포트 계층에서 해야할 일만 규정하고 그것의 간섭을 다른 레이어에서 불필요하게 할수 없게 하도록 하기 위해서 이다. TCP의 상황이 어떤지를 알 수 있도록 제공이 되면(양 끝의 커널은 상당 부분 알게 된다, 중간 라우터에서 오류가 나더라도 ICMP메세지를 양 측 커널에 보내주기 때문에 커널은 에러 상황을 알 수 있다.) 좋겠다. TCP 프로토콜 자체에서는 정의되지 않은 일이지만 커널이 상당부분 TCP의 현황에 대해서 알 수 있으니까 유닉스에서는 시스템콜의 형식으로 tcp상황을 유저 프로세스가 알 수 있도록 소켓..
poll은 select 와 거의 유사하다.POLLRDNORM - 노말한 데이터가 들어 왔다는 이벤트를 의미한다.select는 소켓 이외의 파일도 readable 또는 writable을 검사 했지만 poll은 소켓에 대해서만 검사한다.그리고 어떤 이벤트가 발생했을때 깨어나야 한다는것을 매개변수로 설정할수 있다. select에서는 read라는 이벤트가 발생했을때 깨어나야할 소켓들은 read전용 보따리에 담고 write는 write 전용 보따리에 담았었다. 하지만 poll에서는 블락에서 깨어나는 이벤트를 소켓별로 따로따로 설정할 수 있다. 위의 프로그램은 앞 포스팅에서 사용했었던 에코 서버 프로그램인데 select를 poll로만 변경해 준것 이다. limits.h 헤더파일에 포함된 OPEN_MAX는 256으로..
라2세대는 다양한 표준들이 존재했다. 3세대 이동 세대 시스템으로 넘어오면서 단일 표준으로 만들어 보자는 시도가 있었다. 여러 관계자들로부터 표준 제안서를 받았다. 우리나라의 경우 GSM기반이 아닌 CSMA기반이었다. 서로 다른 나라에서 서로 다른 표준때문에 호환되지 않은것들을 통합하고자 했던것이 IMT-2000이라는 단체이다. 이동전화 단체들의 모임이다. GSM에 기반한 ANSI라고 하는 미국 표준 제정화 기구에서 GSM의 발전된 형태인 UMTS를 제안했다. 결국엔 여러 단일화된 표준을 만들지 못하고 6가지 규약이 3세대 표준으로 만들어 졌다. 이중에 하나를 선택하게 되면 3세대 이동전화 시스템이다 라고 iMT-2000에서 인정해주기로 했다.이해 관계자들의 이견차이를 좁히지 못하고 6개의 표준으로 만들..
Push-To-Talk” feature 기능을 가지고 있기 때문에 연결이 매우 빠른 시간내에 이루어짐. Trunked -> 주파수를 모아놓고 필요할때마다 주파수를 그때그때 할당한다는 의미 테트라의 부가적인 기능서울에 있는 사람이 부산에 있는 사람에게 신호를 보내려면 기지국이 필요함(인프라스트럭쳐) 다이렉트 모드 : 일대일통신 일대다 통신 가능함, 네트워크에 연결된 노드의 도움 없이 무전기 끼리 직접 통신 직접통신하다가 네트워크 통신 할 수 있음. Repeater 인프라를 통해서 멀리있는 사용자와 통신하고 싶은데 그 인프라와 직접 연결이 안될때 중간의 어떤 다른 사용자의 도움을 받아서 네트워크에 연결 해주는것 신호를 그대로 반복 재생하는 기능을 하다.일부만 네트워크와 연결 되어있다. 이 사용자와 연결 되어..
- Total
- Today
- Yesterday
- Babel
- design system
- async
- useRef
- webpack
- promise
- Polyfill
- atomic design
- server side rendering
- es6
- hydrate
- await
- reflow
- react hooks
- props
- mobx
- useEffect
- typescript
- computed
- reducer
- reactdom
- javascript
- state
- Action
- rendering scope
- react
- Next.js
- storybook
- return type
- type alias
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |