본문 바로가기

전자 공학/기타

[네트워크 기초쌓기] 1. 네트워크의 기초 (패킷, 프로토콜, TCP/IP 참조 모델)

반응형

안녕하세요. 취업한 공대누나입니다.

이더넷 관련 통신 개발 업무를 하기 전 이론 공부 내용을 시리즈로 담아보고자 합니다.

학부 때 네트워크 관련 공부를 많이 안했었기 때문에 기초부터 공부해보고자 합니다.


1. 데이터 전송 방식

1) 회선 교환 방식(circuit exchange method)

데이터를 교환하기 전에 일대일의 전송로(데이터 통로)를 만들고, 교환을 마칠 떄까지 전송로를 계속 사용하는 방식입니다. 그래서 회선 독점을 통한 통신 방식이라고도 볼 수 있습니다. 연속적인 데이터 처리에 우수하며 안정적인 통신이 가능하다는 장점이 있습니다. 하지만 데이터가 흐르지 않을 때도 회선이 연결되어 있기 때문에 회선 이용 효율이 낮아 데이터의 교환에 적합한 통신 방식이라고 볼 수는 없습니다. 그래서 이를 보완할 목적으로 고안된 것이 아래에서 볼 패킷 교환 방식입니다.

 

 

ex) 고정 전화 : 회선 교환기로 구성된 회선 교환 네트워크에 일대일의 논리적인 전송로를 만들고 접속을 끊을 때까지 이를 계속 사용합니다.

 

2) 패킷 교환 방식(packet exchange method)

패킷(packet)이라고 부르는 작은 단위로 나누어 네트워크로 보내는 방식을 말합니다.

회선 교환과는 다르게 전용선이라는 개념이 있지 않습니다. 패킷 교환은 전송하려는 데이터를 패킷이라는 단위로 나누어서 네트워크망에 뿌려주게 됩니다. 

 

각 패킷들은 네트워크의 트래픽 상태에 따라 각기 다른 전송 경로를 가질 수 있습니다. 

송신측에서는 데이터에 헤더(header)라는 정보를 붙여 패킷 교환 네트워크로 패킷을 보냅니다. 헤더에는 최종 목적지에 대한 정보, 데이터 중 몇번째에 해당하는 패킷인지에 관한 정보 등 다양한 정보가 포함되어 있습니다.

즉, 패킷 교환 네트워크는 헤더 정보를 보고 수신 컴퓨터로 패킷을 전달하게 됩니다. 그리고 수신 컴퓨터는 헤더의 정보를 보고 원 데이터로 복원을 하게 됩니다. 

 

필요할 때 필요한 만큼 회선을 이용할 수 있을 뿐만 아니라, 같은 회선을 사용해 다른 사용자의 데이터도 전송할 수 있기 때문에 회선을 효율적으로 이용할 수 있다는 장점이 있습니다. 하지만 패킷에 헤더라는 것을 추가함에 따라 오버헤드 발생 가능성이 있고 전송량이 증가함에 따라 지연율이 상승할 수 있다는 단점이 있습니다.

 

그림 출처 : 유비쿼터스 시대의 컴퓨터 개론


2. 프로토콜

패킷을 처리하기 위한 규칙을 우리는 프로토콜(Protocol)이라고 부릅니다.

컴퓨터 네트워크 환경 내에서 모든 기기가 서로 통신하며 데이터를 주고 받기 위해서는 각 기기에 사전 협의된 통신 협약/규약이 필요합니다. 이 규약을 네트워크 프로토콜이라고 합니다.

 

예를 들어 https://www.google.com/ 를 입력할 때 https가 프로토콜에 해당합니다.

'웹 브라우저의 URL 첫 부분에 https라는 문자를 붙임으로써 HTTPS로 결정된 규약에 따라 패킷을 처리합니다'라고 선언하는 것입니다. HTTPS 프로토콜을 통해 HTML로 제작된 웹페이지에 연결하겠다라는 의미입니다. 만약 여기서 HTTP가 아닌 FTP와 같이 다른 프로토콜을 입력하면 다른 방식으로 해당 사이트에 접속하겠다라는 의미입니다.

 

LAN 케이블 소재나 커넥터 형태, 그 핀 할당에 이르기까지 네트워크에서 눈에 보이는 것들은 모두 프로토콜에 정의되어 있다고 봐도 됩니다. PC의 NIC(Network Interface Card)는 프로토콜에 정의된 내용에 기반해 케이블이나 전파 등의 전송 매체에 패킷을 보냅니다.

 

