[Network] 1. Network Topology, OSI Reference Model

100tick·2022년 12월 19일
0
post-thumbnail

위 이미지는 2005년 경 전세계 네트워크의 연결을 시각화한 것이다.
전세계 대부분의 컴퓨터는 각기 작고 큰 네트워크에 속해 있으며, 이는 대부분 최종적으로 인터넷에 연결된다.

이렇듯 Network는 2개 이상의 장치 or Node간의 연결을 말한다.

1. Topology

네트워크 상의 Node 구성을 Topology라고 한다.

1.1 Point-to-Point


가장 단순한 형태의 Network인 point-to-point, 점대점 연결.
두 Node가 하나의 연결을 공유하며, 두 Node 간에 직접 통신이 필요할 때 유용하지만 실제로는 드물다.

일련의 point-to-point연결을 daisy chain이라고 한다.
자세히 살펴보면 Node CNode E와 통신하기 위해서는 Node D, E를 반드시 거쳐야 한다는 것을 알 수 있다.
이 때 Node C, E 사이의 중간 Node들을 Hop이라고 부른다.

Linked List에서 index 100,000에 위치한 Node를 조회하려면 100,000번의 순회가 필요하듯, 이러한 방식으로 구현된 Network로 멀리 떨어진 Node끼리 통신하려면 통신이 필요 없는 Node들을 거쳐야 하기 때문에 보안 문제도 생길 것이고, 무엇보다 속도와 효율성이 매우 떨어질 것이다.

그래서 모던 네트워크에서 이 Topology를 발견할 가능성은 거의 없다고 한다.

1.2 Bus


일반적으로 무선 네트워크에서 사용된다.
만약 Node HNode L로 트래픽을 보낸다면, 같은 Topology 상에 존재하는 모든 Node(I, J, K, L, M)가 트래픽을 수신하게 된다.
단, 수신자가 다를 경우 무시하기 때문에 최종적으로는 목적지인 Node L만 데이터를 수신한다.

1.3 Ring


데이터가 단방향으로 이동하는 폐쇄 루프 형태의 Topology
일부 광섬유 네트워크 배포에 사용된다.
트래픽이 시계 방향으로 이동한다고 가정하면, Node O에서 Node Q로 데이터를 전송할 때, 전송 속도는 Node P의 속도에 따라 달라지며, 트래픽이 멈추는 경우 목적지에 도달할 수 없게 된다.
그래서 전송하려는 Node 사이에 느린 Node가 있다면 속도가 크게 하락할 수 있다.

1.4 Star

가운데 Node를 중심으로, 모든 Nodepoint-to-point로 연결된다.
대부분의 유선 네트워크가 이 형태를 띈다.
Network Switch를 중앙 Node로 삼고, 같은 Network 내의 각 장치들은 이를 통해 통신한다.
그래서 새로운 장치를 연결할 때 중앙 Node에 등록만 하면 되기 때문에 매우 간편하다.
이 형태의 Network에서 데이터는 최대 1 HOP 이동한다.

1.5 Mesh


같은 Network 안의 모든 Node는 다른 모든 Node와 직접 연결된다.
앞서 살펴본 Star Topology는 중앙 Node에 장애가 발생하면 모든 통신이 마비되겠지만, Mesh Topology는 장애가 발생하더라도 해당 Node 외에는 영향이 없다.
그러나 Node 수가 증가할수록 비용, 복잡도가 기하급수적으로 상승하기 때문에 대규모 Network에서는 사용할 수 없다.

그런데 대규모 무선 Network에서만 볼 수 있다고 한다?

1.6 Star-Ring, Star-Bus

둘 이상의 Topology를 결합하여 Hybrid Network Topology를 만들 수도 있다.
실제 Network는 하나의 Network Tpology로만 구성된 경우는 거의 없으며, 대부분 결합된 형태이다.

Topolgoy는 장, 단점이 있기 때문에 상황에 맞는 Topology를 조합하여 사용한다.

Star-Ring Topology는 중앙 Node에 장애가 발생할 경우, 서로 다른 Ring 으로 넘어가는 통신에만 영향을 미친다.
Ring의 내부에서 일어나는 통신에는 아무런 영향이 없을 것이다.
그래서 정전 등의 집단 장애가 발생했을 때, 영향을 미치는 범위를 제한할 수 있다.

2. Bandwidth, Latency

Bandwidth, 대역폭은 일정 시간 내에 Network 연결을 통해 전송할 수 있는 데이터의 양이며, Latency, 지연 시간Network에 요청을 보내고 응답을 받을 때까지 소요되는 시간이다.
Bandwidth가 높으면 용량이 큰 파일 등을 다운로드 받을 때, 매우 빠르게 처리되겠지만, 동시에 Latency도 높으면 아무리 다운로드가 빨라도 요청을 보낼 때마다 수 초씩 기다려야 할 수도 있다.
그래서 좋은 사용자 경험을 제공하려면 둘 다 적정한 수준으로 유지하는 것이 중요하며, 특히 Latency의 경우 즉시 처리되지 않으면 사용자에게 느리거나 오류가 있다는 인상을 줄 수 있기 때문에 CDN, Content Delivery Network 등을 사용하여 서버와 사용자의 HOP 수를 줄이고 요청, 응답 크기 등도 줄이고, 캐싱 전략 등을 수립하여 이를 최대한 줄이려는 노력을 해야 한다.

