Part 03. TCP/IP와의 만남
* TCP/IP (Transmission Control Protocol/Internet Protocol)
: 프로토콜의 한 종류. 인터넷을 사용하기 위해 꼭 필요한 프로토콜. ARPANET에 의해 처음 개발.
* NIC(Network Information Center) : 유일한 IP주소를 사용하기 위해 공인된 IP주소를 나눠주고 관리해주는 기관.
* IP 주소
: 네 자리의 십진수로 이루어져 있고, 십진수 한 자리는 이진수 8자리로 이루어져 있기 때문에, 한 자리가 최소 0부터 최대 255까지 가능하다.
>> IP주소가 현재 6%만 남아있는 수준이기 때문에, 현재 주소체제보다 훨씬 많은 주소를 부여할수 있는 방법인 IPv6을 사용하려고 한다.
현재 사용하던 IPv4 (버전 4) 가 32개의 이진수로 이루어진 것에 비해서 IPv6 (버전 6) 이라는 주소방식은 128개의 이진수로 이루어져 있다.
* 이진수 계산(p66 – 70)
* 같은 네트워크 상에 있는 PC들은 동일한 네트워크 부분과 동일한 서브넷 마스크를 가져야한다.
* DHCP(Dynamic Host Configuration Protocol)
: IP주소를 자동으로 배정. DHCP서버에 연결된 클라이언트 PC가 켜지면서 네트워크에 IP주소를 요청하는 브로드캐스트를 뿌리고
DHCP는 그 요청을 듣고 클라이언트에게 자신이 관리하는 IP주소중 하나를 자동으로 주게 된다.
>> PC마다 하나하나 IP주소를 미리 지정해놓지 않고 네트워크에 필요한 IP주소를 전부 가지고 있다가 IP주소를 요구하는 PC에는 그때그때 자동으로 분배해주는 방식이다.
Part 04. 네트워크 장비들에 관한 이야기
* NIC(Network Interface Card) 1
: 일반적으로 랜카드(Lan Card)로 불리고 네트워크 어댑터
라고도 불림. 주변에서 가장 많이 볼 수 있는 네트워크 장비.
유저의
데이터를 케이블에 실어, 허브나 스위치 혹은 라우터등으로 전달해주고 자신에게 온 데이터를 CPU에게 전달해주는 역할.
1. 어떤 환경에서 사용하는 가에 따라서 이더넷용 랜카드와, 토큰린용, FDDI, ATM용으로 구분.
2. 데스크탑용 랜카드와 노트북용 랜카드 (PCMCIA 방식)로 구분. 이외에 외장용 랜카드 (프린터용) 등 존재.
3. 속도에 따라, 크게 10메가, 100메가, 10/100메가, 1기가
등으로 구분. 과거 10Mbps 2용이 대부분 이였으나,
현재는 100Mbps용이
대부분, 최근에는 1기가 랜카드도 설치되는 추세.
>> 네트워크 상에서 날아다니는 데이터의 양이 그만큼 커졌다는 것을 의미.
4. 랜카드에 접속하는 케이블의 종류에 따라, TP포트를 가진 랜카드, BNC나 AUI포트를 가진 랜카드,
광케이블과 접속하는 랜카드 등으로 구분하기도 함.
>>> 랜카드 사용 추세 :
AUI,BNC용 커넥터가 있는 랜카드 사용 > AUI,BNC,UTP 커넥터 모두 있는 콤보 방식 랜카드 사용 >
현재는 UTP 타입을 사용하는 것이 일반적.
* PC의 버스 3방식
1. PCI 방식 > 현재 가장 많이 사용하고 있는 방식.
2. ISA 방식 > 과거 많이 사용했던 방식.
3. EISA 방식 (Enhanced ISA) > 간혹 서버급 PC에서 보이는 방식.
>> 랜카드와 PC의 버스방식을 맞추어 설치해 줘야함.
목적지인 데이터 (목적지 주소가 자신의 랜카드 맥 어드레스와 일치하는 데이터)가 들어왔을 때,
랜카드는 컴퓨터의 CPU에게 자기가 가지고 있던 IRQ를 이용해서 인터럽트를 걸게 됨.
그럼 CPU는 IRQ번호를
보고 랜카드 요청한 서비스인 것을 인식.
데이터에게 어떤 서비스할 것인지를 미리 정해놓은 장소 (Base Memory쪽)으로 이동해서 작업시작.
> IRQ가 다른서비스를 위해 이미 예약한 번호일 경우 랜카드 인식불가. 현재는 랜카드 장착후 부팅시 PC가 자동으로 사용하지않는 IRQ 배정.
* 리피터(Repeater) : 케이블이 갈 수 있는 최대거리 이상 떨어진 네트워크 장비 사이를 UTP케이블로 연결시키기 위해,
중간에서 들어온 데이터를 다른 쪽으로 전달해주는 역할을 하는 것.
* 허브 : 한마디로 멀티포트
리피터라고 볼 수 있음. 랜카드가 설치된 각각의 PC들은
케이블을 타고 허브에 연결.
같은 허브에 연결된 PC끼리
서로 통신 가능. 허브는 서로 연결하게 되면 마치 한대의 허브처럼 동작 가능. (제한사항 존재)
1. 랜카드처럼 이더넷용, 토큰링용으로
구분
2. 이더넷 허브도 속도에 따라 일반 허브(10Mbps)와 패스트(100Mbps)가 존재.
>> 랜카드 속도에 맞는 허브를 사용해야 함.
3. NMS(네트워크 관리 시스템)을 통해서 관리가 되는 가에 따라 인텔리전트(Intelligent) 허브, 더미(Dummy) 허브, 세미인텔리전트(SemiInelligent) 허브로 4 나눔. 인텔리전트 허브는 BMS상에서 모든 데이터 분석 및 제어가능. > 대형 네트워크상 NMS 사용시 필요.
허브에 연결된 한 PC가 문제가 생겨 계속해서 허브에 데이터를 보내면 다른 모든 PC들은 Collision 발생으로 통신 불가능 상태가 됨.
(이더넷의 CSMA/CD특징이 원인)
> 인텔리전트 허브의 경우 문제PC 포트를 찾아내 자동으로 Isolation시켜 문제 있는 포트를 방출시킴. 분리된 포트는 허브에서
램프로 표시. > 이 기능을 Auto Partition이라
부름.
* 허브의 작동 방식
1. 1번부터 5번
PC가 허브에 연결되어 있는 상황을 가정. 1번 PC가 2번 PC에 데이터를
전송하는 경우,
1번 PC가 데이터를 허브를 통해 전송하면
허브는 데이터가 들어온 1번 포트를 제외하고 나머지 모든 포트로 그 데이터를 뿌려주게 됨.
2. 나머지 3번
~ 5번 PC들은 자신에게 온 데이터라는 것을 알고 데이터를
무시하고 버림.
이 과정에서 자신에게 온 데이터인지 알아내는 역할을 하는 것이 랜카드. 5
3. 2번 PC는
자신에게 온 데이터라는 것을 아고 데이터를 받아들이게 되고, 랜카드는 CPU에게 인터럽트를 걸어 데이터 처리를 요청.
>> 이더넷 허브이므로 CSMA/CD의 적용을 받음.
>>> 하나의 PC가 허브에 데이터를 보내고 있을 때, 다른 PC가 데이터를 보내려고 하면 충돌발생.
> 같은 허브에 연결되어 있는 모든 PC들은 같은 Collision Domain상에 있다고 표현.
>>>> 허브를 계속 연결 해 나갈수록 Collision Domain의
크기는 점점 커지게 됨.
>>>>>한 순간에 한 PC만이 데이터를 보낼 수 있는 기능을
수행하는 허브를 Shared허브라고 함.
> 10Mbps의 속도를 그 허브에 연결된 모든 PC들이 공유하는 것이기 때문에,
허브에 연결된 PC들은 10Mbps의
속도를 10Mbps의 허브에 연결되어 있는 PC의 수만큼
나눈 속도가 실제 속도.
> 허브와 허브가 연결되면 두 허브에 붙어있는 PC들은 모두 하나의 Collision Domain 안에 있는 것이기 때문에 Collision이
더 자주 발생 할 수 밖에 없음.
*스태커블(Stackable) 장비와
단독(Standalone) 장비
: 스태커블형은 허브나 스위치를 쌓아 놓을 수 있도록 해놓은 것, 단독은 단독 사용시 사용.
스태커블형의 경우 장비간의 연결에 효율적으로 설계됨. 스택커블 간 연결 시, 백플레인(Backplane) 6
> 속도 증가 및 장비 중 하나가 고장이 나더라도 다른 장비에 영향X.
NMS(네트워크 관리시스템)을 이용해 관리 시 전체 스택 장비를
한 대의 장비처럼 관리가능. 단독형도 효율이 떨어질 뿐 장비간 연결은 가능.
*브릿지(Bridge)과
스위치(Switch)
: Collision Domain이 너무 커지게 되어 Collision에 의해 영향을 받는
PC가 너무 많아지고 통신의 속도가 점점 떨어지는 문제를 해결하기 위해 Collision Domain을 나누어 줄 수 있는 장비.
Ex) 1번포트 PC와 2번포트 연결PC가 데이터를 주고받는 동안에도 3번포트 연결 PC와 4번포트 연결PC가
서로 데이터를 주고받을 수 있도록 해주는 장비.
>> 포트별로 Collision Domain이 나누어져 있다고 표현.
스위치의 경우 각각의 포트에 연결된 PC가 독자적으로 10
또는 100mbps의 속도를 가진다.
>>> 스위치와 허브의 선택 유무는 돌아다니는 데이터의
성격에 따라 선택.
아무리 스위치가 Collision Domain을
나누었다 하더라도 서버의 경우 한 대밖에 없는 경우 스위치도 서버와의 연결은 동시에 한 PC만 가능.
즉 붙어있는 모든 장비가 한 곳으로 향할 경우 속도 향상X.
* 브릿지(Bridge)
: 스위치의 원조격. 허브는 나누지 못하는 Collision
Domain 나누어 주는 역할.
중간에서 Bridge 테이블을
보면서 한 세그먼트에서만 통신이 일어나면 다른 세그먼트로 가지 못하도록 하고, 통신이 다른 세그먼트일
경우만 허용.
* 브릿지(Bridge)와
스위치(Switch)의 수행과정 (p109 그래프)
1. Learning : 자신의 포트에 연결된 PC가 통신을 위해 프레임을 내보내면 전송한
PC의 Mac Address를 읽어 자신의 Mac Address Table(Bridge Table)에 저장해 놓는다. 그후, 다른 PC가 그 PC에게
통신할 경우 자신의 Bridge Table을 참고해 통과유무 결정.
2. Flooding : 들어온 프레임이 찾아가는 주소가 브릿지 테이블에 없는 주소라면, 들어온
포트를 제외한 나머지를 모든 포트로 뿌리는 것. Flooding은 브로드캐스트나 멀티캐스트의 경우에도
발생.
3. Forwarding : 브리지가 목적지의 Mac Address를 Bridge Table에 가지고 있고, 목적지가 출발지의 목적지가 다른
세그먼트에 존재하는 경우 발생. Flooding은 해당 포트쪽으로만 프레임을 뿌림.
4. Filtering : 브리지를 못 넘어가게 막는다는 뜻. 브리지가 목적지의 Mac Address를 Bridge Table에 가지고 있고, 출발지와 목적지가 같은 세그먼트 상에 있는 경우 막게됨.
>> Collision Domain을 나누어 줄 수 있는 이유.
5. Aging : Bridge Table은 한정되어 있기 때문에 일정 시간이 지나면 Mac
Address를 Bridge Table에서 삭제. 삭제하기
전에 다시 그 프레임이 브리지에 들어오면 타이머는 리셋되고 다시 처음부터 카운트함. >> 이를
리플래시(Refresh)한다고 표현.
* 브리지와 스위치의 차이점
1. 처리 방식 ( >> 처리속도 : 스위치
> 브리지)
브리지 : 소프트웨어적으로
프레임 처리
스위치
: 하드웨어적으로 프레임 처리(ASIC –
application-specific integrated circuit)
2. 포트 속도 지원
브리지 : 포트들이
같은 속도를 지원
스위치 : 서로
다른 속도를 연결해줄 수 있는 기능 지원
ex) 10메가 포트와 100메가 포트 연결지원
3. 포트 수
브리지 : 대부분
2개에서 3개의 포트를 가짐.
스위치 : 몇십
또는 몇백 개의 포트 제공
4. 프레임처리 방식
브리지 :
store-and-forward 방법 만을 사용.
스위치 : cut-through
방식, store-forward 방식 사용
** 프레임 처리방식
1. 스토어-앤-포워드 방식 (Store-and-forwarding)
:
2. 컷 스루 방식 (Cut-through)
:
3. 프래그먼트-프리 (Fragment-Free)
: Store-and-forwarding 방식과 Cut-throguh 방식의 장점을 결합한 방식.
전체 프레임이 다
들어올 때 까지 기다릴 필요가 없다는 측면에서 Cut-through 방식과 유사하며,
처음 48비트만 보는것이 아닌 처음 512비트를 본다는 측면에서 에러 감지능력이 Cut-through에
비해 우수.
* 루핑(Looping)
: 브리지나 스위치에서 자주 발생하는 현상으로, 프레임이 네트워크 상에서 무한정으로 돌아,
이더넷의 특성상 네트워크가 조용해야 데이터를 전송할 수 있는 다른 장비들이 무한정을 기다리면서 데이터 전송이
불가능해지는 상태.
- 하나의 호스트에서 다른 호스트로 가는 경로가 두 개 이상 만들어 지는 경우,
Host A가 Broadcast Packet을 전송 >
양쪽 Bridge(Switch)에 전달. 7 > 두 개의 Bridge는 이 패킷을 분석.
> Bridge는 패킷이 브로드캐스트 패킷이라는 것을 깨닫고 Flooding.
> 상대방쪽 세그먼트로 Broadcast packet이 전달.
> 양쪽 Bridge 모두 패킷이 다리를 건너게 됨. > 계속 반복 > Looping
>> 자동으로 루핑을 막아주는 알고리즘인 스패닝 트리 알고리즘(Spanning Tree Algorithm) 이용.
* 폴트 톨러런트(Fault
tolerant)
: 네트워크 상에 어떤 문제가 발생할 때를 대비해서 미리 장애를 대비 해놓는 것.
대부분
이중 구조를 의미하고 전체 네트워크가 하나의 지점에서 발생한 장애로 영향을 받는 것을 방지하기 위한 대책.
* 로드 밸런싱(Load
balancing)
: 간단히 말해 로드를 분산하는 것. 대부분의 로드 밸런싱은 폴트 톨러런트가 가능하지만, 폴트 톨러런트는 로드 밸런싱이 안되는 경우도 존재.
*스패닝 트리 알고리즘(Spanning
Tree Algorithm)
: 스위치나 브리지에서 발생할 수 있는 루핑을 미리 막기위해 두 개 이상의 경로가 발생하면 하나를 제외하고,
나머지 경로들을 막아 두었다가, 기존 경롱에 문제가 생기면 막아놓은 경로를 풀어 데이터를 전송하는 알고리즘.
> 모든 스위치는 스패닝 트리 알고리즘을 지원.
>> 스패닝 트리 알고리즘에 의해 링크가 끊어졌을 때, 다른 링크가 연결해주는데
1분이상 소요.
>>> 이러한 전통적인 약점을 보완하기위해, 시스코의 이더 채널(Ether-Channel) 8기술, 업링크 패스트(Uplink
Fast) 등이 등장.
* 라우터(Router)와 스위치(Switch)의 비교
- 스위치의 장점
1. 가격
2. 속도
3. 구성의 편리성
- 스위치의 한계
1. 브로드 캐스트
: 인터넷 전체가 하나의 브로드캐스트 도메인이라고 한다면, 부팅시 이 브로드캐스트가 다른 PC에 모두 전달.
통신 시 상대편의 맥주소를 찾기 위해 ARP를 사용하게 되는데, 이 ARP는 모든 PC에 CPU 성능 저하를 일으킴.
>> Broadcast Domain을
나눌 필요성이 존재.
>>> 라우터가 브로드캐스트 도메인을 나누어주는 9 역할.
* 라우터(Router)
: 1. 스위치가 보장하지 못하는 보안 기능 10 제공.
2. 로드 분배기능 11 제공
3. 그 외에 프로토콜이나 데이터의 크기, 중요도 등 여러 상황에 따라 트래픽의 순서를 조정해주는 Qos(Quality
of Service)기능 제공.
- 시작> 제어판 > 시스템 > 하드웨어 탭 > 장치관리자 > 네트워크 어댑터 정보에서 랜카드 정보 확인 가능. [본문으로]
- 데이터 전송속도가 1초에 10,000,000 bit인 것을 의미. > 1초에 1MB정도의 파일 전송. 그러나 실제 상황에서는 많은 경우에 차이가 많이남. [본문으로]
- 컴퓨터에서 데이터가 날아가는 길. [본문으로]
- 일단 더미 허브이나, 인텔리전트 허브와 연결시 자신도 인텔리전트 허브가 됨. [본문으로]
- 들어온 프레임의 목적지 맥 어드레스를 보고 나서 자신의 맥 어드레스와 비교한 후 자기 것이 아니면 버리는 역할. [본문으로]
- 장비 간에 데이터 전송을 위해 연결된 일종의 고속도로) [본문으로]
- 이더넷의 특성상, 같은 세그먼트에 있는 모든 네트워크 장비에 브로드캐스트 전달. [본문으로]
- 여러 개의 링크가 마치 하나의 링크처럼 인식되게 하는 기술. [본문으로]
- 브로드캐스트 도메인을 나눌 때, 사용하는 프로토콜이나 어플리케이션 프로그램에 따라 달라짐. > IP일 때, 약 500노드, IPX일 때, 300노드, AppleTalke는 200노드가 권고사항. 그러나 실질적으로는 기준의 반정도만 사용하여야 제대로 네트워크 사용가능. 노드란, 네트워크에 접속된 장비를 뜻함. 주로 PC의 숫자가 됨. [본문으로]
- 네트워크 주소에 따라 전송을 막았다 풀었다하는 필터링하는 패킷 필터링 기능 제공. 이를 통해 불필요한 트래픽이 전송되는 것을 막음. [본문으로]
- 여러 개의 경로를 가지고 있기 때문에 데이터가 여러 경로를 타고 전송될 수 있음. 스위치는 로드 분배가 가능하지만, 그 기능은 극히 제한적. [본문으로]
'IT > Network' 카테고리의 다른 글
[후니의 쉽게 쓴 시스코 네트워킹] Part 07. (0) | 2019.04.13 |
---|---|
[후니의 쉽게 쓴 시스코 네트워킹] Part 06. (0) | 2019.04.07 |
[후니의 쉽게 쓴 시스코 네트워킹] Part 06. (0) | 2019.03.31 |
[후니의 쉽게 쓴 시스코 네트워킹] Part 05. (0) | 2019.03.30 |
[후니의 쉽게 쓴 시스코 네트워킹] Part 01. - Part 02. (0) | 2019.03.22 |