일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- SVM 이란
- yolov3
- yolo
- libtorch
- pytorch
- EfficientNet
- svdd
- Faster R-CNN
- darknet
- CNN
- Deep Learning
- 논문분석
- Computer Vision
- cnn 역사
- DeepLearning
- 데이터 전처리
- fast r-cnn
- cs231n lecture5
- 서포트벡터머신이란
- CS231n
- computervision
- pytorch project
- TCP
- self-supervision
- pytorch c++
- SVM hard margin
- support vector machine 리뷰
- SVM margin
- RCNN
- Object Detection
- Today
- Total
목록CS (14)
아롱이 탐험대
네트워크에 무슨일이 생겨 router에 packet을 전달하지 못하는 상황이 생기면, 이를 보고하는 역할이 필요하게 된다. 이 역할을 ICMP가 진행한다. Source-A-B-C-Destination 순서로 전달이 된다고 가정하자. 알파벳은 router이다. 만약 B와 C 사이에서 연결이 끊겼을 때는 B에서 source로 이 상황을 알려줘야한다. source에 알려주기 위해서는 IP가 필요한다. 이러한 이유로 ICMP는 IP header가 필요하고, ICMP에는 error에 대한 종류를 적고 source의 IP 주소를 IP header에 넣어서 전송한다. 위 테이블은 ICMP의 message에 대한 유형별 정리이다. 크게 Error-reporting message, Query message로 나뉜다. I..
이전에 살펴본 내용과 동일하게 IP는 network layer에 속해 있다. 이전에 설명한 UDP 헤더는 위 이미지와 같이 구성이 되어 있고, 시작 포트 번호, 도착 포트 번호, 전체 길이, checksum으로 구성되어 있다. network layer에 있는 얘는 datagram이라고 부르고, 이는 가변적인 옵션을 가지고 있다. IP datagram 위 그림은 IP 헤더이다. 하나하나 씩 알아보자. VER 버전 넘버를 의미하고, 4비트로 구성되어 있다. HLEN IP 헤더의 경우 옵션을 사용하게 되면 20 바이트부터 60 바이트까지 길이가 가변적으로 변하게 된다. 이를 HLEN을 통해서 알려준다. 4비트로 구성이 되어 있다. IP 헤더의 최대 바이트는 60인데, 최대 바이트가 할당되려면 4로 나누어서 1..
Direct delivery Direct delivery는 최종 목적지가 보내는 쪽과 같은 네트워크에 있는 경우이다. 다른 컴퓨터도 만약 연결이 되어 있다면 가운데 육면체인 스위치는 연결되어 있는 모든 컴퓨터에게 데이터를 전송한다. 아니면 테이블을 확인하여 보낸다. 라우터가 같은 네트워크에 있는 컴퓨터에게 바로 보내는 것도 direct delivery이다. Indirect delivery 위 그림과 같이 라우터를 거쳐서 다른 네트워크로 가는 것을 indirect delivery라고 한다. 라우터에는 실질적인 모든 경로를 알고 있다. 위 그림 R1처럼 테이블에 경로를 저장한다. (a) 같은 방식을 경로 중심 경로라고 하고, Route table에 모든 경로를 저장한다. 하지만 미국에 데이터를 보내는 경우와..
Subnet도 mask가 존재한다. 이를 subnetid를 가지고 mask를 결정한다. 만약 주소 class B에 속하는 주소 1개에 대해 4개의 subnet을 나눈다고 가정을 하면 총 $16 + log {2^{4}} = 18$ 개의 bit까지 확인을 해야 한다. 주소가 주어지면 subnet mask와 AND 연산을 하면 네트워크의 주소가 나온다. Supernet Class A, B, C에 속하는 주소들의 gap은 너무 큰데, 이를 해결하고자 supernet이라는 것이 제안되었다. 이는 class를 묶어서 하나로 표현한 것이다. 예를 들어 class C 주소가 200.3.128.0이고, 다음 주소가 200.3.129.0, 200.3.130.0,...이라고 가정하면 이를 이진수로 200.3.10000000..
우리가 주로 쓰는 ip 주소는 ipv4이다. 이는 32비트로 이루어져있고, 우리는 이를 10진법으로 변환하여 표현한다. 네트워크 상에서 ip 주소는 몇 가지 예외를 제외하고 전 세계에 딱 1개이다. 사설망 구축 주소 192.168. ... . ... 또는 127로 시작하는 루프백 주소를 제외하고는 ip 주소는 unique하다. 밑에 Dotted decimal에 써있는 숫자가 우리가 주로 보는 ip 주소이다. ip는 사실 32비트짜리 숫자 1개라고 생각하면 된다. 하지만 사람들끼리 의사 소통하는 것이 불편하여 8비트씩 끊고 10진법으로 쉽게 풀어서 사용한다. 10진수를 2진수로 변경하는 과정이다. 위 문항들에서 각 틀린 부분을 찾아보자. a. 첫 번째 부분은 0이 될 수 없다. 따라서 045를 45로 바꿔..
WiFi Channels 데이터를 보낼 때는 특정 대역폭을 사용해야 한다. 이 대역폭을 bandwith라고 하고, 만약 channel 1을 통해 데이터를 보내려고 하면, 위 위 그림과 같이 2.4 ~ 2.422 GHz까지의 주파수 영역이 필요하다. 각 채널끼리 간섭을 주지 않으려고 대역폭마다 간격이 존재한다. 하지만 초기 와이파이를 설계했을 당시 채널 간 대역폭을 겹치게 만들었다. 이렇게 겹치는 대역폭 때문에 데이터가 깨지게 되었다. 결과론적으로 1번, 6번 등으로 서로 중첩되게 하면 안된다. 따라서 한 공간에서 대역폭 중첩이 일어나지 않게 하는 경우의 수는 총 3개이다. 1 - 6 - 11 또는 2 -7 - 12, 3 - 8 - 13,... TCP timers TCP에 있는 timers에 대해 살펴보자..
앞서 살펴본 window size는 RWND와 CWND의 minimum 값을 사용해서 정한다. 오늘은 cwnd에 대해 중점적으로 알아보자. window size는 byte 단위이다. 혼잡 제어에서는 단순하게 설명하기 위해 packet 단위로 설정했다. 실제 구현은 byte 단위로 진행된다. 아래 그림은 packet으로 대체한 것이다. CWND는 sender가 관리한다. 최초에는 CWND를 1로 설정한다. receiving 공간은 충분히 넓고, RWND는 고려하지 않는다고 가정하자. CWND를 처음에는 1로 보내고 순차적으로 2, 4, 8로 증가시킨다. 이를 자세히 알아보기 위해 아래 그림을 통해 살펴보자. i = 4라는 것은 packet을 4개 보낸다는 의미이다. 혼잡 제어에서 ACK을 줄이는 것은 무시..
TCP에서 내가 보낸 ACK을 상대가 받았는지 못 받았는지 모른다. TCP의 특성 중 가장 중요한 것은 신뢰성 보장이다. 이는 데이터 전송 실패 시 재전송한다는 의미이다. 중간에 받지 못한 데이터를 재전송한다는 의미이다. App단에서 buffer에 있는 데이터를 읽었다는 의미는 전송이 제대로 된 데이터를 읽었다는 말이다. Normal operation ACK을 보내는 것에 대한 Normal operation을 살펴보자. Rule 1은 데이터를 받고 나서 해당 ACK을 보낸 것이다. Rule 1은 sending buffer에 보낼 것이 있으면 data와 ACK이랑 같이 보낸 다는 규칙이다. Rule 2는 데이터를 받아서 ACK으로 보내려고 할때 50ms 정도 기다렸다가 같이 보낼 것이 있는지 확인 후 AC..