병훈's Blog

후니형이 쉽게 써준 네트워크 기초 본문

Computer/Network

후니형이 쉽게 써준 네트워크 기초

thdqudgns 2023. 11. 24. 21:04

Networking, Internet, Intranet, Extranet

네트워킹: 서로 연결해서 대화하는 것
인터넷: 여러 개의 네트워크를 묶은 것
인트라넷: 내부의 네트워크, 회사 사람들끼리만 사용하는 네트워크
엑스트라넷: 기업의 인트라넷을 외부의 사람들도 사용할 수 있는 네트워크

 

 

인터넷의 특징

 

  1. 하나의 *프로토콜 TCP/IP 만을 사용한다.
  2. 웹 브라우저를 이용해서 인터넷을 탐험한다
  3. 인터넷에는 없는 정보가 없다

*프로토콜: 대화의 규칙 (프로토콜이 안 맞으면 대화가 불가능하다)

 


Local Area Network, Wide Area Network

LAN: 한정된 공간의 네트워크
WAN: 멀리 떨어진 곳을 연결한 네트워크

 

LAN, WAN


Ethernet, Carrier Sense Multiple Access/Collision Detection

이더넷: 네트워킹의 한 방식, CSMA/CD 프로토콜을 사용해 통신
CSMA/CD: 대충 알아서 눈치로 통신하자

 

CSMA/CD에 대한 설명

 

이더넷 환경에서 통신을 하고 싶어하는 PC는, 먼저 현재 네트워크에 통신이 일어나고 있는지 확인한다.

즉, 캐리어(네트워크 신호)가 있는지를 감지한다. 이것을 "Carrier Sense"라고 한다.

만약 캐리어가 감지되면, 자기가 보낼 정보가 있어도 못 보내고 기다린다.

그러다 캐리어가 감지되지 않으면(네트워크 통신이 없으면) 눈치를 보다가 무조건 자기 데이터를 보낸다.

 

그런데 만약 두 PC가 눈치를 살피다가 동시에 자기 데이터를 보냈다면?

이더넷에서는 이렇게 2개 이상의 PC가 동시에 네트워크에 데이터를 실어 보낼 수 있다.

이 경우를 바로 "Multiple Access(다중 접근)"라고 한다.

 

통신에서 2개의 장비들이 동시에 데이터를 보내려다 부딪치는 경우를 충돌(Collision)이 발생했다고 한다.

따라서 이더넷은 네트워크에 데이터를 보내면서 *콜리전(충돌)이 발생하지 않았는지 점검해야 한다.

이것이 바로 "Collision Detection(충돌 감지)" 이라는 것이다.

콜리전이 발생하게 되면, 데이터를 전송했던 PC들은 랜덤한 시간 동안 기다린 후 다시 데이터를 전송한다.

데이터를 보낼 때마다 콜리전이 발생하면 다시 보내는데, 15번을 했는데도 콜리전이 발생하면 포기한다.

 

CSMA/CD

 

이더넷에서 콜리전이 발생하는 것은 CSMA/CD 특성상 자연스러운 일이지만, 

너무 많은 콜리전이 발생하면 통신 자체가 불가능해지는 경우도 있다.

이런 문제를 어떻게 방지할 수 있을까?

 

*콜리전이라는 단어를 많이 사용하기 때문에, 충돌을 영어발음대로 작성함

 


TokenRing

TokenRing 방식: 네트워크에서 토큰을 가진 하나의 PC만 네트워크에 데이터를 실어 보낼 수 있음

 

이더넷은 자기 맘대로 막 보냈었는데, 토큰링 방식은 토큰을 가진 PC만 네트워크에 데이터를 보낸다.

데이터를 다 보내면, 바로 옆 PC에 토큰을 건네준다.

만약 전송할 데이터가 없으면 다시 옆 PC에 토큰을 건네준다.

충돌이 발생할 일이 없다.

 

TokenRing

 

대신 단점이 있다. 내 PC가 보내야 할 데이터가 있고, 다른 PC들은 보낼 데이터가 없다고 해도 기다려야 한다.

안정된 기술이지만, 이제 안 쓴다.

 

이더넷의 일반적인 속도는 100/1000Mbps 이고, 토큰링은 4/16Mbps 이다.

느려서 안 쓰는 것 같다.

 


Unicast, Broadcast, Multicast

Unicast: 특정 목적지의 주소 하나만을 가지고 통신하는 방식
Broadcast: *로컬 LAN에 붙어 있는 모든 네트워크 장비들에게 통신을 보내는 방식
Multicast: 보내고자 하는 그룹 멤버들에게만 통신을 보내는 방식

 

(*로컬 LAN == 브로드캐스트 도메인)

 

Unicast, Broadcast, Multicast

 

브로드캐스트 주소는 FFFF.FFFF.FFFF 이다.

이 주소가 오면 랜카드는 비록 자신의 MAC Address와 다르지만, 이 브로트캐스트 패킷을 CPU에게 보낸다.

따라서 자신의 MAC Address와 다르면 버렸던 유니캐스트에 비해 CPU가 할 일이 늘어날 것이다.

 

브로드캐스트는 네트워크상의 전체 노드로 전송되기 때문에 전체적인 트래픽도 증가하지만

이 패킷을 받은 모든 랜카드가 CPU로 전송하기(인터럽트) 때문에

CPU는 하던 일을 멈추고 또 다른 일을 해야 하기에 전체 PC의 성능도 떨어지게 된다.

 

브로드캐스트는 네트워크 성능에 문제를 일으키기도 하지만, 꼭 필요한 기능을 제공한다.

 

  1. 처음 두 PC 간에 통신을 하는 경우에는 상대편의 MAC Address를 모른다. IP는 알 수 있어도 말이다.
    이 경우에 상대의 MAC Address를 알아내기 위해서 ARP 동작을 하는데, ARP가 바로 브로드캐스트다
  2. 라우터끼리 정보를 교환하거나 다른 라우터를 찾을 때
  3. 서버가 모든 클라이언트에게 알릴 때

이러한 브로드캐스트들은 한 번 발생하고 끝나는 것이 아니라, 보통 30초나 1분에 한 번씩 주기적으로 발생하게 된다.

 

멀티캐스트를 사용하기 위해서는 라우터나 스위치에서 멀티캐스트를 지원해줘야만 한다.

만약 라우터에서 지원하지 않는다면, 멀티캐스트를 브로드캐스트처럼 취급해서 다 막아버리고

스위치에서 지원하지 않는다면, 멀티캐스트를 브로드캐스트처럼 모든 포트에 뿌려버린다.

(라우터는 원래 브로드캐스트를 막아버리는 성질이 있다)

 

멀티캐스트는 IP 주소의 경우에 클래스 D를 사용한다.

 

 

책: <후니의 쉽게 쓴 CISCO 네트워킹>

 

 

728x90
728x90

'Computer > Network' 카테고리의 다른 글

후니형이 쉽게 써준 허브 (Hub)  (1) 2023.11.25
후니형이 쉽게 써준 OSI 7 Layer  (1) 2023.11.25
VLAN (ref. 후니의 쉽게 쓴 CISCO 네트워킹)  (1) 2023.11.23
랜선 (LAN Cable)  (1) 2023.11.23
네트워크 기초  (1) 2023.11.12