모두의 네트워크

ouo_yoonk·2021년 3월 16일
2

1. 네트워크 첫걸음

  • 네트워크 : 컴퓨터 간의 연결
  • 패킷 : 네트워크를 통해 전송되는 데이터의 조각. 큰 데이터는 작은 패킷으로 분할한다.
  • 비트 정보를 전기 신호로 변환해 네트워크로 전송
  • LAN : 건물 안이나 특정지역을 범위로 하는 네트워크
  • WAN : 지리적으로 넓은 범위에 구축된 네트워크. ISP(인터넷 서비스 제공자)가 제공하는 서비스를 사용하여 구축된 네트워크
  • 회사에서 구성하는 랜 네트워크에는 외부에 공개하기 위한 DMZ(외부 네트워크와 내부 네트워크 사이에 위치한 중간지대. 네트워크의 보안영역으로 외부 공격자가 내부 네트워크로 들어오는 것을 막는다)가 있다.

2. 프로토콜 - 네트워크의 기본 규칙

-캡슐화 : 데이터를 보내는 쪽에서 각 전송계층에서 필요한 데이터에 헤더를 붙이는 것

  • 역캡슐화 : 수신측 각 계층에서 헤더를 제거하며 데이터를 전달하는 것
  • VPN(가상 사설망) : 가상 통신 터널을 만들어 기업 본사나 지사와 같은 거점 간을 연결하여 통신하거나 외부에서 인터넷으로 사내에 접속하는 것
    • 거점간 접속 : IPsec라는 암호기술 프로토콜을 사용하여 접속
    • 원격 접속 연결 : 외부에서 사용하는 컴퓨터와 사내 컴퓨터를 연결하기 때문에 암호화된 통신로를 만든다

3. 물리계층 : 데이터를 전기 신호로 변환하기

  • 데이터를 전송하기 위해 시스템 간의 물리적인 연결을 하고, 데이터를 전기신호로 변환한다
  • 랜카드는 0과1을 전기신호로 바꾸는 역할을 한다

네트워크 전송 매체

  • 유선 : 트위스트 페어 케이블(차폐, 비차폐), 광케이블
  • 무선 : 라디오파, 마이크로파, 적외선

리피터

전기신호로 정형하고, 증폭하는 중계장치

허브

전기신호 정형, 증폭 + 컴퓨터 여러대를 연결

4. 데이터링크 계층 : 랜에서 데이터 전송하기

  • 네트워크 장비 간에 신호를 주고받는 규칙을 정하는 계층
  • 랜에서 데이터를 정상적으로 주고받기 위해 필요한 계층
  • 이더넷 헤더와 트레일러를 붙인다. = 프레임
  • 이더넷 헤더 : 목적지의 MAC주소, 출발지 MAC주소, 유형(상위계층 프로토콜유형)
  • 허브를 사용하는 환경에서는 모든 컴퓨터에 같은 전기신호가 전달된다
  • CSMA/CD : 이더넷에서 충돌을 방지하기 위해 시점을 늦추는 방법
    • CS : 케이블에 신호가 흐르고 있는지 확인하는 규칙
    • MA : 케이블에 데이터가 흐르고 있지 않으면 데이터를 보내도 된다는 규칙
    • CD : 충돌이 발생하고 있는지 확인하는 규칙

MAC주소

랜카드를 제조할 때 정해지는 물리주소. 전세계에서 유일하다.

switch

mac 주소 학습기능, 프레임 데이터의 MAC주소를 확인해 MAC 주소 테이블에 등록

  • 플러딩 : MAC 주소 테이블에 전송받은 데이터의 MAC주소가 없을 때 모든 컴퓨터에 전송
  • 필터링 : MAC 주소 테이블에 등록되어 있는 주소로 데이터가 온다면 목적지를 선택

5. 네트워크 계층 : 목적지에 데이터 전달하기

  • 서로 다른 네트워크에 있는 목적지로 데이터를 전송하는 계층
  • 데이터 링크 계층에서는 이더넷 규칙을 기반으로 데이터를 전송한다. 이 규칙에 따라 같은 네트워크에 있는 컴퓨터로는 데이터를 전송할 수 있지만, 인터넷이나 다른 네트워크로는 데이터를 전송할 수 없다.

라우터

데이터의 목적지가 정해졌을 때, 최적 경로를 알려주는 기능을 하는 장비

IP

  • 어떤 네트워크의 어떤 컴퓨터인지를 구분할 수 있는 주소
  • 네트워크 계층에서는 캡슐화 할 때 IP헤더를 붙인다 => IP패킷
  • 출발지 IP주소, 목적지 IP주소 + 버전, 헤더길이, 서비스유형, 전체 패킷 길이, ID, 조각상태, 조각의 위치, TTL, 프로토콜, 헤드 체크섬
  • IPv4 : 32비트, 43억개
  • IPv6 : 128비트, 사실상 무한대

    출처
  • IP주소는 각각의 컴퓨터에 네트워크 관리자에 의해 고정으로 혹은 DHCP가 유동적으로 부여해준다.

