도순씨의 코딩일지
보안시스템 :: 네트워크 기본 (서킷 스위칭, 패킷 스위칭, OSI 7계층, 서브넷 마스크) 본문
보안시스템 :: 네트워크 기본 (서킷 스위칭, 패킷 스위칭, OSI 7계층, 서브넷 마스크)
도순씨 2020. 9. 13. 00:00🌼 전화 통신망 : 서킷 스위칭(Circuit Switching)
서킷 스위칭을 하기 전에 콜 셋업(Call Setup) 과정을 거쳐야 합니다. 콜 셋업은 단말간에 트래픽을 전송하기 위해 연결 경로를 설정하는 과정입니다. 경로를 설정하면 통신하는 동안 회선을 독점적으로 사용할 수 있는 권리를 가집니다. 초기 전화는 번호를 돌려 전류를 생성하고, 전류가 지역 교환기에 전송되고, 교환수는 전화를 건 사람과 받을 사람을 잭으로 연결해주는 역할을 했습니다. 이 절차를 자동적으로 구현한 것이 현재까지도 구현한 것이 시그널링(Signaling)입니다. 시그널링은 뚜~ 하고 신호음이 나는 사이에 이루어진다고 생각하시면 됩니다. 즉, 시그널링을 통하여 교환수가 예전에는 일일이 잭을 옮겨서 연결해주었던 과정을 자동적으로 할 수 있게 되었습니다.
다시 한 번 그림을 통해서 알아봅시다.
이런 식으로 통신망이 설치되어 있다고 칩시다. 각 통신망 사이에는 한 회선이 아니라 여러 회선으로 이루어져있습니다. 따라서 그 사이에 다른 사람이 전화를 건다고 해도 원활하게 전화 통신이 가능합니다. 하지만 만약 특정 회선이 끊겼다면 다른 회선으로 우회를 해서 사용하면 됩니다. 하지만 앞에서 살펴본 것처럼 전화통신망은 콜 셋업의 과정을 진행하기 때문에 이미 전화를 걸었던 회선은 다시 전화를 걸어여 한다는 단점이 있습니다.
음성은 잡음이 섞이면 잘 들리지 않습니다. 따라서 통화 품질이 중요합니다. 여러 명이 같이 쓰다보면 품질이 저하되는 것은 자연스러운 일입니다. 따라서 전화는 적절한 대역폭을 보장하여 품질을 보장해줍니다. 즉, 다른 사람은 동시에 사용하지 않는 것입니다.
🌼 데이터 네트워크 : 패킷 스위칭(Packet Switching)
패킷스위칭은 전송할 데이터를 작은 블록의 패킷으로 나누고 각 패킷마다 발신지 주소, 목적지 주소, 패킷 순서를 추가하여 목적지로 발송합니다. 나중에 조합할 때 누가 보낸지 꼭 알 수 있어야 하기 떄문에 발신지 주소는 중요합니다. 각 패킷마다 개별적으로 경로를 설정하고 목적지에서는 패킷을 순서에 따라 조합하여 데이터를 구성합니다. 보낸 것과 순서가 다르게 도착할 수 있기 때문에 패킷 순서를 보고 조합을 해야 합니다. 만약 조합할 때 특정 패킷이 도착하지 않았다면 보내달라고 다시 요청하면 됩니다.
🌼 네트워크 분류
LAN(Local Area Network) 는 네트워크 매체를 이용하여 건물 등 가까운 지역을 한데 묶는 컴퓨터 네트워크입니다. 한정된 지역에서 컴퓨터를 기본으로 하는 여러 가지 전자기기 사이의 자유로운 정보교환이며 구축한 사용자가 직접 관리하고 운영해야합니다. 또한 서로 다른 회사의 기기간에도 통신이 가능하기 때문에 호환성이 좋습니다. 전송매체로는 UTP(꼬임선)이나 광케이블을 사용합니다. 프로토콜은 이더넷(Eternet, IEEE 802.3), 무선랜(IEEE 802.11)이 있습니다.
WAN(Wide Area Network) 는 광대한 지역의 단위로 LAN과 LAN을 연결하는 통신 네트워크로 전용선(선택사항. 포함할 수도 있고 포함하지 않을 수도 있음)을 포함합니다.
주요 프로토콜로는 Frame Relay, PPP, HDLC 등이 있습니다. WAN의 연결기술로는 전용선, 회선 교환, 패킷 릴레이, MPLS 등이 있습니다. 현재는 MPLS(Multi-Protocal Label Switching)과 SD-WAN(Software Defined WAN)을 사용하는 추세입니다.
🌼 이더넷 (Ethernet)
이더넷은 IEEE 802.3 표준 규격으로 유선 LAN 프로토콜을 담당하고 있습니다. 원래는 ' 토큰링 ' 이라는 토큰과 함께 데이터를 보내는 기법이 쓰이고 있었습니다. 지금도 대규모 백본 네트워크에서 쓰이고 있긴 하나, 이더넷이 훨씬 더 많이 사용되고 있습니다. 초기 버스형 네트워크에서 허브 중심의 스타형으로 구조가 변경되었습니다.
통신방식은 CSMA/CD(Carrier Sense Multiple Access/Collision Detection) 방식을 사용하고 있습니다.
1번 그림은 통신을 하는 사람이 없으면 전송하는 것을 뜻합니다. 충돌을 하게 된다면 다시 단말에 알려줍니다. 그리고 랜덤 타임을 기다린 다음 재전송을 합니다. 다른 상대방도 랜덤한 시간을 기다린 다음 재전송을 합니다. CSMA/CD 방식은 기본 통신 방식으로 broadcast 방식을 사용합니다. 전송된 네트워크를 모든 사람들이 볼 수 있기 때문에 Network Sniffing(네트워크 스니핑)의 여지가 있습니다. 이러한 매체 공유형 이더넷은 다음과 같은 단점이 있습니다.
💡 단말이 늘어날 때 마다 전체 대역폭이 나누어진다
💡 단말이 늘어날 때마다 collision의 발생 가능성이 늘어난다 -> 네트워크 라인을 함께 사용하기 때문.
이러한 문제를 해결하는 방법은 '이더넷 세그먼트를 나누고 브리지로 연결' 하는 것입니다. 브리지는 LAN을 더 작은 공유형 세그먼트로 나누어줍니다. 유니캐스트(Unicast) 트래픽은 해당 세그먼트 안에서만 전송이 되며 브로드캐스트(Broadcast) 트래픽은 모든 세그먼트로 전송됩니다. 브리지는 Coliision을 전송하지 않습니다. 세그먼트 내에서만 충돌을 처리하기 때문입니다.
앞에서 설명한 유니캐스트 전송방식은 패킷의 내용이 같을지라도 만약 세 개의 단말에 패킷을 보낸다고 하면 3번이나 패킷을 보내주어야 합니다. 이는 매우 비효율적입니다. 단점을 극복하기 위해서 만들어진 방식이 Multicast 방식입니다. 멀티캐스트 방식은 그룹에 속한 단말에만 패킷을 보내는 방식입니다.
🌼 OSI 7 Layer
OSI 7 Layer는 Open Systems Interconnection Reference Model로 국제 표준화 기구(ISO)에서 개발한 통신에 관한 계층화 표준 모델입니다. 계층을 구별하면 각 계층별로 나누어 표준을 만들어 서로 다른 벤더의 상호운용성을 확보할 수 있습니다. 또한 문제 발생 시 해결이 용이합니다.
4계층인 Transport 계층에서는 프로토콜을 선택합니다. 3계층인 네트워크 계층에서는 패킷을 종단간 전달하고 논리적 주소를 사용하여 종단 장치를 구분합니다. 1계층인 물리적 계층에서는 데이터 전송에 있어서 전기적인 신호화를 합니다.
데이터링크 계층(L2) 통신 장비로는 L2 스위치가 있습니다. L2 스위치는 데이터 링크 계층까지만 참조하여 MAC 주소를 확인합니다. 네트워크 계층(L3) 통신 장비로는 라우터가 있습니다. 라우터는 네트워크 계층까지만 참조하여 IP 주소를 확인합니다. L4 네트워크 장비는 전송계층을 참조하여 port 정보를 확인 가능하며 L7 네트워크 장비는 Application 계층을 참조하여 이메일, 웹 브라우저 등 사용자 어플리케이션의 데이터를 확인 가능합니다. 즉, 어느 영역까지 갔느냐에 따라서 볼 수 있는 정보들이 달라집니다.
🌼 장비
허브 는 매체 공유형 집선 장치입니다. 물리적 계층에서 네트워크 디바이스들을 연결해주는 L1 네트워크 장비로 멀티포트 리피터(전기적 신호 증폭)또는 콘센트레이터(신호를 모아주는 역할)이라고 합니다. 이것은 L1 더미허브의 역할입니다. L2 스위칭 허브랑은 다릅니다. 허브는 들어오는 신호를 모든 포트로 재전송하고 전체 대역폭을 나누어 사용합니다. 다른 설정 필요 없이 전원 연결 후 바로 사용하면 됩니다.
브리지 는 데이터링크 계층 L2 장비로 네트워크 세그먼트를 연결하고 프레임을 전달합니다. 프레임 헤더의 MAC 주소를 분석하여 프레임을 전송 또는 제거하는 역할을 합니다.
💡 Learning : 단말이 통신을 위해서 프레임을 보내면 해당 단말의 MAC 어드레스를 저장
💡 Flooding : 테이블에 없는 MAC 어드레스의 통신은 다른 모든 포트로 전송 (한 번도 통신을 하지 않아서 모르는 경우)
💡 Forwarding : 목적지 MAC 어드레스를 알고 다른 세그먼트인 경우 해당 포트로 전송 (이미 한 번 이상 통신을 한 경우)
💡 Filtering : 출발지와 목적지가 같은 세그먼트인 경우 브리지를 건너지 못하게 차단
💡 Aging : MAC 어드레스 저장 후 일정시간 동안 해당 프레임이 없으면 삭제 (브릿지 테이블에 기록이 너무 많아서는 안됨)
스위치 는 데이터링크 계층 L2 장비로, 프레임의 목적지 MAC 어드레스를 분석하여 프레임을 필터링, 전송 및 브로드캐스트합니다. 스위치는 브리지 기술을 기반으로 어드레스 테이블을 작성하고 관리하며 소프트웨어적으로 프레임을 처리하는 브리지에 비해서 훨씬 고속화가 가능합니다. 앞서 살펴본 브릿지는 거의 사용하지 않으며 스위치를 대부분 사용하고 있습니다. 스위치는 브리지에 비해 제공하는 포트 수가 많으며 서로 다른 속도를 연결해줍니다. 또한 스위치에 연결된 포트에 전용 대역폭을 제공합니다. 즉, 단말 개개인을 브릿지화 시킨 것입니다.
허브와 스위치가 10Mbps라고 가정해봅시다. 허브는 모든 노드가 10Mbps의 속도를 나누어씁니다. 즉, 포트 하나하나가 10Mbps의 성능을 발휘할 수 있지만 내부에서 전송이 이루어지고 있다면 다른 단말들은 공유 불가능합니다. 반면 스위치는 A와 B가 10Mbps로 통신을 하고 있어도 C&B도 동일하게 10Mbps로 통신이 가능합니다. 즉 성능은 포트수 * 10Mbps라고 할 수 있습니다.
라우터 는 네트워크 계층 L3 장비로 패킷의 목적지 IP 주소를 분석하여 패킷을 전송하며 브로드캐스트 트래픽이 다른 세그먼트로 전달되지 않도록 합니다. 이것이 스위치와의 차별점이라 할 수 있습니다. 라우터는 포트와 세그먼트를 구분하는 네트워크 어드레스를 작성하고 라우팅 테이블을 활용합니다.
L2 스위치와 L3 라우터를 비교해보면 다음과 같이 작성할 수 있습니다.
L2 스위치 | L3 라우터 |
Collision domain의 분리 | Broadcast Domain 분리 |
MAC 주소로 전달 | IP 주소로 전달 |
프레임 | 패킷 |
IP 주소와 MAC 주소를 비교해보면 아래와 같습니다.
IP 주소 | MAC 주소 |
계층화된 주소 체계 | 계층화되지 않은 주소 체계 |
학년 반 번호 체계와 비슷 | 사람의 이름과 비슷 |
32 bits(IPv4), 128bits(IPv6) | 48bits |
세그먼트마다 다른 주소 | 실제로 네트워크 장비가 통신 시 사용하는 주소 |
MAC 주소는 24비트의 제조회사 번호와 24비트의 일련 번호로 이루어져 있습니다. MAC 주소는 유일한 주소이므로 변경과 조작이 가능하므로 보안상 문제점이 발생하고 있습니다.
IP 주소는 32비트로 이루어져있습니다. 네트워크와 호스트로 이루어져 있는데, 호스트는 네트워크에 접속되는 단말등의 네트워크 기기입니다. 네트워크 클래스는 다음과 같이 구분됩니다.
Class D와 Class E를 조금 더 살펴봅시다. Class D는 멀티캐스트 목적으로 사용됩니다. 패킷을 한 번 보내면 그 그룹에 속한 단말들은 멀티캐스트 네트워크의 신호를 수신할 수 있습니다. Class E는 연구 목적으로 사용하며 아직까지 사용되지 않고 있습니다.
라우터와 IP 주소의 관계에 대해 알아봅시다.
라우터 2대에 최소 3개의 세그먼트와 네트워크 주소가 필요합니다. 위 사진에서 S0와 S0 사이에도 네트워크 대역이 필요하기 때문입니다.
서브넷팅은 네트워크를 쪼개는 것을 의미합니다. 이렇게 쪼갠 주소는 다시 작은 영역으로 나누어 네트워크를 체계적으로 관리할 수 있습니다. 또한 브로드캐스트로 인한 보안 상의 문제가 줄어들게 되고, 외부에서는 하나의 주소체계처럼 보이기때문에 라우팅 정보를 최소화할 수 있습니다. 서브넷 마스크는 클래스마다 달라지는데 표로 정리하면 다음과 같습니다.
위 표에 따른 디폴트 서브넷 마스크 계산을 해보면
다음과 같이 계산할 수 있습니다. 서브넷의 계산은 항상 'AND' 로 이루어진다는 점을 기억해두시면 됩니다. 만약 더 쪼개고 싶다면 네트워크 영역을 더 늘리면 됩니다.
빨간색으로 색칠된 부분을 보시면 네트워크 영역을 늘림으로써 뒤에 있는 16비트를 쪼개고 있음을 알 수 있습니다.
사이더(CIDR)는 네트워크 클래스를 대체하기 위해 도입되었으며 IP 주소를 여러 영역으로 나누어줍니다. IPv4 주소를 효율적으로 사용할 수 있으며 인터넷 광역 라우팅 부담이 감소하게 됩니다. 서브넷이 큰 네트워크를 나눠서 작게 사용하는 방식이라면 사이더는 서브넷과 작은 네트워크를 합쳐서 크게 사용 가능한 방식입니다.
'𝐒𝐄𝐂𝐔𝐑𝐈𝐓𝐘 > 𝐒𝐄𝐂𝐔𝐑𝐈𝐓𝐘 𝐒𝐓𝐑𝐔𝐂𝐓𝐔𝐑𝐄' 카테고리의 다른 글
보안 시스템 :: 네트워크 계층, 방화벽, IDS / IPS (0) | 2020.10.24 |
---|---|
보안시스템 :: VLAN(Virtual LAN), 라우팅 프로토콜, TCP/IP, Spoofing, Sniffing, Snooping (0) | 2020.09.22 |
보안 시스템 :: 정의, 관련 법률 (0) | 2020.09.03 |