반응형

IT 프로그래밍 376

[컴퓨터네트워크] Flow control

세그먼트 전달네트워크 계층에서 전송 계층으로 세그먼트를 전달합니다. 이 세그먼트는 패킷 단위로 전달되며, 전송 계층에서 이를 처리하여 메시지를 복원합니다.메시지 저장 (버퍼)전송 계층은 수신자의 소켓 버퍼에 복원된 메시지를 저장합니다. 이 버퍼는 메시지가 응용 계층으로 전달되기 전 임시로 저장되는 공간입니다.응용 계층으로 메시지 전달수신자의 응용 프로세스가 소켓을 통해 메시지를 읽어갑니다.소켓은 응용 프로그램과 네트워크 계층 간의 인터페이스 역할을 합니다.응용 계층 프로세스는 소켓을 사용하여 필요한 데이터를 가져옵니다.버퍼에서 메시지 제거메시지가 응용 프로세스에 의해 읽혀지면 소켓 버퍼에서 해당 메시지는 제거됩니다.이는 버퍼 공간을 효율적으로 사용하고 새로운 데이터를 받을 수 있도록 하기 위함입니다.Fl..

[컴퓨터네트워크] TCP -

1대1 통신 서비스 one sender, one receiver신뢰성있고 순서대로 전달, byte steam파이프라인 지원send & receive buffer 각각 가지고 있음cumulative ACKs양방향 지원 (MSS, maximum segment size)connection-oriented (연결지향형) (handshaking)flow control 지원TCP seq #'s and ACKS1. TCP의 데이터 구조TCP는 데이터를 **바이트 스트림(byte stream)**으로 취급합니다.즉, 애플리케이션에서 보낸 데이터를 구조화된 메시지로 구분하지 않고 연속적인 바이트 흐름으로 간주합니다.각 바이트는 고유의 번호를 가지며, 이 번호는 Sequence Number와 ACK Number로 표현됩니..

[컴퓨터네트워크] 파이프라인

Pipelining의 개념 및 동작 정리기본 개념Pipelining은 송신 측(sender)**이 **ACK(응답)를 받기 전에 여러 개의 데이터를 연속적으로 전송할 수 있도록 하는 방식입니다.특징일반적인 Stop-and-Wait 방식에서는 하나의 데이터가 전송되고 ACK를 받은 후에야 다음 데이터를 전송할 수 있습니다.반면, Pipelining에서는 여러 데이터를 동시에 전송할 수 있어 데이터 전송 과정이 더 효율적입니다.파이프라인을 통한 이용률의 개선은 1. 송신 측에서의 전송 과정t = 0: 첫 번째 패킷 비트 전송송신 측이 첫 번째 패킷을 전송하기 시작합니다.t = L / R: 마지막 비트 전송 완료L: 패킷 크기 (비트 단위)R: 전송 속도 (비트/초)첫 번째 패킷의 마지막 비트를 전송하는 데 ..

[컴퓨터네트워크] 신뢰성