서브넷

  • A클래스의 대규모 네트워크를 작은 네트워크로 분할하면 브로드캐스트로 전송되는 패킷의 범위를 좁힐 수 있다
  • 서브넷마스크 : 네트워크를 구성할 때, IP를 몇개를 하나의 단위로 묶는가에 대한 32비트 값이다.
  • 네트워크 ID와 호스트 ID를 식별하기 위한 값
    네트워크 ID+호스트ID --서브넷팅-->네트워크ID+서브넷ID+호스트ID
  • 네트워크 주소는 해당 서브넷의 시작주소, 브로드캐스트주소는 해당 서브넷의 마지막 주소

게이트웨이

  • 다른 네트워크(IP class나 subnetting이 다른 경우)와 통신할 때 거쳐야 하는 거점
  • 두 컴퓨터가 네트워크 상에서 서로 연결되려면 동일한 통신 프로토콜을 사용해야 한다. 따라서 프로토콜이 다른 네트워크 상의 컴퓨터와 통신 하려면 두 프로토콜을 적절히 변환해 주는 변환기가 필요한데, 게이트웨이가 그 역할을 한다
  • 서로 다른 네트워크를 연결한다는 부분에서 게이트웨이와 동일하지만, 게이트웨이는 라우터보다 포괄적인 개념
  • 다른 네트워크와 통신하기 위해서는 게이트웨이(라우터 등)가 있어야 하고, IP주소, 서브넷 마스크와 함께 게이트웨이 주소까지 정확하게 설정해야 한다

라우터

  • 경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로를 통해 데이터를 전송
  • 경로 정보가 등록되어 잇는 테이블을 라우팅 테이블이라고 한다
  • 라우팅 프로토콜 : 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜
  • 게이트웨이

6장. 전송계층 : 신뢰할 수 있는 데이터 전송하기

전송계층의 역할

  • 목적지에 신뢰할 수 있는 데이터를 전달, 오류 점검 기능 - 신뢰성/정확성(연결형 통신)
  • 전송된 데이터의 목적지가 어떤 어플리케이션인지 식별하는 기능 - 효율성(비연결형 통신)

TCP

  • 연결형 통신 프로토콜
  • TCP로 전송할 때 붙이는 헤더를 세그먼트라고 한다.
  • 목적지까지 데이터를 제대로 전송하기 위해 필요한 정보를 가지고 있다.
    • 출발지 포트번호, 목적지 포트번호, 코드비트, 체크섬, ...
  • 연결(connection) : TCP 통신에서 정보를 전달하기 위해 사용되는 가상의 통신로로 연결을 확립하고 데이터를 전송한다.

3-way handshake

  • 데이터를 보내기 전 연결을 확립하기 위해 패킷 요청을 세번 교환하는 것

일련번호와 확인응답 구조

  • TCP는 데이터를 분할해서 보낸다.
  • 일련번호 : 송신측에서 수신측에 이 데이터가 몇 번째인지 알려주는 역할
  • 확인응답번호 : 수신측이 몇 번째 데이터를 수신했는지 송신측에 알려주는 역할
  • 일련번호와 확인 응답 번호를 사용해서 데이터가 손상되거나 유실된 경우에 데이터를 재전송 함

포트번호

  • 어떤 애플리케이션인지를 구분하는 역할
  • 웹 브라우저로 접속할 때 웹 브라우저에는 임의의 포트가 자동으로 할당됨
  • HTTP-80, HTTPS-443, DNS-53, SSH-22, SMTP-25
  • 어떤 애플리케이션인지를 구분하는 역할
  • 웹 브라우저로 접속할 때 웹 브라우저에는 임의의 포트가 자동으로 할당됨

UDP

  • 비연결형 통신
  • TCP처럼 시간이 걸리는 확인 작업을 안함
  • 낮은 정확성, 높은 효율성
  • 데이터를 효율적으로 빠르게 보낸다. 응답을 확인하지 않고 연속해서 데이터를 보냄
  • UDP 헤더에는 출발지 포트번호, 목적지 포트번호, 길이, 체크섬 정보만 들어감
  • UDP에서의 브로드캐스트는 목적지에 관계없이 랜에서 일괄적으로 보내지만, TCP는 목적지를 지정하지 않기때문에 일괄 통신을 할 수 없다.

7. 응용계층 : 애플리케이션에서 데이터 전송

