오늘 날의 인터넷은 전화 교환기가 중개하는 음성통신서비스에서 컴퓨터 통신 환경으로 전환되면서 매우 활발히 쓰이고 있다. 인터넷은 라우터라는 네트워크 교환기가 패킷을 선로의 혼잡도에 따라, 다른 교환기의 고장 여부에 따라 경로를 전환해가며 전송한다. 이때 교환이라는 개념이 아주 중요히 사용되므로 이에 대해서 알아보자.
회선 교환 방식
교환이란 송신 호스트에서 수신 호스트까지 올바른 경로로 중개해주는 것을 말한다. 교환 시스템은 연결형 서비스와 비연결형 서비스로 제공되는데, 회선교환방식과 패킷교환방식이 각각에 해당된다.
회선 교환 방식은 전화연결과 같다. 미리 경로가 정해지며 고정 대역폭을 할당받아 안정적인 데이터 전송이 가능하다. 경로가 일정하기에 데이터들이 모두 같은 경로로 움직이며 순서가 뒤바뀌지 않는다.
그러나 한정된 네트워크 자원에서 고정된 경로를 할당을 해버리면 많은 사용자가 몰렸을 시에 자원을 이용하지 못하는 사용자가 나올 수 있다는 단점이 있다.
추가로 메시지 교환 방식이 있는데 경로를 미리 설정하지 않는다. 대신 메시지 헤더마다 목적지의 주소를 표기해놓는다.
경로 상의 라우터들은 같은 목적지 주소를 가진 메시지들을 자신의 버퍼에 저장 후 모두 도착했다고 판단하면 다시 다음 라우터로 전송한다. 즉 데이터의 전송 단위가 라우터이다.
패킷 교환 방식
패킷 교환 방식은 데이터를 패킷이란 단위로 나눈다. 패킷들은 독립된 경로로 라우팅 작업을 통해 목적지까지 전송된다.
패킷 단위로 전 네트워크를 독립적인 경로로 전송하기 때문에 고정된 대역폭이 존재하지 않는다.
고정된 대역폭이 존재하지 않으므로 전송대역을 효율적으로 이용할 수 있다. 패킷들이 동적인 방법으로 전송대역을 공유하기 때문이다.
호스트를 무제한 수용할 수 있다. 이론적으로 고정된 대역이 존재하지 않기 때문에 호스트들이 일단 데이터를 패킷으로만 분해해서 전송한다면 전송할 수 있다. 하지만 아무래도 한정된 네트워크 자원때문에 선로에 혼잡이 생겨 전송지연이 생길 수 있다.
패킷 단위로 데이터를 전송하기 때문에 데이터 내의 중요도에 따라서 우선순위를 부여할 수 있다.
이런 유동적이고 효과적인 구조적 성능때문에 패킷 교환 시스템은 오늘날 인터넷에서 채택해 사용하고 있다.
이 방식에도 단점은 존재한다. 가변적인 대역폭과 독립적인 경로를 사용하기 때문에 전체 데이터의 전송 지연이 마지막 패킷의 전송 지연에 영향을 받는다.
회선 교환 방식의 경우 데이터의 전송이 큰 뭉터기로 진행돼서 전송 지연율의 변동이 크지 않다. 하지만 패킷 교환 방식의 경우 패킷이란 작은 데이터 단위로 전송이 진행되기 때문에 전송 지연율의 변동이 상대적으로 클 수 밖에 없다.
이에 이런 가변적인 전송 지연율을 설명하기위해 지터 분포를 사용하며 실시간 환경에서 중요한 지표로 쓰인다.
패킷 교환 방식에는 두가지 종류가 있다.
패킷 교환 방식은 기본적으로 비연결형이다. 하지만 가상연결방식(Virtual Circuit)같은 경우에 Pipe라는 논리적 프로세스 통신매체를 사용해 가상의 연결을 설정한다. 데이터는 패킷으로 전송하고 pipe를 통해 전송되므로 전송 경로가 일정하다.
데이터그램 방식은 데이터를 패킷으로 전송하고 이 경로가 독립적이다. 즉 경로를 미리 설정하지 않는다.
위에서 살펴본 패킷 전송 방식의 단점에서와 같이 패킷의 도착순서나 지연율이 다를 수 있기 때문에 정보량이 적거나 신뢰성이 중요하지 않은 환경에서 자주 사용한다.
가상회선 vs 연결회선
가상회선과 연결회선은 데이터를 전송하기 전 연결을 진행한다는 점에서 동일하다. 하지만 가상회선의 경우 패킷을 지원해 데이터를 전송하고 연결회선은 그렇지 않다.
데이터그램 방식의 경우 경로가 독립적이고, 패킷을 단위로 전송하기 때문에 오류가 많이 발생할 수 있었다.
이를 위해 옛날에는 오류 처리를 위한 다양한 헤드를 메시지에 첨부했고 이에 따라 네트워크 자원 낭비가 심했다.
하지만 오늘날 네트워크 선로의 신뢰성이 급증하면서 패킷단위로 데이터를 전송해도 양호한 수준까지 도달했다. 따라서 과거의 과도한 헤드들을 처리하기 위해 프레임 릴레이와 셀 릴레이 두 방식이 존재한다.
프레임 릴레이
- 패킷 교환시 데이터 링크 계층의 기능(오류검출)이 라우터 단위로 이루어지는 과도한 오류제어를 막음
- Hop단위의 오류제어가 아닌 Host사이의 오류제어로 개념을 바꾸면서 보내는 패킷의 양이 1/2가 됨
- Host사이의 오류 제어를 통해 데이터 링크 계층의 기능을 단순화 시킬 수 있다.
- 패킷의 종류 : 가변
셀 릴레이
- 회선 교환 방식과 패킷 교환 방식을 합친 것.
- 주로 ATM이라고 불림.
- 고정 길이 패킷인 cell을 사용하는데 길이가 고정이되면 페킷 처리과정에서 오버헤드를 더 줄일 수 있다는 장점이 있음.
네트워크 분류
네트워크는 보통 사용 호스트의 거리에 따라 나눈다.
가장 작은 네트워크는 시스템 버스이다. cpu와 memory 사이에서 전송매체 역할을 진행하며 밀접한 연결을 갖는다.
(cf. 네트워크 - 느슨한 연결)
호스트 사이 거리 차에 따라 LAN, MAN, WAN이 있다.
LAN
LAN은 소규모 지역이나 같은 건물 내부에 설치된 네트워크 망이다. 호스트간 간격이 충분히 가깝기 때문에 Broadcasting 방식을 통해 데이터를 전달한다. 이는 선로에 연결된 모든 호스트에 데이터가 전송된다는 뜻이다.
종류에는 버스형과 링 형이 있다.
버스형은 공유 버스 하나에 호스트가 여러개 연결돼있는 것이다. 공유 버스 하나에서 데이터가 전송되기 때문에 라우팅 기능이 필요없다. 데이터의 목적지 호스트만이 데이터의 주소를 보고 자신의 것이라 인지하고 버퍼에 저장한다. 나머지 호스트들은 도착주소가 자신들의 주소가 아니기 때문에 이를 흘려버린다.
전송 경로가 하나기 때문에 둘 이상의 호스트가 전송을 시도할 때 데이터 충돌이 발생할 수 있다.
LAN의 가장 대표적인 구조인 이더넷은 데이터 충돌을 허용 후 후조치 과정을 진행한다.
링 형은 연결된 순환 구조의 선로에 호스트들이 연결되어 있는 것이다. 순환 구조에 호스트들이 연결되있기 때문에 자신이 보낸 메시지는 반드시 다시 자신에게 되돌아온다. 송신 호스트는 이 데이터를 회수할 책임이 존재한다.
링 형이기 때문에 데이터 충돌을 허용하지 않는다.
링 형에서 데이터를 보내려면 토큰 제어 프레임을 획득 후에 데이터를 전송해야한다.
토큰 제어 프레임
네트워크 망에서 유일하게 존재하며 모든 호스트에게 동등한 순서로 돌아간다.
MAN
MAN은 Metropolitan Area Network로 도시 단위의 네트워크 구축망이다. DQDB란 구조를 이용해 전송 방향이 다른 두 버스로 모든 호스트를 연결한다.
DQDB
1. 분산 데이터 큐를 지원한다.
2. 충돌문제 해결을 위한 FIFO기반 공유슬롯 사용
3. ATM(셀릴레이)과 호환 가능한 53 byte 프레임을 지원한다
HEAD ↔ SYSTEM ↔ SYSTEM ↔ TAIL 이런식으로 연결이 돼있는데 각 노드 사이에 양방향의 선로가 설정된다.
헤드에서 테일로, 테일에서 헤드로 슬롯을 일정주기로 전송해주는데 시스템들은 이 슬롯을 변형해서 데이터를 전송한다.
만약에 HEAD와 TAIL의 거리가 짧다면..? 직접 연결도 가능하다.
WAN
WAN은 WIDE AREA NET의 약자이다. BROADCASTING방식을 사용하는 LAN과 MAN은 라우팅이 필요가 없다.
WAN에서는 호스트들이 점대점으로 연결돼있어서 라우팅 기능이 필수적으로 있어야 한다.
인터네트워킹
위에서 살펴본 LAN, MAN, WAN은 모두 네트워크의 종류이다. 만일 이 네트워크 망들이 독립적으로만 사용가능하다면 오늘날과 같은 전송망이 구축되지 않았을 것!
따라서 네트워크들을 연결해주는 인터네트워킹 기능이 존재한다.
차이점이 존재하는 두 네트워크를 연결할 때 인터페이스나 MAC주소, LAN 방식 등을 고려해서 전송할 경로를 라우팅 해주어야 하는데 이를 게이트웨이 장비가 처리해준다.
게이트웨이 장비는 리피터, 브릿지 그리고 라우터가 존재한다.
리피터는 단순히 데이터 신호를 증폭시켜주는 역할을 한다. 물리계층의 역할을 수행
브릿지는 오류제어와 MAC계층의 변환기능을 수행하는 역할을 한다. 데이터링크계층의 역할을 수행
MAC1 를 사용하는 LAN A와 MAC2 를 사용하는 LAN B가 있을 때 MAC 1 헤더를 MAC 2 헤더로 변경해주는 역할!
이런 식으로 진행함으로써 서로 다른 LAN을 중개 할 수 있다.
불필요한 트래픽을 억제하기 위해 서로 같은 LAN이 연결시에 단순히 양 네트워크를 이어주는 역할만 진행한다.
예를들어 LAN A는 이더넷이고 LAN B는 토큰링 형식이면 각각에 해당하는 MAC헤더를 해석 후 변형하는 역할을 진행!
다만 이런 여러 종류의 LAN을 해석하고 알맞은 MAC헤더를 할당해주기 위해 여러 종류의 LAN의 특성을 이해하고 있어야 한다.
브릿지가 여러 네트워크를 연결해서 올바른 경로로 전달해주는 방식에는 소스라우팅 방식과 트랜스 패런트 브릿지 방식이 있다.
트랜스패런트 브릿지는 라우팅 과정을 투명히 보여준다. 공유버스 - CSMA/CD 방식과 토큰버스 방식에서 사용된다.
송수신 호스트가 같은 LAN에 위치할 때 브릿지는 아무런 행위를 하지 않고 데이터를 그 LAN으로 돌려보낸다.
다른 LAN에 위치할 때에는 브릿지는 라우팅 테이블을 참조해서 라우팅 기능을 수행한다. 라우팅 테이블은 각 호스트가 브릿지의 어느 포트에 연결된 LAN에 위치하는지에 대한 정보다. 라우팅 테이블을 기준으로 브릿지가 작동하기 때문에 테이블의 정확성이 중요하다.
정확성을 위해 브릿지는 Flooding 알고리즘을 통해 브릿지에 입력된 프레임을 모든 방향의 포트로 전송한다. ( 입력된 포트는 제외 )
이때 송신 호스트들의 포트번호를 확인함으로서 호스트들의 위치를 확인한다. 이런 방식을 역방향 알고리즘이라 하며 이 과정을 통해 송신 호스트들의 위치 정보가 누적되며 호스트 위치가 변해도 자동으로 갱신할 수 있다.
역방향 알고리즘으로 송신호스트의 포트 번호를 알아내려 할 때 네트워크가 순환형인지 비순환형인지 알아야 한다.
순환형 네트워크에서 이 방식을 사용할 때, 모순된 라우팅 테이블이 만들어진다.
이런 순환형 네트워크를 막기 위한 비순환 네트워크 구조로 스패닝 트리를 사용한다.
스패닝 트리는 고유번호가 가장 낮은 브릿지를 ROOT로 지정해 다른 모든 브릿지의 최단경로 트리를 구성한다.
소스라우팅 브릿지는 링 구조의 네트워크에서 사용한다. 이때 라우팅 테이블이 따로 존재하지 않고, 호스트가 송신하는 데이터의 헤더에 모든 경로를 기술해 놓는다. 즉 프레임 자체에 라우팅 정보가 포함되어있다.
라우터는 네트워크 계층까지 지원하는 게이트웨이 장비이다. 인터넷에서 중개기능을 사용시 라우터를 사용한다.
인터네트워킹중에서 IP인터네트워킹은 라우터가 네트워크 인터페이스들을 해석하고 처리해야 한다.
예를들어 송신 호스트 A의 네트워크계층이 이더넷이라고 해보자. 그리고 수신 호스트 B가 ATM(셀 릴레이)이라고 한다면 경로상에 위치한 라우터들이 IP헤더파일을 변형시켜줘야한다. 라우터 A는 이더넷 to PPP 변환기능을 수행하고, 라우터 B가 PPP to ATM 기능을 수행한다면, 전송 데이터들이 각 호스트들의 인터페이스에 부합한 형태로 전송된다.
인터넷 라우팅은 고정경로 배정과 적응경로 배정이 있다.
고정경로 배정은 송수신 호스트 사이에 영구불변의 경로를 지정해 네트워크 구조가 변하지 않는 한 라우팅 경로가 변하지 않는다. 트래픽을 미리 알고 적절히 구성시에 라우팅이 매우 깔끔하다는 장점이 있지만 변동이 크고 예외사항이 많은 인터넷 환경에서 사용하지는 않는다.
적응경로 배정은 인터넷 환경에서의 최적의 배정방식이다. 인터넷 환경은 네트워크의 변동이 자주 일어난다. 라우터가 고장났다던가 선로에 혼잡이 심하다던가 등의. 이런 내용을 데이터그램의 전송경로에 반영해 주어야한다.
라우터 내부적으로 네트워크 상태정보에 대한 처리를 진행해서 라우팅에 반영하는데, 실시간으로 변하는 네트워크 변동사항을 모든 라우터에 동시에 갱신시킬 수 없다. 따라서 각각의 라우터들이 동일한 라우팅 테이블을 사용할 수 없는 것이다. 정보의 불일치성이 발생하는 것인데, 이를 100% 해결할 수는 없지만 라우터 사이 정보교환을 트래픽과 내부처리 부담이 크지 않은 선에서 최대한 빠르고 자주 이루어져야 한다.
라우터 사이 정보교환을 좀 더 체계적이고 안정적으로 하기 위해 동일한 라우팅 프로토콜이나 특성의 논리적 구성단일체인 자율시스템(AutonomousSystem)을 구성한다.
자율시스템 내부의 라우터들은 IRP란 내부라우터끼리의 정보교환 프로토콜을 사용한다. RIP와 OSPF가 있다.
자율시스템 외부에서 게이트 역할을 하는 라우터들은 ERP란 중개 프로토콜을 사용한다. 자율 시스템이란 비슷한 라우팅 프로토콜을 가진 라우터들의 집합이므로 다른 자율시스템은 다른 라우팅 프로토콜을 갖는다. 이에 따라 인터페이스를 조율해주기 위해 ERP가 존재하는 것! BGP 방식을 사용한다.
2021-11-13
'Computer Science > Computer Network' 카테고리의 다른 글
데이터 링크 계층 (0) | 2021.11.24 |
---|---|
MAC 계층 (0) | 2021.11.18 |
데이터 전송의 기초 (0) | 2021.11.17 |
네트워크 모델 (0) | 2021.11.09 |
네트워크 시작 (0) | 2021.11.06 |