1. 네트워크 지식의 필요성
1.1. 네트워크, 인터넷
1.1.1. (컴퓨터)네트워크의 의미
- 여러 개의 장치가 그물처럼 서로 연결되어 정보를 주고받을 수 있는 통신망
1.1.2. 인터넷의 의미
- 네트워크와 연결된 지구 반대편의 장치와 정보 교환을 가능하게 하는 기술
- 즉, 여러 네트워크를 연결한 '네트워크의 네트워크'
1.2. 확인 문제
1.2.1. 여러 장치가 연결되어 정보를 주고받을 수 있는 통신망을 '인터넷' 이라고 합니다.
1.2.2. 네트워크에 대한 설명
- (X) 네트워크에 대한 이해는 프로그램을 만드는 과정에 도움을 주지 않습니다.
- (O) 네트워크에 대한 이해는 프로그램을 유지 보수하는 과정에 도움을 줄 수 있습니다.
- (O) 많은 프로그램이 네트워크를 통해 다른 장비와 상호 작용하며 실행됩니다.
- (O) 채용 시 네트워크에 대한 지식을 강조하거나 검증하는 기업을 존재합니다.
2. 네트워크에 대한 거시적 접근
2.1. 네트워크의 기본 구조
- 그래프 : 노드와 노드를 연결하는 간선으로 구성된 자료 구조
- 자료 구조 : 정보를 표현하고 다루는 방법
- 노드 : 정보를 주고받을 수 있는 장치
- 간선 : 정보를 주고 받은 유무선 통신 매체
- 네트워크는 '노드', '간선', '메시지'로 구성됨
2.1.1. 호스트(End System)
- 네트워크 가장자리에 위치한 노드
- 최초의 정보 생성 및 송신, 최종적 정보 수신
- 개인 데스크톱, 노트북, 스마트폰, 시계, 자동차, 냉장고, TV 등
2.1.1.1. 서버 & 클라이언트
- 호스트가 네트워크 상의 역할에 따라 서버 혹은 클라이언트로 구분됨.
- 서버 : 어떠한 서비스를 제공하는 서비스
- 파일, 웹 페이지, 메일 등
- 클라이언트 : 어떠한 서비스를 요청하고 서버의 응답을 받는 호스트
- request & response
2.1.2. 네트워크 장비(중간노드)
- 네트워크 장비 : 호스트 간 주고받는 정보가 원하는 수신지까지 안정적이고 안전하게 전송될 수 있도록 함
- 중간노드 : 호스트 간 주고받을 정보가 중간에 거치는 노드
- 이더넷 허브, 스위치, 라우터, 공유기
- 호스트와 네트워크 장비는 상호 배타적인 개념이 아님
2.1.3. 통신 매체
- 각 노드를 연결하는 선(간선)
- 유선/무선 매체
2.1.4. 메시지
- 통신 매체(간선)로 연결된 노드가 주고 받는 정보
2.2. 범위 별 네트워크 분류
2.2.1. LAN(Local Area Network)
2.2.2. WAN(Wide Area Network)
2.2.2.1. ISP(Internet Service Provider)
2.2.3. CAN & MAN
- CAN(Campus Area Network) : 학교 또는 회사의 여러 건물 단위로 연결
- MAN(Metropolitan Area Network) : 도시나 대도시 단위 연결
2.3. 메시지 교환 방식 별 네트워크 분류
2.3.1. 회선 교환 방식
- 회선을 설정하고 메시지를 주고받는 방식
- 회선 : 메시지 전송로
- 메시지를 교환하기 전에 두 호스트를 먼저 연결
- 장점 : 전송되는 정보의 양이 비교적 일정함
2.3.1.1. 회선 스위치
- 호스트 사이에 일대일 전송로를 확보하는 네트워크 장비
- 예시 : 전화망
- 단점 : 낮은 효율
2.3.2. 패킷 교환 방식
2.3.2.1. 패킷
- 패킷 교환 네트워크 상에서 송수신되는 메시지의 단위
- 예시 : 2GB 크기의 파일을 패킷단위로 쪼개어 전송 후, 데이터 수신지에서 재조립
- 패킷 ≒ 택배상자
- 송신자, 송신지, 수신자, 수신지 정보를 가지고 있음
2.3.2.2. 패킷 스위치
- 패킷이 수신지까지 가기 위해 최적의 경로를 결정하거나 패킷의 송수신지를 식별
- 예시 : 라우터, 스위치
2.3.2.3. 페이로드
- 패킷을 통해 전송하고자 하는 데이터
- 송신하고자 하는 순수 데이터
- 페이로드 ≒ 택배 상자 속 물품
2.3.2.4. 헤더 & 트레일러
- 패킷에 붙는 부가 정보 또는 제어 정보
- 헤더는 IP, MAC 주소 정보를 가지고 있음
2.3.2.5. 유니캐스트
- 가장 일반적인 송수신 방식
- 하나의 수신지에 메시지를 전송하는 방식
- 송/수신지 간의 일대일 통신
2.3.2.6. 브로드캐스트
- 자신을 제외한 네트워크상의 모든 호스트에게 전송하는 방식
- 브로드캐스트 도메인 : 브로드캐스트가 전송되는 범위
2.3.2.7. 기타
- 멀티캐스트 : 네트워크 내 동일 그룹에 속한 호스트에게만 전송
- 애니캐스트 : 네트워크 내 동일 그룹에 속한 호스트 중 가장 가까운 호스트에게 전송
2.4 확인 문제
1. 네트워크의 구성 요소로 옳지 않은 것
- (X) 프로그래밍 언어
- (O) 호스트
- (O) 통신 매체
- (O) 메시지
2. LAN과 WAN에 대한 설명
LAN은 가정, 기업처럼 비교적 근거리를 연결하는 한정된 공간에서의 네트워크를 의미, WAN은 이보다 넓은 범위의 네트워크를 의미
3. 네트워크에 대한 미시적 접근
3.1. 프로토콜
- 노드 간에 정보를 올바르게 주고받기 위해 합의된 규칙 또는 방법
3.1.1. 프로토콜의 종류
- IP : 프로토콜의 일종
- ARP : IP 주소를 MAC 주소로 대응하기 위한 프로토콜
- HTTP(S) : HTTP 규칙의 프로토콜, HTTP 규칙에서 보안 기능이 향상된 HTTPS
- TCP/UDP : UDP 보다 느리지만 신뢰성이 높은 프로토콜
- 프로토콜 마다 패킷의 헤더 내용이 다르며, 헤더가 없는 프로토콜도 존재
3.1.1.1. TCP 구조
3.1.1.2. UDP 구조
3.2. 네트워크 참조 모델
3.2.1. 네트워크 참조 모델(네트워크 계층 모델)
3.2.2. OSI 모델
- 국제 표준화 기구에서 만든 네트워크 참조 모델
3.2.3 OSI 7계층 모델과 네트워크 계층 모델의 차이
- OSI 모델은 주로 네트워크의 이론적/이상적 기술
- TCP/IP 모델은 실제 구현 중심의 네트워크 참조 모델
- TCP/IP 모델 = TCP/IP 4계층, 인터넷 프로토콜 스위트(Internet Protocol Suite), TCP/IP 프로토콜 스택
3.2.3.1 참고 개념
- 프로토콜 스위트, 프로토콜 스택 : 다양한 계층의 프로토콜 집합
3.3.1. OSI 7계층과 TCP/IP 4계층의 의미
- 실제 기능을 담당하지 않음
- 네트워크 구조에 대한 참고 모델 또는 가이드 라인
- 엄격히 구분 지을 수 없음
3.3. 캡슐화와 역캡슐화
3.3.1. 캡슐화(인캡슐레이션)
- 패킷 교환 네트워크에서 메시지는 패킷 단위 송수신
- 패킷은 헤더, 페이로드로 구성(때론 트레일러도 포함)
- 프로토콜의 목적에 따라 헤더의 내용이 달라질 수 있음
- 상위 계층에서 받은 패킷을 페이로드(순수 전달하고 싶은 데이터)로 삼아, 프로토콜에 걸맞은 헤더/트레일러를 덧붙여 하위 계층으로 전달
3.3.2. 역캡슐화(디캡슐레이션)
- 캡슐화 과정에서 붙였던 헤더(및 트레일러)를 각 계층에서 확인 후 제거
3.4. PDU(Protocol Data Unit)
- 각 계층에서 송수신되는 메시지의 단위
- 상위 계층에서 전달받은 데이터에 현재 계층의 포로토콜 헤더(및 트레일러)를 추가하면 현재 계층의 PDU가 된다.
- 패킷 : 패킷 교환 네트워크에서는 쪼개어져 전송되는 단위를 통칭하기 위한 일반 용어, 네트워크 계층에서의 송수신 단위를 지칭하기 위해 사용되기도 함(=IP 패킷).
4. 참고사항
4.1. 트래픽과 네트워크 성능 지표
- 트래픽 : 네트워크 내의 정보량
- 처리율(Throughput) : 단위 시간당 네트워크를 통해 실제로 전송되는 정보량
- bps(bit/s) : 초당 비트 수
- Mbps(Mbit/s) : 초당 메가 비트 수
- Gbps(Gbit/s) : 초당 기가 비트 수
- pps(p/s) : 초당 패킷 수
- 대역폭
- 주파수의 범위(신호 처리 영역에서)
- 단위 시간 동안 최대 송수신 정보량(네트워크 성능 측정 영역)
- bps, Mbps, Gbps 단위 사용
- 패킷 손실 : 송수신되는 패킷의 손실 상황
5. 확인문제
5.1. 네트워크에 대한 설명 (O/X)
- (X) 네트워크에 대한 이해는 프로그램을 만드는 과정에 도움을 주지 않습니다.
- (O) 네트워크에 대한 이해는 프로그램을 유지 보수하는 과정에 도움을 줄 수 있습니다.
- (O) 많은 프로그램이 네트워크를 통해 다른 장비와 상호 작용하며 실행됩니다.
- (O) 채용 시 네트워크에 대한 지식을 강조하거나 검증하는 기업이 존재합니다.
5.2. 네트워크 참조 모델에 대한 설명 (O/X)
- (O) OSI 모델은 7개의 계층으로 통신 과정을 구분합니다.
- (X) TCP/IP 모델은 3개의 계층으로 통신 과정을 구분합니다.
- (O) 네트워크 참조 모델은 네트워크 구성과 설계를 용이하게 합니다.
- (O) 네트워크 참조 모델은 네트워크 문제 진단과 해결을 용이하게 합니다.