본문 바로가기

전체 글

(26)
[네트워크] OSI 7계층(전송 계층, UDP) 이전 시간에는 3계층인 네트워크 계층에 대해 알아봤습니다. 오늘은 전송 계층의 전체적인 내용과 전송 계층의 프로토콜 중 하나인 UDP에 대해 포스팅할 예정입니다. 전송 계층 전송계층은 포트 번호를 통해서 해당되는 프로세스들이 데이터를 전송할 수 있도록 하는 계층입니다. - 데이터 전송 과정 송신 측에서는 세션 계층에서 데이터를 받아 분할한 뒤 분할된 데이터에 각각 헤더를 붙입니다. 헤더에는 포트번호와 Checksum 등이 포함되어 있습니다. 세션 계층에서 받은 데이터를 분할하기 때문에 여러 개의 세그먼트(TCP의 PDU)가 생기게 되고, 여러 개의 세그먼트를 네트워크 계층으로 보냅니다. 데이터를 분할하는 이유는 사용자가 보내고 싶은 데이터의 크기는 크고 다양한데 데이터를 전송할 때 전송할 수 있는 최대 ..
[Web] context root(path) 확인 방법 Context root(path) 확인 방법 Tomcat 사용 시 갑자기 404 에러가 발생할 때가 있습니다. 이때 context root를 확인해봐야 합니다. 1. Servers의 Tomcat 더블클릭 -> Modules의 Path 확인 Path에 처음에 설정한 context path가 적혀 있으면 됩니다. (저는 현재 backendProject로 설정되어 있습니다.) 2. Project Explorer의 Servers에서 server.xml확인 server.xml 파일의 하단에 있는 Context태그의 path를 확인한다. 1번에서 확인한 path와 같으면 된다. 3. Web Project Settings 확인 해당 프로젝트를 우클릭하여 Properties 선택 -> 왼쪽에 있는 항목 중 Web Pr..
[네트워크] OSI 7계층(네트워크 계층) 이전 시간에는 데이터 링크 계층에 대해 알아봤습니다. 오늘은 네트워크 계층에 대해 작성해보려고 합니다! 네트워크 계층 네트워크 계층은 데이터를 목적지까지 가장 빠르게 전달하는 역할을 수행하는 계층입니다. 라우터를 통해 라우팅을 하며 컴퓨터의 위치를 나타내기 위해 IP주소가 사용됩니다. 네트워크 계층은 내용이 많으니 천천히 읽으면서 따라와 주세요! - 데이터 전송 과정 위의 그림은 네트워크 계층에서 데이터가 전송되는 과정입니다. 송신 측에서는 전송 계층에서 받은 데이터에 헤더를 붙여 데이터 링크 계층으로 보내고, 수신 측에서는 데이터 링크 계층에서 받은 데이터에 헤더를 제거하여 전송 계층으로 보냅니다. 네트워크 계층의 데이터는 패킷이라고 하며, 헤더에는 송신 측 IP 주소와 수신 측 IP 주소 등이 포함됩..
[알고리즘] Dijkstra 알고리즘 Dijkstra 알고리즘 - 정의 Dijkstra 알고리즘은 하나의 정점에서 나머지 정점까지의 최단 거리(경로)를 구하는 알고리즘입니다. 정점 사이에 간선이 존재하고, 간선마다 가중치(=비용)가 있습니다. 특징으로는 모든 가중치가 양수일 때만 사용할 수 있는 알고리즘입니다. 어떠한 정점에 방문할 때 이전의 선택했던 경로가 아니라 다른 경로를 거쳐 방문하는 것이 더 적은 비용이 든다면, 다른 경로를 거쳐 방문하면서 최단 거리를 구합니다. 말로만 설명하면 이해하기 어려우니 과정을 보면서 설명하겠습니다. - 최단거리를 구하는 과정 위의 그래프는 정점이 5개, 간선이 6개이며 각 간선에는 가중치가 표시되어 있습니다. distance배열은 시작 정점이 1일 때 각 정점으로 갈 수 있는 최소 비용을 저장합니다. 아..
[백준] 17298 오큰수 - JAVA 문제 크기가 N인 수열 A = A1, A2, ..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하려고 한다. Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한다. 그러한 수가 없는 경우에 오큰수는 -1이다. 예를 들어, A = [3, 5, 2, 7]인 경우 NGE(1) = 5, NGE(2) = 7, NGE(3) = 7, NGE(4) = -1이다. A = [9, 5, 4, 8]인 경우에는 NGE(1) = -1, NGE(2) = 8, NGE(3) = 8, NGE(4) = -1이다. https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다..
[네트워크] OSI 7계층(데이터 링크 계층) 이전 시간에는 물리 계층에 대해 알아봤습니다. 오늘은 물리 계층과 데이터를 주고 받는 데이터 링크 계층에 대해 알아보겠습니다. 데이터 링크 계층 데이터 링크 계층은 Mac 주소가 사용되며, 데이터가 안전하게 전달되도록 도와주는 계층입니다. 이렇게만 설명하면 확 와닿지 않으실 테니 지금부터 자세히 설명해보겠습니다! - 데이터 전송 과정 위의 그림은 데이터가 전송되는 과정을 보여주는 그림입니다. 송신 측에서 바라보면 네트워크 계층에서 받은 데이터에 트레일러와 헤더를 붙여 물리 계층으로 넘겨줍니다. 헤더에는 Mac주소가 들어있고, 트레일러에는 에러 검출을 위한 정보가 들어있습니다. 데이터에 헤더와 트레일러가 붙은 것을 프레임이라고 하며 데이터 링크 계층에서 사용됩니다. 수신 측은 송신 측과는 반대로 물리 계층..
[백준] 14502 연구소 - JAVA 문제 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우로 인접한 빈 칸으로 모두 퍼져나갈 수 있다. 새로 세울 수 있는 벽의 개수는 3개이며, 꼭 3개를 세워야 한다. 벽을 3개 세운 뒤, 바이러스가 퍼질 수 없는 곳을 안전 영역이라고 한다. 연구소의 지도가 주어졌을 때 얻을 수 있는 안전 영역 크기의 최댓값을 구하는 프로그램을 작성하시오. http..
[네트워크] OSI 7계층(물리 계층) 이전 시간에 OSI 7계층에 대한 전반적인 내용 알아봤습니다. 앞으로는 각 계층에 대해 자세히 알아보는 시간을 가지려고 합니다! OSI 7계층에 대한 전반적인 내용은 이전 게시물을 참조해주세요. [네트워크] OSI 7계층 OSI 7계층 - OSI(Open System Interconnection) 컴퓨터 사이에서 통신이 발생할 때 표준 프로토콜을 사용할 수 있도록 ISO(국제 표준화 기구)에서 개발한 개념적인 모델입니다. 여기서 프로토콜이란 통신을 soso-yw.tistory.com 물리 계층 물리 계층은 데이터 전송에 초점이 맞춰진 계층입니다. 비트로 된 데이터를 전기 신호로 변환해야 하기 때문에 어떠한 기준으로 신호를 변환할지, 전송매체는 무엇을 사용할지 등에 대한 규칙을 정의하는 계층입니다. 그럼 ..