ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 모두의 네트워크 Lesson 정리
    Book Review 2021. 5. 30. 12:27

    Lesson 1 네트워크 구조

    • 컴퓨터 간의 연결을 컴퓨터 네트워크라고 부른다.
    • 인터넷은 전 세계의 큰 네트워크부터 작은 네트워크까지 연결하는 거대한 네트워크다.
    • 패킷은 컴퓨터 간의 데이터를 주고받을 때 네트워크를 통해 흘러가는 작은 데이터 조각이다.
    • 큰 데이터는 작은 패킷으로 분할한다(대역폭을 줄이기 위해서).

     

    Lesson 2 정보의 양을 나타내는 단위

    • 컴퓨터는 0과 1밖에 이해하지 못한다.
    • 정보를 나타내는 최소 단위를 비트라고 하며, 비트 여덟 개를 1바이트라고 한다.
    • 숫자와 문자의 대응표를 문자 코드라고 한다.

     

    Lesson 3 LAN과 WAN

    • 특정 지역을 범위로 하는 네트워크를 LAN이라고 한다.
    • 인터넷 서비스 제공자(ISP)가 제공하는 서비스를 사용하여 구축한 네트워크를 WAN이라고 한다.
    • LAN은 WAN보다 범위가 좁고 속도가 빠르며 오류가 발생할 확률이 낮다.

     

    Lesson 4 가정에서 하는 랜 구성

    • 우선 인터넷 서비스 제공자와 인터넷 회선을 결정하고 계약한다.
    • 인터넷 서비스 제공자와 인터넷 공유기로 접속한다.
    • 접속 방식에는 유선 랜 방식과 무선 랜 방식이 있다.

     

    Lesson 5 회사에서 하는 랜 구성

    • DMZ는 외부에 공개하기 위한 네트워크다.
    • 외부에 공개하는 서버에는 주로 웹 서버, DNS 서버, 메일 서버가 있다.
    • 회사의 서버는 온프레미스나 클라우드로 운영되고 있다.
    • 각 서버나 컴퓨터는 스위치나 무선 랜 기능을 사용하여 사내 랜에 접속한다.

     

    Lesson 6 네트워크의 규칙

    • 통신하기 위한 규칙을 프로토콜이라고 한다.
    • 한국인과 프랑스인은 영어로 대화한다는 규칙을 정해서 대화할 수 있다.
    • 편지를 배송하기 위해서는 편지를 쓸 때부터 상대방에게 도착할 때까지 지켜야 하는 독립적인 여러 규칙을 거쳐야 한다.

     

    Lesson 7 OSI 모델과 TCP/IP 모델

    • ISO(국제 표준화 기구)에서 OSI모델을 제정했다.
    • OSI 모델은 7계층으로 위에서부터 응용, 표현, 세션, 전송, 네트워크, 데이터 링크, 물리 계층이 있다.
    • 현재는 TCP/IP 모델을 사용하고 있다. OSI 모델은 7계층이지만 TCP/IP 모델은 4계층이다. 위에서부터 응용, 전송, 인터넷, 네트워크 접속 계층이 있다.

     

    Lesson 8 캡슐화와 역캡슐화

    • 데이터를 보낼 때는 필요한 정보를 데이터에 추가해야 하는데 이 정보를 헤더라고 한다.
    • 데이터를 상대방에게 보낼 때 각 계층에서 헤더(데이터 링크 계층의 트레일러도 포함)를 붙여 나가는 것을 캡슐화라고 한다.
    • 데이터를 수신할 때 각 계층에서 헤더를 제거해 나가는 것을 역캡슐화라고 한다.
    • OSI 모델에서 데이터 송신 측은 응용 > 전송 > 네트워크 > 데이터 링크 계층 순서로 캡슐화한다. 수신측은 반대 계층 순서로 역캡슐화를 진행한다.

     

    Lesson 9 물리 계층의 역할과 랜 카드의 구조

    • 전기 신호에는 아날로그 신호와 디지털 신호가 있다.
    • 아날로그 신호는 전화 회선이나 라디오 방송에 사용되는 신호다.
    • 랜카드를 통해 0과 1의 비트열을 전기 신호로 변환한다.
    • 네트워크를 통해 상대방에게 데이터를 전송할 때 0과 1의 비트열은 전기 신호로 변환되어 전송된다. 상대방이 받은 전기 신호는 다시 0과 1의 비트열로 복원된다.

     

    Lesson 10 케이블의 종류와 구조

    • 트위스트 페어 케이블에는 UTP(Unshielded Twisted Pair)케이블과 STP(Shielded Twisted Pair)케이블이 있다.
    • UTP 케이블은 실드로 보호되어 있지 않아 노이즈의 영향을 쉽게 받는다.
    • STP 케이블은 실드로 보호되어 있어 노이즈의 영향을 매우 적게 받는다.
    • 트위스트 페어 케이블은 일반적으로 랜 케이블이라고 부른다.
    • 랜 케이블은 통신 규격에 따라 몇 가지 분류로 나눌 수 있다.
    • 랜 케이블의 양쪽 끝에는 RJ-45라는 커넥터가 있다.
    • 랜 케이블에는 다이렉트 케이블과 크로스 케이블이 있다.
    • 다이렉트 케이블과 크로스 케이블은 8개의 구리 선중에 1번, 2번, 3번, 6번을 사용한다. 
    • 다이렉트 케이블은 컴퓨터와 스위치를 연결할 때 사용한다.
    • 크로스 케이블은 컴퓨터 간에 직접 랜 케이블로 연결할 때 사용한다. (양쪽 컴퓨터에서 1, 2번 구리선을 전송하면 데이터가 충돌하기 때문에 크로스 케이블로 중간에 전선을 교차 시켜서 연결한다.)

     

    Lesson 11 리피터와 허브의 구조

    • 리피터는 전기신호를 정형(전기 신호 복원)하고 증폭하는 기능을 가진 네트워크를 중계하기 위한 장비다. 요즘 사용하지 않는다.
    • 허브는 리피터 허브라고도 부른다.
    • 리피터는 일대일 통신만 가능하지만 허브는 포트를 여러개 갖고 있어서 컴퓨터 여러 대와 통신할 수 있다.
    • 허브는 리피터와 마찬가지로 전기 신호를 정형하고 증폭하는 기능을 한다.
    • 리피터와 허브는 받은 데이터를 보내는 대상뿐만 아니라 모든 포트에 전송한다.
    • 허브는 스스로 판단하지 않고, 전기 신호를 모든 포트로 보내서 '더미 허브'라고도 불린다. 이런 비효율적인 전송의 대책으로 스위치가 있다.

     

    Lesson 12 데이터 링크 계층의 역할과 이더넷

    • 이더넷은 랜에서 데이터를 주고받기 위한 규칙이다.
    • 이더넷은 데이터 충돌을 막기 위한 규칙으로 CSMA/CD 방식을 사용한다.
    • CSMS/CD에서 CS는 데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 확인하는 규칙, MA는 케이블에 데이터가 흐르고 있지 않으면 데이터를 보내도 된다는 규칙, CD는 충돌이 발생하고 있는지 확인하는 규칙이다.

     

    Lesson 13 MAC 주소의 구조

    • MAC 주소는 48비트 숫자로 구성되어 있다. 그중 앞쪽 24비트는 랜 카드를 만든 제조사 번호고 뒤 24비트는 제조사가 랜 카드에 붙인 일련번호다.
    • 이더넷 헤더는 목적지 MAC 주소(6바이트), 출발지 MAC 주소(6바이트), 유형(2바이트)으로 총 14바이트로 구성된다.
    • 데이터 링크 계층에서 데이터 뒤에 추가하는 것을 트레일러라고 한다.

     

    Lesson 14 스위치의 구조

    • 스위치는 데이터 링크 계층에서 동작하며, 레이어 2스위치 또는 스위칭 허브라고도 부른다.
    • 스위치에는 MAC 주소 테이블이 있다.
    • MAC 주소 테이블은 스위치의 포트 번호와 그 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되는 데이터베이스다.
    • 스위치가 수신 포트 이외의 모든 포트에서 데이터를 송신하는 것을 플러딩이라고 한다.
    • 스위치에서 MAC 주소를 기준으로 목적지를 선택하는 것은 MAC 주소 필터링이라고 한다.

     

    Lesson 15 데이터가 케이블에서 충돌하지 않는 구조

    • 전이중 통신 방식이란 데이터의 송신과 수신을 동시에 수행하는 통신 방식이다.
    • 반이중 통신 방식이란 회선 한 개로 송신과 수신을 번갈아가며 수행하는 통신 방식이다.
    • 랜 케이블과 스위치는 전이중 통신 방식 / 허브는 반이중 통신 방식이다.
    • 데이터 충돌이 발생하고 그 충돌 영향이 미치는 범위를 충돌 도메인이라고 한다.
    • 스위치는 전이중 총신 방식이기 때문에 충돌이 일어나지 않고 충돌 도메인의 범위도 좁다.

     

    Lesson 16 이더넷의 종류와 특징

    • 주요 이더넷 규격에는 10BASE5, 10BASE2, 10BASE-T, 100BASE-TX, 1000BASE-T, 10GBASE-T가 있다.

     

    Lesson 17 네트워크 계층의 역할

    • 서로 다른 네트워크 간에 통신을 하려면 라우터가 필요하다.
    • 랜 안에서는 MAC 주소만으로도 통신할 수 있지만 네트워크 간에 통신을 하려면 IP 주소가 필요하다.
    • 경로를 선택하고 목적지 IP 주소까지 아떻게 데이터를 전달할지 결정하는 것을 라우팅이라고 한다.
    • 라우터의 라우팅 테이블에는 경로 정보가 등록되어 있다.
    • 네트워크 계층의 대표적인 프로토콜에는 IP가 있다.
    • 네트워크 계층에서는 캡슐화할 때 IP 헤더를 추가한다.

     

    Lesson 18 IP 주소의 구조

    • 데이터를 다른 네트워크로 전달하려면 IP주소가 필요하다.
    • IP주소는 인터넷 서비스 공급자(ISP)에게 할당받을 수 있다.
    • IPv4의 IP주소는 32비트, IPv6의 IP주소는 128비트로 구성되어 있다.
    • IP주소의 종류에는 공인 IP주소와 사설 IP주소가 있다. (공인 IP주소는 라우터에만 할당하고 랜 안의 컴퓨터에는 네트워크 관리자가 DHCP기능 이용해서 사설 IP 주소를 할당한다.)
    • IP주소는 네트워크 ID와 호스트 ID로 나누어진다.

     

    Lesson 19 IP 주소의 클래스 구조

    • IP주소는 A~E클래스로 나누어지며 일반적으로는 A~C클래스를 사용한다.
    • IP주소의 클래스별 호스트 수는 A클래스가 1677만 7214대, B클래스가 6만 5534대, C클래스가 254대다.

     

    Lesson 20 네트워크 주소와 브로드캐스트 주소의 구조

    • 네트워크 주소와 브로드캐스트 주소는 컴퓨터에 설정할 수 없다.
    • 네트워크 주소는 네트워크 전체를 대표하는 주소이고, 전체 네트워크에서 작은 네트워크를 식별하는 데 사용된다.
    • 브로드캐스트 주소는 네트워크 안에 있는 모든 컴퓨터가 데이터를 받게 한다.

     

    Lesson 21 서브넷의 구조

    • 네트워크를 분할하는 것을 서브네팅이라고 하고 분할된 네트워크를 서브넷이라고 한다.
    • 서브넷팅되면 구성이 '네트워크 ID+호스트ID'에서 '네트워크ID+서브넷ID+호스트ID'로 변경된다.
    • 서브넷 마스크는 네트워크 주소와 호스트 주소를 식별하는 값이다.
    • 클래스별로 서브넷 마스크는 A클래스가 255.0.0.0, B클래스가 255.255.0.0, C클래스가 255.255.255.0이다.
    • 프리픽스 표기법은 서브넷 마스크를 슬래시(/비트)로 나타낸다. 예를 들어 255.255.255.0을 프리픽스 표기법으로 나타내년 /24다.

     

    Lesson 22 라우터의 구조

    • 서로 다른 네트워크와 통신하려면 라우터가 필요하다.
    • 라우터는 네트워크를 분할할 수 있지만 스위치(레이어 2)와 허브는 분할할 수 없다.
    • 컴퓨터에서 다른 네트워크로 데이터를 전송하려면 기본 게이트웨이를 설정해야 한다.
    • 라우팅을 경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로를 통해 데이터를 전송하는 방식이다.
    • 경로 정보가 등록되어 있는 테이블을 라우팅 테이블이라고 한다.
    • 라우터 간에 라우팅 정보를 서로 교환하기 위한 프로토콜을 라우팅 프로토콜이라고 한다.

     

    Lesson 23  전송 계층의 역할

    • 전송 계층은 데이터를 제대로 전달하는 역할을 하며, 오류를 점검하는 기능도 한다.
    • 전송 계층은 전송된 데이터의 목적지가 어떤 애플리케이션인지 확인한다.
    • 연결형 통신은 신뢰성과 정확성을 목적으로 하고, 상대편과 확인해 가면서 통신하는 방식이다.
    • 비연결형 통신은 효율적으로 데이터를 전달하고, 일방적으로 데이터`를 전송하는 방식이다.
    • 연결형 통신에는 TCP 프로토콜을 , 비연결형 통신은 UDP프로토콜을 사용한다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

     

    Lesson 24 TCP의 구조

    • 전송 계층에서는 TCP 헤더가 붙는다.
    • TCP 헤더가 붙은 데이터를 세그먼트라고 한다.
    • 연결(connection)을 확립하기 위해 TCP 헤더에 있는 코드 비트를 사용한다.
    • 코드 비트 중 'SYN'은 연결 요청, 'ACK'는 연결 응답, 'FIN'은 연결 종료를 뜻한다.
    • 연결 확립을 위해 'SYN'과 'ACK'를 이용해서 패킷 교환을 세 번 하는데 이를 3-WAY 핸드셰이크라고 한다.
    • 연결을 종료할 때는 'FIN'과 'ACK'를 사용해서 패킷 교환을 네 번 한다.

     

    Lesson 25 일련번호와 확인 응답 번호의 구조

    • 3-way 핸드셰이크 이후 데이터를 전송할 때는  TCP 헤더의 일련번호와 확인 응답 번호가 사용된다.
    • 데이터를 재전송하는 것을 재전송 제어라고 한다.
    • 수신한 세그먼트(데이터)를 일시적으로 저장하는 장소를 버퍼라고 한다.
    • 데이터 크기가 버퍼 크기를 넘어서는 것을 오버플로라고 한다.
    • 버퍼 용량의 크기를 윈도우 크기라고 한다.

     

    Lesson 26 포트 번호의 구조

    • 포트 번호는 어떤 애플리케이션인지 구분하는 역할을 한다.
    • 포트 번호는 0~65535번을 사용한다. 0~1023번은 잘 알려진 포트(well-known ports)라고 하고 1025번 이후는 랜덤 포트라고 한다.
    • 웹 브라우저에는 임의의 포트가 자동으로 할당된다. 그래서 서버 측에서는 포트 번호를 정해 둬야 하지만 클라이언트 측은 정하지 않아도 괜찮다.

     

    Lesson 27 UDP의 구조

    • UDP는 데이터를 효율적이고 빠르게 보낼 때 사용되는 프로토콜이다.(동영상 서비스에 사용)
    • UDP는 UDP 헤더가 있지만 TCP 헤더에 비해 간단하다.
    • UDP 헤더가 있는 데이터를 UDP 데이터그램이라고 한다.
    • UDP는 랜에서 불특정 다수에게 브로드캐스트로 데이터를 일괄 전송한다.

     

    Lesson 28 응용 계층의 역할

    • 서비스를 요청하는 측을 클라이언트, 서비스를 제공하는 측을 서버라고 한다.
    • 응용 계층에서는 클라이언트의 요청을 전달하기 위해 서버가 이해할 수 있는 메시지(데이터)로 변환하고 전송 계층으로 전달하는 역할을 한다.
    • 응용 계층에서 보내려는 데이터는 하위 계층인 전송, 네트워크, 데이터 링크, 물리 계층 순서로 처리된다.
    • 응용 계층의 주요 프로토콜에는 HTTP, FTP, DNS, SMTP, POP3 등이 있다.

     

    Lesson 29 웹 서버의 구조(웹 사이트 접속)

    • HTML은 하이퍼텍스트를 작성하는 마크업 언어로 '태그'를 사용하여 문장 구조나 이미지 파일을 표시한다.
    • HTML로 작성된 웹 페이지는 웹 브라우저로 볼 수 있다.
    • 하이퍼텍스트로는 문장이나 이미지를 표시하거나 하이퍼링크를 사용할 수 있다.
    • 일반적으로 웹 브라우저는 웹 서버(웹 서버 프로그램)의 80번 포트를 통해 HTTP 통신을 한다.
    • 웹 브라우저에서는 HTTP 요청을 보내고, 웹 서버에서는 HTTP 응답을 반환한다.
    • HTTP/1.1 버전은 Keepalive 기능이 있어서 데이터를 교환하는 동안에는 연결을 유지하고 데이터 교환이 끝나면 연결을 끊는다.
    • HTTP/2 버전은 요청을 보낸 순서대로 응답을 반환하지 않아도 된다.

     

    Lesson 30 DNS 서버의 구조(이름 해석)

    • DNS 서버는 '이름 해석'을 사용하여 도메인 이름을 IP 주소로 변환한다.
    • URL에는 호스트 이름과 도메인 이름이 있는데, 예를 들어 www.google.com 에서 google.com은 모데인 이름이고, www는 호스트 이름이다.
    • 요청받은 DNS 서버가 해당 도메인 이름의 IP 주소를 모르는 경우에는 다른 DNS 서버에 질의한다.
    • DNS 서버는 전 세계에 흩어져 있으므로 연계하면서 동작한다.

     

    Lesson 31 메일 서버의 구조(SMTP와 POP3)

    • 메일 송신은 SMTP(프로토콜) 25번 포트를 사용한다.
    • 메일 수신은 POP3(프로토콜) 110번 포트를 사용한다.
    • 메일 서버 간에도 SMTP를 사용하여 메일을 전송한다.
    • 메일 서버에는 메일 박스가 있는데 여기에 메일이 보관된다.

     

    Lesson 32 랜 카드에서의 데이터 전달과 처리

    • 웹에 접속할 때는 OSI 모델의 상위 계층부터 캡슐화가 이루어진다.
    • 웹 서버에 요청을 보낼 때는 HTTP를 사용한다.
    • 웹 서버에 있는 html 파일을 요청하는 경우에는 GET/index.html HTTP/1.1과 같은 HTTP 메시지를 보낸다.
    • 전송 계층에서는 TCP 헤더가 추가되며 이를 세그먼트라고 부른다.
    • 네트워크 계층에서는 IP 헤더가 추가되며 이를 IP 패킷이라고 부른다.
    • 데이터 링크 계층에서는 이더넷 헤더와 트레일러(FCS)가 추가되며 이를 이더넷 프레임이라고 부른다.
    • 물리 계층에서는 랜을 이용하여 데이터가 전기 신호로 변환되어 전송된다.

     

    Lesson 33 스위치와 라우터에서의 데이터 전달과 처리

    • 스위치 내에 대응되는 OSI 모델의 계층은 물리 계층과 데이터 계층이다.
    • 라우터 내에 대응되는 OSI 모델의 계층은 물리 계층과, 데이터 링크 계층, 네트워크 계층이다.

     

    Lesson 34 웹 서버에서의 데이터 전달과 처리

    • 웹 서버에 해당하는 OSI 모델 계층은 물리, 데이터 링크, 네트워크, 전송, 응용 계층이다.
    • 정적 라우팅 : 관리자가 라우팅 테이블에 경로를 수동으로 추가하는 방법이다. 목적지까지의 경로를 하나로 한정하거나 고정하는 경우다. 수동으로 설정해야 하므로 소규모 네트워크에 사용된다. 라우팅 정보가 교환되지 않아 대역폭에 대한 부담도 적으며, 보안을 유지하는 데도 좋다. 경로에 장애가 발생해도 다른 경로로 우회할 수 없다는 단점이 있다.
    • 동적 라우팅 : 네트워크 변경을 자동으로 감지하여 라우팅 테이블을 업데이트하거나 라우터끼리 정로를 교환하여 최적의 경로로 전환하는 기능이다. 대규모 네트워크에서 사용된다.

     

    Lesson 35 무선 랜의 구조

    • 무선 랜 통신에는 랜 케이블이 필요 없다.
    • 무선 랜 어댑터에는 USB 메모리 방식 어댑터와 컴퓨터 카드 방식 어댑터가 있다.
    • 무선 공유기에는 무선 액세스 포인트 기능이 포함되어 있다.
    • 무선 랜을 연결하는 방식에는 인프라스트럭처 방식과 애드혹 방식이 있다.
    • 무선 랜은 IEEE802.11 규격을 준수하는 기기로 구성된다.
    • IEEE802.11은 미국 기술 표준화 단체인 IEEE가 승인한 무선 규격이다.
    • 무선 랜의 규격은 IEEE802.11ad/ac/n/a/g/b가 있다.
    • 무선 액세스 포인트를 무선 공유기 또는 무선 AP라고도 부른다.

     

    Lesson 36 SSID의 구조

    • 무선 액세스 포인트와 무선 클라이언트를 연결하려면 SSID라는 네트워크 이름, 인증, 암호화, 암호화 키를 설정해야 한다.
    • 무선 액세스 포인트는 비컨이라고 하는 자신을 알리는 신호를 네트워크에 있는 모든 기기에 주기적으로 전송한다.
    • 무선 랜에서는 여러 기기를 동시에 연결할 수 있도록 주파수 대역을 분할한다. 그 주파수 대역을 채널이라고 부른다.
    • 무선 액세스 포인트를 여러 대 설치할 때는 전파가 겹치는 부분이 생기지 않도록 채널을 설정할 때 주의해야 한다.

    'Book Review' 카테고리의 다른 글

    cs opensource book  (0) 2022.09.16
    린 소프트웨어 개발론 적용  (0) 2022.04.05
    파이썬 코딩의 기술 (브렛 슬라킨)  (0) 2021.05.29
    해커와 화가 (폴 그레이엄)  (0) 2021.05.29
Designed by Tistory.