본문 바로가기

네트워크

(10)
<Level 3> 구명보트 with 파이썬 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0부터 n-1인 정수로 표현합니다. i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computers[..
< MST > 1922번 네트워크 연결 with 파이썬 문제 도현이는 컴퓨터와 컴퓨터를 모두 연결하는 네트워크를 구축하려 한다. 하지만 아쉽게도 허브가 있지 않아 컴퓨터와 컴퓨터를 직접 연결하여야 한다. 그런데 모두가 자료를 공유하기 위해서는 모든 컴퓨터가 연결이 되어 있어야 한다. (a와 b가 연결이 되어 있다는 말은 a에서 b로의 경로가 존재한다는 것을 의미한다. a에서 b를 연결하는 선이 있고, b와 c를 연결하는 선이 있으면 a와 c는 연결이 되어 있다.) 그런데 이왕이면 컴퓨터를 연결하는 비용을 최소로 하여야 컴퓨터를 연결하는 비용 외에 다른 곳에 돈을 더 쓸 수 있을 것이다. 이제 각 컴퓨터를 연결하는데 필요한 비용이 주어졌을 때 모든 컴퓨터를 연결하는데 필요한 최소비용을 출력하라. 모든 컴퓨터를 연결할 수 없는 경우는 없다. 입력 첫째 줄에 컴퓨..
<네트워크> OSI모델의 흐름 1. 랜카드에서의 데이터 전달 및 처리 * 네트워크의 구성 - 이번 포스팅에서는 지금까지의 내용을 총 정리해보자. - 웹 사이트에 접속하였을 때 OSI 모델 상위 응용 계층부터 하위 물리 계층까지의 작업을 정리해보자. - 응용 계층 : (세션 계층과 표현 계층 포함) 애플리케이션 등에서 사용하는 데이터를 송수신하는 데 필요 - 전송 계층 : 목적지에 데이터를 정확하게 전달하는 데 필요 - 네트워크 계층 : 다른 네트워크에 있는 목적지에 데이터를 전달하는데 필요 - 데이터 링크 계층 : 랜에서 데이터를 송수신하는 데 필요 - 물리 계층 : 데이터를 전기 신호로 변환하는 데 필요 - 컴퓨터, 스위치, 라우터, 웹 서버로 구성된 네트워크가 있다고 가정해보자. - 위 그림에서 네트워크는 총 세 개로 구성되어 있..
<네트워크> 전송 계층 1. 전송 계층의 역할 * 전송 계층의 두 가지 역할 - 이전 장까지 물리 계층, 데이터 링크 계층, 네트워크 계층을 살펴 보았다. 그러나 이 계층들은 목적지에 데이터를 보내는 중에 데이터가 손상되거나 유실되더라도 아무것도 하지 못한다. - 전송 계층은 목적지에 신뢰할 수 있는 데이터를 전달하기 위해 오류를 점검하고, 애플리케이션을 식별하는 기능을 가지고 있다. - 전송 계층은 오류가 발생하면 점검하여 데이터를 재전송하도록 요청한다. - 컴퓨터가 데이터를 받더라도 어느 애플리케이션에 전달해야할지 알아야 한다. 홈페이지인지 메일프로그램인지 등을 구분하도록 전송된 데이터의 목적지가 어떤 애플리케이션인지 식별한다. * 연결형 통신과 비연결형 통신 - 연결형 통신 : 신뢰할 수 있고 정확한 데이터를 전달하는 통..
<네트워크> 네트워크 계층(2) 1. 네트워크 주소 & 브로드캐스트 주소 * 네트워크 주소와 브로드캐스트 주소란 - IP주소에는 네트워크 주소와 브로드캐스트 주소가 있다. 이들은 특별한 주소로 컴퓨터나 라우터가 자신의 IP로 사용하면 안된다. - C클래스 사설IP 주소의 예는 다음과 같다. - 네트워크 주소 : 전체 네트워크에서 작은 네트워크를 식별하는데 사용된다. 호스트 ID가 10진수로 0이면 그 네트워크 전체를 대표하는 주소이다. - 브로드캐스트 주소 : 네트워크에 있는 컴퓨터나 장비 모두에게 한 번에 데이터를 전송하는 데 사용되는 전용IP 2. 서브넷 * 서브넷 - 서브넷 : 하나의 네트워크가 분할되어 나눠진 작은네트워크를 의미한다. 클래스 단위로만 분류를 한다면 적절한 네트워크의 크기로 구분할 수 없다. 따라서 서브넷으로 분할..
<네트워크> 네트워크 계층(1) 1. 네트워크 계층의 역할 * 네트워크 간의 연결 구조 - 다른 네트워크에 있는 목적지로 데이터를 전달하려면 네트워크 계층의 기술이 필요하다. - 지난 장에서 다룬 데이터 링크 계층에서는 이더넷 규칙을 기반으로 데이터 전송을 담당했다. 따라서 같은 네트워크에 있는 컴퓨터로만 전송이 가능했다. - 네트워크 A~C와 같이 네트워크 간 통신을 가능하게 하는 것이 네트워크 계층의 역할이다. 이 때 라우터라는 네트워크 장비가 필요하다. - 라우터는 해당 목적지까지 어떤 경로로 가는 것이 좋을지를 알려준다. - IP 주소: 랜에서는 MAC주소만으로 목적지를 판단했으나 네트워크 간에는 네트워크를 식별할 수 있는 별도의 주소가 필요하다. - 라우팅 : 목적지 IP 주소까지 어떤 경로로 데이터를 보낼지 결정하는 것 - ..
<네트워크> 데이터 링크 계층 1. 데이터 링크 계층의 역할과 이더넷 * 이더넷 - 랜에서 데이터를 주고 받으려면 두 번째 계층인 데이터 링크 계층의 기술이 필요하다. - 데이터 링크 계층은 네트워크 장비 간에 신호를 주고 받는 규칙을 정하는데, 일반적으로 많이 사용되는 규칙이 이더넷이다. 쉽게 말해 이더넷은 네트워크를 구성하는 방식 중 하나의 방법이며, 오늘날 LAN을 대표하는 가장 대중적인 기술이다. - 앞서 봤었던 허브를 생각해보자. 데이터를 받으면 연결된 모든 컴퓨터에 보내버린다고 했었다. 이런 경우를 대비해서 규칙이 있다. 목적지 정보를 추가해서 보내는 것인데, 이렇게 하면 다른 컴퓨터는 데이터를 받더라도 무시하게 된다. - 충돌 : 컴퓨터 여러 대가 동시에 데이터를 보내면 데이터들이 서로 부딪히는 것 - 충돌을 피하기 위해..
<네트워크> 물리 계층 1. 물리 계층의 역할과 랜 구조 * 전기 신호 - OSI 모델의 1계층인 물리 계층은 0과 1만으로 이루어진 비트열을 전기 신호로 변환한다. - 전기 신호의 종류에는 아날로그 신호와 디지털 신호가 있다. - 아날로그 신호는 물결 모양이며, 전화회선이나 라디오 방송에 사용된다. - 디지털 신호는 막대모양이다. 비트열을 위와 같이 바꿔서 네트워크를 통해 전송하고, 수신 측 컴퓨터는 이를 다시 0과 1의 비트열 데이터로 변환한다. * 랜카드 - 컴퓨터는 네트워크를 통해 데이터를 송수신할 수 있도록 랜 카드가 메인보드에 포함되어 있는 내장형 랜 카드나 별도의 랜 카드를 가지고 있다. 2. 케이블의 종류와 구조 * 트위스트 페어 케이블 - 전송매체 : 데이터가 흐르는 물리적인 선로로 유선과 무선으로 나뉜다. -..
<네트워크> 네트워크 기본규칙 1. 네트워크의 규칙 * 프로토콜 - 프로토콜은 원래 외교상의 언어로써 국가간의 약속을 의미했다. 여러 나라와 각 나라의 언어로는 대화가 불가능한데 이럴 때 만약 영어로 하자고 규칙을 정한다면 대화가 가능해질 것이다. - CS에서 프로토콜은 시스템끼리 통신을 원활하게 하도록 해주는 절차나 규칙등을 의미한다. 간단하게 통신하기 위한 규칙이라고 보자. - 네트워크 용어에서 약자로 나오는 P는 대부분이 프로토콜이다. 2. OSI모델과 TCP/IP 모델 * OSI모델 - ISO에서 네트워크 기술의 기본이 되는 모델인 OSI모델을 표준 규격으로 제정하였다. - 통신 시 데이터는 7계층인 응용계층부터 차례대로 아래로 전달된다. - 송수신 측면에서 보면 다음과 같이 데이터를 주고 받는다. * TCP/IP 모델 - T..
<네트워크> 네트워크 구조와 LAN&WAN 1. 네트워크의 구조 * 네트워크 - CS에서 네트워크란 2대 이상의 컴퓨터가 연결되어 통신 가능한 것을 의미한다. 네트워크를 통해 컴퓨터는 데이터를 서로 주고 받는다. - 인터넷 : TCP/IP 프로토콜을 사용하는 세계 최대 규모의 컴퓨터 통신 네트워크 * 패킷 - 패킷은 네트워크를 통해 전송되는 데이터 조각을 의미한다. - 큰 데이터가 있더라도 작게 나누어 보내는게 규칙이다. 만약 큰 상태 그대로 보낸다면 네트워크의 대역폭을 많이 차지하여 다른 패킷 흐름을 방해할 수 있다. 좁은 도로에 큰 트럭들이 천천히 다니고 있다고 생각해보라. - 패킷이 도착하고 원래 데이터로 되돌리는 작업이 필요한데, 이를 위해서 패킷에 순서를 붙여서 전송한다. - 패킷은 전송한 순서대로 도착하지 않는다. 그러나 부여받는 번호..