본문 바로가기
  • _^**_
무근본 IT 지식 공유/무근본 네트워크(Network)

[무근본 네트워크 공부] OSI 7계층이 뭔데?_ 계층의 요소에는 어떤 것이 있을까?

by 크리드로얄워터 2023. 3. 12.
반응형

OSI 모델의 계층

 

① 물리층

: 매체의 물리적 특성을 다룬다. 물리적 매체를 통해 비트 흐름을 전송하기 위해 필요한 기능들을 조정한다. 물리층은 인터페이스의 기계적, 전기적 규격, 그리고 전송매체를 다룬다. 또한 물리층은 물리적인 장치와 인터페이스가 전송을 위해 필요한 기능과 처리절차를 규정한다.-i.기계적 ii.전기적 iii.절차적 iv.기능적 측면을 다룬다.

 

I)기계적 예 : 다리미를 전기코드에 꽂을 때 꼽는 모양, 소켓의 형태, 연결하는 부분의 생 긴 모양 등을 정하는 것 등을 하나의 표준으로 만든다.

 

ii)전기적 예 : 논리적 1을 전압 5V로 표현할 것인지 아님 7V로 표현할 것인지를 결정한 다. 또는 광케이블로 연결했을 때 1이라는 데이터를 표현하는 데 빛을 쏠 것인지 아님 0이라는 데이터를 표현하는 데 빛을 쏠 것인지 기준을 정한다.

 

iii)절차적 예 : 데이터를 주고받는 순서를 명시한다.

iv)기능적 예 : 병렬 포트는 각 핀마다 어떤 기능을 하게 되는지 정해져 있다.

 

 

❒ 물리층의 주요 임무

 

인터페이스와 매체의 물리적인 특성: 물리층은 장치와 전송매체 간의 인터페이스 특성을 규정하며, 또한 전송매체의 유형에 대해서도 규정한다.

 

⦁비트의 표현: 물리층의 데이터는 어떤 해석이 필요 없는 비트(bit)의 스트림(0또는 1의 연속)으로 구성된다. 비트를 전송하기 위해서는 전기적인 또는 광학적인 신호로 부호화하 여야 한다. 물리층은 부호화의 유형을 규정한다(0과1을 신호로 변환시키는 방법)

 

⦁데이터 속도: 전송속도(bps)도 물리층에서 규정된다. 다시 말하자면 물리층은 신호가 유지되는 비트의 주기를 규정한다.

 

⦁비트의 동기화: 송신자와 수신자는 같은 비트를 사용해야 한다. 다시 말해 송신자와 수신자는 같은 클록을 사용해야 한다.(비트에 대한 동기를 어떻게 맞출 것인가)

 

⦁회선구성: 물리층은 장치를 전송매체에 연결하는 것이다. Point-to-Point 연결인지 Multipoint 연결인지를 규정한다.

 

⦁물리 연결형태: 물리 연결형태는 장치들이 어떤 Topology 형태를 가지는지를 규정한다. 장치들은 그물형으로 연결하거나 성형으로 연결하거나 링형 또는 버스형으로 연결하거나 복합형으로 연결할 수 있다.

 

⦁전송모드: 물리층은 또한 두 장치 사이의 전송 방향 또한 결정한다. 단방향, 반이중, 전이중의 방식이다. 한쪽은 Half Duplex 인데 다른 쪽은 Full Duplex면 서로 전송 모드가 맞지 않아 통신할 수 없다.

 

 

②데이터링크층

데이터링크층은 한 노드로부터 다른 노드로 프레임을 전송하는 책임을 진다.

: node-to-node 전달을 책임진다.

 

멀티드랍 회선인 경우 매체를 공유한 상황에서 여러 컴퓨터들이 연결되어 있다. 이런 경우 수신자가 매우 여럿이기 때문에 전송을 하기 위해서는 수신자를 지정해주는 주소가 필요하다. 데이터링크층에서는 이러한 수신측의 주소를 지정해준다. 이 정보는 헤더에 포함된다.

 

❒데이터링크 층의 주요 역할

 

⦁프레임 구성: 데이터링크층은 네트워크층으로부터 받은 비트 스트림을 프레임(frame)이라는 데이터 단위로 나눈다.

 

⦁물리 주소 지정: 만약 프레임을 네트워크 상의 다른 시스템에 분배할 경우 데이터링크층은 프레임의 송신자와 수신자의 물리주소를 나타내는 정보를 프레임의 헤더에 추가한다. 만약 프레임이 송신자 네트워크 외부에 있는 시스템일 경우, 수신자 주소는 다음 네트워크에 연결되어 있는 접속장치의 주소가 된다.=>보내는 사람이 누구고 받는 사람이 누구인지 주소를 지정하는 것

 

