1. 네트워크
네트워크는 그물망처럼 여러 사람, 시스템이 연결되어 일이나 작업을 수행하는 구조로, 여러 분야에서 활용된다.
쉽게 말해 두 개 이상의 대상들이 연결되는 것이다.
Net(그물망) + Work(일하거나 작업하는 것)
그중에서 개발자가 설명해야 하는 개념은 컴퓨터 네트워크!
입출력 대상이 서로 다른 두 컴퓨터일 때
데이터 교환이 이루어지는 프로그래밍 동작
2. 컴퓨터 간 데이터를 주고받으려면 무엇이 필요한가?
두 컴퓨터가 있다. A 컴퓨터 자리에 앉은 학생이 B 컴퓨터 자리에 앉은 학생에게 강의 자료를 전달하려고 한다.
1) 물리적인 통신망 연결
먼저 어떻게 연결해야 할까?
USB로 전달한다. 랜선으로 연결한다. 공유 폴더를 연동한다. 등등 다양한 방법을 떠올릴 수 있다.
두 컴퓨터가 물리적인 매체(WIFI, USB 등)를 사용하여 컴퓨터나 네트워크 장비들이 연결되어야 데이터를 교환할 수 있다.
2) 데이터를 송수신할 수 있는 소프트웨어
두 컴퓨터 간의 연결을 완료했다면 다양한 방법을 사용하여 자료를 전달할 수 있다.
두 컴퓨터 간에 어떤 양식과 규칙으로 자료를 전달할지 정해야 한다.
➡️ 프로토콜
어떻게 방식으로 전달할지 정했다면 전화망(전화기 설치), 전력망(전봇대 설치)와 같은 네트워크 인프라가 필요하다.
➡️ 통신 인터페이스
프로토콜
프로토콜이란 컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계이다.
프로토콜 종류는 TCP/IP, HTTP, FTP, SMTP 등이 있다.
프로토콜 | ||||
인터넷 사용하는 컴퓨터 | TCP/IP | 인터넷 사용하는 컴퓨터 | ||
인터넷을 사용하는 컴퓨터 간에 데이터를 전송하는 데 사용되는 프로토콜 | ||||
클라이언트 | HTTP | 서버 | ||
웹 클라이언트와 서버 간에 통신하기 위한 프로토콜 | ||||
클라이언트 | FTP | 서버 | ||
파일 전송을 위한 프로토콜 | ||||
이메일 서버 | SMTP | 이메일 서버 | ||
이메일을 보내기 위한 프로토콜 |
통신 인터페이스
서로 다른 두 컴퓨터가 데이터를 교환할 수 있도록 하는 인터페이스는 여러 종류가 있다.
Socket, 이더넷, 블루투스, USB 등을 사용할 수 있다.