인터넷
이번에는 인터넷에대해 간략히 정리해 보고자 한다.
인터넷
우리는 어떻게 인터넷에 접속하고 동영상을 시청할 수있는것일까?
결론부터 말하자면 각종 표준을 따르는 통신규약 및 여러 하드웨어를 이용하여 인터넷에 접속하고 동영상을 시청할 수 있다.
스위치? 라우터? DNS? DHCP?
위에 작성한 하드웨어 장치들은 네트워크 통신을 위한 장비들중 일부 이다. 이외 다른장지들도 분명 존재하지만 지금은 다루지 않는것 뿐이다. 결코 저 위의 4가지로만 네트워크가 구성되지 않는다.
OSI 7계층
위 장비들에 대해 간단하게 정리하기 전에 이 개념을 먼저 알고 있어야 한다.
OSI 7계층은 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다.
먼가 어려워 보이지만, 1계층부터 어떻게 네트워크를 구성해야 하는지 생각해 보면 이해하기 쉽니다.
제 1층 피지컬(물리) 레이어
랜선을 이용한 물리적인 신호 연결 및 전송.
제 2층 데이터링크 레이어
프레임이라 부르는 데이터를 전송하는 계층. 근처에 존재하는 주변 노드들과 통신을 하며 물리적인 신호속에 충돌, 오류를 탐지하고 다시 전송하는등 흐름을 제어하며 신뢰있는 전송을 담당하는 계층이다.
어쩌면 들어봤을 MAC(Media Access Control Address) 주소를 이용하여 주변 기기들을 구분한다.
전송 프로토콜로 이더넷, 랜등 한번쯤 들어봤을 연결방법들이 해당된다.
특이하게 2가지 서브레이어를 가지고 있다.
-
MAC(Media Access Control Address)레이어 해당 계층은 위에서 말한 흐름제어를 담당하며 동시에 다중화(multiplexing - 하나의 전송매체에 하나 이상의 데이터를 동시에 전송하는 기법, 시간, 주파수, 공간등을 분할하여 전송하는 기법. AM, FM등이 해당.)를 담당한다.
-
LLC 3계층이 다중화를 사용할수 있도록 일종의 인터페이스를 제공한다.
제 3층 네트워크 레이어
해당 계층은 여러 2계층 노드들을 연결하는 경우를 생각해보면 이해하기 쉽다. 랜, 이더넷등의 네트워크들은 바로 옆에 컴퓨터와 통신을 할수 있지만 이런 2계층 네트워크가 여러개 존재하고, 2계층 네트워크끼리 다시 구성을 해야할 경우 한쪽 네트워크의 끝에서 다른쪽 네트워크의 끝 노드의 주소를 어떻게 알수 있을까?
해답은 MAC 주소를 대신하여 사용할 IP주소를 사용하는 것이다. (MAC 주소는 2계층에서 여전히 사용된다! 다만 3계층에서 사용할 다른 주소체제가 필요한것 뿐)
한번쯤 보았을 192.168.1.1 과 같은 주소를 각 컴퓨터에 부여한다. 이런 주소를 IPv4 주소라고 하는데, 8비트 4개를 이용하여 주소를 표현한다.
즉 0.0.0.0 ~ 255.255.255.255 까지의 주소만 사용이 가능하다. 특이한 점은 특정 주소들은 특정 목적을 위해 사용이 금지되어 있다. (192.168.X.X의 주소는 흔히 집에서 사용하는 공유기와 같은 내부망을 위한 주소이다)
하지만 이런 IPv4의 주소는 IoT의 규모가 점차 커지는 등의 이유로 남은 주소가 부족해졌다.
위키피디아에 따르면, 2012년 1월 30일 기준으로 IPv4의 232인 4,294,967,296개 중에 3,410,303,904개가 할당, 588,514,560개가 특수용도, 296,148,832개가 미할당이다. 그래서 나온것이 IPv6 주소이다. 기존의 주소가 32비트였다면, IPv6의 주소는 128비트이다. 16진수를 사용하여 16비트씩 8부분으로 나눠 표현한다.
기존주소가 43억개의 주소만 사용가능했다면, 약 43억×43억×43억×43억개의 주소가 지원가능. 하지만 여전히 IPv4를 여전히 많이 사용한다.
이 계층은 패킷을 주고 받는다.
제 4층 트랜스포트 레이어
그럼 3층에서 컴퓨터간의 통신은 완료되었다.
하지만, 컴퓨터 사이의 통신일 뿐, 어떤 프로그램들이 연결되어야 할지 아직 알수 없다. 프로그램사이, 호스트간 연결을 담당하는것이 제 4층이다.
해당 계층에서는 데이터 세그먼트 혹은 데이터그램 이라는것을 주고받으며 통신한다.
전송프로토콜로 TCP , UDP가 존재. 둘의 차이는 잘못된 데이터를 수신한경우 약간의 시간을 더 사용하여 정확한 데이터를 요청할것인지, 빠른 속도를 중시하여 정확한 데이터를 요청하지 않을것인지 의 차이이다.
제 5계층 세션 레이어
어떤 사이트를 이용하다보면 세션이 만료되어 로그아웃 처리되었다며 다시 로그인을 해야 하는 경우가 종종 있다.
이런 연결, 세션을 유지하는 계층이 세션 레이어 이다.
요 계층은 후술할 어플리케이션 계층에서도 충분이 제공이 가능하다고 판단되었는지 7층 어플리케이션 레이어에 기능이 병합되어 사용되는것이 일반적이다.
제 6층 프레젠테이션 레이어
데이터 암호화/복호화, 인코딩등을 통해 호스트들이 사용할 데이터를 일치시키도록 보장하는 레이어 역시 7층 어플리케이션 레이어에서 제공 가능하다 판단되어 실제로 잘 사용되지 않는다.
제 7층 어플리케이션 레이어
사용자들이 제작한 프로그램, 어플리케이션등이 사용할 프로토콜을 제공하는 계층이다. FTP, HTTP 등의 프로토콜을 제공한다.
특징
해당 다이어그램?은 실사용과 맞지 않다. 우선 6,5계층은 7계층에 통합되어 있고 3,4 계층 그리고 간혹 2계층까지 통합된것이 현실.
데이터들은 7->6-> … 1계층으로 데이터가 넘어가며 가 계층마다 다른 포장법으로 포장된다. 해당 포장법은 라우터, 혹은 다른 컴퓨터의 같은 계층에서만 해독이 가능하다.
쉽게 이해하자면 택배의 전달과정과 비슷하다. 발신인은 택배에 내용물을 포장한다. 이 내용물은 수신자만 확인이 가능하다. 택배는 택배기사의 의해 집화되고 트럭에 실린다 택배는 터미널 허브에 도달하기전까지 확인이 불가능하다.
다시 돌아와서 스위치 라우터 DNS DHCP에 대해 설명하자면 스위치는 L2(제 2계층)에서 동작하며 보내야할 곳에 데이터를 전송한다. MAC주소를 이용하여 전송한곳과 전송할 곳을 확인하고 전송한다.
라우터는 스위치와 비슷하다 다만 L3 계층에서 IP주소를 이용하여 어디로 라우팅을 해야할지 결정한다. (일반적인 공유기의 라우터가 아닌 네트워크 라우터를 말한다)
DNS는 사람이 이해하기 쉬운 도메인주소를 컴퓨터가 이해할수 있는 IP주소로 변환해주는 일종의 시스템이다. 하나의 루트 서버 내부에 .net, .com등을 관장하는 여러 서버들이 존재하며, 해당 서버 들이 요청받은 도메인주소에 해당되는 IP주소를 반환하게 된다.
DHCP는 망 내부에서 새로운 클라이언트에게 IP주소를 할당하기위한 프로토콜이다. 이런 프로토콜을 사용하는 서버를 이용하여 새로운 클라이언트에 새로운 내부망을 동적으로 할당하고 관리할 수 있다.
댓글남기기