⦁흐름 제어: 수신자에 의해 수신되는 데이터 전송률이 송신자가 송신하는 전송률보다 낮을 경우, 데이터링크층은 수신자의 수신능력이 초과되는 것을 막기 위해 흐름 제어 메커니즘을 적용시킨다.

 

⦁(*)오류 제어: 데이터링크층은 손상되거나 잃어버린 프레임을 발견하고, 재전송하기 위한 메커니즘을 추가함으로써 물리층의 신뢰성을 높일 수 있다.

 

또한 프레임의 중복을 막기 위한 메커니즘도 사용한다. 보통 오류 제어는 프레임의 끝에 추가된 트레일러를 통해 이루어진다.

 

=>수신자가 데이터를 수신할 때 여러 잡음이 생길 수 있다. 이 경우 상대방의 데이터를 잘 읽어들이지 못할 수도 있는데 이 경우 ‘에러가 낫다’고 한다. 수신측에선 복구를 해야하는데 이 과정에 데이터링크층이 관여한다.

 

데이터링크 층이 없으면 에러가 복구되지 않는다. 신뢰성과 관련있는 부분으로 보내려는 데이터가 깨지지 않고 수신측에 도착해야 하는 것은 중요하다.

 

⦁접근 제어: 둘 이상의 장치가 같은 링크에 연결되어 있을 때, 데이터링크층 프로토콜은 주어진 순간에 링크를 사용하는 장치를 결정할 필요가 있다.

 

=>한 순간에는 한 컴퓨터만 데이터를 보내도록 제어한다. Multidrop회선인 경우에(매체공유) 여러 개의 컴퓨터가 동시에 정보를 보내게 되면 케이블에서 정보가 섞이는 현상(충돌)이 일어날 수 있다. 이 경우 상대방이 수신된 정보를 해석하기 힘들다.

 

③네트워크층

 

네트워크층은 발신지로부터 최종 목적지로 패킷을 전달하는 책임을 진다.

(Source-to-destination Delivery)

 

: 패킷을 발신지로부터 여러 네크워크(링크)를 통해 목적지까지 전달하는 책임을 갖는다. 데이터링크층은 같은 네트워크에 있는 두 시스템 간에 전달을 제공하는 데 반해 네트워크층은 각 패킷의 발신지로부터 최종 목적지까지 전송을 제공한다.

 

두 시스템이 같은 링크에 연결되어 있을 경우에는 네트워크층을 필요로 하지 않는다. 그러나 두 시스템이 네트워크(링크)를 연결하는 장치를 통해 연결된 서로 다른 네트워크에 있다면, 네트워크층은 발신지에서 목적지까지 전달을 제공하게 된다.

 

논리 주소 지정: 데이터링크층에서 구현되는 물리 주소는 내부적인 주소지정의 문제를 처리한다. 만약 패킷이 네트워크 경계를 통과하면, 발신지와 목적지 시스템을 구분하기 위해 또다른 주소지정 시스템이 필요하다. 

 

네트워크층은 상위계층에서 받은 패킷에 발신지와 목적지의 논리주소를 헤더에 추가한다.

 

(*)라우팅: 독립적인 네트워크나 링크를 네트워크 간 네트워크 또는 대규모 네트워크를 구성하기 위해 서로 연결하고자 할 때 연결하는 장치(라우터 또는 교환기)는, 패킷이 최종 목적지에 전달될 수 있도록 경로를 지정하거나 교환기능을 제공한다. 

 

네트워크 층의 주요 기능 중 하나가 이러한 메커니즘을 제공하기 위한 것이다. => 패킷을 최종 목적지까지 전달 해주는 것.

 

④트랜스포트층(전송층)

 

: 전송층은 전체 메시지의 프로세스-대-프로세스 전달을 책임진다. 네트워크층은 개별적인 패킷들의 종단-대-종단 전달을 감독하기는 하지만, 패킷들 사이의 관계는 전혀 인식하지 못하므로 마치 각각의 조각이 별개의 메시지에 속해 있는 것처럼 독립적으로 다룬다. 

 

반면, 전송층은 오류 제어와 흐름 제어를 end-to-end(종단간) 수준에서 감독하면서 전체 메시지가 완전하게 바른 순서로 도착하는 것을 보장한다.

 

=>IP주소로는 도착지 컴퓨터까지만 가는 것이므로, 전송층은 데이터가 도착해서는 어떤 프로그램이랑(프로세스랑) 통신할 것인지에 대하여 관여. 실제로 통신은 PC가 하는 것이 아니라 Process가 하는 것 . ex)웹 서버와 익스플로러의 통신

전체 메시지가 안 깨지고 잘 도착하는 것에 관심.

 

 

❒전송층의 구체적인 역할

 

