네트워크와 통신 방법

채원·2022년 11월 5일
1

컴퓨터 이해하기

목록 보기
2/2

네트워크 속에 살고 있지만 네트워크가 정확히 뭔지도 모르고, 학교 전산실이나 전선 앞에서 뭔가 작아지는 기분이 들고... 그리고 가장 크게는 하나도 아는 게 없다는 사실이 너무 싫어서 알아보았습니다!

💡 네트워크란?

네트워크(Network)란 Net + Work의 합성어로, 컴퓨터 등의 노드들이 통신 기술을 통해서 그물망처럼 연결되어 통신을 하는 것을 뜻합니다.

'연결'되는 것이 중요하기 때문에, 이더넷 케이블(유선) 또는 Wi-Fi(무선)으로 연결된 2개 이상의 컴퓨터로 구성되는 것이 기본입니다.

(노드 : 네트워크에 연결되어 있는 1개의 기기를 말합니다!)

💡 네트워크의 종류

networks

1. PAN(Personal Area Network)

가장 작은 규모의 네트워크이며, 약 5m의 거리 이내의 통신입니다. 애플의 Airdrop이 여기에 속합니다.

2. LAN(Local Area Network)

내가 사용하는 로컬 네트워크입니다. Wi-Fi로 대표되는 통신망입니다.

3. MAN(Metropolitan Area Network)

한 도시 내의 네트워크들을 하나의 거대한 네트워크로 묶은 것을 뜻합니다.

4. WAN(Wide Area Network)

서로 멀리 떨어진 LAN과 LAN을 연결하는 네트워크입니다. MAN보다 큰 범위로, 결국 도시를 넘어 국가, 대륙 간의 데이터 교환을 가능하게 하는 주역입니다. 예시를 들면 인터넷이 있습니다.

💡 네트워크의 통신 방법

네트워크의 통신 방법은 1984년에 국제 표준화 기구(International Organization for Standardization)에서 정한 규약인 OSI model로 규정되어 있습니다.

이런 규약이 생긴 이유는 3가지로 요약할 수 있습니다.

  • 타 네트워크 장치와 정상적으로 통신
  • 흐름을 시각화해 파악하기 쉬움
  • 문제가 있는 부분을 쉽게 수정할 수 있음

쉽게 OSI 7계층이라고 부릅니다.
비록 이는 참조형 모델이고 실제로 사용하는 프로토콜은 TCP/IP 프로토콜 스택으로 구현되었지만 그에 대해 알아보겠습니다

🔌 OSI 7계층

networks

