학교 공부

[네트워크] 통신 기초- OSI 7계층 모델, 프로토콜, 라우터

연듀 2021. 9. 4. 13:01

통신 기초 

 

OSI 7계층 모델

 

1. 물리 계층

  • 전송매체(유선, 무선), 데이터 전송 속도, 클록 동기화 방법, 물리적 연결 형태 등
  • 전송매체를 통해 전기적인 신호를 만들어냄

2. 데이터 링크 계층

  • 1:1 통신
  • 물리 계층의 물리적 전송 오류 문제를 해결
  • 프레임: 전송 데이터의 명칭

3. 네트워크 계층

  • 데이터의 전송 경로를 결정(Routing)
  • 호스트 구분을 위한 주소 개념 필요 (예: IP주소(논리주소))
  • 패킷: 전송 데이터의 명칭
  • 혼잡 제어: 데이터 전송 경로의 선택에 따라 네트워크 혼잡에 영향을 미침

4. 전송 계층

  • 송수신 프로세스 사이의 단대단 통신 기능을 지원
  • 프로세스 구분을 위한 주소 개념 필요 (예: 포트 번호)

5. 세션 계층

  • 송수신자 사이에 상위적 연결 개념인 세션을 지원 (로그인, 로그아웃)

6. 표현 계층

  • 데이터의 의미와 표현 방법을 처리
  • 암호화/압축 기능도 처리

7. 응용 계층

  • 대표적인 인터넷 서비스: HTTP, FPT, Telnet, 전자 메일 

 

5, 6, 7은 응용계층 하나로 표현되기도 한다. 

 

 

계층 구조에서 소프트웨어가 동작하는 원리는 상위 계층은 하위계층에게 서비스를 요청한다.(request)

하위 계층은 작업을 한 다음에 결과를 상위 계층에게 서비스를 제공한다.

 

* 상위 계층과 하위 계층 사이에 SAP(Service Access Point)라는 것이 있음.

상위 계층의 어플리케이션을 만들어 반대편에 있는 어플리케이션에 데이터 요청을 할 수 있도록 하위 계층에게 지시를 하거나 결과를 리턴받을 때, 사용하는 soket API 함수가 SAP이다. 

 

=> 상위 계층에서 soket API를 써서 함수를 호출하면 하위 계층인 TCP/IP계층이 받아 처리를 해 결과를 알려준다.

 

 

 

 

 

상위 계층과 하위 계층의 중간 부분을 연결하는 부분을 인터페이스라고 부른다.

 

통신 프로토콜에서의 특징은 동일한 계층은 상대측 n번째 계층과 대등 관계를 갖는다.

이러한 동일한 계층과 주고받는 메세지를 프로토콜이라 한다.

 

프로토콜이란, 동일한 계층간 통신을 위한 미리 정의된 약속/규정/규약이라 할 수 있다.

 

 

ex) IP 프로토콜은 네트워크 계층의 프로토콜 중에 가장 널리 쓰이고 있는 표준이다.

 

 

 

 

 

프로토콜 헤더와 라우터 기능

 

 

 

프로토콜 헤더

 

상대 계층간의 약속인 프로토콜을 하려고 시키거나 상대편에서 결과를 받을 때, 그 내용을 헤더에다가 써줘야 한다. 

 

예를 들면, 송신 호스트의 응용 계층에서 수신 호스트에게 데이터를 "hello"라고 보내고 싶다.

상대 계층에게 바로 주진 않고 일단 하위 계층인 표현 계층에게 API나 명령어등을 요청 한다.

몇바이트인지, 누가 받아야하는지, 몇번째 데이터인지 등등 제어 정보라는 것을 붙여서 보낸다.

즉, 제어 정보(프로토콜 정보)는 응용 계층 간의 약속된 정보를 포함하고 있다.

이러한 프로토콜 정보를 저장하는 곳이 헤더이다. 헤더는 데이터 앞에 붙인다.

 

 

그림에서 본다면 상위계층의 헤더가 하위계층의 헤더로 계속 내려와 전달하고, 하위계층은 자기 계층의 헤더를 덧붙인다. 

 

이렇게 쌓아온 헤더를 가지고 상대편 수신 호스트에게 보내고 긴 데이터를 받은 수신 호스트의 하위 계층은 자기 계층 헤더에 에러가 있는지 확인해 없으면 상위 계층으로 보낸다. (서비스 제공)

궁극적으로 맞는 내용물만 제일 상위 계층인 응용 계층으로 전달시킨다.

그렇게 해서 받은 응용 어플리케이션은 다시 똑같은 형식으로 상위 계층에서 하위 계층으로-> 상대편 하위계층에서 상위 계층으로 데이터를 보낸다.

 

 

라우터

 

보통은 내가 원하는 데이터를 아주 멀리 떨어져있는 컴퓨터로부터 요청을 해서 받아온 경우가 많다.

그럴 경우 중간에 중개 노드(중계기)라는 것이 데이터를 전달하는데, 이것을 라우터라고 부른다.

중개노드는 올바르게 데이터가 전달될 수 있도록 경로를 배정하는 기능을 수행한다. 

 

 

라우터는 물리 계층(L1), 데이터 링크 계층(L2), 네트워크 계층(L3)로 되어있고 이것을 L3 스위치라고 부른다.

 

인터넷은 라우터의 집합체라고도 할 수 있다.

 

네트워크 계층에서 데이터의 전송 경로를 결정하는 것을 라우팅(Routing)이라 한다.

 

 

 

----------

그래프에서 G(V, E)가 네트워크에서는 N(N, L) 노드와 링크로 말할 수 있다.

A에서 E까지 가는 방법은 

A에서 E까지 가는 인접한 D한테 주면 D가 알아서 전달 각각의 노드들(D)(라우터)는 목적지 주소를 보고 중간의 데이터를 보고 보냄