네트워크 기초
네트워크 기초
네트워크에 대한 기초적인 용어와 상식을 알아봅니다.
이 페이지의 내용은 스터디 발표를 목적으로 만들어진 자료를 그대로 옮긴 내용입니다.
네트워킹
- 여러 장비나 컴퓨터를 연결하여 서로 연결된 장비들끼리의 통신이 가능하도록 하는 것
- 인터넷 (인터 + 네트워크)
- 여러 네트워크를 연결(인터) 하는 것
- 여러 네트워크끼리 통신이 가능해야 하므로 연결된 모든 네트워크는 하나의 프로토콜만 사용해야 함. (TCP/IP)
네트워킹의 방식
- 여러 장비나 컴퓨터등이 서로 네트워킹을 하기 위한 여러가지 방식이 존재
- Ethernet
- 토큰링
- FDDI
- ATM
- 등등…
- 네트워킹 방식이 달라진다면 그에 따른 장비나 케이블 랜카드 등등도 달라져야 한다.
토큰링
네트워킹의 방식중 첫번째로 토큰링이란, 토큰을 가진 장비나 PC만 데이터를 전송할 수 있습니다. A라는 컴퓨터가 토큰을 가지고 데이터 전송이 완료되었다면 토큰을 옆의 PC로 넘깁니다. 따라서 토큰이 있는 PC만 데이터 송신이 가능하고 없으면 수신만 하므로 항상 동시에 1개의 컴퓨터만 전송이 가능하죠. 하지만 단점은 보낼 데이터가 없는애도 토큰을 가졌다가 다시 넘겨주는 동작을 해줘야하고, 데이터를 보내고 싶은 PC도 자신에게 토큰이 올 때 까지 기다려야 하는 문제가 있습니다.
Ethernet
두번째로 이더넷이라는 네트워킹 방식이 있습니다. 이녀석은 CSMA/CD 라는 프로토콜을 사용하여 통신을 합니다. (유선 이더넷 랜) 간단하게 대충 눈치껏 통신하자라는 의미.
반송파 감지 즉 케리어 센스라는 말은 저 하나의 선로상에 누군가 데이터를 송신중인가를 감지 한다는 말입니다.
회선이 하나이기 때문에 선로상의 단 하나의 호스트만이 데이터를 송신 가능합니다.
그러면 어떻게 한 순간에 한 호스트만이 전송하는지 알아봅시다.
A에서 B로 데이터를 전송한다고 하였을때를 가정하고 한번 보죠!
첫번째로 회선의 사용여부를 확인합니다. 이 과정을 케리어 센스 라고 합니다. 이 부분은 물리적인 내용으로 전기적인 신호가 오고 있는지 아닌지 그런 원리로 검사하는것 입니다. (회선에 자기가 주고 있는 전압보다 높은 전압이 감지되거나 등등 그런 방식들로 감지한다고 합니다.)
현재는 회선을 아무도 사용하고 있지 않다고 가정한 상태에서의 통신을 보면 아래와 같습니다.
1. 회선의 사용여부를 확인
2. 아무도 회선을 쓰고 있지 않으니 데이터를 전송
다른 상황으로 A와 B가 동시에 데이터를 보내고 싶었고, 동시에 케리어센스를 했다면
동시에 데이터를 보내려고 할겁니다. 왜냐면 MA 멀티 액세스이기 떄문이죠. (토큰링 방식은 불가능했음)
그러면 이 경우에는 어떻게 될까요??
1. A, B 동시에 회선의 사용여부를 확인
2. 아무도 회선을 쓰고 있지 않으니 A와 B가 동시에 데이터를 전송
일단 보낸후에도 충돌이 발생했는지에 대한 부분도 감시를 하고 있습니다.
충돌이 일어나면 전기적으로 합선이 된거니까 아무 의미없는 데이터가 되어버리겠지요..
그러면 충돌이 일어난 경우에는 “백오프 알고리즘” 이란걸 사용합니다. 내부적으로는 막 확률적으로 계산하고 그러지만 그냥 간단하게 서로 “랜덤” 한 시간 후에 재 전송을 시도합니다. 그러면 랜덤한 시간이기때문에 언젠가 전송을 성공하겠죠? 물론 무한정 보내질때까진 하지 않습니다. (16번의 충돌이 발생하면 전송을 포기한다고 합니다)
Ethernet 방식의 문제점
호스트가 2대일때 알아봤는데, 호스트가 많아질수록 어떤 문제가 발생할까요?
저 호스트들이 100개 200개 1000대라면.. 나중엔 거의 통신 불능이 될겁니다.
이렇게 충돌이 발생했을때 충돌의 영향을 받는 호스트들을 모두 같은 “콜리젼 도메인” (충돌 도메인)에 있다고 표현합니다.
이정도로만 일단 알고 지나가고, 이 충돌 도메인은 줄이면 줄일수록 좋습니다. 그래서 이 충돌도메인을 줄이기 위해 스위치나 브릿지 같은 장비가 나오게 됩니다.
위와 같이 충돌의 영향을 받는 호스트들을 모두 같은 “Collision Domain (충돌 도메인)”에 있다고 표현.
OSI 7 계층
네트워크의 통신이 일어나는 과정이나 구조를 7 가지로 나눠 계층간 상호 동작 방식을 정해놓은 것. 이 부분에 대한 내용도 많은 내용이므로 따로 알아보세요.
그림 우측에 있는 DATA, Segment, Packet, Frame, Bit 는 각 계층에서 붙인 데이터를 부르는 이름 입니다.
간단한 용어 상식
- MAC 주소
- 랜카드의 주소(전 세계에서 유일한 값)
- 유니캐스트
- 목적지를 가지고 해당 목적지랑 통신하는 방식. 간단하게 말해서 1:1 통신
- 브로드캐스트
- 자신이 속해있는 네트워크에 있는 모든 호스트에게 전달할 때 사용
- 멀티캐스트
- 특정 그룹에 있는 호스트들에게 전달할 때 사용.
Hub (더미허브) - 물리계층 장비 (1 Layer)
- 단순한 신호분배 기능
Bridge/Switch - 데이터 링크 계층 장비 (2 Layer)
- 맥 주소를 이용한 호스트 관리
- 각 포트별로 Collision Domain을 나눠준다.
Bridge/Switch 의 기능과 작동 원리
- Learning
- Flooding
- Forwarding
- Filtering
- Aging
위 5가지 기능에 대한 동작 설명은 이 블로그 게시글에서는 하지 않겠습니다.
Router - 네트워크 계층 장비 (3 Layer)
- 네트워크와 네트워크를 연결시켜주는 장비
- 각 포트별로 “브로드캐스트 도메인”이 나눠진다