네트워크란?
"정보공유"를 위해 PC와 PC 들이 모여서 생긴 망 이다.
여기선 망이라는 것은 그물망과 비슷하다.
그물망처럼 얽히고 설켜서 연결된 느낌을 생각하면 된다.
프로토콜이란?
데이터 전송규약이라고 하는데
쉽게 말해서 데이터 전송도구라고 보면된다.
프로토콜이 있어야 데이터를 전송할 수 있다!
프로토콜은 같은 프로토콜끼리만 통신이 가능하다.
서로 다른 프로토콜이 통신을 하려면 어떻게 해야할까?
같은 프로토콜로 통합이 되어야 한다.
대표적으로 우리가 알고 있는 IP
즉, Internet Protocol 이 있어서
서로 다른 네트워크 (서로다른 프로토콜)들이 연결이 가능한 것
HTTP 라는 어떤 데이터가 있다고 해보자
이 데이터를 보내려면
encapsulation 이라는 작업을 거쳐야 한다.
encapsulation 은 해석하자면 캡슐화이다.
우리가 쇼핑몰에서 물건을 주문해서 배송이 올 때를 본다면
물건을 박스에 담아서 포장하고 박스위에 출발지 목적지 등등을 써서 우리에게 보낸다.
Ethernet | IP | TCP | HTTP
그래서 인캡슐레이션이라는 것은
HTTP 라는 데이터를 보내기 위해
TCP, IP, Ethernet 이라는 프로토콜 정보를 추가하는 패키지과정이라고 알아두자
그리고 위의 각 Ethernet, IP, TCP 는 헤더라고 하고 각종 정보들을 가지고 있다.
대표적으로 보내는 사람의 주소와 받는사람의 주소의 정보가 있다. 소포처럼.
위는 와이어샤크라는 프로그램으로 데이터를 캡처한 모습이다.
빨간색 원은 http 가 가지고 있는 정보를 나타내고
그위로 각각 TCP, IP, Ethernet 헤더들이 인캡슐레이션 되어 있다.
헤더 순서는 정해져 있다.
포장을 한 것이 왔으면 뜯어야 되지 않겠는가?
포장의 반대는 즉, 인캡슐레이션의 반대
decapsulation(디캡슐레이션) 이라고 한다.
포장을 한 물품이 내 것이 아니면 뜯으면 안되는 것처럼
나한테 온것만 받는다~ 라고 생각하면 되고
자신한테 온 데이터가 아니면 디캡슐레이션 하지 않는다고 알아두자.
헤더의 사이즈는 와이어샤크로 클릭만 해보면 잘 보인다
네트워크는 정보공유를 위해서 생겨난 망이고
네트워크에도 종류가 있다.
여러 네트워크의 종류가 있는데 한번 알아보자
첫번째는 LAN 이라는 네트워크다
Local Area Network의 약자인데
한국어로 근거리 통신망이다.
내부 네트워크라고도 하고 쉽게 말하면 가까운 곳에서 서로 통신하는 네트워크라고 보면 된다.
프로토콜은 Ethernet 프로토콜로 데이터를 전송하며
장비는 허브, 스위치, 무선 공유기, LAN 카드 등이 있다.
허브는 현재는 안쓰고 스위칭허브라는 것을 쓰고
LAN 카드는 PC 에 있는 LAN 카드라고 불리우는데
정식명칭은 NIC(Network Interface Card)인데
그냥 LAN 에서 쓰여서 LAN 카드라고 불린다.
이런점에선 LAN 케이블도 비슷하다.
정식명칭은 UTP 케이블이지만 LAN 에서 쓰이니 LAN 케이블이라고 불린다.
LAN 에선 Ethernet 프로토콜만 쓴다고 보면 된다.
그게 배우는 입장에서도 사용하는 입장에서도 간편하고 쉽기 때문 ㅎㅎ
두번째 네트워크는 WAN 이다.
Wide Area Network 의 약자로
Wide 하면 넓은, 광범위한 이란 뜻을 가지고 있고
그냥 넓게 멀리 쓰는 네트워크라고 보면 된다.
LAN 과 LAN 이 연결된 네트워크가 WAN 이다.
WAN 구간에서 쓰는 프로토콜은
HDLC, PPP, Frame-relay 등이 있는데 요건 잘 안쓰이고
지금은 Ehternet 이 겁나 많이 발전해서 이제는 이더넷으로 많이 쓴다고 보면 된다.
그래도 각종 기사시험엔 Ethernet 은 LAN 구간에서 쓴다고 알려져있으니
시험 볼 땐 그렇게 채택하자
네번째는 Intranet 이 있고
보통 회사들의 내부네트워크라고 보면된다.
정보가 유출되면 안되기 때문에 자기들끼리만 쓰는 네트워크
군대에서도 잘 볼수 있다.
군사목적의 Arpanet 은 Internet 의 모체라고 보면 된다.
데이터 전송 관계
데이터라는 정보가 전송이 된다고 할 때
데이터를 주고 받는 개체는 2개가 필요하다
간단히 말해서 요청하는자와 응답하는자라고 보면 된다.
이 관계를 클라이언트(요청)와 서버(응답)라고 한다.
식당가서 음식을 주문하면 가게 점원이 음식을 가져가 주는 것이라고 생각하면 쉽다.
데이터 전송 방식
데이터 전송방식 3가지로 나뉜다.
유니캐스트, 브로드캐스트 멀티캐스트, 3개가 있다.
간단히 말하면
유니캐스트는 1:1 통신으로
현재 우리가 네트워크상에서 가장 많이 사용하는 트래픽이다.
통신을 위해서는 전송되는 프레임안에 항상 출발지와 목적지의주소가 있어야하고
그 주소가 1:1매칭 될 때 유니캐스트라고 한다.
LAN 네트워크에서 통신을 할 때 유니캐스트는 자신의 LAN카드 MAC 주소와
수신한 MAC 주소를 비교해 자기것이 아니면 버리고 맞으면 받는다.
버리기때문에 CPU에 영향을 주지않고 성능저하는 발생하지 않음.
브로드캐스트는 1:다수 통신으로
한마디로 자기영역에 싹 뿌리는 것이라고 생각하면 된다.
LAN 네트워크에 붙어 있는 모든 네트워크 장비들에게 보내는 통신이다.
로컬 LAN 은 라우터에 의해 구분되는 공간이자 브로드캐스트 도메인이라고 하는 공간이다.
집에 있을 때 밖에서 고물상이 냉장고, 선풍기~~ 등등 산다고 방송을 외치면
듣기 싫어도 나한테 들린다. 듣고 싶었든 아니든 들린다.
브로드캐스트도 마찬가지로 무조건 받는다.
그래서 PC가 브로드캐스트 패킷을 받게되면 PC CPU 에 올려서 처리해주세요~ 하고
인터럽트(방해) 를 건다. " 지금 하던일 멈추고 이것부터 해결해줘 ^^7 " 라고 건다.
그래서 PC 의 성능저하가 발생한다.
브로드캐스트는 대표적으로 ARP 가 있는데
ARP 는 주소를 해결해주는 도구라고 생각하면 된다.
처음 통신을 할 때 상대방의 MAC 주소를 모르고 상대방의 IP 주소를 안다면
"이 IP 주소 가진 사람 누구야?" 하고 싹 뿌려버려서 응답을 받아서 MAC 주소를
알게된다면 통신을 할 수 있게 된다. 이 기능을 하는것이 바로 ARP
멀티캐스트는 1:특정그룹 통신으로
예를 들어 100명의 사용자가 사용하는 네트워크에서
72명에게만 같은 정보를 동시에 보내야 한다고 할 때
유니캐스트를 이용하면 일일히 72명에게 보내야하는 번거로움이 있고
트래픽도 증가된다.
그렇다고 브로드캐스트를 보내면 나머지 28 명도 원치 않게 받게되어
PC 의 성능이 저하가 된다.
그래서 사용하는 것이 멀티캐스트
특정 그룹에게만 딱 보내는 것이다.
멀티캐스트는 유니캐스트와 브로드캐스트의 장점을 결합했지만
스위차나 라우터가 이 기능을 지원해야 사용가능하다.