네트워크

오태호·2021년 11월 16일
0

네트워크란?

  • Net과 Work의 합성어입니다.
  • 컴퓨터와 같은 통신 장비들이 통신 기술을 이용하여 서로 연결되어 데이터를 교환하는 통신망이라고 할 수 있습니다.
  • 어떠한 연결을 통해 컴퓨터의 자원을 공유하는 것이라도 할 수 있습니다.
  • IEEE(전기전자학회)에서는 "몇 개의 독립적인 장치가 적절한 영역내에서 적당히 빠른 속도의 물리적 통신 채널을 통하여 서로가 직접 통신할 수 있도록 지원해 주는 데이타 통신 체계"라고 정의하고 있습니다.
  • 네트워크에서 컴퓨터와 같은 통신 장비들을 노드(node)라고 부릅니다.

Protocol이란?

  • 컴퓨터와 컴퓨터, 원거리 통신 장비들 사이에서 서로 메시지를 주고받는 통신 규약입니다.
  • 통신을 원하는 두 컴퓨터 또는 통신 장비들간에 무엇을, 어떻게, 언제 통신할 것인가에 대해 미리 정의된 약속이라고 할 수 있습니다.
  • 우리가 흔히 쓰는 인터넷의 인터넷 프로토콜은 TCP/IP입니다.

OSI 7계층


출처: https://shlee0882.tistory.com/110

  1. 물리 계층(Physical Layer)
    • 물리 계층에서는 전기 신호를 이용해서 통신 케이블을 통해 데이터를 전송합니다.
    • 물리 계층에서는 전기로 데이터를 정의하게 되는데 이 때, "전기가 흐른다 / 전기가 흐르지 않는다" 이 두 가지를 통해 정의하게 됩니다.
      • 물리 계층에서 사용되는 통신의 단위는 0과 1로 나타내어지는 bit입니다.
    • 물리 계층에서는 데이터의 종류나 오류를 제어하지 않고 전기 신호를 주고 받는 기능만 합니다.
    • 물리 계층에 속하는 장비
      • 통신 케이블
      • 허브
      • 리피터
  2. 데이터링크 계층(Datalink Layer)
    • 물리 계층에서 송/수신되는 데이터의 오류와 흐름을 관리합니다.
    • 안전하게 데이터의 전달을 수행할 수 있도록 도와주는 계층입니다.
    • 데이터링크 계층에서는 MAC 주소를 통해서 통신하게 됩니다.
    • 데이터링크 계층에서 전송되는 단위는 프레임(frame)입니다.
    • 데이터링크 계층의 장비
      • 스위치
      • 브릿지
  3. 네트워크 계층(Network Layer)
    • 네트워크 계층에서는 데이터를 타겟이 되는 목적지까지 안전하게, 빠르게 전달하는 라우팅(routing) 기능을 수행합니다.
      • 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 합니다.
      • 라우팅 알고리즘에는 다양한 알고리즘이 존재합니다.
    • 네트워크 계층에서는 IP 주소를 제공합니다.
    • 네트워크 계층의 장비
      • 라우터
      • Layer 3 스위치
      • IP 공유기
  4. 전송 계층(Transport Layer)
    • 양 끝단에 있는 사용자들이 데이터를 주고 받을 수 있도록 해주는 계층입니다.
    • 전송 계층에서 전송되는 단위는 패킷(packet)입니다.
    • 대표적으로 많이 사용하는 프로토콜에는 TCP, UDP 프로토콜이 있습니다.
      1. TCP 프로토콜
        • 신뢰성 있는 통신을 보장합니다.
        • 3-way handshaking 방식을 통해 사전에 연결을 맺습니다.
          • 연결 지향적입니다.(connection-oriented)
        • 연결을 맺은 이후에 데이터를 주고 받습니다.
        • 목적지 및 수신지를 확실히 하여 정확한 전송을 보장할 수 있습니다.
        • 신뢰성 있는 통신을 위해 패킷의 전송이 유효한지 확인하고 전송이 되지 않은 packet들을 다시 전송하기 때문에 느립니다.
      2. UDP 프로토콜
        • 신뢰성이 다소 낮은 통신이 이루어집니다.
        • TCP처럼 사전에 연결을 맺지 않습니다.
        • 패킷들이 전송되는 과정에서 목적지에 모든 패킷들이 순서대로 들어오지 않는데, TCP 같은 경우 순서를 맞춰주지만 UDP 같은 경우 순서를 맞춰주지 않습니다.
        • TCP에 비해 UDP의 헤더가 더 가벼워서 TCP에 비해 오버헤드가 적습니다.
        • 연속성이 중요한 스트리밍과 같은 서비스에서 UDP를 사용합니다.
  5. 세션 계층(Session Layer)
    • 데이터가 통신하기 위한 논리적인 연결의 생성 및 제어를 담당합니다.
    • 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공합니다.
    • TCP/IP 세션을 만들고 없애는 것에 대한 책임을 지는 계층입니다.
    • 통신하는 사용자들을 동기화하고 오류복구 명령들을 일괄적으로 다룹니다.
  6. 표현 계층(Presentation Layer)
    • 데이터의 표현이 서로 다른 응용 프로세스들의 독립성을 제공하고 암/복호화합니다.
    • 코드 간의 번역을 담당하여 데이터의 형식 상의 차이를 다루는 부담을 응용 계층으로부터 덜어줍니다.
    • MIME 인코딩이나 암호화 등의 작업이 표현계층에서 이루어집니다.
    • 메시지 내용을 암호화해서 보내고 받는 곳에서는 암호화된 메시지를 복호화합니다.
  7. 응용 계층(Application Layer)
    • 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행합니다.
    • 즉, 우리가 사용하는 사용자 인터페이스를 제공하는 프로그램 등을 말하는 것입니다.
    • HTTP, FTP 등의 프로토콜이 응용 계층에 속합니다.
profile
자바, 웹 개발을 열심히 공부하고 있습니다!

0개의 댓글