이 포스터에서는 OSI 모델 4계층인 전송계층에 대해 알아보고자 한다. 전송계층의 역할 전송 계층에는 크게 두가지 역할이 있다. 첫번째. 목적지에 신뢰할 수 있는 데이터를 전달(오류점검 기능), - 네트워크 계층이 목적지까지 데이터를 전달한다면 전송 계층은 데이터가 제대로 도착했는지 확인한다 두번째. 전송데이터의 목적지가 어떤 어플리케이션인지 식별 - 데이터를 받아도 어떤 어플리케이션에 할당 되는건지 모르면 곤란하다. 전송계층의 특징 (신뢰성/정확성, 효율성) 신뢰/정확성 - 데이터를 목적지에 문제없이 전달하였는가? 효율성 - 데이터를 빠르고 효율적으로 전달했는가? 여기서 신뢰할 수 있고 정확한 데이터를 전달하는 통신이 연결형 통신이라 하며 효율적으로 데이터를 전달하는 통신을 비연결성 통신이라고한다. 연..
이 포스트에서는 OSI모델의 제 3계층인 네트워크 계층에 대해 설명해보겠다. 전 세계는 수많은 네트워크가 있고 그 네트워크들은 서로 연결되어 거대한 인터넷을 이루고있다. 우리가 원하는 목적지에 데이터를 전달하기 위해서는 다른 네트워크로 데이터를 넘겨야하는데 해당 작업이 이뤄지는 곳이 네트워크 계층이다. 이전에 설명했던 이더넷 규칙을 기반으로 데이터를 전송하면 같은 네크워크로는 전달이 가능하지만 다른 네트워크로는 전달이 불가능하다. 그렇기에 다른 네트워크와 통신하기 위해 우리는 라우터를 사용한다. 라우터란? 집에 인터넷을 사용하려고할 떄 설치했던 것이 라우터인데 기억하는가? 라우터는 데이터의 목적지가 정해지면 해당 목적지 까지 어떤 경로로 가는 것이 좋은지 알려주는 기능을한다.그러나 상대가 어디 있는지 모..
이번에는 OSI 모델의 2계층인 데이터 링크 계층에 대해 알아보고자한다. 이더넷이란? 이전에 OSI 모델에 대해 설명했는데 랜에서 데이터를 주고받으려면 두 번째 계층인 데이터 링크 계층의 기술이 필요하다했다. 데이터 링크 계층은 네트워크 장비간에 신호를 주고받는 규칙을 정하는 계층으로, 랜에서 정상적인 데이터를 주고받기위해 가장 많이 사용되는 규칙은 이더넷이 있다. 바로 전 포스트에서 우리는 허브를 통해 데이터를 전달하면 모든 포트에 데이터가 전달되는 불상사가 일어난다고 했는데 이걸 효율적으로 해결하는 것이 스위치라고 이 포스트에 설명하겠다고 했다. 사실 허브로도 원하는 곳에만 데이터를 보낼 수 있다. 그러나 동시에 데이터를 보내게되면 서로 충돌이 일어날텐데? 라고 할 수있는데 바로 이더넷이 데이터를 보..
이전에 0과 1로 이루어진 비트열을 전기 신호로 변환하려면 물리 계층의 기술이 필요하다. OSI 모델의 1계층인 물리 계층에 대해 알아보자 전기신호? 아날로그 디지털 비트열(011019)을 전기신호로 바꾸기 전에, 전기 신호의 종류에 대해 가볍게 알아보자면 아날로그 신호와 디지털 신호가 있다. 물결 모양의 전기신호를 아날로그 신호라 하며 전화 회선이나 라디오 방송에 사용되는 신호다. 막대 모양으로 그려진 모양이 디지털 신호다. 우리는 아래 디지털 신호를 통해 데이터를 전달한다. 그럼 다음으로 어떻게 데이터가 전기 신호로 변환되는지 살펴보겠다. 송신 측에서 원하는 데이터 0과 1의 집합을 전기신호로 변환하여 전송하면, 수신 측에서 해당 전기신호를 0과 1의 집합으로 복원한다. 해당 전기신호를 데이터로 만들..
네트워크 통신의 기본 규칙인 프로토콜에 대해 알아보자. 일단 프로토콜이란? 일종의 규칙,규약으로 알 수 있다. 내가 일본어를 하지만 상대방이 영어를 한다면? (둘다 1개국어) 둘다 이해하지 못한다. 그렇기에 우리는 데이터를 소통하기 위해 규칙을 만들었는데 이것이 프로토콜이다. 네트워크에서는 데이터를 주고받기 위한 통신 규격(프로토콜)이 정해져있다는 것은 알겠다. 그럼 이제 통신 규격(기술적 표준)에 대해 알아보자. OSI 모델이란? 우리는 표준 규격을 정하는 ISO 국제 표준화기구에서 제정한 OSI모델에 대해 알아볼 것이다. OSI는 네트워크 기술의 기본이 되는 모델로 데이터 송수신은 다음 계층으로 나눠져 작동한다. 계층 이름 설명 7 웅용 계층 이메일,파일전송, 웹 사이트 조회 등 어플리케이션 서비스 ..
네트워크 CS에 대해 설명하기에 앞서 네트워크란 무엇인가? 일상에서 생각하면 네트워크는 컴퓨터나 프린터와 같은 여러기기가 연결되어 있는 상태로 생각할 수 있다. 우리가 배우고자하는 것은 바로 이 컴퓨터간의 네트워크다. 이 컴퓨터 네트워크를 통해 우리 컴퓨터에서 원하는 데이터를 다른 컴퓨터에서 받아올 수 있다. 방금 말한 데이터의 전송은 그저 컴퓨터와 컴퓨터를 선으로 연결해서 받아오는것 뿐만아니라 인터넷을 통한 데이터 전송에 대해 다루고자 한다. (인터넷은 전 세계의 큰 네트워크부터 작은 네트워크까지 연결하는 거대한 네트워크다) 일단 우리가 데이터를 다른 곳으로 전달할 때 오로지 데이터만으로 보내게 되면 어떻게 될까? 1 2 3 의 순서를 가진 데이터를 보냈지만 상대방 컴퓨터에서는 3 2 1 로 해석을 하..
크루스칼 알고리즘란? 크루스칼 알고리즘은 주어진 그래프에 대한 최소 스패닝 트리를 생성하는 데 사용되며 그리디 부류로 작동한다. 그럼 잠깐, 최소 스패닝 트리란 정확히 무엇알까? 최소 스패닝 트리는 그래프와 꼭짓점 수가 같고 꼭짓점 수가 -1인 그래프의 부분 집합이다. (또한 스패닝 트리의 모든 에지 가중치 합계에 대한 최소 비용도 있다.) 그럼 다음으로, 크루스칼 알고리즘은 어떻게 작동할까 ? 1. 모든 에지를 에지 가중치의 오름차순으로 정렬하고, 2. 선택한 에지가 어떤 사이클을 형성하지 않는 경우에만 트리에 노드를 계속 추가한다. 3. 처음에는 최소 비용으로 에지를 선택하고, 마지막으로 최대 비용으로 에지를 선택한다. 다시금 말하면 모든 최소 결과를 찾기 위해 국소적으로 최적의 선택을 한다고 말할 ..
위상 정렬이란? 꼭짓점 u와 v에서 꼭짓점 v까지의 모든 꼭짓점 u,v에 대해 u가 순서에서 v보다 먼저 오도록 꼭짓점을 선형 정렬하는 것이다 다시금 예를 들어, 그래프의 정점들을 수행할 작업의 순으로 나타낼 수 있고, 가장자리는 한 작업이 다른 작업보다 먼저 수행되어야 하는 제약 조건을 나타낼 수 있다. 여기서 위상 정렬은 비순환 그래프(DAG)인 경우에만 가능하다. (비순환 그래프는 적어도 하나의 위상 순서를 가지며, 알고리즘은 선형 시간 내에 DAG의 위상 순서를 구성하는 것으로 알려져 있다.) 또한 DAG그래프만이 그래프에 사이클이 있으면서 두 정점 u,v가 사이클 속에 위치한 정점일 경우, 정점 u가 v보다 먼저 오거나 v가 u보다 먼저 올 수 있기에 DAG 그래프만 위상 정렬이 가능하다. 조금..