OSI 7계층은 위 사진과 같으며, 각각의 계층은 독립적으로 실행되지만 위 계층이 정상적으로 동작하려면 아래 계층들의 정상적인 동작이 선행되어야 한다는 특징이 있습니다.

  • 1계층 : 물리계층(Physical Layer)

    디지털 신호를 전압으로, 전압을 디지털 신호로 변환하며 그것을 전달하는 계층입니다. 비트 단위로 통신합니다.
    ex) 통신케이블(통축케이블, 광섬유), 리피터, 허브, 모뎀 등
    주소의 개념이 없으므로, 모든 포트에 같은 전기 신호를 전송합니다.

  • 데이터 링크 계층은 물리적으로 연결되어 있는 네트워킹 장치 간의 데이터 전송을 담당하는 계층입니다. 전송 과정에서 일어날 수 있는 여러 상황들을 방지하기 위해(= 안전하게 데이터를 전달하기 위해) 여러 작업을 합니다. 이때 다루는 데이터를 '프레임'이라고 합니다.
    2계층에서 동작하는 네트워크 구성 요소는 네트워크 인터페이스 카드(NIC)와 스위치입니다. 가장 중요한 특징은 MAC주소라는 주소 체계가 있다는 것입니다.
    네트워크 인터페이스 카드는 고유 MAC주소가 있으며, 들어온 신호의 목적지 MAC 주소, 출발지 MAC 주소, 자신의 MAC주소를 확인 후 비교해 자신에게 들어오는 신호라면 메모리에 적재하고 아니라면 버립니다.

  • 3계층 : 네트워크 계층(Network Layer)

    상위 계층에서 작성된 데이터는 하위 계층으로 내려오며 (사진과 같이) 여러 헤더로 둘러싸입니다.(= 캡슐화) 네트워크 계층에서는 송수신 장치의 IP 주소들을 포함하는 IP 프로토콜 헤더를 붙여 '패킷'이라는 데이터를 전송합니다.
    3계층의 장비인 ’라우터‘는 IP 주소를 이해하며, 따라서 데이터 신호를 보낼 네트워크 주소를 알고 최적의 경로를 찾을 수 있습니다.
    (이때 라우터들을 중심으로 연결된 네트워크 장치들은 모두 하나의 네트워크에 속해 있다고 볼 수 있습니다.)

  • 4계층 : 전송 계층(Transport Layer)

    networks

    전송 계층은 네트워크 계층에서 전달되는 데이터가 제대로 전달되는지 확인합니다. 패킷 네트워크는 패킷을 단위로 데이터를 분할해 실어보내다 보니 유실되거나 순서가 바뀔 우려가 있기 때문입니다. 이 계층의 통신은 정확성을 중요시하는 연결형 통신(TCP), 신속성을 중요시하는 비연결형 통신(UDP)가 있습니다.
    TCP의 데이터 전송 단위는 세그먼트, UDP의 데이터 전송 단위는 데이터그램이라고 합니다.

  • 5계층 : 세션 계층(Session Layer)

    세션이란 일정 시간 동안 같은 사용자로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지하는 기술입니다. (쿠키는 사용자의 컴퓨터에, 세션은 서버에 사용자의 정보를 저장합니다)
    세션 계층은 양쪽의 연결을 관리하고 연결을 지속시켜 주는 계층입니다. TCP/IP 세션을 만들고 유지하며, 세션이 종료되거나 전송이 중단될 시 복구 및 재전송하는 기능이 있습니다. 세션 확립/유지/중단 과정을 해 준다고 할 수 있습니다.

  • 6계층 : 표현 계층(Presantation Layer)

    표현 계층은 표현 방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기 위해 전송하는 데이터의 표현을 규정합니다. 즉 상호 합의된 데이터 표현 방식으로 데이터를 가공해 양 측에서 통신을 할 수 있도록 합니다.

    표현 계층에서 진행하는 작업으로는
    - 문자의 인코딩 형식 변환 : ex) ASCII → UTF-8
    - 암호화 : ex) TLS/SSL layer
    - 압축 : ex) HTTP gzip, deflate

  • 7계층 : 애플리케이션 계층(Application Layer)

    애플리케이션 계층은 우리가 사용하는 응용 애플리케이션입니다. 응용 계층의 프로토콜 중 가장 많이 쓰이고 유명한 것은 HTTP입니다. (그렇다 보니 80번 포트를 사용하도록 미리 배당받아 정의되어 있기도 합니다)

  • 헤더
    현대의 네트워크는 대부분 패킷 기반 네트워크입니다. 데이터는 7계층에서 내려오면서 패킷 단위로 분할되는데, 분할되면서 각 층에서 네트워크 전송을 위한 정보를 헤더에 붙여 넣습니다. 2,3,4계층에서 비트 단위로 각각 자신이 필요한 정보를 붙여 넣는 방식입니다.
    이 헤더에는 두 가지 정보는 반드시 포함되어야 합니다.
  • 현재 계층에서 정의하는 정보
  • 상위 프로토콜 지시자

2계층 헤더 : 출발지/도착지 MAC 주소,이더 타입
3계층 헤더 : 출발지/도착지 IP 주소, 포트 번호
4계층 헤더 : TCP의 경우 시퀀스, 애크 번호 필드, 프로토콜 번호

💡 결론

OSI 7 계층 탐구를 통해 우리가 애플리케이션에서 보내고자 한 데이터가 어떻게 변형되어 물리 계층까지 내려가고, 그 물리 신호가 다시 도착지에서 애플리케이션 계층까지 도달해 전달되는지 알아보았습니다.
다음 시간에는 7계층 모두를 자세히 알아보고, 웹 사이트를 만들어 보고 싶네요!
사실 정보에 확신은 없기 때문에 책도 더 찾아보고 강의도 들어 보겠습니다.

profile
💡

0개의 댓글