OSI 7 Layer

OSI란 뭘까

국제표준화기구(ISO)에서 개발한 OSI 모형(Open Systems Interconnection Reference Model)라고 한다.
이걸 공부함으로써 평소에 인터넷을 사용하는 것이 어떤 원리인지 알 수 있었다.


L7 응용 계층(Application layer)

다른 곳에서는 L1인 물리계층부터 시작하는 데 나는 응용계층에서 시작하는게 편해서 응용계층부터 시작해본다.

구글 크롬, 마이크로소프트 엣지 또는 뭐 어플리케이션이라고 하는 것들이 전부 응용계층이다. 그냥 다 섞였구나 라고 생각하면 된다.

우리에게 가장 익숙한 가장 많이 접하는 것들이 전부 응용계층이다. 응용계층을 선물이 들어있는 선물상자로 비유하자면 멋진 상자를 의미한다.


L6 표현 계층(Presentation layer)

표현계층은 진짜 표현하는 계층이다. 인터넷에서 받아온 정보들을 복호화해서 우리에게 보여준다. 지금 이 글을 보고있는 당신도 표현계층에서 내 글들을

복호화 해서 보여주기 때문에 볼 수 있는거다.

근데 네트워크라는 것이 내가 정보를 받기만 하는게 아니다.

내가 정보를 요청하기도 하는데 요청 할 때 암호화 해서 요청하는 그 작업도 이 표현계층에서 담당한다.

표현계층은 이 어플리케이션 이 나에게 정보를 보여주기만을 즉, 표현하는 것만을 담당하는 것이 아닌 내가 정보를 요청할 때 그 요청하는 것을

필요한 서버에게 표현해주는 작업도 이 표현계층이 해준다.


L5 세션 계층(Session layer)

세션은 마땅히 데체할 한글단어가 없었나보다.

세션은 예를들어 내가 지금 구글에 접속하여 무언가 정보를 찾으려 한다면 이 '구글'에 해당되는 부분이다.

내가 지금 연결되어있는 곳 이 통신을 담당하는 곳을 세션이라 한다.

더 자세히는 공부하면 머리 깨질까봐 안했다.


L4 전송 계층(Transport layer)

일반적으로 웹서비스를 사용하려면 https라는 80포트를 이용한다. 이때 이 '포트'라는 것이 Transport의 port이다.

그럼 다른 포트도 있는가? 라고 묻는다면 당근있다. 80도 있는데 다른 포트도 엄청 많다.

그런 것들은 https가 아니라 다른 식으로 표현되며 그 뒤에 또 어떤 서비스를 하는 곳의 IP주소를 적어 접속하게 될것이다.

어떤 서비스를 하는가?에 대한 정보를 담고있는 부분이 전송계층이다. 다시 말하자면 80포트는 웹서비스를 의미한다.


L1 물리 계층(Physical layer)

왜 갑자기 제일 첫번째인 물리 계층을 왔냐면 설명하기 쉬워서그렇다.

그리고 이 1, 2, 3계층은 4이상의 계층과는 다르기 때문에 나눠서 설명해야함도 있다.

물리 계층, 진짜 물리적으로 연결되어있는것을 의미한다. 전선으로. 지금은 전선이 아니라 무선으로도 되는데 그래도 물리계층이다.


L2 데이터 링크 계층(Data link layer)

생각을 해보자. 내가 정보를 요청했을 때 그 정보는 내가 가진이 노트북에 혹은 데스크탑에 어떻게 알고 오는걸까?

주소를 적어서 보내기 때문이다. 흔히 평소에 많이듣는 IP주소가 이 주소의 일부분에 해당한다.

물리 계층은 꽤나 자세한 주소 중 하나이다.

지금 살고있는 아파트 주소로 예를 들어보자.

대한민국 대전광역시 O구 OO동 OO아파트 107동 304호

이 주소에서 L2 데이터 링크계층에서는 '304호'에 해당하는 주소를 다룬다.

언제 한번 들어봤을지도 모르겠지만 MAC주소가 이를 의미한다.

IP를 받기 위해서는 필수적으로 이 MAC주소가 필요하다. 이거 없으면 인터넷을 할 수가 없다. 단말기들을 식별하는 유일한 일렬변호이기 때문이다.

아마 인터넷을 하기 위해서는 무선으로 연결을 할텐데 그럼 공유기를 사용할것이다.

우리가 사용하는 단말기들은 모두 IP를 가지고 있지만 이 IP들은 전세계에서 사용할 수 있는 공인IP가 아니라 집에서만 사용하는 사설IP들이다.

한마디로 집에서 사용하는 사설IP만으로는 인터넷에 연결 할수가 없다.

그래서 뭘 말하고 싶냐면 공유기는 전세계에서 사용하는 공인IP를 공유기의 MAC주소를 통해받아, 공유기가 만든 사설 IP들을 집에서 사용하는 단말기에 뿌리고

우리 단말기는 우리 단말기에 있는 MAC주소를 통해 그 사설IP들을 부여받고 사용하게 된다.

말이 길었는데 결국 데이터 링크 계층에서 의미하는 데이터라는 건 MAC주소를 의미한다. 주소를 연결한다는 말이다.

L2 계층에 해당하는 '스위치' 혹은 '스위칭 허브'들은 모두 IP가 아니라 MAC주소를 테이블형태로 저장하고 이를 관리한다.

허브가 뭐지?

만약 2대의 PC만 서로 연결한다고 하면 전선하나로만 하면 된다.

