티스토리 뷰
Ethernet :
네트워크 기술 중 하나, OSI 1~2 계층 CSMA/CD 방식 사용
CSMA/CD :
- CSMA (carrier sense multiple access) 자신의 신호를 carrier에 보내기 전 항상 확인
- CD (collision detecting) : 유선 LAN에서 주로 사용하며, 자신이 보낸 신호가 충돌이 일어나면 충돌 신호를 보낸후, 재전송
--
IP : TCP/IP 를 사용하는 장비들을 구별하기 위한 주소
DNS : ip주소를 문자로 변경해 주는 시스템
서브넷 마스크 : 네트워크 부분(1), 호스트 부분(0)을 구분
- 네트워크 주소 : 라우터를 거치지 않고 내부적으로 통신이 가능한 영역
- 호스트 주소 : 특정한 내트워크 내에서 서로 구분하기 위한 주소
게이트웨이 : 외부 네트워크로 나가는 출구
--
허브(L1, bit) : 포트를 늘려주는 기능
스위치(L2, frame) : MAC 주소 테이블로 연결된 포트로 전송
라우터(L3, packet) : 네트워크간의 최적 경로를 설정
--
OSI
2계층 : 노드 대 노드 전달 감독
3계층 : 패킷의 시작점에서 목적지까지 전달 (라우팅)
4계층 : 제어와 에러 관리
--
synchronous blocking IO : syscall 이 완료될 때 까지 기다림
synchronous non-blocking IO : blocking 이 될 상황에서 EWOULDBLOCK 반환 (에러 처리 필요)
asynchronous blocking IO : IO는 non-blocking 이지만, 알림을 blocking 함 (select)
asynchronous non-blocking IO : IO를 background 에서 실행 callback 으로 처리
--
Overlapped I/O : asynchronous non-blocking의 응용 모델
같은 시간에 데이터가 중첩되는 구간이 생김 (asynchronous non-blocking 때문)
Device에서 유저 버퍼로 데이터를 바로 복사 (커널 버퍼를 거치지 않음)
Device가 완료 되었는지 확인해야함.
IOCP : Overlapped I/O 의 처리를 전담하는 방법
IO Completion Port - IO 완료된 걸 port를 통해서 이동
할일 없는 쓰레드가 IOCP의 완료된 내용을 꺼내 받을 수 있음
IOCompletion Queue, WatingThreadQueue, ReleaseThreadList, PauseThreadList
--
socket descriptor vs file dscriptor
함수 set과 초기화가 다름
--
TCP / UDP
TCP 연결형, 1:1통신, byte stream, 에러 복구 o, 재전송 o
UDP 비연결형, 1:N통신, Datagram, 에러 복구 x, 재전송 x
TCP, UDP 헤더
https://ko.wikipedia.org/wiki/%EC%A0%84%EC%86%A1_%EC%A0%9C%EC%96%B4_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C
--
브라우저에 url 입력 후 일어나는 일 (Work Flow)
URL -> dns server -> IP
ARP - 주소 결정 프로토콜 (MAC 주소 확인)
tcp 소켓 연결
tls handshake (https)
http 프로토콜 요청
--
Reliable UDP
데이터의 변함이 없음, 데이터의 손실이 없음, 데이터가 순차적으로 도착함
연결지향적으로 만듬
패킷의 고유넘버
에러 검출
heart beat 패킷 추가
--
CDN
https://www.netmanias.com/ko/post/blog/5350/cdn/the-advantage-of-the-cdn-content-delivery-network
--
ARQ, go back n, selective repeat
https://jwprogramming.tistory.com/37
--
DHCP
Dynamic Host Configuration Protocol
호스트의 IP 주소와, TCP/IP 설정을 자동으로 제공
장점 : 충돌 회피
단점 : DHCP 서버에 의존적
--
HTTP의 단점 : 세션 관리가 안됨
HTTP 2.0 과 HTTP 1.1 의 차이
Multiplexed Streams : 한 커넥션에서 여러 메세지를 동시에 주고 받을 수 있음
Stream Prioritization : 요청 리소스간 의존관계를 설정
Server Push : 리소스를 클라이언트 요청 없이 보내 줄 수 있음
Header Compression : Header 정보를 압축전송
'개발 > 일상' 카테고리의 다른 글
2020 넷마블 신입공채 '넷마블 네오 게임 서버' 최종 합격 후기 (7) | 2019.12.17 |
---|---|
c++ shared_ptr, enable_shared_from_this (0) | 2019.11.19 |
c++ 생성자, 소멸자, 대입 연산자, 복사 생성자 순서 (0) | 2019.10.31 |
c++ const_cast 가 필요한 이유 (0) | 2019.10.29 |
2020 KAKAO BLIND 최종면접 합격 및 느낀점 (3) | 2019.10.23 |
- Total
- Today
- Yesterday
- Golang
- shared_from_this
- print shared_ptr class member variable
- red underline
- RVO
- 클래스 맴버 변수 출력하기
- hole-punching
- vr핏
- Reciprocal n-body Collision Avoidance
- C++
- vrpit
- 봄날에 스케치
- set value
- 코어 남기기
- 면접
- 에러 위치 찾기
- mysql
- cockroach db
- 카카오
- boost
- Visual Studio
- 영상 픽셀화 하기
- ad skip
- SuffixArray
- 잘못된 빨간줄
- it's called a vrpit
- Quest2
- 우리는 vr핏이라고 부릅니다
- Obstacle Avoidance
- chrome-extension
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |