전체 글
-
IPC네트워크 2024. 3. 16. 16:14
Inter-Process Communication의 줄임말로, 말 그대로 프로세스 간 통신에 대한 이야기입니다. 더 자세히는 프로세스 끼리 데이터를 전송하고 동기화, 상호작용하는 방법을 의미합니다. 가장 대표적인 것이 파이프일 것입니다. 리눅스 시스템에서 단방향으로 데이터를 전송할 때 사용합니다. 양방향을 원하면 2개 만들면 됩니다. 위 이미지에서 | 가 파이프입니다. 이렇게 하는 것 말고도 시스템 콜 pipe()가 있습니다. 파일 디스크립터를 사용해서 부모 프로세스와 자식 프로세스 간 입력과 출력의 방향을 만들어서 연결시키는 방식입니다. 네임드 파이프는 그냥 파이프가 전혀 모르는 프로세스에는 접근을 할 수가 없다는 단점이 있어 해결하기 위해 사용되는 방식입니다. 이름을 안다면 ..
-
C/S 아키텍처, P2P 아키텍처네트워크 2024. 3. 16. 16:08
Client-Server 아키텍처는 네트워크에서 어떠한 리소스나 서비스를 요청하는 클라이언트(엔드 시스템)와, 요청에 응답하는 서버로 이루어집니다. 보통 서버는 다수의 클라이언트의 요청을 받아야 하기에 높은 성능을 갖춥니다. C/S 아키텍처를 사용하면 좋은 점은 클라이언트와 서버 간 분산 처리가 가능하다는 점, 중앙에서 데이터를 관리하기에 효율적으로 데이터 관리 및 보안이 가능하다는 점 등이 있습니다. 그리고 서버는 항상 고정된 IP를 가져야 한다는 특징이 있습니다. 이것은 DoS 공격의 취약점이 됩니다. 서버 - 항상 호스트 - 고정적인 IP 주소 - 확장을 위한 데이터 센터가 있을 수도 - 클라우드 환경을 이용할 수도 클라이언트 - 서버와 통신 - 간헐적인 연결 - 고정적이지 않은 IP 주소 - ..
-
클라우드 컴퓨팅네트워크 2024. 3. 16. 16:07
인터넷을 통해 컴퓨팅 리소스를 제공하는 기술, 모델을 말합니다. 개별적 서버, 네트워크 인프라를 구축하지 않고 인터넷을 통해 이러한 자원을 제공 업체에게 제공받아 사용할 수 있습니다. 필요한 만큼 제공받을 수 있고, 더 필요하면 더 요구하면 됩니다. 거기에 관리도 제공 업체에서 해주니 유지 보수 비용이 크게 줄어듭니다. 초기 투자 비용 또한 줄일 수 있는 등의 장점이 있습니다. 단 클라우드 제공 업체에서 데이터를 잃어버리면 문제가 생기기에, 신뢰성 있는 업체를 고르는 것이 중요합니다. 클라우드 제공 업체는 AWS(Amazon Web Services), Microsoft Azure, Google Cloud Platform 등의 업체가 대표적입니다. 클라우드 제공 서비스의 종류로는 IaaS, PaaS..
-
웹 애플리케이션 언어네트워크 2024. 3. 16. 16:06
웹 어플리케이션 언어 기본적으로는 HTML과 CSS에 대해 이야기할 수 있을 것입니다. 정확히 프로그래밍 언어라고 칭하지는 않지만, 어쨌든 웹 애플리케이션을 개발할 때 많이 사용됩니다. HTML 태그를 통해 웹의 구조를 만들고 CSS를 통해 디자인을 할 수 있습니다. HTML은 다음과 같이 태그로 이루어집니다. HTML5은 HTML의 최신 버전으로 2014년 표준화되었습니다. 문법 면에서 상당히 간결하고 쓰기 편해졌습니다. 과거에 사용하던 외부 플러그인들을 사용하는 대신 자바 스크립트와 연동하여 다양한 기능을 사용할 수 있습니다. 위 이미지처럼 자바스크립트는 다양한 라이브러리를 활용 가능한 프로그래밍 언어로 웹 페이지에서 다양한 기능을 제공할 수 있게 만들어서 웹 애플리케이션으로..
-
인터넷의 역사네트워크 2024. 3. 16. 16:03
인터넷의 시작은 1960대 초에서 시작됩니다. 이때는 회신 교환 방식을 이용하는 전화망이 곧 네트워크였다고 생각할 수 있습니다. 컴퓨터가 발전하며 사용자들이 서로 연결되어 정보를 공유하고자 하는 욕구는 당연 했을 것이고, 이에 따라 자연스럽게 여러 기술들이 등장하기 시작합니다. 패킷 교환 방식의 등장 사용자들의 트래픽은 항상 일정하지 않기에, 회선 교환 방식보다 더 효율적으로 사용할 수 있는 방법이 필요했고, 그에 따라 레너드 클라인록이 제시했던 큐잉 이론을 이용한 패킷 교환의 개념이 탄생했습니다. 그리고, 1964년 랜드 연구소의 폴 바란이 군사 네트워크에 이용하기 위한 조사를 시작했습니다. 알파넷의 등장 1960년대 후반 미국의 알파(Advanced Research Projects Agency..
-
OSI 7계층네트워크 2024. 3. 16. 16:02
OSI 7계층은 네트워크 통신의 과정을 7단계로 나눈 것입니다. 일단, 왜 계층을 7개로 나누었는 지에 대해 이야기할 수 있습니다. 사실 나눈 이유에 대해서는 컴퓨터에 대해 공부하다 보면 항상 등장하는 이야기가 있습니다. 추상화입니다. 밑에서 무슨 일이 일어나는지 몰라도, 위에서는 밑 계층에서 제공하는 기능을 비교적 간단히 이용할 수 있게 만드는 겁니다. 계층 구조로 네트워크 통신을 나누지 않는다면 네트워크 프로그래밍을 할 때마다 굉장히 복잡한 과정을 거쳐야 할 것입니다. 또한, 어느 단계에서 변경이 생겨도 다른 단계에서까지 수정을 거치지 않아도 되기에 계층적 구조를 선택한 것은 합리적입니다. 윗단부터 애플리케이션, 프레젠테이션, 세션, 트랜스포트, 네트워크, 데이터링크, 피지컬 총 7개의 레이어로 ..
-
Confidentiality, Integrity, Availability보안개론 2024. 3. 8. 20:57
데이터와 정보의 차이 데이터: 날 것, 조직화 안됨, 처리되기 전, 정렬 안됨, 프로세스의 입력(처리 대상) 인포메이션: 쓸모있음, 지식임, 조직화됨, 처리됨, 정렬됨, 프로세스의 출력 풍향, 온도 -> 데이터 내일 날씨 예측 -> 정보 IT : 집행 기관에 의한 데이터 또는 정보의 자동 수집, 저장, 조작, 관리, 이동, 제어, 표시, 전환, 교환, 전송 또는 수신에 사용되는 모든 장비 또는 연결된 시스템 = 데이터/정보의 처리, 배포를 목적으로 하는 컴퓨터 시스템이나 네트워크를 개발/사용하는데 관련된 기술 IT System: 일련의 특정 기능(데이터나 정보를 저장 처리 배포)을 수행하기 위해 상호작용 또는 상호 의존에 의해 통합되고 규제되는 자원 및 절차의 조직화된 집합 Information Syst..
-
가상화, 병행성, 영속성운영체제 2024. 3. 4. 19:02
https://pages.cs.wisc.edu/~remzi/OSTEP/ Operating Systems: Three Easy Pieces Blog: Why Textbooks Should Be Free Quick: Free Book Chapters - Hardcover - Softcover (Amazon) - Buy PDF - EU (Lulu) - Buy in India - Buy Stuff - Donate - For Teachers - Homework - Projects - News - Acknowledgements - Other Books Welcome to Operating System pages.cs.wisc.edu 운영체제 - 쓰기 편한 방식으로 정확하고 효율적으로, 메모리 공유, 장치 상호작용,..