신뢰적 데이터 전송서비스 추상화를 구현하는 것은 신뢰적인 데이터 전송 프로토콜(RDT)의 의무입니다. 비신뢰적인 채널의 특성이 rdt의 복잡도를 결정합니다.  RDT(Reliable Data Transfer protocol) : interfacerdt_sendudt_sendrdt_rcv()deliver_data() 이 4가지를 이용해 전송측의 신뢰를 구현합니다.   rdt_send()역할: 전송 측의 **상위 계층(Application Layer)**에서 데이터를 받아 rdt 프로토콜을 통해 수신 측으로 전달.설명:상위 계층이 호출하여 데이터를 rdt 프로토콜로 전달.전송 측에서 수신 측 응용 계층으로 데이터를 전달하는 과정을 시작하는 함수.udt_send()역할: 실제로 패킷을 **하위 계층(unrel..

[컴퓨터 네트워크] UDP

UDP 장점커넥션의 연결이 필요 없음커넥션 상태에 대해서 유지할 필요 없어서 단순헤더의 크기도 작음혼잡 제어를 하지 않음(트래픽이 많으면 속도 줄이는 작업 X)UDP sender의 동작 과정 송신 측 UDP 동작응용 계층에서 전달된 메시지(SMMP msg)를 UDP 프로토콜이 처리.UDP는 메시지에 UDP 헤더를 추가하여 UDP Segment를 생성.생성된 UDP Segment는 네트워크 계층으로 전달되어 목적지로 전송.수신 측 UDP 동작네트워크 계층에서 전달된 UDP Segment를 수신.수신된 UDP Segment는 전송 계층(UDP)으로 전달됨.UDP는 헤더를 확인하여 포트 번호 등 필요한 작업 수행 (e.g., 적절한 응용프로그램으로 전달).UDP 헤더를 제거한 뒤, 응용 계층 메시지를 추출.최..

[컴퓨터네트워크] Multiplexing and Demultiplexing

HTTP 메시지 처리 과정 및 Demultiplexing 설명1. 클라이언트에서 HTTP 요청을 보낼 경우클라이언트의 응용 계층(Application Layer)에서 HTTP 요청 메시지가 생성됩니다.전송 계층이 이 메시지를 세그먼트(Segment)로 나누고, 세그먼트에 헤더(포트 번호 등)를 추가합니다.만들어진 세그먼트는 네트워크 계층으로 전달되고, 이를 통해 서버로 전송됩니다.2. 서버에서 HTTP 요청 수신서버의 네트워크 계층은 수신된 세그먼트를 전송 계층으로 전달합니다.전송 계층은 세그먼트의 헤더를 확인하여 포트 번호를 기반으로 적절한 응용 계층 프로세스(application process)에 데이터를 전달합니다.이 과정에서 중요한 작업이 Demultiplexing(역다중화)입니다.3. Demul..

[컴퓨터네트워크] 전송계층 프로토콜 설명

전송계층 논리적 통신 제공 (서로 다른 호스트 상에서 동작하는 응용 프로세스 사이) segment를 메세지로 재조립해서 운영계층으로 전송하는 것입니다. 인터넷에서 전송계층은 TCP와 UDP가 존재합니다.  전송계층과 네트워크 계층을 간단하게 비교를 해보면  Transport vs network layer종단시스템 내에서 transport 프로토콜은 응용 프로세스와 네트워크 경계까지 메시지를 운반하고, 역으로 네트워크 계층에서 응용 프로세스로 메세지들을 운반 중간 라우터들은 transport 계층이 응용메세지에 속한 어떤 정보도 인식하지 않습니다.  전송 계층의 데이터 처리 과정데이터 생성 및 세그먼트화애플리케이션 계층에서 생성된 데이터를 전송 계층이 수신합니다.전송 계층은 데이터를 세그먼트(Segment..

Gradient descent, neural networks learn

신경망 학습의 핵심은 코스트 함수(cost function)를 최소화하는 데 있습니다. 이 과정은 신경망이 입력 데이터를 학습하고, 주어진 문제에 대해 최적의 출력을 생성하도록 이끄는 중요한 원리입니다. 코스트 함수는 모델의 출력과 실제 값 간의 차이를 측정하는 지표로, 경사하강법(Gradient Descent)을 사용해 이를 점차 줄여갑니다. 경사하강법은 매끄러운 코스트 함수 위에서 최솟값을 찾아가는 최적화 방법으로, 신경망이 학습 과정을 통해 점점 더 정확한 예측을 할 수 있도록 돕습니다.신경망의 한계: 환경적 제약신경망은 숫자를 잘 인식할 수 있지만, 숫자를 "그릴 줄" 아는 것은 아닙니다. 이는 신경망이 엄격히 제한된 훈련 환경에서 학습하기 때문입니다. 훈련 과정에서 신경망은 주어진 격자 안에서만..

[오픈소스소프트웨어] 불린 변수

전형적인 불린 변수명을 사용 - done,error,found,success,ok참이나 거짓을 함축한 이름을 사용 - status -> error or statusOKsourceFile -> sourceFileAvailable, sourceFileFound긍정적인 이름을 사용 - notFound, notDone, notSuccessful 같은 경우 부정이 첨가된 경우 읽기 어려워짐접두사를 사용하여 그룹의 의미 전달 ex)Color_Red, Planet_Earth, Month_Jnnuary 클래스 내에 사용되는 경우에는 접두사를 생략할 수도 있다.Color.Color_Red -> Color.Red 용도에 따른 명명 규칙들 - 상수상수가 나타내는 숫자보다는 추상적 대상을 표현하도록 한다.-final int ..

[cs231n] CNNs in practice

Augmentation (증강)CNN에는 이미지와 label이 존재합니다. 이것으로 오차를 줄여나가는 방법으로 분류를 합니다.  데이터 증강에서는 원본의 이미지를 어떤 식으로든 변형하는 과정 하나가 추가가 됩니다. 어떠한 변형 방법을 이용할 것인지는 다양한 증강 방법이라고 볼 수 있습니다. 데이터 증강은 레이블은 변함이 없고 픽셀의 내용을 바꿈변경된 데이터로 학습을 함매우 폭넓게 이용이 됨 1. Horizontal flips이미지를 거울에서처럼 반대로 만들어주는 것으로 mirror image라는 표현도 합니다. 2. Random crops/scales이미지를 랜덤하게 잘라주고 스케일도 다양하게 해줍니다. 랜덤하게 잘라내고 크기를 가지는 것을 학습을 시키는 것입니다. 이미지 랜덤 선택 [256, 480]트..

반응형