이름이나 주소를 모르면 택배가 도착하지 않는 것과 같이 어디에 위치한 누구와 통신하고 싶은지를 모르면 패킷을 전달할 수가 없습니다. 그렇기 때문에 네트워크 세계에서도 현실 세계와 같이 주소를 할당해서 송신 상대를 구별하게 됩니다. 헤더에는 송신지, 수신지 주소가 있으며 뿐만 아니라 원래 데이터로 복원하기 위한 순번이나 서버 정보 등 전송에 필요한 제어 정보가 모두 담겨 있습니다.

 

프로토콜에는 헤더의 어디에서 어디까지 어떤 정보를 포함하고 어떤 순서로 교환하는지 등이 정의되어 있습니다.


3. 계층 구조 모델

1) TCP/IP 참조 모델

계층 계층 이름 역할
4계층 애플리케이션 계층 사용자에게 애플리케이션을 제공한다.
3계층 트랜스포트 계층 통신 노드 간의 연결 제어 및 자료 송수신을 담당
2계층 인터넷 계층 네트워크상 최종 목적지까지 정확하게 연결되도록 연결성을 제공
1계층 링크 계층 같은 네트워크에 있는 단말과의 연결성을 확보한다.

TCP/IP 계층은 링크 계층, 인터넷 계층, 트랜스포트 계층, 애플리케이션 계층으로 총 4계층으로 구성되어 있습니다. 추후에 계층마다 자세히 살펴볼 것입니다. 여기서는 간단하게만 설명하고 넘어가도록 하겠습니다.

 

링크 계층은 네트워크에 접속하는 하드웨어적인 면을 다룬다고 보시면 됩니다. 디지털 데이터를 물리적인 전송 매체(케이블이나 전파)로 보내는 변환/변조 및 그 신뢰성을 확보하는 처리를 수행합니다.

 

인터넷 계층은 상대방의 컴퓨터까지 어떠한 경로로 패킷을 보낼지 결정하게 됩니다.

 

트랜스포트 계층은 2대의 컴퓨터 사이에서 데이터 흐름을 관리해주는 역할을 합니다. 전송 과정에서 데이터의 손상이나 유실없이 제대로 전달이 되는지, 데이터가 효율적으로 전달이 되는지, 목적지 컴퓨터 내의 어떤 애플리케이션에 데이터를 전달해야 하는지를 트랜스포트 계층에서 처리하게 됩니다.

대표적으로는 TCP와 UDP 2가지 프로토콜이 있습니다.

 

애플리케이션 계층은 사용자에게 제공되는 애플리케이에서 사용되는 통신을 관리합니다. FTS, DNS, HTTP도 여기에 포함됩니다.

 

각 계층의 역할은 명확하게 구분되어 있으며 순서대로 처리합니다. 그리고 자신의 처리가 완료되면 다음 계층으로 데이터를 전달한 뒤 그 처리에는 관여하지 않습니다.

 

TCP/IP 모델은  실용성을 중시한 구조이기 때문에 현재 거의 대부분의 프로토콜은 TCP/IP 참조 모델에 대응하는 형태로 만들어져 있습니다.

 

2) OSI 참조 모델

계층 계층 이름 역할
7계층 애플리케이션 계층 사용자에게 애플리케이션을 제공한다.
6계층 프레젠테이션 계층 애플리케이션 데이터를 통신 가능한 형식으로 변환한다.
5계층 세션 계층 애플리케이션 데이터를 송신하기 위한 논리적 통신로(세션)를 관리한다.
4계층 트랜스포트 계층 애플리케이션 식별 및 그에 따라 통신 제어한다.
3계층 네트워크 계층 다른 네트워크에 있는 단말과의 연결성을 확보한다.
2계층 데이터링크 계층 물리 계층의 신뢰성을 확보하고, 같은 네트워크에 있는 단말과의 연결성을 확보한다.
1계층 물리 계층 디지털 데이터를 전기 신호나 광 신호, 전파로 변환해 네트워크로 보낸다.

현재는 이 모델에 순수하게 대응하고 있는 프로토콜은 존재하지 않습니다. 국제적인 표준화를 목적으로 만들어진 OSI 참조 모델이지만 통신 기능을 너무 세세하게 분류하여 어렵고 사용하기 번잡하게 되어 있기 때문입니다.

 

 

반응형

'전자 공학 > 기타' 카테고리의 다른 글

[네트워크 기초 쌓기] 4. 데이터링크 계층  (0) 2021.12.31
[네트워크 기초 쌓기] 3. 물리계층  (0) 2021.12.26
KC인증이란?  (0) 2021.03.26
CAN 통신이란?  (0) 2021.03.24
윈도우(Windows)란?  (0) 2021.02.04