분류 전체보기

· CS/Network
Ethernet 이더넷은 가정이나 회사과 같은 로컬 환경 컴퓨터나 기타 장치를 네트워크에 연결하기 위해 개발된 통신 표준을 말합니다. OSI 1,2 계층에 속하며 단순한 구조와 저렴한 가격으로 유선 랜(Wired LAN)에서 많이 사용되는 기술입니다. 초기 이더넷은 버스형으로 하나의 네트워크 선을 공유해 사용하다보니 데이터의 충돌이 발생했고 이를 해결하기 위해서 이전에 살펴본 CSMA/CD 프로토콜을 표준으로 사용합니다. 등장한지는 오래되었지만, TCP/IP와 HTTP와 강하게 연결되어 현재로 건재하게 버티고 있습니다.  Physical topology 이더넷의 Physical topology(물리적인 배치)는 크게 두 가지 형태를 띄고 있습니다.  과거에는 bus topology를 사용했지만, 데이터 ..
· CS/Network
MAC 이란?MAC (Media Access Control) 프로토콜은 데이터 링크 계층에 속하는 프로토콜입니다.  우선 데이터 링크 계층에 대해 간단히 살펴보겠습니다. 이전 포스팅에서 데이터 링크 계층은 같은 네트워크 안의 여러 기기 간의 데이터 전송과 물리 주소를 결정하는 계층이었습니다. 조금 더 구체적으로 말하자면, 데이터 링크 계층의 역할은 데이터 간의 충돌과 유실을 최소화하는 것입니다.    호스트와 라우터에서 데이터를 주고 받을 때는 크게 Point to Point와 Boardcast의 두 가지 방식이 있습니다. 사실상 broadcast 방식을 주로 사용하기 때문에 공용선(shared wire)을 통해 패킷을 전송합니다. 그리고 공용선을 통해 데이터를 보내면, 누구든지 그 시그널을 들을 수 ..
· Java/BOJ
문제 https://www.acmicpc.net/problem/25195 25195번: Yes or yes 첫째 줄에는 정점의 개수 $N$과 간선의 개수 $M$이 주어진다. ($1 \leq N, M \leq 100\,000$) 이후 $M$줄에 걸쳐서 간선의 정보를 나타내는 두 정수 $u$, $v$ 가 주어진다. 이는 정점 $u$ 에서 정점 $v$ 로 가는 www.acmicpc.net 풀이 BFS, DFS 문제입니다. 문제의 포인트는 팬클럽 곰곰이를 거치지 않고 더 이상 이동할 수 없는 간선까지 도달할 수 있는가? 입니다. 우선 팬클럽 곰곰이의 정점을 boolean[] gomgom 배열에 저장해두었습니다. 그리고 BFS 탐색시에 gomgom 배열을 체크합니다. 만약 현재의 정점이 gomgom[] 배열의 t..
· CS/Network
라우팅 알고리즘 라우팅 알고리즘은 송신 호스트에서 목적지 호스트까지의 라우터 네트워크를 통과하는 경로 중 최단 경로를 구하는 것입니다. 네트워크를 그래프로 생각하면 네트워크의 구성 요소를 그래프에 대입해볼 수 있습니다. 그래프의 노드는 router로, 그래프의 edge는 link로, 그래프의 value는 link cost(거리 또는 트래픽 양)으로 대입할 수 있습니다. 그래서 그래프 알고리즘에서 흔히 알고 있는 다익스트라, 벨만 포드 등을 네트워크의 라우팅 알고리즘에 적용할 수 있습니다. 라우팅 알고리즘엔 크게 두가지 방식이 있습니다. 첫째는 모든 라우터가 전체적인 비용에 대한 그림을 가지고 있다는 전제로 계산하는 경우인 ‘Link State’입니다. 그리고 두 번째는 전체 그림은 없고 이웃과 정보를 교..
· CS/Network
IP Fragmentation(단편화), Reassembly(재조립) 네트워크 링크는 MTU(Maximum Transmission Unit, 최대 패킷 크기)를 가집니다. MTU란, 링크가 수용할 수 있는 최대 전송 사이즈를 의미합니다.  그래서  Sender가 전송하고자 하는 데이터그램의 크기가 물리적인 링크에서 수용할 수 있는 데이터의 크기보다 크면, 데이터그램을 전송하지 못하는 상황이 발생할 수 있습니다. 이러한 문제를 해결하기 위한 방법이 Fragmentation(단편화) 입니다. 데이터가 크면 MTU에 맞춰 자르는 것입니다. 그리고 쪼개진 패킷들은 도착지에 도착하면 다시 합쳐집니다. 이것은 Reassemble(재조립)이라고 합니다. 아래와 같은 상황에서 IP Fragmentation이 어떻게 이..
· Java/BOJ
문제 https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 풀이 BFS 문제입니다. 구역의 개수가 2이상이거나, 얼음이 존재하지 않을 때까지 반복문을 통해 얼음을 녹여야 합니다. addIce() meltIce() checkBlock() 의 세 가지 메서드 순서로 분리해서 문제를 해결했습니다. addIce()는 map[][] 배열의 얼음을 queue 자료 구조에 집어 넣는 메서드입니다. 그리고 동시에 다음 연도에 얼마나 줄어들지를 카운트해서 de..
동구름이
'분류 전체보기' 카테고리의 글 목록 (15 Page)