컴퓨터 네트워크와 구성 요소
25 Mar 2019컴퓨터 네트워크
컴퓨터 네트워크는 여러 대의 컴퓨터가 서로 연결되어 데이터를 주고 받을 수 있도록 연결된 것을 말한다. 여러 네트워크 중 가장 규모가 큰 네트워크가 인터넷이다.
네트워크 구조
네트워크에 연결된 컴퓨터 중 서비스를 요청하는 쪽은 클라이언트(Client), 서비스를 응답하는 쪽은 서버(Server)라 부르고 그 요청은 네트워크와 패킷(Packet) 단위로 데이터를 전달하는 라우터(Router)를 통해 전달된다. 이 때, 각 서비스에 따라 통신할 때 지켜야 할 규칙이나 제약을 정한 프로토콜(Protocol)을 따르게 된다. 예를 들어 이메일 주고 받기, 파일 전송, 채팅, 인터넷 전화 등 다양한 서비스가 있는데 이메일은 SMTP, 파일 전송은 FTP를 이용하는 식으로 각 서비스에 맞는 프로토콜을 사용하게 된다.
데이터 전달 방식
데이터 전달 방식은 컴퓨터 네트워크에서 사용한 패킷 교환 방식(Packet switching)과 유선 전화에서 사용하는 회선 교환 방식(Circuit switching) 2가지가 있다.
회선 교환 방식
- 하나의 경로를 점유하여 통신한다.
- 통신 속도가 안정적이다.
패킷 교환 방식
- 주고 받을 데이터를 패킷 단위로 나누어 전달한다.
- 패킷은 송신자(Sender)와 수신자(Receiver)의 주소(Address) 정보를 가진다.
- 동시에 사용자가 몰리면 속도가 저하될 수 있다.
컴퓨터 네트워크 계층 모델
컴퓨터 네트워크에서는 다양한 네트워크 기기와 프로그램이 통신을 하게 되는데 각각 맡은 역할을 분류한 것을 계층 모델이라고 한다.
- 애플리케이션 계층(Application Layer)
- 서비스를 사용자에게 제공
- HTTP, FTP, SMTP, DNS 등
- 트랜스포트 계층(Transport Layer)
- 애플리케이션 계층과 네트워크 계층 사이에서 데이터 흐름 제공
- TCP, UDP
- 네트워크/인터넷 계층(Network Layer)
- 목적지의 IP Address로 데이터 전달
- 네트워크 상에서 패킷의 이동
- IP, ICMP, IPsec
- 링크/네트워크 인터페이스 계층(Link Layer)
- 네트워크 어댑터와 같은 하드웨어를 통해 데이터 전달
- ARP, Ethernet, PPP
송신지에서 애플리케이션 계층부터 링크 계층까지 가서 수신지의 링크 계층부터 애플리케이션 계층까지 순서대로 거쳐 통신을 한다. 각 계층을 지날 때 데이터는 패킷 단위로 나누어지고 목적지와 같은 부가 정보가 헤더(Header) 형태로 추가된다. 각 헤더에 추가되는 정보는 아래와 같다.
- 트랜스포트 계층 : 데이터의 결합 순서, 데이터를 받을 프로그램 식별 번호
- 네트워크 계층 : 목적지 컴퓨터 식별 번호
- 링크 계층 : 유선 LAN에서 데이터 보낼 때 필요한 정보
데이터가 수신측에 도착하게 되면 각 계층을 지나가면서 해당 계층에서 사용한 헤더를 떼고 다음 계층에 정보를 전달하게 된다.
TCP(Transmission Control Protocol)
TCP는 트랜스포트 계층에서 사용하는 프로토콜로서 일반적으로 사용하는 네트워크는 TCP/IP(Internet Protocol)에서 이루어진다. 트랜스포트 계층의 또 다른 프로토콜인 UDP(User Datagram Protocol)와 특징을 간단히 비교해보면 아래와 같다.
TCP
-
Connection-oriented : 연결이 맺어지면 데이터를 전송할 수 있는 상태가 되고 데이터 전송이 끝나면 연결을 끊는다.
- In-order : 송신자가 보낸 순서대로 데이터를 받는다.
- Reliable : 데이터가 정확하게 전송되도록 하며 도달하지 않은 데이터는 재전송한다.
- Byte-stream : 바이트 스트림 데이터 전달
- 흐름 제어 : 서버에서는 클라이언트가 받을 수 있는만큼의 데이터를 전송한다.
- 혼잡 제어 : 네트워크 상태가 혼잡할 때 통신 속도를 조절한다.
UDP
- 단순히 데이터만 전송
- 전송 속도 중시
- VoIP(Voice over IP)나 동영상 스트리밍 서비스에서 사용