[ Application Layer ] HTTP
·
CS/Computer Network
Application LayerProcess : Program running within a host Client-Server 구조항상 동작하고 있는 서버가 존재하고, 클라이언트라는 다른 호스트들로부터 서비스 요청을 받는다.클라이언트는 서로 직접적으로 통신하지 않는다서버는 잘 알려진 고정 IP 주소를 갖는다.서버가 클라이언트로부터 오는 모든 요청에 더 응답하는 것이 불가능할 때, 많은 수의 호스트를 갖춘 데이터 센터가 강력한 가상의 서버를 생성하는 역할로 사용된다.Client process : process that initiates connection 통신을 초기화하는 프로세스Server process : process that waits to be connected 세션을 시작하기 위해 접속을 기다리..
Packet Switching Network Delay | 패킷 교환 네트워크에서의 지연
·
CS/Computer Network
인터넷 : 종단 시스템에서 수행되는 분산 애플리케이션에게 서비스를 제공하는 인프라 스트럭처이다.인터넷 서비스가 패킷의 손실 없이 데이터를 이동시키기 어렵기 때무넹, 컴퓨터 네트워크는 두 종단 시스템 간에 전달될 수 있는 처리율 ( 초당 데이터의 양 )을 제한한다. (bps)이에 따라 종단 시스템 간의 "지연" (delay)가 발생하고, 패킷을 잃어버리기도 한다.  DelayTransmission delay : Time required to push the packet onto the link 패킷의 첫번째 비트가 도달한 순간부터 마지막 비트가 도착할때까지의 시간 / 링크에 패킷 하나를 밀어넣는데에 걸리는 시간* 그림에서는 transmition delay가 보낼 때 발생하는 것으로 되어있는데, 우리는 도착..
Sharing the Links | 네트워크의 링크 공유
·
CS/Computer Network
Sharing the LinksWhen multiple ussers share the same link/router the packets need to be separated. 많은 종단 시스템은 같은 링크/라우터 등을 공유한다. 이를 통해 패킷들은 분리되어 링크를 통해 전달해야할 곳에 전달한다. 이 때, 같은 링크를 공유하여 데이터를 이동시키는 방법에는 두가지가 존재한다. Circuit switching Packet switching Circuit SwitchingResources that are needed for an application are reserved along its root for the duration of the communication session 회선 교환 네트워크에서는 종단..
[코딩테스트] 백준 1068번 트리
·
CS/Algorithm
문제 : https://www.acmicpc.net/problem/1068문제 노드를 지우면, 자식노드까지 전부 삭제하는 문제이다입력 & 출력5-1 0 0 1 11즉, 이 트리는 루트노드는 아무런 부모를 가지고 있지 않고, 1번 / 2번 노드는 0번 노드 (루트 노드)를 부모 노드로 가지고 있으며3번 /4번 노드는 1번 노드를 부모 노드로 가지고 있다.따라서 1번 노드를 지우게 되면 루트노드와 2번 노드만 남으므로최종 남는 리프노드의 개수는 1개이다.1 이 출력된다. 풀이#include using namespace std;int tree[51];int N;void deleteA(int x){ tree[x] = -2; for(int i = 0; i delateA라는 함수를 통해 어떠한 노드를 삭..
Network | 네트워크 (용어 및 동작)
·
CS/Computer Network
용어네트워크데이터 전송과 데이터 처리를 유기적으로 결합하여 어떤 목적이나 기능을 수행하는 시스템데이터 전송 : 컴퓨터에 의해 처리된 정보를 전송하는 것데이터 처리 : 컴퓨터에서 정보를 처리하는 것LAN(Local Area Network)LAN은 일반적으로 300m 이하의 통신 회선으로 연결된 PC 메인 프레임, 워크 스테이션들의 집합종단 시스템을 가장자리 라우터에 연결하는데 사용됨프로토콜 (Protocol) 서로 다른 시스템에 있는 두 개의 엔티티가 통신하려면 서로 동일 약속이 필요함. 이러한 통신 규약들을 의미함인터넷 정보의 송 수신을 제어한다.ex) TCP / IP패킷 (packet)송신 중단 시스템에서 수신 종단 시스템(목적지)로 보내지는 것송신 종단 시스템이 보내고자 하는 데이터를 세그먼트로 나누..
[Assembly] 산술 연산
·
CS/Computer Architecture
incincoperand1inc eaxeax에 +1을 해주는 코드(eax++)operand1 +1operand1 : 레지스터 or 메모리CF를 설정하지 않음 Exampleinc al : al에 1을 더한 후 다시 al에 저장함 * al에 0xff가 저장되어있다고 가정inc al : al에 1을 더한 후, 다시 al에 저장하면 al에는 0이 저장되고, 자리 올림이 발생했지만 CF가 설정되지 않음> CF와 OF의 차이를 이해하면 OF도 설정되지 않는다는 것을 알 수 있다 (부호 반전이 없기 때문에)  decdecoperand1deceaxeax에 -1을 해주는 코드 (eax--)operand1 -1operand1 : 레지스터 or 메모리CF를 설정하지 않음 Exampledec al : al에 1을 뺀 후 다시..
Internet | 인터넷
·
CS/Computer Network
The internet allows distributed applications running on it's end system to exchange data어플리케이션이 종단 시스템에서 데이터를 교환하게 해주는 것 인터넷은 전 세계적으로 수많은 컴퓨팅 장치들을 연결해주는 네트워크이다. end system (종단 시스템) / host (호스트)클라이언트 / 서버컴퓨터 네트워크에 연결된 장치 Service인터넷은 두 가지 서비스를 제공한다A connection-oriented reliable service : 연결 지향형 서비스A connectionless unreliable service : 비연결형 서비스 Connection-oriented reliable service | 연결 지향형 서비스The c..
[Assembly] 데이터 이동
·
CS/Computer Architecture
movmovoperand 1operand 2moveax1eax 레지스터에 값 1을 넣는 코드operand2를 operand1로 이동한다operand1 : 레지스터 or 메모리 (상수는 불가능함)operand2 : 상수 or 레지스터 or 메모리두 피연산자의 크기가 일치해야함두 피연산자에 동시에 메모리가 올 수 없음메모리는 TYPE PTR [레지스터 or 상수]로 표기하는데, TYPE에는 BYTE(1), WORD(2), DWORD(4) QWORD(8)이 올 수 있다. *mov는 "값"과 연관이 있다고 생각하면 쉬워짐 Example mov rax, 0x1 : rax 레지스터에 0x1을 대입한다mov rax, rbx : rbx 레지스터의 값을 레지스터에 대입한다mov QWORD PTR [0x400000], r..
Network Layer | 네트워크 계층구조
·
CS/Computer Network
계층구조크고 복잡한 시스템의 잘 정의된 특정 부분을 논의할 수 있도록 해준다 (단순화 해줌)한 계층의 구현이 변화하더라도, 시스템의 나머지 부분은 변화하지 않는다.네트워크 계층 구조를 나타내는 방법에는 크게 두 가지가 있는데OSI 7계층TCP/IP 5계층이 있다. 구조적 차이는 OSI 7계층의 5,6,7 계층이 합쳐져 TCP/IP 5계층의 5계층이 된 것이다.  계층 구조의 각 계층은 그 계층에서 어떤 동작을 취하고그 계층 바로 아래 계층 서비스를 사용함으로써 서비스를 제공한다. Service Model한 계층은 상위 계층에게 제공하는 서비스(Service)에 관심을 가짐각 계층은 그 계층에서 어떤 행위를 하며, 아래 계층의 Service를 사용함각 계층은 독립적이지만, 서로 영향을 주고 받음 TCP/I..
Wireshark 캡처하기 (BIOCPROMISC: Operation not supported on socket)
·
CS/Computer Network
오류Wireshark를 이용하여 Ethernet 등을 캡처하고자 하면 이런 경고문이 뜬다BIOCPROMISC: Operation not supported on socket이다이 뜻은 프로미스큐어스 모드'(Promiscuous Mode)로 전환하려 할 때 발생하는 문제이다. 프로미스큐어스 모드란, 내 MAC주소가 아닌 곳으로 들어오는 패킷까지 전부 패킷 필터링을 하지 않도록 해주는 모드이다설정해두면 위험하니 꺼두도록 하자 ^_^ 해결Wireshark의 상단에서 Capture > Options를 선택하면이러한 창이 뜬다.  여기에서 Enable promiscuous mod on all interface라고 체크 되어있는 부분을 해제해준 후, Start하면 정상적으로 패킷캡처가 이루어질 수 있다.