본문 바로가기

네트워크/네트워크 기초이론

네트워크의 개념/종류/모델

네트워크 정의

네트워크란? 두 개 이상의 장비가 연결되어 통신이 가능한 것을 뜻한다.  네트워크는 크게 3가지 조건을 만족해야한다.


1. 두 개 이상의 장비

2. 서로 연결이 되있어야한다.(무선이든 유선이든)

3. 서로 통신을 할 수 있는 상태여야한다.


통신에는 여러가지 기술이 있다. 장비들이 통신을 하기 위해서는 서로 간 규칙을 맞추어줘야한다.

이러한 통신을 위해 서로 간 맞춰줘야하는 통신의 규칙을 프로토콜이라한다.

프로토콜은 뒤에 나오는 계층 모델에 따라 여러가지로 정의된다.

대표적인 표준 프로토콜은 IEFT의 RFC에 정의되었이다.




네트워크 종류

네트워크는 물리적 거리에 따라 다음과 같은 두가지 네트워크로 구성된다.


1. LAN(Local Area Network)

- 일반적으로 좁은 지역에서의 네트워크를 뜻한다.

- 현재 장비가 있는 지역의 네트워크(장비가 속해있는 네트워크)

- 직접 구축하고 관리한다.



2.WAN(Wide Area Network)

- 지리적으로 넓은 지역을 연결한 네트워크를 뜻한다.

- 개인이 아닌 ISP에서 직접 관리해준다


* ISP: ISP는 (Internet Sercvice Provider)의 약어로 인터넷 서비스 제공업체를 뜻한다. 우리나라의 경우 KT나 SKT 같은 인터넷 서비스를 제공해주는 업체라고 생각하면 된다.


일반적으로 네트워크와 네트워크를 합쳐서 하나의 광역 네트워크로 이루어진다. 이러한 것을 internetwork라 한다. 대표적인 internetwork로 Internet이 있다.

일반적으로  internet(소문자 'i')이라 함은 internetwork를 뜻한다.

우리가 평상시에 사용하는 것은 internet이 아닌 Internet(대문자 'I')로 써서 구분한다.

사실 상 오늘날은 그냥 혼용해서 쓰므로 상황에 따라서 알아듣자!


네트워크 모델


현재 두 가지 네트워크 모델이 빈번하게 사용된다.


1. TCP/IP 모델: 현재 우리가 사용하는 Internet에 적용되어 있는 모델이다


 application 

tranport 

internet 

 network interface

위와 같이 나누어진다.


여기서 network interface는 또 data-link와 physical로 나누어진다.


2. OSI(Open Sysyem Interconnection) 모델: 가장 유명한 네트워크 모델, 구현된 시스템을 위한 모델이 아닌 개념적 설명을 위한 참조 모델로 사용된다.


application 

presentation 

session 

transport 

network 

data-link 

physical 

위와 같이 나누어진다.


항상 상위 계층이 아래 계층에게 일을 부여하며 아래 계층이 상위 계층에게 서비스를 제공한다.


application Layer: 사용자에게 인터페이스를 제공해준다. 우리가 흔히 사용하는 카카오톡, 페이스북 등등

presentation Layer: 사용자 또는 컴퓨터처리를 위한 데이터 형식을 변환하는 계층, 우리가 읽는 고급어를 기계어로 번역한다거나, 특정 사용자의 조회를 금지하기위해 데이터를 암호화/복호화 한다거나, 각 파일에 확장자를 붙여 형식을 지정하는 등이 presentation 계층에 해당한다.

session Layer: 응용프로그램 간 연결을 관리한다. 어플리케이션의 동기화같은 것에 사용된다. 통신을 준비하는 계층


위의 3개 계층을 상위 게층이라 하며 상위 계층의 역할은 데이터를 생성하는 것이다.

네트워크에서는 당연히 데이터를 생성하였다면 데이터를 전송 할 필요가 있다. 

나머지 4개의 계층을 하위 계층이라 하며 역할은 데이터를 전송하는 것이다.


transport Layer: transport라 하면 전송을 뜻하지만 실제로 데이터를 전송하지 않는다. 데이터 전송을 support 하는 느낌?

정확한 정보 전달을 위해 데이터를 구분해준다.(웹 (http)-> 80) 이런식으로

또한 TCP와 UDP 방식으로 나누어 데이터 통신의 신뢰성도 보장해준다.

-TCP(transmission Control Protocol)-> 데이터가 전달되었는지 지속적으로 물어보는 방식, 속도는 느리지만 데이터의 안전성을 확인 -> 오류 제어라고 한다

-UDP(User Datagram Protocol) -> 데이터의 안전성보다 속도에 더 치중한 방식, 데이터의 도착여부를 확인하지않고 데이터를 전송만한다.  -> 흐름제어라고 한다.

ex)실시간으로 통화하는 VOIP같은 경우는 데이터가 전달의 안정성보다 속도가 더 중요하다. 


network Layer: 네트워크를 논리적 주소(IP)로 나누어 통신경로를 결정하는 계층, 대표적으로 라우팅과 같은 것들이 속한다.

라우팅: 네트워크 망 사이에서 통신을 결정하는 것

이러한 라우팅을 하는 장비를 라우터라고한다.

만약 다른 네트워크로 데이터를 보내려면 게이트웨이를 거쳐야한다.


게이트웨이: 네트워크 망에서 문(door)과 같은 역할, 게이트웨이를 통해 외부, 내부로 들어오가 나간다.


data-link Layer: 단말 사이의 물리적 구성에 관한 계층, 대표적으로 이더넷 혹은 토큰링, ppp와 같은 네트워크 토폴로지의 개념이 이에 속한다.


물리적 구성은 크게 두가지로 나누어진다.

Point To Point: 1:1통신, 대표적으로 point to point 방식을 사용하는 프로토콜로는 ppp와 hdlc가 있다.

Multiple Access: 세 대 이상의 장비연결 대표적으로 이더넷이 이에 해당한다.


physical Layer: 받은 데이터를 0과 1로 바꾸어(전기적 신호) 수신측으로 보낸다. 직접 케이블을 통해 전송하는 계층, 보통 cable 규격 관련 프로토콜이 대표적인 1계층 프로토콜에 속한다.


데이터 전송 시 각 계층의 헤더가 데이터에 추가된다. 헤더라는 것은 각 계층에서 전송하는 데이터에 속성을 더하는 것이라고 생각하면된다. 예를들어 네트워크 계층 경우 데이터에 출발지 ip와 목적지 ip, 데이터 life time 등의 정보를 추가해서 전송한다.

대충 이런 형식이다

데이터 -> L7(layer 7) -> L7 Header+data -> L6 -> L6 Header+L7 Header+data ................  -> L7 Header +L6 Header +L5 Header +L4 Header +L3 Header +L2 Header + data -> 케이블(L1)과 같은 통신 매체를 통해 다른 pc로 전송

이런 식으로 데이터가 계층을 통과해 포장되어 다른 pc로 전송하는 것을 인캡슐레이션이라한다.

데이터가 다시 전송되면 해당 header를 각 계층을 통과하며 다시 벗겨낸다. 이것을 디캡슐레이션이라 한다.


이때 원본 data에 header가 붙여졌서 포장된 데이터를  PDU라고 부른다.

즉, PDU = 원본 data + 헤더정보

이 PDU는 각 계층마다 명칭이 달라진다. 


계층에 따른 PDU 명칭

상위계층(5,6,7)->데어터, 메시지

transport -> 세그먼트

network -> 패킷

data-link -> frame


마지막으로 physical Layer를 통해 비트(0,1)로 바뀌어 전송된다.