하지만 이제 3대 4대가 한다고 해보자 분명 어떤 정보를 전달할 때 어떤 PC를 거쳐서 전달해야 하는 상황이 벌어질 것이다.

한마디로 4대가 있다고 한다면 대각선에 위치한 PC들은 서로 정보를 전달하려면 다른 PC를 거치거나 아니면 서로를 바로 잇는

전선이 필요할거라는 말이다. 그러면 전선은 4대일때 6개 더 많은 PC가 있다면 더 많은 전선이 필요할 것이다.

이때 이 허브 라는것이 필요하다.

허브에 각자 전선을 가지고 잇는다면 서로에게 정보를 전달할 수 있다. 근데 여기서 문제가 생긴다.

결국에는 전기적인 신호인 정보들은 허브를 통해 전해지게 될 때 불필요한 PC까지 정보를 전달하게 된다.

A라는 PC가 D라는 PC한테 정보를 전달했는데 B, C까지 정보를 받아버리는 아찔한 상황들이 벌어진다는 것이다.

그러면 어떡해야 할까? 그럴 때 나온것이 '스위치'이다.

스위치는 정보를 필요로 하는 PC가 연결된 포트로 전달해주는 역할을 하며 이렇게 하면 속도 측면에서도 굉장한 효과를 낸다.

원리는 당연히 스위치 자체가 각 PC의 MAC주소를 기억해 두기 때문에 정확한 전달을 할 수 있게 한다.

물론 스위치나 허브가 없는 전선만 가진 환경이더라도 네트워크라고 한다.

하지만 허브나 스위치를 둠으로써 더 효율적인 네트워크를 형성하게 된다.


L3 네트워크 계층(Network layer)

이 계층에서는 IP를 사용한다. IP는 아까 예를 들었던 주소를 가지고 설명하자면 MAC주소를 뺀 나머지 그러니까

대한민국부터 104동까지를 IP주소가 담당한다고 생각하면 된다. 네트워크계층에서는 이 MAC주소를 통해 부여받은 IP를 관리하는 계층이다.

IP까지 오면 이제 네트워크와 네트워크 끼리 연결을 할 수 있게된다.

각각 여러 사람들이 모인 네트워크와 네트워크 끼리 연결을 할 수 있다는 말이다. 우선 전선으로만 이루어진 네트워크 4개를 생각해보자.

여기서 각 네트워크 끼리 연결하려면 어떻게 해야할까?

각 네트워크 중 하나를 정하여 이를 전선을 통해 이어주면 된다.

근데 여기서 어떤 정보가 전달된다고 한다면 모든 네트워크에 뿌려지므로 속도가 매우 느려지게 된다.

그럼 이 초록색 원들을 스위치로 만들면 되는게 아닌가? 라고 할 수 있다.

맞는 말이다. 하지만 그냥 L2 스위치면 안된다. L3 스위치가 되어야 한다.

네트워크와 네트워크를 잇기 위해서는 그냥 전선만 있어도 되지만 이제 정보를 전달할 때 특별히 지켜야할 규칙들(프로토콜)과 여러가지

복잡한 것들을 수행해야하는 데 그냥 MAC주소만 다루는 L2스위치는 이걸 할 수가 없다. 이젠 IP를 사용해야 하는데 이 IP를 다루는 스위치가 L3스위치이다.

이 스위치와 스위치 끼리를 잇는 전선을 브릿지라고 하며 L3스위치는 브릿지를 통해 정보를 전달하는데 이를 라우팅(Routing)이라고 한다.

그렇다 L3스위치는 L2의 역할 + 라우팅 까지 한다. 따라서 L3스위치는 라우터라고 해도 무관하다.

또한 게이트웨이라고하는데 마치 관문처럼 어떤 사설네트워크를 빠져나가서 다른 네트워크를 가기전에 만나는 곳이 관문 즉 게이트웨이이기 때문이다.

우리가 집에서 보는 공유기들은 아쉽게도 라우터는 아니다 AP 기능이 있는 L2 스위치이다. AP(Access Point)는 간단히 말해 무선 단말기를 말한다.

이제 이 공유기에 대해 공부해보자.

공유기들은 각자 돈을 지불하고 있는 통신사로부터 공인 IP를 할당받게 된다. 딱 하나 받는다. 왜냐면

이렇게 L3보다 더 상위 레이어또는 L3레이어와 연결될 수 있는 업링크(Uplink) 포트가 하나이기 때문이다.

그렇다면 우리는 어떤 IP를 가지고 인터넷을 하는것일까?

우리는 공유기가 DHCP를 통해 만든 사설 IP를 가지고 인터넷을 사용한다.

이 사설 IP를 인터넷에서 쓸 수 있다는 말이 아니다. 이 IP들은 다른 네트워크로 나갈 때 NAT를 통해 공인 IP를 뒤에 달고 나가게 된다.

나가게 될 때 거치는 곳이 공유기 즉 게이트웨이이다. 이렇게 L3는 IP를 다루는 레이어이다.


정리

7가지 계층들을 공부하면서 평소에 봤던 여러 용어들에 대해 하나 둘씩 알아가고 그럴때마다 느끼는 희열이 너무 좋다.

변태라는 것이 아니다. 뭔가 알아감에 있어 얻는 기쁨이 신난다는 말이다. 자주자주 이 페이지는 가끔 업데이트 될텐데

그때마다 더 재밌는 내용들을 가지고 업데이트를 할 생각이다.
마지막 업데이트 [19.08.30]