역할

  • 애플리케이션이 동작하는 계층
  • 클라이언트의 요청을 전달하기 위해 통신대상이 이해할 수 있는 메시지로 변환하고 전송계층으로 전달한다
  • 클라이언트 애플리케이션 --응용계층 프로토콜--> 서버측 애플리케이션
  • 응용계층 프로토콜
    |프로토콜|역할|
    |--|--|
    |HTTP|웹사이트 접속|
    |DNS|이름 해석|
    |FTP|파일전송|
    |SMTP|메일송신|
    |POP3|메일수신|

HTTP

  • www : HTTP, URL, HTML 세 가지 기술이 사용됨
  • 웹 브라우저는 웹 사이트를 보기 위해 서버의 80번 포트를 이용해 HTTP 통신을 함
  • HTTP/1.1버전부터 keep alive 기능이 추가되어 연결을 한 번 수립하면 데이터 교환을 마칠 때까지 유지하고, 데이터 교환을 모두 끝내면 연결을 끊는 구조
  • HTTP/2버전부터는 요청을 보낸 순서대로 응답을 반환받지 않아도 된다

DNS

  • DNS는 URL을 IP주소로 변환하는 시스템
  • 컴퓨터는 IP 주소로 서버에 접속한다
  • DNS 서버는 전 세계에 흩어져 있고 모두 계층적으로 연결되어 있다

메일 서버

  • SMTP : 메일을 보내는 데 사용되는 프로토콜 - 25
  • POP3 : 메일을 받는 데 사용되는 프로토콜 - 110
  • ping 명령
    • 목적지 컴퓨터와의 통신을 확인하려면 ping 명령을 이용

    • ICMP(Internet Control Message Protocol) 프로토콜을 사용해 목적지 컴퓨터에 ICMP 패킷을 전송하고 패킷에 대한 응답이 제대로 오는지 확인하는 명령

8. 네트워크의 전체 흐름

|계층|역할|
|--|--|
|응용계층|애플리케이션 등에서 사용하는 데이터를 송수신하는 데 필요|
|전송계층|목적지에 데이터를 정확하게 전달|
|네트워크 계층|다른 네트워크에 있는 목적지에 데이터를 전달하는데 필요|
|데이터 링크 계층|랜에서 데이터를 송수신할 때 필요|
|물리계층|네이터를 전기신호로 변환|

정적라우팅

  • 관리자가 미리 라우팅 테이블 테이블에 경로를 수동으로 추가하는 방법
  • 목적지까지의 경로를 고정하거나 목적지까지의 경로가 하나로 한정되는 경우
  • 네트워크에 존재하는 모든 목적지 네트워크의 정보를 직접 라우터에 알려줘야하므로 소규모 네트워크에서 사용됨
  • 라우팅 정보가 교환되지 않아 대역폭에 대한 부담이 적다
  • 라우팅 정보가 네트워크로 전달되지 않아 보안유지에 좋다
  • 여떤 경로에 장애가 발생해도 다른 경로로 우회할 수 없다.

동적라우팅

  • 네트워크 변경을 자동으로 감지하여 라우팅 테이블을 업데이트하거나 네트워크 장애가 발생했을 때 라우터끼리 정보를 교환하여 최적의 경로로 전송

9. 무선랜

|무선 액세스 포인트||무슨 클라이언트|
|--|--|--|
||---1. 비컨전송-->||
||<--2. 같은 SSID인지 문의---||
||---3. 같다고 응답--->||
||<--4. 인증---||
||<--5. 접속요구---||
||---6. 승인응답-->||

SSID의 구조

  • 무선 액세스 포인트와 무선 클라이언트를 연결하려면 혼선을 피하기 위해 SSID(Service Set Idenfier)라는 액세스 포인트의 고유 이름을 사용한다. 그리고 네트워크 이름, 인증, 암호화, 암호화 키를 설정해야 한다
  • 무선 액세스 포인트는 비컨(beacon)이라고 하는 자기를 알리는 신호를 네트워크에 있는 모든 기기에 주기적으로 전송하는데, 무선 클라이언트는 이 신호를 잡아서 연결한다.
  • 채널 : 여러 기기를 동시에 연결할 수 있도록 분할한 주파수 대역, 다른 채널은 전파가 겹쳐도 주파수가 겹치지않기 때문에 서로 간섭이 일어나지않아 통신 속도도 떨어지지 않는다
  • 전파가 겹치는 무선 공유기들이 같은 채널로 생성되어 있으면 주파수가 서로 겹치면서 전파 간섭이 생기고 통신속도도 느려진다. 그래서 같은 채널을 사용하되 전파를 겹치지 않게 하려면 거리를 떨어트려 설치해야함
  • 무선 액세스 포인트는 기본적으로 자동으로 설정되니 알아서 최적의 채널을 찾아준다

관심 있을 만한 포스트

0개의 댓글