두 대 이상의 장치가 서로 연결돼서 정보를 주고받을 수 있는 통신망
- 개발자가 만드는 프로그램은 대부분 네트워크를 이용한다.
- 네트워크의 지식으로 개발자의 업무를 진행할 수 있다.(프로그램 만들기, 유지 보수)
호스트 : 가장자리의 노드, 네트워크 정보를 최초 송신/최종 수신
네트워크 장비 : 라우터, 공유기, 스위치... -> 호스트끼리 주고받는 정보를 목적지까지 안전하게 안정적으로 송수신 될 수 있도록 돕는 역할
통신 매체 : 유무선 통신(케이블, 와이파이...)
메세지
LAN : 근거리 통신망 -> 한정된 공간에서의 네트워크
WAN : 먼 거리를 연결하는 광역 통신망 -> LAN 끼리 연결되어 통신이 가능해짐
회선 교환 네트워크 -> 호스트 간에 메시지를 주고받기 전에 메시지 전송로(회선)를 설정한 뒤, 해당 전송로를 통해서만 메시지를 주고받는 네트워크
패킷 교환 네트워크 -> 메시지를 패킷 단위로 쪼개어 송수신하는 네트워크(오늘날 대부분 사용)
패킷 : 실질적인 데이터(페이로드) + 패킷에 대한 부가정보(헤더)
1. 프로토콜
- 네트워크에서 올바르게 정보를 주고받기 위해서는 호스트끼리, 네트워크 장비끼리 언어가 통해야한다.
- 노드 간에 정보를 올바르게 주고받기 위해 합의된 규칙이나 방법을 프로토콜 이라고 한다.
- 프로토콜마다 목적과 특징이 다르다 -> 프로토콜마다 목적과 특징에 맞는 정보(헤더)를 포함한다.
2. 네트워크 참조 모델
- OSI 7계층
- TCP/IP
3. 캡슐화와 역캡슐화
- 캡슐화 : 송신 과정에서 헤더 및 트레일러(데이터 링크 계층)를 추가해 나가는 과정을 의미한다. -> 계층 별로 속해 있는 프로토콜 별 헤더가 추가된다.
- 역캡슐화 : 캡슐화의 반대 -> 캡슐화되는 과정에서 붙은 헤더와 트레일러를 제거해 나가는 과정을 의미한다.
- 네트워크 내의 정보량 -> 특정 노드를 경유하는 정보량
한 노드가 처리하기 어려울 만큼의 과도한 트래픽을 받게 되면 과부하로 인한 성능 저하가 발생할 수 있다.
1. 처리율
단위 시간당 네트워크를 통해 실제로 전송되는 정보량
2. 대역폭
통신 매체를 통해 송수신 할 수 있는 최대 정보량
3. 패킷손실
몇 개의 패킷이 손실 되었는지를 나타내는 지표