[Network] 컴퓨터 네트워크

네트워크(Network)

 컴퓨터와 같은 호스트(host) 간에 전송 매체들이 연결되어 데이터를 교환하는 시스템 자체를 이야기한다. 데이터의 교환 방식에는 다양한 방법들이 존재하는데, 시스템이 데이터를 교환할 때는 일련의 통신 규칙인 프로토콜(Protocol)에 의해 통신이 이루어진다.

IP라는 프로토콜을 사용하는 네트워크인 인터넷이 대표적인 네트워크 통신망이다.

 

 

프로토콜(Protocol)

 

데이터 통신을 위해서 사용하는 통신 규약을 말한다. 대표적으로 인터넷에서 사용하는 프로토콜인 IP(Internet Protocol)이 있다. 인터넷을 사용할 때는 IP 패킷이라는 단위로 여러 정보들을 담아서 서버간 통신을 진행한다. 

 

 

패킷(Packet)

데이터 통신이 이루어질때 네트워크를 통해서 송수신되는 데이터 조각이다. 데이터를 한 번에 보내게 되면 데이터의 크기에 따라서 트래픽에 정체가 생길 수 있기 때문에, 위와 같이 데이터 조각인 패킷으로 나누어서 전송하게 된다.

 

 

계층화(Layering)

특징이 다른 여러 호스트들이 연결해서 통신하려면 연결 방식의 표준화가 필요한데, 이를 위해서 모듈들이 계층을 이루도록 역할과 책임을 세분화 하는 것을 말한다. 대표적인 계층화 방법으로 OSI 7계층, TCP/IP 5계층이 있다.

계층화의 이용은 복잡한 시스템을 단순화한다. 또한 한 계층의 변화가 다른 계층에 영향을 주지 않기 때문에 업데이트와 유지보수가 용이해진다.

 

 

각 계층간에는 캡슐화와 역캡슐화 과정이 발생한다. application layer에서 송신 데이터가 생성되면, 데이터는 하위 계층을 지나면서 계층마다 캡슐화라는 과정을 거치면서 헤더의 형태로 추가적인 정보를 갖게 된다. physical layer에서 최종적으로 캡슐화가 일어난 이후에 데이터가 전송된다.

이후 수신측에서는 수신받은 데이터가 하위 계층부터 타고 올라가면서 필요한 정보들을 제공하는데, 이러한 과정을 역캡슐화라고 한다.

 

 

데이터 송신

Encapsulation이 이루어진다.

1. Application Layer : 요청 데이터(Message)가 생성된다.

2. Transport Layer : 신뢰할 수 있는(Reliable) 통신을 위한 헤더를 데이터에 붙여서 세그먼트(Segment)를 만든다.

3. Network Layer : 세그먼트를 받아서 다른 네트워크와의 통신을 위한 헤더를 붙여서 데이터그램(Datagram/Packet)을 만든다.

4. Link Layer : 데이터그램을 받아서 물리적인 통신 채널 개설을 위한 헤더를 붙여서 프레임(Frame)을 만든다.

5. Physical Layer : 프레임을 받아서 물리적 신호로 변환하여 전송한다.

 

 

데이터 수신

송신의 역과정을 하는 Decapsulation이 이루어진다.

1. Physical Layer : 물리적(전기적) 신호를 받아서 프레임으로 변환한다.

2. Link Layer : 프레임을 받아서 채널에 관련된 헤더를 해석하고 남은 데이터그램은 상위 계층으로 올려보낸다.

3. Network Layer : 데이터그램을 받아서 통신에 관련된 헤더를 해석하고 세그먼트를 상위 계층으로 올려보낸다.

4. Transport Layer : 헤더를 받아서 해석하고 상위 계층으로 올려보낸다.

5. Application Layer : 데이터를 수신한다.

 

 

-Application Layer (응용 계층)
애플리케이션 계층은 웹이나 이메일과 같은 서비스를 제공하는 계층이다. 각 서비스는 자신만의 독자적인 프로토콜을 가지며, 사용자가 직접 사용하는 서비스를 제공한다. 애플리케이션 계층에는 말 그대로 애플리케이션마다 HTTP, FTP, SMTP등 목적에 따른 다양한 프로토콜이 존재한다.

-Transport Layer (전송 계층)
전송 계층에서는 클라이언트간, 혹은 클라이언트와 서버간의 프로세스간 데이터 통신을 제공하며, 신뢰성의 보장을 위해 포트번호를 사용한다. 대표적인 프로토콜로는 TCP와 UDP가 있다. 

-Network Layer (네트워크 계층)
네트워크 계층에서는 라우터라는 장치를 통해서 서로 다른 네트워크간 통신이 가능하도록, 라우팅 알고리즘과 같은 다양한 알고리즘이 존재하여 통신 경로(Source to Dest.)를 찾아준다. 인터넷으로 널리 알려져있는 IP라는 프로토콜이 대표적이다.

-Link Layer (데이터링크 계층)
링크 계층에서는 이웃한 네트워크끼리의 데이터 통신을 관리하며, 물리계층에서 수신된 신호들을 에러를 검출하고 제어하는 관리 규정을 설정하는 등의 해석 방법을 정의한다. 대표적으로 Ethernet이나 Wi-fi같은 프로토콜이 있다.

-Physical Layer (물리 계층)

 

 

'[ CS기초 ] > 네트워크' 카테고리의 다른 글

[Network] UDP, TCP  (0) 2022.02.15
[Network] Transport Layer  (0) 2022.02.11
[Network] 웹과 HTTP  (0) 2022.02.08
[Network] HTTP 쿠키와 세션  (0) 2022.02.03
[Network] Application Layer - 소켓, 프로토콜과 DNS  (0) 2022.02.01