CS

CS/네트워크

프로토콜

네트워크에서 통신할 때의 규약을 프로토콜이라고 한다. 한정된 자원으로 통신을 수행해야 하다 보니 최대한 적은 데이터를 이용해 효율적인 프로토콜을 정의해야했다. 그래서 초창기에는 적은 자원, 느린 네트워크를 가지고 효율적으로 통신해야했기 때문에 2진수 비트기반의 프로토콜을 정의했다. 지금은 문자 기반 프로토콜들이 많이 사용되고 있는데 대표적으로 HTTP, SMTP가 있다. 데이터를 텍스트로 보내기 때문에 효율성은 비트 기반보다 떨어지나 다양한 확장이 가능하다는 장점이 있다.

CS/네트워크

네트워크 구성도

홈 네트워크 흔히 집에서 사용하는 네트워크 구성으로 어떤 인터넷 회선을 연결하더라도 같다. 최근 대부분의 집이 공유기를 사용하고 있는데 일반 사용자들은 이를 통해 홈 네트워크를 쉽게 구성할 수 있다. 구성요소로는 모뎀, 공유기, 단말이 존재하며 서로간의 무선 or 유선 연결이 필요하다. 데이터 센터 네트워크 안정적이고 빠른 대용량 서비스 제공을 목표로 구성한다. 이를 구성하기 위해서는 다양한 이중화 기술, 높은 통신량, 고속 이더넷 기술을 갖추고 있어야한다. 구성요소로는 기존 3계층 구성이 일반적이였지만 가상화 기술과 높은 대역폭을 요구하는 스케일 아웃 기반의 시스템이 등장하면서 2계층 구성인 스파인-리프 구조로 변화되였다.

CS/개발지식

API와 SDK란

API 란 Application Programming Interface의 약어로 응용 프로그램이 자신과 연관된 프로그램을 만들 수 있도록 제공하는 인터페이스이다. 예를 들어 햄버거집에서 버거를 주문한다고 하자, 내가 카운터에 버거를 주문을 하면 그 주문내역을 주방에 전달한다. 이때 카운터가 API 역할을 하는 것이고 주문자는 주방에서 무슨 일이 일어나는지 몰라도 된다. 이는 API의 장점인 해당 기능을 구체적으로 알지 못하더라고 그저 API만 가져다써서 개발을 가능하다는 것이다. SDK란 System Developer's kit의 약어로 개발자들에게 제공되는 개발도구이다. 예를 들어 Visual Studio, IntelliJ 같은 IDE, JDK 등이 있다.

옥탑방고래
'CS' 카테고리의 글 목록 (5 Page)