Prim Algorithm Coding
·
CS/Algorithm
Prim을 위해 만들어야할 것priority queue노드 Marking 배열그래프#include #include using namespace std;//TRI를 만들 것 노드, 노드 , wight 형태로 저장되는 것class TRI {public: int a, b, w;};//priority queueclass PQ {public: int n; TRI Arr[1000]; PQ(); //생성자 TRI Delete(); //삭제 void Insert(TRI x); //삽입 int isEmpty(); //비어있는지 확인};PQ::PQ(){ n = 0;}int PQ::isEmpty(){ return n == 0; //n에 들어있는게 없다면 0을 리턴}//prio..
[Greedy Algorithms] Minimum Spanning Tree
·
CS/Algorithm
Greedy Alogrithms답을 찾기 위해 선택을 반복하는 알고리즘비교적 간단한 방법으로 선택선택한 후 바꾸지 않는 알고리즘ex) selection sort -> greedy 전체에서 가장 작은걸 찾아서 새 배열의 첫번째 배열로 "선택"하여 옮김 선택하는 것은 가장 작은것을 고름 (선택을 한 쪽의 배열에서는 없어졌다고 생각)남은곳에서 또 제일 작은 것을 고르는 과정을 반복 Shortest path ideaS에서 B까지 가는 가장 짧은 길을 찾는다고 하자* S에서 A까지 가는 가장 짧은 길 등등을 찾는것과 같다. 해당 짧은 길을 찾으려면 많은 가장 짧은 길을 찾아야한다. S에서 나가는 것 중에 제일 작은 것은 5이고 C에 도착C까지 가는 5보다 짧은 길이 있는가? -> 없음 : 다른 길을 가는 순간 이..
[Network Layer] IP addressing
·
CS/Computer Network
인터넷 : TCP / IP를 사용하는데 이는 transport layer / network layer이다.IP addressing32-bit identifier for host and router interface8bit.8bit.8bit.8bit로 나타내며 .을 통해 구분됨router의 각 port들의 ip address들을 표현했고, 그 밖은 host들의 ip address이다. 왼쪽 세개의 호스트와 라우터 인터페이스는 233.1.1.xxx 형식의 IP 주소를 가진다.4개의 인터페이스가 중계하는 라우터 없이, 하나의 네트워크에 연결되어있는 것이다. (LAN or AP로 연결)세 호스트들의 인터페이스와 하나의 라우터 인터페이스가 subnet을 구성하는 것이다.따라서 233.1.1은 subnet 구분을 ..
[Network Layer] Routing
·
CS/Computer Network
Network layer : 어떤 router을 거쳐서 client2로 패킷을 전송할지 결정하는 역할Two types of servicesConnectionless : 목적지만 지정되어 있음Connection-oriendted : 중간에 어떤 라우터를 거쳐 도착할 지 헤더에 저장되어 있다.Forwarding : Move pkt from router's input to appropriate router output (라우터로 들어와서 어디 subnet으로 보낼지 결정하는 것)Routing : Determine route token by pkt from source to dst (Fowarding 보다 큰 개념)Routing algorithm은 Fowarding table을 만들어준다.  Implementa..
[Transport Layer] TCP
·
CS/Computer Network
Data Transfer간단한 버전으로 TCP에 대해 설명하겠다. * TCP는 비교적 간단한 protocol이다. (GBN과 SN의 결합형태)Data received from Application Layer → encapsulate : in a segment, allocate SN, start timer, pass to the network layer▷ 데이터 수신 (응용계층 → 전송계층) : 애플리케이션 계층에서 데이터를 수신하여 TCP 세그먼트로 캡슐화한다. 이 과정에서 각 세그먼트에 SN을 할당하고, 타이머를 설정한다. 이후, 캡슐화된 세그먼트를 네트워크 계층으로 전달한다.Timer time-out : restransmit the segment, restart timer▷ 세그먼트가 전송된 후 일정..
[Transport Layer] 신뢰적인 데이터 전송의 원리
·
CS/Computer Network
신뢰적인 데이터 전송을 구현하는 문제는 전송 계층 뿐만 아니라, 링크 계층과 애플리케이션 계층에서도 발생하는 문제이다. Some limitations of the channel채널이 불안정한 상황들drop msgsreorder msgs deliver duplicate copies of a given msgACK가 와야 도착했다고 생각 → 늦어지면 재전송 (delay가 길었을 경우)limit msgs to finite sizedeliver msgs often an arbitary long delay 신뢰적 데이터 전송Frame FormatReciver pkt number▷ piggy-backing : for reverse direction of data flow ARQ ProtocolAutomatic Re..
[Transport Layer] UDP (User Datagram Protocol)
·
CS/Computer Network
* Demultiplexing : extend the host-to-host delivery service to a process-to-process service 호스트에서 호스트로 전송하는 것을 넘어서, 프로세스에서 프로세스로 전송하게 해주는 서비스 세그먼트 구조port # : 포트 번호 목적지 호스트가 목적지 종단 시스템에서 동작하는 (역다중화 기능을 수행하는) 정확한 프로세스에게 애플리케이션 데이터를 넘기게 해줌 * 전송 계층에서는 헤더에 포트 번호 (프로세스의 위치)를 헤더에 붙여준다. 각 port 번호를 지칭하는 길이는 16bit 이므로 \(2^{16} = 64K = 65536\) 개의 포트가 사용 가능하다. Length : 길이헤더를 포함하는 UDP 세그먼트의 길이를 바이트 단위로 나타낸다...
Transport Layer 개요
·
CS/Computer Network
Transport Layer의 게층 프로토콜은 네트워크 라우터가 아니라 종단 시스템 (endsystem)에서 구현된다.송신 측 트랜스포트 계층은, 애플리케이션 계층으로부터 수신한 메시지를 트랜스포트 계층 패킷으로 변환 - segment트랜스포트 계층은 송신 종단 시스템에 있는 네트워크 계층으로 세그먼트를 전달수신측에서 네트워크 계층은 데이터그램으로부터 트랜스포트 계층으로 세그먼트를 전송트랜스포트 계층은 수신 애플리케이션에서 세그먼트 내부의 데이터를 이용할 수 있도록 수신한 세그먼트 처리* 네트워크 애플리케이션에서는 트랜스포트 계층 프로토콜을 사용 가능하다 ex) TCP, UDP Transport Layer vs Network LayerTransport LayerNetwork Layer각기 다른 호스트에서..
DNS (Domain Name System)
·
CS/Computer Network
호스트 이름 (hostname) : 인터넷 호스트의 식별자로 문자로 사람들이 알아보기 쉽도록 함 ex) www.google.comIP주소 (IP address) : 호스트가 인터넷의 어디에 위치하는지에 대한 자세한 정보를 제공해줌 DNSDNS translate hostnames to IP addresses호스트 이름을 IP 주소로 변환해주는 directory 서비스DNS 서버들의 계층구조로 구현된 분산 데이터 베이스이다.호스트가 분산 데이터 베이스로 질의하도록 허락하는 애플리케이션 계층 프로토콜이다DNS runs over UDP and uses port 53 : UDP로 수행되고 포트번호 53을 이용한다.  If one DNS server that contains all the mappings 만약, 하..
SMTP & FTP
·
CS/Computer Network
SMTP와 FTP 모두 TCP를 사용한다 (HTTP도)SMTPElectronic mail Components전자 메일의 Tree components user agent : mail reader - 사용자가 메세지를 읽기, 응답, 전달, 저장, 구성이 가능하게 함ex) Outlookmail server : mail box, message queue로 이루어져 있다.mail box contains incoming msgs : 수신자의 메세지를 유지 및 관리message queue for outgoing msgs : 송신할 때 메세지 전달 전 메세지 큐에 보관simple mail transfer protocol (SMTP) : 인터넷 전자 메일을 위한 주요 애플리케이션 계층 프로토콜 Electronic mai..