본문 바로가기

Study/Networking

7.1 Services

728x90

인터넷은 "nuts and bolts"와 같다.

nuts and bolts란? 어떤 시스템이나 기계의 핵심적인 부품이나 기본적인 원리를 나타내며 보통 복잡한 것을 간단한 구성 요소로 분해하거나, 어떤 일을 수행하는데 필수적인 핵심적인 부분들을 말할 때 사용된다.

 

우리가 수백만개의 ISP에게 access를 줄 때 우리는 이것드을 어떻게 연결을 할 수 있을까?

먼저, 무식하게 전부 다 연결하는 방법이 있다. 하지만 이 방법은 비용이 많이 들어간다.

또 다른 방법으로는 중간에 또다른 ISP를 두어 중간에서 중계를 하는 방법이 있다. 이것은 경제적인 관점에서 아주 좋은 방법이다.

하지만 이 방법을 사용할 시 무수히 많은 중간 ISP업자들이 등장하여 경쟁을 하게 될 것이다.

그리고 또한 다른 ISP끼리 연결할 수 있는 IXP(Internet exchange point)가 필요할 것이다.

 

어떤 회사에서 일하는 Alice가 미국의 출판사의 Bob에게 자료를 넘겨준다고 생각해 보자.

이 과정에서 Network계층에서는 목적지까지 Packet을 보내서 목적지를 설정해준다. 이 개념이 IP주소가 되는것이다.

이후R2 라우터로 보내준 뒤 R2라우터는 R1과 R4중 미국출판사로 연결되어있는 R4로 보내주는 역할을 Network계층에서 수행한다. 이후 반복하여 미국 출판사의 Bob에서 무사히 전달된다.

 

이때 라우터와 라우터를 Link라 부르며 이는 1Hop과 같다.

그리고 이 모든 Link를 나타낸것이 Path이다.

 

그러면 이제부터 네트워크계층의 의무에 대해서 알아보자.

1. 패킷화

네트워크계층의 첫 번째 의무는 절대적으로 패킷화(Packetizing)이다.

발신지의 네트워크층 패킷에서 페이로드의 캡슐화와 목적지에서 네트워크층 패킷의 페이로드를 역캡슐화 한다.

 

네트워크층의 한 가지 의무는 발신지에서 목적지까지 페이로드를 변경이나 이용 없이 전달하는 것이다. 네트워크층은 송신자에서 수신자까지 내용의 변경 혹은 이용 없이 소포 전달을 위한 책임을 갖는 우체국과 같은 서비스를 수행한다.

 

발신지 호스트는 상위 계층 프로토콜로부터 페이로드를 수신하고, 발신지 주소와 목적지 주소 그리고 네트워크층 프로토콜에 의해 요구되는 일부 다른 정보를 포함하는 헤더를 추가하고 패킷을 데이터 링크층에 전달한다.

목적지 호스트는 자신의 데이터 링크층으로부터 네트워크층 패킷을 수신하고, 패킷의 캡슐을 제거하고, 페이로드를 대응하는 상위 계층 프로토콜에 전달한다. 만약 패킷이 발신지 혹은 경로상의 라우터에서 단편화(분할) 되었다면, 네트워크층은 모든 단편이 도착할 때까지 기다렸다가, 이것을 재조립해서 상위 계층에 전달하는 책임을 가진다.

 

2. 경로 설정

네트워크층의 또 다른 의무로는 경로설정과 발송이 있다.

  • Routing: 운송이 가능한 가장 베스트의 루트를 찾는다
  • Routing protocol: 좋은 경로를 찾기위한 알고리즘(프로토콜)을 가동하고 Routing Table(보고서)를 작성한다.
  • Forwarding: 경로를 찾으면 순방향으로 데이터를 보낸다.

1번 루트로 들어간 데이터나 B방향으로 향할 때 Forwarding Table을 이용하여 최적의 경로를 찾아 보내준다.

3. 오류 제어

오류 제어는 네트워크층에서 구현될 수도 있지만, 인터넷의 네트워크층 설계자들은 네트워크층에 의해 전달되는 데이터에 대해 오류 제어를 고려하지 않았다. 이 같은 이유는 각 라우터에서 패킷이 단편화될 때마다 네트워크층에서 오류를 검사하는 것이 비효율적이라고 생각했기 떄문이다.

 

4. 흐름 제어

흐름제어는 송신자가 수신자가 허용할 수 있을 만큼의 데이터만 보내도록 조절해준다.

만약 송신자 측의 상위 계층에서 수신자 측의 상위 계층이 처리할 수 있는 양보다 더 많은 데이터를 전송하는 경우 수신측에서는 이 데이터를 감당할 수 없게 된다. 데이터의 흐름을 제어하기 위해 수신자는 자신이 데이터를 감당할 수 없는 것을 알리기 위한 피드백을 전송해야 한다.

 

5. 혼잡 제어

네트워크층에서 혼잡은 인터넷 영역 속에 너무 많은 데이터그램이 존재하는 경우이다.

송신자가 보낸 데이터그램이 네트워크나 라우터의 처리 성능을 넘어서는 경우 혼잡이 발생한다.

 

6. 서비스 품질

인터넷에서 멀티미디어 통신과 같은 새로운 응용이 사용 가능하기 떄문에 통신에서 서비스 품질이 더욱 중요하게 되었다.

그러나 네트워크층을 수정하지 않기 위해, 이런 기능 대부분은 상위 계층에서 구현된다.

 

7. 보안

처음 인터넷을 설계하던 당시에는 대학에서 소수의 사용자들이 연구 목적으로 사용할 용도로 설계하였기 때문에 보안은 고려 대상이 아니었다. 그러나 요즘은 보안이 큰 관심사이다. 비연결형 네트워크층에 보안성을 제공하기 위해 비연결형 서비스를 연결형 서비스로 변경할 수 있는 다른 가상의 계층이 필요하다. 이는 IPSec이라고 불리는 가상의 계층이다.

728x90

'Study > Networking' 카테고리의 다른 글

7.3 Performance  (0) 2023.04.11
7.2 Packet Switching  (0) 2023.04.11
TCP/IP Protocol Suite / OSI Model  (0) 2023.04.08
Protocol Layering  (2) 2023.04.08
데이터 통신 & 네트워크  (0) 2023.04.06