전체글397 [컴퓨터 네트워크] DNS(Domain Name System) 도메인명(Domain Name) 인터넷 호스트에 부여되는 문자형의 유일한 이름 -> 주소 계층적인 도메인 관리 구조에 의해 도메인명의 유일성 유지 도메인 관리자가 상위 도메인 관리에게 등록한 후 사용 도메인 구조 최상위 도메인: 7개 일반 도메인: .com, .org, .net, .int, .edu, .gov, .mil 국가 도메인: .kr, .jp, .uk, . . . 중간 도메인: .ac, .gov, .re, .or, . . . 책임 도메인(호스트에 도메인 부여): @@@.ac.kr 호스트 도메인: ###.@@@.ac.kr 계층적 도메인 구조 도메인명 특징 사용자 편리성 IP 주소보다 사용하기 편리하다. 사용자 소속성 IP 주소는 계속 변하지만, 도메인명은 특정 상황이 아니면 변하지 않는다. DNS .. Computer Network 2022. 9. 27. [컴퓨터 네트워크] 이메일과 SMTP 인터넷 이메일 시스템 구조 시스템 구성 요소 User Agent: 사용자 장치에서 메일 작성, 읽기, 관리 기능 수행 Mail Server: 다수 사용자들의 메일박스 관리, 메일 송.수신 제어 SMTP(Simple Mail Transfer Protocol): 메일 전송 프로토콜, Mail Server간 통신을 맡음 이메일 전송 과정 송신자 UA에서 메일 작성 후 메일 서버로 전달 송신자 메일 서버의 출력 메시지 큐(outgoing message queue)에 저장 수신자 메일 서버로 전송 전송 불가시 30분 단위로 재전송 시도, 정해진 기간 동안 전송 불가시 중단 및 송신자에게 통보 수신자 메일 서버의 수신자 메일박스(mailbox)에 저장 수신자 UA에서 메일 서버의 메일박스의 메일 읽기 및 관리 SM.. Computer Network 2022. 9. 27. [컴퓨터 네트워크] 웹과 HTTP(2): 메시지, 쿠키, 캐시 HTTP 메시지 HTTP 요청 메시지 포맷 HTTP Request method: request 메시지를 서버로 보낼 때, 서버로 요청하는 request의 메소드(어떤 서비스를 서버에 요청하는가? ex. 웹 페이지를 업로드할 것인지, 삭제할 것인지 등등) URL: 웹 서버의 어떤 웹 객체를 요청할 것인지에 대한 주소 version: HTTP Protocol의 버전 header lines: 어떤 요청한 서비스를 서버가 어떻게 처리할 것인지 지시하는 부분 body: 어떤 정보를 클라이언트에서 서버로 전달할 때, 그 정보를 담고 있다. ASCII Methods Get: body 정보없이 객체 요청(필요시 URL에 포함시켜 입력 정보 전달) www.somesite.com/animalsearch?monkeys&ba.. Computer Network 2022. 9. 25. [백준/BOJ] 1058번: 친구 문제 https://www.acmicpc.net/problem/1058 1058번: 친구 지민이는 세계에서 가장 유명한 사람이 누구인지 궁금해졌다. 가장 유명한 사람을 구하는 방법은 각 사람의 2-친구를 구하면 된다. 어떤 사람 A가 또다른 사람 B의 2-친구가 되기 위해선, 두 사람 www.acmicpc.net 해설 2-친구가 되기 위한 조건은 다음과 같다. 서로 친구이다. 한다리 건너 친구이다. 이 문제는 플로이드 와샬 알고리즘을 이용하여 해결하였다. 우선 자기 자신과는 친구를 맺을 수 없으므로 0으로, 나머지는 INF(987654321)로 초기화하였다. 후에 입력으로 Y값이 들어온다면 그 인덱스를 1로 선언하였다. 이제 플로이드 와샬 알고리즘을 수행시켜 몇다리를 건너 아는 사이인지를 모두 구한다. .. PS(Problem Solving)/BOJ 2022. 9. 25. [컴퓨터 네트워크] 웹과 HTTP(1): 동작 원리와 지속 비지속 연결 웹 브라우저와 웹 서버 HTTP(Hyper Text Transfer protocol): 클라이언트인 웹 브라우저와 웹 서버 간의 정보를 교환하는 규칙을 정의한 프로토콜 실제 HTTP 정보는 트렌스포트 계층에 TCP connection을 통해서 전송된다. 즉, HTTP는 TCP를 사용해서 TCP 연결을 설정하고 그 연결을 통해 HTTP 메시지를 교환하는 모델이다. 웹 서버(Web Server) 웹 페이지들의 저장소와 요청 처리 소프트웨어 웹 페이지 기본 객체(base object)와 참조 객체(object)들로 구성 기본 객체: HTML file, 페이지 내의 다른 객체를 URL(하이퍼링크)로 참조 참조 객체: HTML file, JPEG image, Java applet, audio file, video.. Computer Network 2022. 9. 25. [백준/BOJ] 9205번: 맥주 마시면서 걸어가기 문제 https://www.acmicpc.net/problem/9205 해설 문제에서 상근이는 집에서 맥주 한 박스를 들고 출반한다. 이때 한 박스에는 20개의 맥주가 들어있다. 50미터 당 맥주 한 병을 마시므로 최대 1000미터까지 움직일 수 있고, 이후에는 맥주를 새로 사거나 이미 페스티벌에 도착했어야 한다. 이 문제를 해결하기 위해서는 매허튼 거리를 계속해서 계산해주어야 한다. 맨허튼 거리란 두 좌표 사이의 x 좌표의 차이 + y 좌표의 차이를 뜻한다. 만약 집 위치와 락 페스티벌의 멘허튼 거리가 1000이 안된다면, 맥주 한박스로 페스티벌에 도착할 수 있게 되는 것이다. 하지만 1000이 넘는다면, 중간에 편의점을 들려 맥주를 사야한다. 따라서 집과 편의점의 맨허튼 거리를 구하여 1000이 안된.. PS(Problem Solving)/BOJ 2022. 9. 24. [백준/BOJ] 1325번: 효율적인 해킹 문제 https://www.acmicpc.net/problem/1325 graph[a].add(b) 이 과정이 끝났다면 각 컴퓨터마다 dfs 알고리즘을 수행시켜 해킹할 수 있는 컴퓨터의 수를 세면 된다. dfs의 동작 방식은 코드를 보자. 코드 private lateinit var graph: Array private lateinit var visited: BooleanArray private lateinit var hacking: IntArray private var max = 0 fun main() = with(System.`in`.bufferedReader()){ val (computerCnt, trustCnt) = readLine().split(" ").map { it.toInt() } graph.. PS(Problem Solving)/BOJ 2022. 9. 23. [백준/BOJ] 9019번: DSLR 문제 https://www.acmicpc.net/problem/9019 9019번: DSLR 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 www.acmicpc.net 해설 bfs를 이용하는 문제이다. 숫자를 관리하는데 있어, 문자열이 아닌 int형으로 계산하였다. bfs를 수행할 때 사요오디는 Queue에는 두가지 정보가 담기게 된다. 현재 숫자와 여태 진행된 명령어 두가지로 저장된다. 즉, Pair(num, command)가 담기게 된다. 초기값으로는 Pair(startNum, "")이 된다. 각 명령어마다 계산하는 방법을 보자. D -> .. PS(Problem Solving)/BOJ 2022. 9. 23. [컴퓨터 네트워크] 응용 계층 원리(Principles of Application Layer) 네트워크 응용 서비스 네트워크 통신 서비스를 사용/응용하여 최종 사용자에게 제공되는 서비스 네트워크에 연결된 2개 이상의 호스트에서 동작하는 프로그램으로 구현 네트워크 구성 호스트:: 응용 정보(ex, URL, HTML 페이지)를 교환하고 해석하고 처리 스위치(라우터): 네트워크 장치(호스트)를 연결하고 패킷을 교환 패킷 응용 정보를 효율적인 교환을 위해 작은 크기로 나눈 정보 단위 호스트에서 재조립되어(reassembly) 응용 계층에서 처리 네트워크와 네트워크 응용 의미있는 정보를 주고받는 호스트들에서 동작하는 네트워크 응용 스위치는 응용 정보 처리에 관여하지 않는다. 네트워크 응용 구조 분산 네트워크 응용 프로그램이 작동하는 방식 네트워크 응용 구조 유형 클라이언트-서버 구조(Client-serve.. Computer Network 2022. 9. 22. [백준/BOJ] 5014번: 스타트링크 문제 https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net 해설 bfs를 연습하기에 좋은 문제라고 생각된다. 첨에 방문여부처리할 배열의 크기를 어떻게 정할까 고민을 했었는데, 엘레베이터는 건물의 최고층 이후로는 올라갈 수 없으므로 전체 층수 + 1만큼을 배열의 크기로 저장하면 되는 것이었다. bfs를 수행할 큐에는 현재 층수, 움직인 횟수 정보를 담는다. 현재 층수에서 움직일 수 있는 방법은 2가지가 있다. U버튼을 통해 올라가거나, D버튼을 통해 내려가는 것이.. PS(Problem Solving)/BOJ 2022. 9. 22. [백준/BOJ] 1389번: 케빈 베이컨의 6단계 법칙 문제 https://www.acmicpc.net/problem/1389 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻 www.acmicpc.net 해설 bfs로도 풀 수 있겠지만, 나는 이런 문제를 플로이드 와샬 알고리즘을 사용하여 모두 구해놓은 후 그 값들을 통해 해결하는 편을 좋아한다. 배열에서 자기 자신으로 가는 경우의 수는 0으로 초기화해주고, 나머지는 INF(987654321)의 값으로 초기화해주었다. 후에 입력받은 관계 (a, b라 하자)를 1로 저장한다. 즉, arr[a][b.. PS(Problem Solving)/BOJ 2022. 9. 21. [컴퓨터 네트워크] 네트워크 사이버 공격(Network Attacks) 목적에 따른 분류 Spyware: 민감 정보 탈취 Bot-ware: DDos 공격에 동원되는 좀비 컴퓨터 Ransomware: 정상적 접근 차단 및 금품 요구 Backdoor_ware: 악의적 접근 통로 개설 전파 방식에 따른 분류 바이러스(Virus) 웜(Worm) 트로이목마(Trojan Horse) 바이러스 생물학적 바이러스와 같이 자신을 다른 실체(숙주 - 실행 프로그램, 문서 등)의 특정 위치에 복제하여 감염시킨다. 사용자가 감연된 실체를 실행시킬 때 실행된다. 숙주의 이동 경로를 따라 전파되는 악성 소프트웨어 대표적 바이러스 전파 매개체: 메일 첨부파일 웜(Worm) 숙주 프로그램이나 문서에 포함되지 않고 독립적 프로그램으로 존재한다. 사용자 개입없이 실행된다. 네트워크를 통해 스스로 다른 시스.. Computer Network 2022. 9. 21. 이전 1 ··· 3 4 5 6 7 8 9 ··· 34 다음 728x90