3. OSI Reference Model

Open Systems Interconnection의 약자로, 1970년대 들어 Network가 복잡해지면서 이를 표준화하기 위해 만들어진 것이다.
이는 Protocol의 개발과 통신을 위한 프레임워크 역할을 한다.
말 그대로 Reference Model이기에 실제로 사용되는 것은 아니지만, 하드웨어 관점에서 Networking, Routing과 같은 일반적인 개념을 이해하는데 도움이 된다고 한다.

7계층(Application Layer) - Host를 식별하고, Resource를 검색하는 역할을 담당한다.
웹 브라우저, 비트토렌트 클라이언트 등이 있다.

6계층(Presentation Layer) - 데이터가 아래 계층으로 이동할 때, Network 계층에 대한 데이터를 준비하고, 데이터가 위로 이동할 때, Application 계층에 데이터를 제공한다.
6계층의 예시로는 암호화, 암호 해독 및 데이터 인코딩 등이 있다.

5계층(Session Layer) - NetworkNode 간의 연결 수명 주기를 관리한다.
연결 수립, 연결 시간 초과 관리, 작동 모드 조정, 연결 종료 등의 기능을 담당한다.
일부 7계층의 Protocol은 5계층이 제공하는 서비스에 의존한다.

4계층(Transport Layer) - 전송의 안정성을 유지하면서 두 Node 간 데이터 전송을 제어 및 조정.
데이터 전송이 신뢰성을 유지하기 위해서 오류 수정, 데이터 전송 속도 제어, 데이터 Chunking 및 분할, 누락된 데이터 재전송, 수신 데이터 확인 과정 등이 포함됨.
수신자가 데이터 수신을 인정하지 않는 경우, 이 계층의 Protocol이 데이터를 재전송 하게됨.

3계층(Network Layer) - Node 간에 데이터를 전송하는 역할.
원격 Node에 직접 point-to-point로 연결하지 않고, Network 주소로 데이터를 전송할 수 있음.
OSI Reference ModelNetwork Layer에서는 전송의 신뢰성이나 전송 오류 등을 전송자에게 알려주기 위한 별도의 Protocol이 필요하지 않음.
이 계층은 라우팅, 주소 지정, 멀티캐스팅 및 트래픽 제어와 관련된 Network 관리를 위한 Protocol의 중심임.

2계층(Data Link Layer) - 직접 연결된 두 Node 간의 데이터 전송 처리.
예를 들어, System에서 Switch로, Switch에서 다른 System으로 데이터를 쉽게 전송할 수 있도록 지원함.
이 계층에서의 Protocol은 물리 계층의 오류를 식별하여 수정을 시도함.
재전송 및 흐름 제어 기능도 있는데, 하위 물리 매체에 따라 달라짐.
예를 들어, 유선 Ethernet은 잘못된 데이터를 재전송하지 않는 반면, 무선은 재전송.
유선에서는 비트 오류가 거의 발생하지 않지만, 무선에서는 흔하게 발생하기 때문.
Network Protocol Stack의 상위 계층에 위치한 Protocol은 일반적으로 이 계층에 비해 효율성이 떨어지지만, 데이터 전송의 안정성을 보장.

1계층(Physical Layer) - Network Stack에서 발생한 bit를 전기, 광학, 또는 무선 신호 등의 물리적인 요소로 변환하고, 다른 Node로부터 전송 받은 물리적인 요소를 bit로 변환하는 작업을 한다.
비트 전송률이 1Gbps라는 것은 전송 Node와 수신 Node 사이에 초당 최대 10억 bit가 이동할 수 있음을 의미한다.
Network 전송 속도는 초당 bit 단위로 측정되기 때문에 bps는 항상 byte가 아닌 bit 단위라는 점을 기억하자.

4. Encapsulation

구현의 세부 정보를 숨기고 일부 내용만 사용할 수 있도록 하는 기법을 Encapsulation라고 함.
데이터가 Stack을 따라 이동할 때도 하위 계층에 의해 Encapsulation 됨.
일반적으로 Stack을 따라 이동하는 데이터를 Payload 혹은 Message Body라고도 함.
예를 들어 Transport Layer(4계층)Session Layer(5계층)에서 PayloadEncapsulation하고, 이 PayloadPresentation Layer(7계층)에서 Encapsulation 함.
Payload가 위로 이동하면서 각 Layer는 이전 Layer의 Header 정보를 제거함

이런 식으로 일어나는 클라이언트와 서버 간의 동일 계층 통신을 Horizontal Communication, 수평 통신이라고 함.

5. TCP/IP Model

현재 대부분의 컴퓨터가 실제로 사용하는 Protocol

Transmission Control Protocol, 전송 제어 프로토콜 + Internet Protocol, 인터넷 프로토콜의 이름을 따서 TCP/IP라 명명.


7계층의 OSI Reference Model이 4계층으로 간소화 됨.
TCP/IP Protocol이 5, 6, 7 계층 사이의 경계를 자주 넘나들기 때문.

4계층(Application Layer) - 대부분의 소프트웨어가 이 계층의 Protocol 사용.(웹 브라우저 등)
HTTP, FTP, SMTP, DHCP, DNS 등이 이 계층에 속함.

0개의 댓글