📌2. 통신방식
네트워크내에서 데이터를 전송 할 때 사용하는 통신방식들을 공부한다.
2.1 유니캐스트
1 대 1 통신
- 네트워크에서 가장 많은 트래픽을 차지한다.
- 통신을 위해서는 프레임 안에 출발지와 목적지의 주소가 들어있어야 한다.
- 유니캐스트 프레임은 출발지 주소, 목적지 주소(1개의 PC)를 가져야 한다.
2.1.1 로컬 이더넷에서의 유니캐스트
붙어있는 모든 PC들에게 정보가 뿌려진다.
그리고 로컬 네트워크상의 모든 PC들은 해당 프레임 수신 후 자신의 맥 주소와 비교한다.
- 자신의 맥 주소와 수신한 프레임 안의 목적지 맥 주소가 다르면 그 프레임을 버린다.
- 프레임을 버리기 때문에 해당 PC의 CPU에 영향을 주지 않는다.
- PC의 성능저하가 없다.
- 자신의 맥 주소와 목적지 맥 주소가 같으면 해당 프레임을 CPU로 보내고 CPU가 해당 프레임을 처리한다.
👉A의 CPU에는 프레임이 전달되지 않는다.
2.2 브로드캐스트
로컬 랜에 붙어있는 모든 장비들에게 보내는 통신
- 로컬 랜 : 라우터에 의해 구분된 공간
- 브로드캐스트 주소를 확인한 랜카드는 해당 프레임을 CPU로 올려보낸다.
- 트래픽이 증가하고 CPU성능이 저하된다.
- 통신 시작시 상대 맥 주소를 모를 때 ARP를 위해 사용한다.
- 라우터들끼리 정보를 교환하거나 다른 라우터를 찾기위해 사용한다.
- 서버들이 자신이 어떤 서비스를 제공하는지 클라이언트들에게 알릴 때 사용한다.
- 보통 30초~1분의 주기를 갖는다.
👉A의 CPU에 인터럽트가 발생하고 성능을 저하시킨다.
2.3 멀티캐스트
보내고자 하는 그룹 멤버들에게만 한 번에 보내는 통신
- 멀티캐스트는 라우터나 스위치에서 지원을 해줘야 사용가능하다.
- 미지원시: 라우터는 차단하고, 스위치는 브로드캐스트 한다.
- 멀티캐스트는 클래스D IP주소를 사용한다.
예를 들어 200명의 사용자가 있는 네트워크에서 150명에게만 같은 정보를 보내야 하는 상황
2.3.1 vs. 유니캐스트
150명의 주소로 하나씩 전부 보내야한다.
서버가 같은 데이터를 150번이나 반복해서 보내야하고, 네트워크상에도 동일 데이터가 150번 반복되므로 트래픽을 가중시킨다.
2.3.2 vs. 브로드캐스트
같은 네트워크 안에 있는 200명의 사용자에게 데이터를 모 두 전송한다.
해당 데이터가 필요 없는 50명도 이 데이터를 수신해야 하기 때문에 불필요한 CPU 성능저하가 발생한다.
📌3. OSI 7 Layer
통신 관련 국제 표준기구(ISO)에서 만들었다.
통신이 일어나는 과정을 7개의 단계로 나누고, 단계별로 표준화하여 효율성을 높이기 위해 사용된다.
👉상위계층부터 하위계층 순서대로 나열되어있다.
3.1 OSI 7 Layer 사용
데이터의 흐름이 한눈에 보인다.
- 문제를 해결하기 편하다.
👉네트워크에 문제 발생 시 해당 문제를 7개의 작은 문제로 나누고, 그 문제들을 해결한다.
- 층별 표준화를 통해 여러 다른 회사 장비를 써도 네트워크가 이상없이 돌아간다.
3.2 피지컬 계층(Physical Layer)
통신의 맨 아래 단계
- 전기적, 기계적, 기능적인 특성을 이용하여 통신 케이블로 데이터를 전송한다.
- 0과 1, 즉 전기적 on/off 신호를 단위로 통신한다.
- 단지 데이터를 전달하기만 하고, 에러가 있거나 전송방식의 효율성에 대해서는 전혀 관여하지 않는다.
👉ex) 통신 케이블, 리피터, 허브
3.3 데이터링크 계층
피지컬 레이어를 통해 송수신되는 정보의 오류와 흐름을 관리한다.
- 안전한 정보의 전달을 수행할 수 있도록 도와준다.
- 오류찾기, 재전송 등의 기능을 포함한다.
- 맥 주소를 통해 통신할 수 있게 해준다.
- 프레임 단위로 정보를 전송한다.
👉ex) 브리지, 스위치
3.4 네트워크 계층
라우팅 : 데이터를 목적지까지 빠르고 안전하게 전달한다.
- 경로를 선택하고, 주소를 정하고, 경로에 따라 패킷을 전달한다.
👉ex) 라우터, Layer3 스위치 (라우팅 기능 포함)
3.5 트랜스포트 계층
flow control과 에러 복구를 한다.
- 에러 복구를 위해 패킷을 재전송하거나 플로우를 조절해서 데이터가 정상적으로 전송될 수 있도록 한다.
👉ex) TCP, UDP
3.6 헤더
계층을 잘 지나갈수 있도록 해당 계층의 기능과 관련된 정보가 포함되어 붙는 것.
👉 전송 속도를 계산할 때 헤더로 인해 맨 처음 데이터 크기보다 실제 보내는 데이터가 커지는 것을 감안해야한다.