서비스지점 주소지정 : 컴퓨터는 여러 개의 프로그램을 동시에 실행하는 경우가 많다. 그래서 end-to-end 전달은 한 컴퓨터에서 다른 컴퓨터로의 전달을 의미할 뿐만 아니라 한 컴퓨터의 특정 프로세스(실행 중인 프로그램)에서 다른 컴퓨터의 특정 프로세스로 전달하는 것을 의미한다. 

 

그러므로 전송층 헤더는 서비스 지점 또는 포트 주소라는 주소유형을 포함해야 한다. 네트워크층은 각 패킷을 정확한 컴퓨터에 전달하고, 전송층은 전체 메시지를 해당 컴퓨터의 정확한 프로세스에 전달한다.

 

분할과 재조립: 메시지를 전송할 수 있는 세그먼트 단위로 나누며, 이때 각 세그먼트는 순서번호를 갖는다. 이 번호는 메시지가 목적지에 정확하게 도착하게 되면 전송층이 재조립 할 수 있도록 하거나, 전송 중에 손실된 패킷을 발견하고 대체할 수 있도록 한다.

=>4GB짜리 영화를 받는다.-> 트랜스포트 층에서 여러 segment로 나누어 보낸다(작은 메시지 단위)-> 수신측에서 재조립한다.

⦁연결 제어 : 연결 설정 하고 보낼거냐 안하고 보낼거냐 하는 것.

 

⦁흐름 제어 : 데이터링크층과 같이 전송층은 흐름 제어를 제공한다. 그러나 전송층의 흐름 제어는 단일 링크가 아닌, 종단-대-종단에 대해 수행한다.

 

⦁오류 제어 : 데이터링크층과 같이 전송층은 오류 제어를 제공한다. 그러나 전송층의 오류제어는 단일 링크가 아닌 종단-대-종단에 대해 수행한다.

 

=>데이터링크층 node-to-node 오류제어에서의 에러 검출이 완벽한 방법이 아니므로 에러를 놓치는 경우가 생긴다. 그럴 경우에 대비해서 end-to-end로 오류 제어를 따로 진행한다.

 

 

⑤세션층

: 세션층은 대화 제어와 동기화의 책임을 진다.

 

⦁대화제어

A와 B가 통신하는데 세션이 계속 바뀐다. 그것을 제어한다.

ex) 축구이야기와 뉴스이야기는 서로 다른 세션이다. 통신하면서 세션은 계속 바뀌게 되는데 그것을 제어하는게 세션층이다. 한 세션의 대화 메시지를 dialog라 한다.

 

⦁동기화

세션층은 에러가 발생하면 어디로 복구 할지를 알려준다. 중간 중간에 어디까지 통신이 진행됐는지 체크한다.(Sync를 맞춘다)

 

 

⑥표현층(Presentation Layer)

: Application층에 어떤 정보를 나타낸다. 표현한다.

 

응용계층에서 내려온 데이터를 암호화하거나 압축하거나 하는 용도로 원래 만들어졌는데 지금은 사용하지 않는다.

 

* ASN.1(Abstract Syntax Notation 1) // notation : 표기법

=>Presentation층 위에 올라가는 수천 수만개 Application들의 메시지 포맷을 그림으로 표현하지 않고 Language로 표현한다. 표현 언어가 바로 ASN.1 이다.

 

* BER(Basic Encoding Rule)

=>Language를 전송할 때 BER의 인코딩 룰에 따라 변형시킨다.

 

 

⑦응용층(Application Layer)

: 사용자(사람 또는 소프트웨어)가 네트워크에 접근할 수 있도록 해준다. 사용자 인터페이스를 제공한다.

 

NVT(Network Vitual Terminal): 사용자가 원격 호스트에 로그온 하는 것을 허용한다. 인터넷에서 사용되는 NVT에는 telnet(Telecommunication Network)이 있다.(물리적으로 떨어져 있는 컴퓨터에 login하여 그 컴퓨터를 사용하는 것)

 

FTAM(File Transfer, Access, and Management): 사용자에게 원격 호스트에 들어 있는 파일에 대한 접근(데이터를 읽거나 변경하기 위해)과 로컬 컴퓨터에서 원격 컴퓨터에 들어 있는 파일의 제거, 로컬 컴퓨터에서 원격 컴퓨터에 들어있는 파일을 관리하거나 제어하게 해준다. 인터넷에서의 FTP(File Transfer Protocol)와 같은 역할을 한다.

 

MHS(Message Handling System) 혹은 X.400 : 전자우편의 전달과 저장을 제공한다. 인터넷에서의 SMTP(Simple Mail Transfer Protocol)와 같은 역할을 한다.

 

X.500 : 인터넷에 존재하는 모든 존재물에 대해서 카달로그를 만들어서 접근할 수 있도록 해주는 프로토콜이다. 인터넷에서 DNS(Domain Name Server)와 같은 역할을 한다.

 

반응형

댓글