[네트워크] OSI 7계층 이해하기

huihui·2021년 3월 6일
0

OSI 7계층이란?

OSI 7계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 의미한다.


물리계층(Physical Layer)

두 대의 컴퓨터가 통신을 하려면 0, 1을 주고 받을 수 있으면 된다.
A, B의 컴퓨터가 있다고 가정을 하자.
A는 B에게 데이터를 전송할 때 0, 1로 이루어진 값을 보내는데 이를 아날로그 신호로 바꿔서 전송한다(Encoding).
그럼 B는 아날로그로 이루어진 값을 받아 0, 1의 나열로 해석한다.(Decoding)
물리적으로 연결된 두 대의 컴퓨터가 0과 1의 나열을 주고받을 수 있게 해주는 모듈을 물리 계층이라 한다.
물리 계층(1계층 모듈)은 하드웨어적으로 구현되어 있다(PHY 칩)


예림이가 혜림이에게 어떠한 정보를 전송하려고 한다고 가정하자.
예림이는 혜림이 뿐만 아니라 여러 개의 컴퓨터와 연결되어 있어 아래와 같은 상태이다.

저 초록 상자를 더미 허브라고 부른다. 더미 허브에 연결되어 있는 컴퓨터들끼리는 자유롭게 정보를 전달할 수 있다.
하지만, 저 상태에서는 예림이가 혜림이에게 데이터를 전송하면 더미 허브에 연결되어 있는 다른 두 대의 컴퓨터가 이를 확인할 수 있는 취약점이 존재한다.
그런데 이 더미허브가 메시지의 목적지를 확인해서 혜림이에게만 전달해줄 수 있다면 얼마나 좋을까?
이러한 기능을 하는 것이 스위치이다. 스위치는 일종의 컴퓨터로서 이러한 일을 수행한다.


위의 사진처럼 서로 다른 네트워크가 구축이 되어있다고 가정하자.
예림이는 혜림이에게 데이터를 전송하고 싶은데 두 컴퓨터는 전선으로 연결되어 있지 않아 통신할 수 없다.
그런데 만약 스위치와 스위치를 연결할 수 있다면 통신을 할 수 있을 것이다.
라우터가 바로 이러한 역할을 한다.(아래 사진 참고)

엄밀히 따지자면 사진의 초록색 라우터는 스위치 + 라우터L3 스위치이다.
이제 예림이와 혜림이는 통신을 할 수 있는 상태이다.
이 때, 초록색 박스는 공유기에 해당된다.

이렇게 전 세계의 컴퓨터들을 연결한 것을 인터넷이라 한다.

이제 위의 개념을 통해 데이터 링크 계층에 대해 알아보자.

같은 네트워크에 연결된 컴퓨터 3대가 예림이에게 거의 동시에 데이터를 보낸다고 가정하자.
그럼 예림이는 여러 컴퓨터로부터 오는 데이터들을 끊어서 읽어야 할 필요가 있다.
이를 위해 송신자는 데이터의 앞 뒤에 특정한 비트열을 붙인다.
예를 들어, 송신자가 데이터를 보낼 때 앞에는 1111, 뒤에는 0000을 붙인다고 해보자.
그렇다면 1111로 시작하고 0000으로 끝나는 메시지만 찾으면 된다.
이렇게 하면 여러 컴퓨터에서 전송하는 데이터들을 구분해서 읽을 수 있다.


예시를 도식화하면 위와 같다.

데이터 링크 계층은 랜카드에 구현되어 있다.
2계층 모듈도 1계층 모듈과 같이 하드웨어적으로 구현되어 있다.


네트워크 계층(Network Layer)


위의 사진에서 A 컴퓨터가 B 컴퓨터에 data를 보낸다고 가정을 하자.
현재 B 컴퓨터의 IP는 55.10.54.75인 상태이다.
A 컴퓨터는 data 앞에 목적지 주소를 붙여 B에게 전달해야만 한다.
저 초록색 박스를 패킷이라 한다.
A 컴퓨터가 라우터 에게 패킷을 전달하면 는 이를 확인하고 에게 전달한다.
이러한 과정을 거쳐 에게 까지 전달되어 는 B에게 A가 보낸 패킷을 전송한다.

네트워크 계층이란 수많은 네트워크들의 연결로 이루어진 인터넷에서 어딘가에 있는 목적지 컴퓨터로 데이터를 전송하기 위해, IP 주소를 이용해서 길을 찾고(라우팅) 자신 다음의 라우터에게 데이터를 넘겨주는 것(포워딩) 을 의미한다.

1계층 ~ 3계층의 데이터 전송과정의 도식화는 아래와 같다.

네트워크 계층은 운영체제의 커널에 소프트웨어적으로 구현되어 있다.


전송 계층(Transport Layer)

전송 계층은 포트 번호를 사용하여 도착지 컴퓨터의 최종 도착지인 프로세스까지 데이터가 도달하게 하는 모듈을 의미한다.
(자세한 내용은 https://velog.io/@ctp102/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-TCPUDP-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0 참고)

전송 계층도 3계층과 마찬가지로 운영체제의 커널에 소프트웨어적으로 구현되어 있다.

응용 계층(Application Layer)

현대의 인터넷은 OSI 모델이 TCP/IP 모델과의 시장 점유 싸움에서 패배했기 때문에 OSI 모델이 아니라 TCP/IP 모델을 따르고 있다.


OSI 7계층의 5~7 계층을 TCP/IP 모델은 Application Layer로 통합하였다.
과거의 TCP/IP 모델은 1~4계층이 OSI 모델과는 달랐지만, 개선된 TCP/IP 모델은 OSI 동일한 것을 알 수 있다.

참고

https://www.youtube.com/watch?v=1pfTxp25MA8&t=419s

0개의 댓글