Priv's Blog

1. 네트워크의 이해와 설정 본문

Dev. Study Note/Network Introduction

1. 네트워크의 이해와 설정

Priv 2023. 5. 6. 19:04


 

 

1. 네트워크의 이해

1.1) 네트워크의 개념

네트워크는 모뎀, LAN, 케이블, 무선 매체 등 통신 설비를 갖춘 컴퓨터를 사용해 서로를 연결하는 조직이나 체계, 통신망을 의미한다.

즉, 2대 이상의 컴퓨터를 연결하여 상호작용 할 수 있다면 네트워크라고 부를 수 있다.

여러 컴퓨터를 네트워크를 통해 연결하게 되면 다음과 같은 이점들이 있다.

  • 데이터 공유: 여러 사용자가 동시에 동일한 데이터를 공유할 수 있게 된다. 서버에 공유해야 하는 데이터를 저장하고, 클라이언트들은 서버에 접속에 필요한 데이터를 읽으면 된다. 이 경우, 파일에 접근할 수 있는 권한 설정이 중요하다.
  • 주변 장치 공유: 레이저 프린터, 복합기 등 컴퓨터에 연결해 쓸 수 있는 다양한 주변 장치들은 네트워크를 통해 연결될 수 있다. 사무실의 경우, 컴퓨터는 수에 맞춰 구입하면 되지만, 주변 장치들까지 그렇게 구입할 필요는 없다. 다양한 컴퓨터들이 주변 장치를 관리하는 서버에 연결하고, 이 서버를 경유하여 주변 장치를 사용할 수 있게 한다면 비용과 공간을 절약할 수 있다.
  • 능률적인 통신: 네트워크를 이용한 가장 대표적인 통신은 SNS, SMS, 통화, 이메일 등이 대표적이다. 즉, 네트워크를 사용하면 물리적 거리의 한계를 뛰어넘어 빠르고 정확한 통신 및 상호작용이 가능해진다는 것이다.
  • 간편한 백업: 데이터를 백업하는 것은 기본이자 필수이다. 네트워크에 연결되어 운영되는 클라우드 드라이브, NAS 등을 사용하면 다양한 사람들과 데이터를 공유할 수 있을 뿐만 아니라, 자신의 귀중한 데이터를 백업할 수도 있다.

 

1.2) 데이터 전송 규칙

컴퓨터가 네트워크를 통해 연결되어 인터넷에서 데이터를 주고받기 위해서는 몇 가지 규칙이 필요하다.

단순히 컴퓨터와 컴퓨터를 1:1로 연결하여 데이터를 전송하는 것부터 시작해서 웹 페이지에 접속하거나, 메일을 보내는 모든 작업에 이 규칙이 적용된다.

 

- 패킷

패킷은 웹 브라우저를 통해 웹 사이트의 내용을 보기 위한 규칙이다.

컴퓨터 간에 데이터를 주고받기 위해 네트워크 상에서 쓰이는 데이터 전송 단위를 패킷이라고 부른다.

용량이 큰 데이터를 전송할 때는 이 패킷 단위로 데이터를 분할하여 전송하는 것이 규칙이다.

이는 데이터 용량이 클수록 네트워크 대역폭을 많이 사용하기 때문이다.

패킷 단위로 분할된 데이터들은 순서와 상관없이 도착하기도 하므로, 분할된 데이터를 순서에 맞춰 재결합하는 작업이 요구된다.

또한 패킷이 늦게 전송되거나 중간에 손실될 수도 있기 때문에 이에 대한 대응 방안도 요구된다.

패킷을 송신하는 쪽은 패킷마다 순서대로 번호를 붙여서 전송하며, 패킷을 수신하는 쪽은 붙어있는 패킷의 번호에 따라 데이터를 재조립한다.

사진을 전송하는 과정을 예로 들면 다음과 같다.

 

- 패킷 전송 과정

패킷은 헤더, 페이로드, 제어 요소 등을 포함하는 데이터 세그먼트이다.

헤더는 데이터의 형태, 송수신지, 일렬번호 등으로 구성되며, 페이로드는 실제 전송 데이터를 포함하는 부분이다.

만약 송신자가 'Jin'이라는 문자를 송신한다고 가정하면, 패킷은 다음과 같이 구성된다.

각각 순서대로 J, i, n의 이진 값에 헤더의 일렬번호를 붙여서 구성되었다.

