기타

컴퓨터 네트워크 기본

이게될까 2024. 4. 21. 15:29
728x90
728x90

네트워크란 ? - 두대 이상의 장치가 연결되어 서로 정보를 주고받을 수 있는 통신망

왜 알아야 할까? - 앱들 중에서 인터넷을 사용하지 않는 앱은 거의 없다.
대부분의 프로그램은 네트워크를 이용한다.!
개발자는 프로그램을 만들어야 하기 때문에 알아야 한다.

어디에 사용될까?
개발자 업무 1. 프로그램 만들기 2. 프로그램 유지 보수 하기
1. 공식 문서를 읽어보면 프로토콜, 쿠키,  state 등 다양한 컴퓨터 네트워크 지식이 등장한다.
2. 일부 에러 상황에서 컴퓨터 네트워크 지식이 있으면 무슨 오류 인지 조차 모른다.
TCP, UDP, IP......

거시적으로 보기

네트워크의 기본 구조는 그래프 형태이다. (노드와 간선으로 표현)
우리가 사용하는 컴퓨터와 스마트폰은 가장자리 노드에 있다.( 냉장고, TV, 워치 등등..)
네트워크 정보를 최초로 송신 하거나 최종 수신받는다. - 호스트
네트워크 장비 : 공유기, 라우터, 스위치 등등...
중간 노드 - 호스트들의 주고 받는 데이터를 안정적으로 주고 받도록 도와준다.
링크 - 통신 매체 (유선 : 케이블, 무선 : 와이파이)

네트워크 분류 - 범위에 따른 분류(LAN, WAN), 메세지 교환 방식 (회선, 패킷)
LAN - 근거리 통신망
WAN - 광역 통신망 : 다른 LAN 장비들을 연결하여 통신하게 만들어준다. 
회선 교환 네트워크 - 메세지 전송로(회선)을 미리 만든 뒤 그 전롱로를 사용해서 메세지를 주고 받는 네트워크(전화)
ㄴ 미리 만들어두고 통신을 하지 않으면 사용하지 않으면 효율이 떨어진다.(낭비 된다.)
패킷 교환 네트워크 - 메세지를 패킷 단위로 쪼개서 주고 받는다. 대부분 이 방식을 사용한다.
ㄴ 같은 전송로를 사용할 수 있어서 효율이 높다.
패킷 == 택배 : 페이로드(물품 == 데이터) + 헤더(송장, 주소) + 트레일러(필요할 경우에만)

네트워크 미시적 - 두 대의 컴퓨터가 정보를 주고받을 때 어떤일이 일어날까
프로토콜, 네트워크 참조 모델, 캡슐화, 역 캡술화

프로토콜 - 패킷 == 택배 : 택배의 송장, 내용의 언어가 택배 기사와 통해야 한다. -> 네트워크 세상의 언어이다.
노드간의 정보를 올바르게 주고받기 위해 합의된 규칙이나 방법 = 프로토콜 (http, ftp)
IP는 패킷을 수신지까지 전달하기 위해 사용되는 프로토콜이다. 
HTTPS는 HTTP에 비해 보안상 더 안전한 프로토콜이다. 
TCP는 UDP에 비해 일반적으로 느리지만 신뢰성이 높은 프로토콜이다. 
-> 프로토콜마다 목적과 특징이 다르다. - 프로토콜마다 목적과 특징에 맞는 정보(헤더)를 포함한다.
TCP의 헤더는 UDP의 헤더에 비해 복잡해서 정확하게 전달 가능하다!

네트워크 참조 모델 -> 패킷을 주고 받는 단계를 계층적으로 표현
수신 과정 == 송신 과정의 역순 
각각의 계층을 알아야한다.

캡슐화와 역캡슐화 
일반적으로 여러 프로토콜을 한번에 사용한다!
각 계층에 부합하는 프로토콜이 각각 있다. -> 각각 계층마다 헤더가 계속 추가된다.
캡슐화 - 한단계 아래 계층은 위 계층의 내용(헤더 + 페이로드)을 페이로드로 사용하고 헤더를 붙인다.
상자 안에 상자를 담는 느낌....
역 캡술화는 위 과정의 반대로 진행하여 수신 받은 데이터를 하나하나 해체한다.

트래픽 - 네트워크 내부의 정보량, 특정 노드를 지나가는 정보의 양
트래픽이 몰리면 과부화로 성능이 저하된다.
특정 내부가 감당할 수 있는 양이 정해져 있다.
성능 지표 = 처리율 + 대역폭 + 패킷 손실
처리율 - 단위 시간 당 네트워크를 통해 실제로 전송되는 정보량(bps, Mbps,Gbps, pps)
대역폭- 통신 매체를 통해 송수신할 수 있는 최대 정보량
패킷 손실- 올바르지 않게 전송된 패킷 양

 

728x90