방구석에 놔둔 개발 노트

1년차 웹 / 앱 프론트엔드 엔지니어의 좌충우돌 얼렁뚱땅 앞뒤짱구 생존기

2023-05-02: 하루 하나, 네트워크 학습 (1)

📼 참고 도서

모두의 네트워크 - YES24

📝 강의 정리

  • 네트워크(Network)

    • 컴퓨터를 두 대 이상 연결하여 서로 데이터를 전송할 수 있는 통신망.
    • Net: 망, 그물이라는 단어
    • Work: 일, 업무, 작업이라는 단어
      • Net + work: 일이 그물처럼 촘촘이 얽혀있는 모습
    • 네트워크(컴퓨터)로 할 수 있는 일들을 생각해보자
      • 데이터 업로드와 다운로드, 웹사이트 열기, 메일 송 수신 등
  • 인터넷(Internet)

    • TCP/IP 프로토콜을 사용하는 세계 최대 규모의 네트워크
      • 전 세계의 컴퓨터를 서로 연결하여 정보를 교환할 수 있도록 만든 하나의 거대한 컴퓨터 통신망
  • 패킷(Packet)

    • 네트워크로 통신을 할 때 사용되는 작게 분할된 데이터 조각
    • 네트워크에서 전송하는 데이터의 기본 단위
    • 네트워크나 인터넷에서 데이터를 주고 받기 위한 규칙으로서, 패킷을 사용한다.
      • 큰 조각을 주고 받을 경우, 네트워크의 *대역폭을 많이 차지해서 다른 패킷의 흐름을 차단할 수 있다.
      • *대역폭
        • 네트워크에서 이용 가능한 최대 전송 속도
        • 정보를 전송할 수 있는 단위 시간당 전송량
    • 차가 지나가려는데, 앞에 거대한 기차가 지나갈 때까지 기다릴 수 밖에 없는 상황
      • 기차처럼 큰 조각의 경우, 이 데이터가 다 지나갈 때까지 기다려야 하는 단점을 방지하기 위해 패킷으로 쪼개 사이사이의 틈으로 지나갈 수 있도록 한다.
      • 큰 데이터의 경우에는 작은 패킷 단위로 분할한 다음에 보내준다.
    • 전송되는 파일은 패킷 단위로 쪼개져서 보내지고, 패킷이 다 받아졌다면 전송받은 파일의 형태 원본으로 받아진다.
      • 이 과정에서 패킷이 네트워크 지연이나 패킷 누락의 이유로 전송이 되지 않을 때가 있다.
      • 그러나 패킷별로 번호가 배정되기 때문에, 최종적으로 패킷을 다 받으면 번호순대로 정렬되면서 원래의 데이터 형태로 받아진다.
  • bitbite

    • 모든 컴퓨터는 0과 1만을 이해할 수 있으며, 이 0과 1의 집합을 (디지털) 데이터라고 부른다.
    • 0 또는 1을 나타내는 정보의 최소 단위를 ‘bit’라고 부른다.
    • 컴퓨터의 정보량 단위로서를 ‘byte’라고 부른다.
      • 0과 1인 숫자 8개, 즉 bit가 8개 = 8bit는1byte’로 치환된다.
    • 컴퓨터는 0과 1 밖에 인지하지 못하는데 어째서 문자를 출력할 수 있는 걸까?
      • A라는 문자를 숫자를 이용해 표시하도록 약속한다 = 문자 코드로 약속한다.
      • 대표적으로 아스키 코드가 있다.
    • 네트워크에 데이터를 전송하는 경우, 비트 정보를 전기 신호로 변환한다.
      • 네트워크에 전기 신호가 전송된다. (이건 다음에 정리)
  • 랜(LAN)왠(WAN)

    • Local Area Network (근거리 통신망)
      • 비교적 가까운 거리에 위치한 장치들을 서로 연결한 네트워크
      • 건물 안이나 특정 지역을 범위로 하는 네트워크
        • 사내망 같은 것을 생각해보자.
      • 범위가 좁지만 그만큼 빠르며, 통신 오류가 발생할 확률이 적다.
    • Wide Area Network (광역 통신망)
      • 랜을 다시 하나로 묶는 거대한 네트워크
      • 도시, 국가, 대륙 등 넓은 지역에 설치된 컴퓨터들 간의 정보와 자원을 공유하기에 적합하도록 설계한 컴퓨터 통신망
      • 인터넷 서비스 제공자(Internet Service Provider)가 제공해주는 서비스를 사용하여 구축한다.
        • KT, SKT, LGU+ 등을 생각해보자.
        • 인터넷 서비스 제공자 = 인터넷에 접속하는 수단을 제공하는 주체
      • 멀리 떨어진 LAN과 LAN 간의 연결은 WAN을 이용하여 해결할 수 있다.
      • 범위가 넓은 대신 느리며, 통신 오류가 발생할 확률이 높다.
        • 수많은 통신들을 담당하고 있기 때문에 충돌 등을 생각하면...
  • 가정에서의 네트워크 구성

    • 인터넷을 사용하기 위해 무엇이 필요할까?
      • WAN 단계
        • 인터넷 서비스 제공자 (ISP)
        • 인터넷 회선
          • 한국은 KT, LGU+, SKT가 ISP와 인터넷 회선을 함께 담당하고 있다.
          • ISP는 따로, 회선은 임대로 하는 형태인 나라도 많다.
      • 인터넷 공유기
        • WAN의 네트워크를 LAN에서 사용하기 위해 연결해주는 매개체
        • 인터넷 공유기를 중심으로 가내 인터넷망(사설망)을 구축하고 다양한 기기를 연결할 수 있게 된다.
      • LAN 단계
        • 유선 랜
          • 흔히 말하는 랜선을 꽂아 사용하는 유선 방식
        • 무선 랜
          • Wi-fi 등을 접속해 들어가는 무선 방식
  • 회사에서의 네트워크 구성

    • 연결 방식에는 ISP → 라우터 → 스위치 → 서버 순으로 연결
      • 서버(Server): 컴퓨터 네트워크에서 다른 컴퓨터에 서비스를 제공해주는 측의 컴퓨터 또는 프로그램
      • 클라이언트(Client): 서버에서 보내주는 정보 서비스를 받거나 요구하는 측의 컴퓨터 또는 프로그램
    • 회사의 네트워크 구성 방식은 가정과는 다른 점이 있다
      • 공개 서버(DeMilitarized Zone)의 존재
        • 인터넷인 외부 네트워크와 내부 네트워크 사이에 위치한 중간 지대(서브망)을 말함
          • 네트워크의 보안 영역으로 외부 공격자가 내부 네트워크에 침투하는 것을 막는 역할을 한다.
        • 외부에 공개하기 위한 네트워크, 외부망이라고도 말함
        • 웹 서버, 메일 서버, DNS 서버를 공개한다.
        • 왜 공개하는거지?
          • 웹 사이트를 불특정 다수의 외부 사용자에게 공개하려면 웹 서버를 외부에 공개해야 한다.
          • 외부 사용자와 메일을 주고 받으려면 메일 서버를 외부에 공개해야 한다.
          • 외부에서 도메인 이름을 사용하여 회사의 서버에 접속하려면 DNS 서버를 공개해야 한다.
      • 내부망
        • 내부에서만 쓰이기 위한 네트워크, 사내망이라고도 말
          • 여기에는 웹 서버, DNS 서버 외에도 파일 서버나 다른 서버 등이 존재.
        • 서버를 두는 방식은 여러가지가 있음
          • 사내에 구축하거나
            • 이 경우, 사내에 서버 장비실을 두는 경우가 있음.
              • 항시 냉방기를 틀어놓는 그곳…
          • 데이터 센터에 두거나
            • 네이버 데이터 센터 등
          • 클라우드에 두거나
        • 각 서버나 컴퓨터는 스위치나 무선 랜 기능을 이용해 사내망에 접속한다.
      • 회사 안이나 데이터 센터에 서버를 두고 운영하는 방식을 ‘온프레미스(on-promise)’라고 함.