[Network] 컴퓨터 네트워크 기본

bin1225·2024년 6월 9일
0

Network

목록 보기
2/7

KOCW 컴퓨터네트워크-이석복 강의를 수강하며, 해당 내용을 바탕으로 배운 점들을 정리하였다.

인터넷과 프로토콜

인터넷이란

컴퓨터간 데이터를 주고받기 위해서 통신 프로토콜을 이용하여 연결시킨 네트워크를 의미한다.

프로토콜이란

서로 다른 두 시스템이 정보를 주고 받기 위해서는 어떤 방식으로 정보를 전달하고 받을지에 대해 통일된 방식이 필요하다. 이러한 약속을 프로토콜이라고 칭한다.

Network edge, core

Network edge

우리가 사용하는 컴퓨터나 애플리케이션, 그리고 서버 등은 네트워크 엣지이다. 네트워크 상에서 가장자리에 위치한다.

Network core

주로 라우터로 구성된다. 네트워크 상에서 중심에 위치하여, 가장자리에 있는 클라이언트와 서버간의 연결을 구성한다.

라우터는 다양한 기능이 있지만 아직까지는 네트워크의 중심에서 연결을 돕는다 정도로만 이해한다.

  • 라우터가 데이터를 전달하는 방식
  1. circuit switching
    각 호출마다 정해진 경로가 존재한다. 해당 경로로 전달한다. 통신 과정에서 사용되는 회선 전체를 독점한다.

  2. packet-switching
    패킷단위로 데이터를 전송한다. 라우팅 알고리즘을 이용해 경로를 설정하고 최종 목적지까지 데이터를 전송한다.

  • 비교
    Circuit switching의 경우 사용하는 경로를 독점하기 때문에 한 사용자당 10Kbps를 사용하며 회선이 100Kbps까지 수용이 가능하다면, 총 10명의 사용자만 사용이 가능하다.

    하지만 Packet switching은 그보다 더 많은 사용자가 동시에 사용할 수 있다. 모든 사용자가 같은 시간에 동일한 요청을 할 확률이 매우 낮기 때문이다.

    Packet delay 종류

  1. nodal processing
    라우터 내부로 데이터가 들어올 때 데이터에 대한 검증 과정에서 발생한다.
  2. queueing
    라우터에서 데이터를 송출하는 속도는 제한적이다. 따라서 데이터의 양을 송출 속도가 따라가지 못할 때 패킷이 라우터 내부에 존재한느 queue에 쌓이게 된다. queue에 저장된 패킷이 송출하는 순서가 될 때까지 발생하는 delay를 의미한다.
  3. Transmission delay
    라우터에서 송출되는데 걸리는 시간을 의미한다. 데이터는 패킷 단위로 전송되기 때문에 한 패킷에 존재하는 모든 데이터가 송출돼야 해당 패킷이 전달됐다고 볼 수 있다.
  4. Propagation delay
    데이터가 네트워크를 이동하는데 걸리는 시간이다. 즉 라우터와 라우터 사이의 회선을 이동하는 시간이다. 빛의 속도이므로 영향이 적다.

Process

프로세스는 Host에 의해 수행되는 프로그램을 의미한다.

프로세스간 통신

  • 한 Host에 존재하는 두개의 Process
    OS에 의해 inter-process communication을 사용해 데이터를 주고 받는다.

  • 서로 다른 Host에 존재하는 Process
    Message를 통해 데이터를 주고 받는다.

    Message를 주고받는 과정에 사용되는 것이 소켓이다.

Socket

소켓은 서로 다른 두 개의 프로그램 간 양방향 통신의 하나의 엔트 포인트이다.

Process는 Socket을 통해 Message를 주고 받는다.

응용 프로그램 Process에서 데이터를 전송하기 위해서는 전송계층을 거처야하는데, 전송계층과 응용 프로그램 사이의 인터페이스 역할을 하는 것이 Socket이다.

Socket Type

  • TCP
    • 신뢰성
    • 순서 보장
    • 연결 기반
    • 양방향
  • UDP
    • 비신뢰성
    • 순서 보장 X
    • 비연결성

0개의 댓글