송신이 시작되면 수신자는 패킷을 다음과 같이 무작위로 전달받는다.

위의 사진을 보면 inJ 순서대로 도착한 것을 알 수 있다.

이렇게 도착한 패킷들은 헤더의 일렬번호를 참고해 재조립된다.

이렇게 패킷을 재조립할 수 있는 것은 네트워크를 통해 전달되는 데이터들이 디지털 형식이기 때문이다.

 

1.3) 비트, 바이트

네트워크 쪽에서도 비트, 바이트와 같은 데이터의 단위 개념은 빠지지 않는다.

컴퓨터는 0, 1로만 이루어진 이진수로 데이터를 표현 및 처리하며, 컴퓨터가 표현할 수 있는 정보량의 최소 단위를 비트라고 부른다.

패킷을 통해 네트워크를 타고 전달되는 데이터들도 컴퓨터 내부에서 사용하는 데이터들과 동일하게 비트, 바이트 등과 같은 다양한 데이터 단위로 구분된다.

 


 

2. 네트워크 분석 도구 (와이어샤크)

네트워크 분석 도구는 LAN 케이블을 지나는 전기 신호를 패킷 형태로 가져와 패킷의 의미를 조사하는 덤프 분석을 수행할 수 있게 해 준다.

네트워크 분석 도구는 하드웨어 분석 도구, 소프트웨어 분석 도구로 나눠진다.

하드웨어 분석 도구는 직접 네트워크에 장비를 연결해 패킷을 확인하거나 상태를 확인하는 장비이다.

네트워크 장비에 문제가 발생했을 경우, 이를 분석하고 해결하기 위해 현장에서 사용하는 도구라고 볼 수 있다.

가격이 비싸며, 개인이 쓰기에는 과한 장비이기 때문에 사내 네트워크 시스템 관리용 등 주로 기업에서 특수한 목적으로 사용한다.

소프트웨어 분석 도구는 컴퓨터, 서버에 설치해 사용하는 프로그램 형태의 분석 도구이다.

네트워크 프로토콜을 공부하거나, 개발자가 프로토콜 구현에 대해 디버깅하거나, 네트워크 관리자가 장애를 해결할 때 사용할 수 있다.

여기서는 와이어샤크를 사용한다.

 

2.1) 와이어샤크로 패킷 캡처 및 로컬에 저장하기

와이어샤크가 패킷을 정상적으로 캡처하기 위해서는 네트워크 통신을 하고 있는 인터페이스를 제대로 선택해야 한다.

통신을 하고 있지 않은 다른 인터페이스를 선택하면 아무런 패킷을 얻을 수 없으므로 주의하자.

패킷은 백그라운드에서 돌아가는 프로세스 때문에 가만히 있어도 캡처가 된다.

웹 사이트를 접속해 패킷을 캡처할 때는 디스크에 저장되는 캐시 때문에 패킷 캡처가 제대로 되지 않을 수 있으므로, 항상 캐시를 삭제한 뒤 갱신하거나 슈퍼 리로드 기능을 사용해야 한다.

패킷을 캡처하면 위와 같이 표시된다.

위는 HTTP 패킷만 출력되도록 필터를 적용한 것이다.

패킷 상세 영역을 보면 패킷의 의미가 각 계층에 따라 트리 형태로 표시된다.

하단에 있는 HTTP 트리를 열어보면 통신에 사용된 코드를 살펴볼 수 있다.

그 옆에 있는 패킷 데이터 영역은 송수신한 데이터의 내용, 통신 데이터로 전송된 요청 문자가 표시된다.

와이어샤크를 사용해 캡처한 패킷은 .pcapng 확장자 형식으로 로컬에 저장할 수도 있다.

저장한 파일을 열면 와이어샤크를 통해 캡처 파일 내용이 표시되는 방식이다.

패킷에서 데이터를 복원해 추출할 수도 있다.

캡처 파일이 저장되는 경로로 가보면 HTTP 통신에서 받은 이미지, css, js 파일 등을 확인할 수 있다.

 


 


수고하셨습니다!


'Dev. Study Note > Network Introduction' 카테고리의 다른 글

6. 전송 계층 (TCP)  (0) 2023.05.17
5. 네트워크 계층 (IP)  (0) 2023.05.17
4. OSI 참조 모델  (0) 2023.05.16
3. 네트워크 통신  (0) 2023.05.09
2. 네트워크의 구성  (0) 2023.05.07
Comments