일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- stride
- 게임개발
- Double free
- 운영체제
- linear difference equation
- Rr
- 메카님
- dirty cow
- frequency-domain spectrum analysis
- Unity #Indie Game
- DSP
- AINCAA
- CTF
- Security
- TSet
- DP
- pdlc
- sampling theory
- Race condition
- 유니티
- ret2libc
- RBAC
- 배경 그림
- 게임 개발
- MLFQ
- MAC
- 언리얼엔진
- 유스케이스
- STCF
- dtft
- Today
- Total
목록네트워크 (53)
다양한 기록
라우팅(컨트롤 플레인) -> 소프트웨어로 처리포워딩(데이터 플레인) -> 하드웨어로 처리 인풋 큐에 들어온 데이터 그램을 어디로 보내야 할지 어떻게 판단하는가1. IP 주소만 보고 판단 (Destination-based forwarding)2. IP 헤드 정보를 보고 판단 (Generalized forwarding) Destination-based forwarding포워딩 테이블로 목적지 주소를 출력 링크에 매핑 Longest prefix matching어떤 IP 주소가 있을 때 테이블에 있는 IP 주소중 가장 길게 일치하는 쪽으로 포워딩ex)00000000 00000000 00000??? ???????? | 000000000 00000000 00001000 ???????? | 100000000 ..
네트워크 레이어에서는 송수신자 간 '데이터그램' 을 주고 받음이때, 네트워크 레이어 프로토콜은 모든 호스트와 라우터에게 있음정확히는 호스트는 라우터에 포함됨 포워딩(Forwarding) = Data Plane한 라우터에 인풋으로 들어온 패킷을 어느 출구로 보낼 지 결정하는 것-> 테이블이 있어서 그걸 보고 연결 라우팅(Routing) = Control Plane전체 라우터에서 패킷의 경로를 설정함 컨트롤 플레인(라우팅) 방식- 전통적인 방식각각의 라우터끼리 협조해서 경로 설정 - SDN(Software Defined Networking)라우터의 정보를 상위로 보내고(서버), 상위에서 경로를 지정해줌 네트워크 서비스 모델각각의 패킷 -> 전달 보장, 시간 보장전체 서비스 -> 순서, 원활한 흐름보장 하는..
흐름 제어: 수신자 측에서 문제가 생기는 경우(버퍼가 꽉 차서 패킷 손실)혼잡 제어: 네트워크 상에 문제가 생긴 거(라우터 큐가 꽉 차서 패킷 손실 / 큐에서 나갈 때까지 딜레이가 긴 경우) 송신자가 이 두개를 구분할 수 있을까?할 수 있다 받는 쪽에서 문제가 생기는 건 헤더에 recieve window(rwnd)값을 보고 어느정도 알 수 있다.네트워크에 문제가 생기는 건 IP 계층의 도움을 받아 가능하다.* 라우터에서 문제를 파악하면 IP의 ECN을 활성화하고* 수신 측에서는 TCP의 ECE를 1로 바꿔서 아크를 보내면 네트워크에 문제가 있다는 것을 파악 가능 구분이 가능은 한데, 문제는 두가지 문제에 따로 대처하기 보다는 같이 대처한다.일단 설명은 두 가지로 나눠서 가능하다...
Source Port # 16 bits Dest Port # 16bits Sequence Numner 32bits Acknowledgrment Number 32bits Head len 4bits now used 6bits U A P R S F Receive Window 16 bits Checksum 16bits Urg Data Pointer 16bits Options (variable length) Application Data (variable length) 포트 번호가 있으니 이걸로 멀티플렉싱, 디멀티플렉싱 - Sequence Number: 시작 지점은 OS가 부여. 악의적으로 캐치 시 도용이 가능해기 때문에 처음엔 랜덤으로 부여됨 그 다음부터는 보내는 데이터의 양에 따라 달라짐. 100번으로 보내고..
Transmission Control Protocol 특징 - 연결형 (Connection-Oriented) : IP 계층 위 가상의 회선, 호스트 간 데이터 송수신 - 신뢰성 (Reliability) : 확인을 통한 신뢰성 있는 통신 서비스 - 흐름 제어 : 상대방이 처리할 수 있는 범위 내 데이터를 보내야 함 (수신쪽에서 ACK에 큐 상태를 줘야 함) - 혼잡 제어 : 네트워크 혼잡 현상을 방지, 제어 - 스트림 통신 스트림 배달 서비스 - 바이트 스트림 형태로 데이터 송수신 - 두개의 프로세스가 가상의 채널로 연결 - 송신 프로세스 : 바이트 스트림 생성(쓰기) - 수신 프로세스 : 바이트 스트림 소비(읽기) 송신 버퍼와 수신버퍼 버퍼에 보낼 바이트를 쌓아서 보냄 수신자 버퍼에 자리가 있으면 보내고..
User Datagram Protocol 기본만 제공 best effort - 노력은 하는데 결과가 완벽할지는 모른다 - lost - 순서 안정해짐 connectionless 송신자와 수신자 간 핸드셰이킹 없음, 각 세그먼트는 독립적으로 다루어짐 멀티미디어 스트리밍, DNS, SNMP.. UDP의 단점의 해결책은? 응용프로그램에서 필요하면 알아서 해라 특징 - 비연결형 (Connectionless) : TCP는 데이터 전송 전 연결 설정 - 비상태정보 (Non-state) : TCP 종단 시스템에서는 각각의 연결에 대한 상태 정보를 유지 - 비정규적인 송신률 (Unregulated Send Rate) : 일부 패킷 손실이 발생하더라도 지속적인 최소 전송률을 요구하는 실시간 영상 서비스에 적합 - 최선형 ..
전송 계층 애플리케이션 프로세스 간 논리적인 연결을 제공 '종단시스템'에서 작동, 비유하자면 우편배달부 메시지는 세그먼트 단위 TCP와 UDP TCP - 혼잡제어, 흐름제어, 신뢰성 UDP - 신뢰성없고 순서도 없음. no-frills... best-effort **하위 계층인 IP는 보장하는 거 없음 Multiplexing (다중화) 길은 하나인데 여러 프로세스에서 패킷이 뒤섞여 오는 경우 Demultiplexing (역다중화) 뒤섞여 오는 패킷들을 재배치 역다중화를 하기 위해서는 주소가 필요 호스트는 IP의 데이터그램을 받음 -> IP 확인 가능 호스트는 전송 계층의 세그먼트를 받음 -> 포트번호 확인 가능 ** Payload : 상위 계층에서 보내진 데이터 (상위헤더 + 데이터).. 현재 계층의 ..