그림으로 배우는 네트워크 (NetWork) 원리
Ch.1 네트워크의 기본
네트워크의 전체상을 이해하자
- 무엇을 위해서 네트워크를 이용할까?
- 컴퓨터 네트워크: 컴퓨터와 다른 장치들 사이에 데이터를 주고받기 위해 사용하는 네트워크
- 누가 이용할 수 있는 네트워크인가
- 사설 네트워크와 인터넷: 사설 네트워크는 조직 내에서 사용되는 네트워크이며, 인터넷은 전 세계적으로 연결된 네트워크
- 사내 네트워크 구성
- LAN, WAN: LAN은 건물 또는 캠퍼스 내에서 컴퓨터와 장치들을 연결하는 네트워크이며, WAN은 지리적으로 떨어진 지역을 연결하는 네트워크
- 네트워크의 네트워크
- 인터넷: 전 세계적으로 연결된 대규모 네트워크
- 무엇이 데이터를 주고받을까?
- 애플리케이션, 피어투피어 애플리케이션: 애플리케이션은 데이터를 생성하거나 처리하는 소프트웨어이며, P2P 애플리케이션은 직접적으로 컴퓨터 간에 데이터를 주고받는 애플리케이션
- 통신에서 이용하는 언어
- 네트워크 아키텍처: 컴퓨터와 다른 장치들이 데이터를 주고받을 때 사용하는 규칙과 프로토콜의 집합
- 서버를 운용 관리한다
- 서버, 클라우드 서비스, 온프레미스: 서버는 다른 컴퓨터와 장치들에게 데이터나 서비스를 제공하는 컴퓨터, 클라우드 서비스는 인터넷을 통해 제공되는 서버 및 데이터 스토리지, 온프레미스는 조직 내에서 운영되는 서버 및 데이터 스토리지
- 서버의 어느 부분을 사용하지? 클라우드 서비스의 분류
- SaaS, PaaS, LaaS: SaaS는 인터넷을 통해 제공되는 소프트웨어 서비스, PaaS는 개발자들이 애플리케이션을 만들기 위해 사용하는 플랫폼, LaaS는 인터넷을 통해 제공되는 하드웨어 리소스
- 컴퓨터 네트워크
Ch.2 네트워크를 만드는 것
- 네트워크는 어떻게 만들어졌을까?
- 네트워크는 여러 기기들이 연결되어 데이터를 주고받을 수 있도록 만들어진 것입니다. 어떤 규모의 네트워크를 만들지에 따라 다양한 기기들을 사용하게 됩니다.
- 클라우드 아이콘
- 클라우드는 인터넷을 통해 데이터나 서비스를 제공하는 서버나 데이터 스토리지를 말합니다.
- 네트워크 기기
- 네트워크 기기는 네트워크를 구성하는 라우터, 스위치, 허브 등 다양한 장비들을 말합니다.
- 인터페이스(포토), 링크
- 인터페이스는 네트워크 기기와 컴퓨터 등 다른 기기들이 서로 연결되어 데이터를 전송할 수 있도록 만들어진 인터페이스입니다. 링크는 인터페이스들 사이의 연결을 말합니다.
- LAN 구축
- LAN은 건물이나 캠퍼스 내에서 컴퓨터와 장치들을 연결하는 네트워크입니다. 어떤 종류의 LAN을 구축할 것인지에 따라 필요한 기기나 장비들이 달라집니다.
- 어떤 네트워크를 만들고 싶은가?
- 네트워크를 구성할 때는 어떤 종류의 네트워크를 만들고 싶은지를 먼저 결정해야 합니다. 네트워크 설계를 통해 필요한 기기와 구성 요소들을 파악하고 구성도를 작성합니다.
- 네트워크 구성을 파악하자
- 네트워크 구성도는 어떤 기기들이 어떻게 연결되어 있는지를 나타내는 도표입니다. 네트워크 구성을 파악함으로써 문제가 발생했을 때 빠르게 대처할 수 있습니다.
- 네트워크의 규모는 각각 다르다
Ch.3 네트워크의 공통 언어 TCP /IP
네트워크의 공통 규칙
- 네트워크의 공통 언어
- TCP/IP: 네트워크에서 데이터를 전송하기 위한 규약들의 집합
- 데이터를 전송하는 역할을 하는 계층
- 네트워크 인터페이스층과 인터넷층: 데이터를 실제로 전송하는 계층
- 애플리케이션의 동작을 준비하는 계층
- 트랜스포트층과 애플리케이션층: 데이터 송수신을 위한 준비과정을 담당하는 계층
- 데이터 송수신 규칙
- 캡슐화: 데이터를 전송하기 위해 계층화된 프로토콜로 감싸는 과정
- 데이터 수신, 전송할 때의 규칙
- TCP/IP를 이용한 통신: 데이터를 전송할 때 사용하는 프로토콜
- 데이터를 부르는 방법은 다양하다
- 메시지, 세그먼트, 패킷, 프레임: 데이터를 쪼개는 단위
- 데이터를 목적지까지 전송한다
- IP, IP 패킷, 라우팅: 데이터를 목적지까지 전송하는 과정
- 통신 상대는 누구?
- IP 주소: 컴퓨터나 기기를 식별하기 위한 주소
- 목적지는 하나? 아니면 여러 개?
- 유니캐스트, 브로드캐스트, 멀티캐스트: 데이터를 전송하는 방식
- IP 주소의 구성은 크게 나눠 두 가지
- 유니캐스트 IP 주소: 하나의 기기에만 전송되는 주소
- IP 주소의 범위 구분
- 서브넷 마스크: IP 주소를 서브넷마다 나누어 관리하기 위한 방법
- 네트워크에 접속하는 두 단계
- IP 주소 설정: 컴퓨터나 기기에 IP 주소를 설정하는 과정
- 인터넷에서 사용하는 주소와 사설 네트워크에서 사용하는 주소
- 공인 주소, 사설 주소: 인터넷이나 사설 네트워크에서 사용하는 주소의 종류
- 사설 네트워크에서 인터넷으로의 통신
- NAT: 사설 네트워크에서 공인 IP 주소로 통신하기 위한 방법
- 데이터가 목적지에 잘 도착했을까?
- ICMP: 데이터 전송 상태를 확인하기 위한 프로토콜
- TCP/IP: 데이터를 전송하기 위한 규약들의 집합입니다.
- IP 주소와 MAC 주소를 대응시킨다
- ARP: IP 주소를 가지고 MAC 주소를 찾는 프로토콜입니다.
- 포트 번호로 애플리케이션에 할당한다
- 포트 번호: 한 대의 컴퓨터에서 여러 개의 애플리케이션이 작동할 때, 각 애플리케이션이 데이터를 주고받기 위해 할당되는 고유한 번호입니다.
- 웰노운 포트 번호: 특정한 애플리케이션에 미리 예약되어 있는 포트 번호입니다.
- 확실하게 애플리케이션의 데이터를 전송한다.
- TCP: 데이터를 확실하게 전송하기 위한 프로토콜입니다.
- TCP로 데이터를 분할한다
- 시퀀스 번호: TCP에서 데이터를 분할하여 전송할 때, 분할된 데이터들이 원래 데이터에서 어디부터 시작하는지에 대한 정보입니다.
- ACK 번호: TCP에서 상대방으로부터 전송된 데이터를 수신할 때, 수신한 데이터의 순서를 확인할 수 있는 정보입니다.
- 애플리케이션에 데이터를 배분하기만 한다
- UDP: 데이터를 빠르게 전송하기 위한 프로토콜입니다.
- 네트워크의 전화번호부
- 이름해석: 도메인 이름과 IP 주소를 매핑하는 과정입니다.
- 호스트 이름: 컴퓨터의 이름을 말합니다.
- DNS: 도메인 이름과 IP 주소를 매핑하는 시스템입니다.
- DNS로 IP 주소를 자동으로 구한다
- 리소스 레코드: DNS에서 도메인 이름과 IP 주소를 매핑하기 위해 사용되는 정보입니다.
- DNS 리졸버: DNS 서버의 정보를 가지고 있는 시스템입니다.
- 재귀질의: DNS 리졸버가 다른 DNS 서버에게 정보를 요청하면서, 도메인 이름과 IP 주소를 찾아나가는 과정입니다.
- 필요한 설정을 자동화한다
- DHCP: 네트워크에 접속하는 기기들에게 자동으로 IP 주소와 기타 네트워크 설정을 할당하는 프로토콜입니다.
CH.4 웹사이트의 동작 원리
매일 보는 웹사이트, 얼마나 알고 있을까?
- 웹사이트는 어떻게 생겼을까?
- 웹사이트: 인터넷을 통해 접근할 수 있는 웹 페이지들의 집합
- 웹페이지를 만든다.
- HTML: 웹페이지를 만들기 위한 마크업 언어
- 웹페이지를 보기 좋게 꾸민다
- 스타일시트: 웹페이지의 디자인과 레이아웃을 관리하는 스타일 언어
- 웹사이트의 주소
- URL: 인터넷에서 특정 웹페이지의 위치를 가리키는 주소
- 웹사이트의 파일을 요청한다
- HTTP: 웹사이트에서 파일을 요청하거나 송신하기 위한 프로토콜
- 웹사이트의 파일을 전송한다
- HTTP 리스폰스: 서버에서 클라이언트로 전송하는 파일에 대한 응답
- 웹사이트 접속 기록을 기억해 둔다
- HTTP 쿠키: 웹사이트에서 사용자 정보를 기억하기 위한 작은 데이터 파일
- 웹사이트 접속을 대행한다
- 프록시 서버: 클라이언트와 서버 사이에서 요청과 응답을 주고받는 중간자 역할을 하는 서버
- 직원이 보는 웹사이트를 확인한다.
- 프록시 서버의 목적: 기업이나 조직에서 직원들의 인터넷 사용을 감시하거나 제어하기 위해 사용되는 도구
- 웹브라우저는 웹서핑만 하는 게 아니다
- 웹 애플리케이션: 사용자가 인터넷을 통해 애플리케이션을 이용하는 것
- 웹사이트를 볼 때의 준비
- 웹 접속 시의 애플리케이션과 프로토콜: 클라이언트와 서버가 웹사이트를 요청하고 전송하기 위해 필요한 애플리케이션과 프로토콜
- 웹사이트를 보는 흐름
- DNS 이름해석: 웹사이트의 URL을 IP 주소로 변환하는 과정, HTTP 리퀘스트: 클라이언트가 서버에게 파일을 요청하는 과정, HTTP 리스폰스: 서버에서 클라이언트로 전송하는 파일에 대한 응답
- 웹사이트
- 웹사이트는 인터넷에 연결된 컴퓨터나 기기에서 볼 수 있는 웹 페이지들의 모음을 의미합니다.
CH.5 이더넷과 무선 LAN
우선 같은 네트워크 안에서 전송한다
- 같은 네트워크 내에서의 전송을 반복한다.
- 이더넷과 무선 LAN(Wi-Fi)은 같은 네트워크 내에서 데이터를 반복 전송하는 기술입니다. 이더넷은 유선으로 연결된 컴퓨터들 간에 데이터를 전송하고, 무선 LAN은 무선으로 연결된 컴퓨터들 간에 데이터를 전송합니다.
- 데이터를 전송하는 이더넷
- 이더넷은 데이터를 패킷으로 나눠서 전송하는 기술입니다. 이더넷은 전송할 데이터를 패킷으로 나눈 후, 각 패킷에 헤더, 페이로드, 트레일러를 붙여서 전송합니다. 이더넷은 이러한 패킷 구조를 가지고 있어서, 전송 속도를 높일 수 있습니다.
- 이더넷의 규격
- 이더넷의 규격은 IEEE802 위원회에서 관리하고 있습니다. 이더넷의 규격에는 이더넷 케이블의 종류, 데이터 전송 속도, 전송 거리 등이 포함됩니다.
- 인터페이스는 어느 것?
- 이더넷은 MAC 주소를 사용하여 컴퓨터들 간에 데이터를 전송합니다. MAC 주소는 각 컴퓨터에 고유한 주소이며, 데이터를 전송할 때 사용됩니다.
- 일반적으로 사용되는 인터페이스와 케이블은?
- 이더넷 인터페이스는 RJ-45 인터페이스와 UTP(Unshielded Twisted Pair) 케이블을 사용합니다. 이더넷 케이블은 일반적으로 CAT5, CAT6, CAT7 등이 사용됩니다.
- 데이터 형식
- 이더넷은 데이터를 패킷으로 나눠서 전송합니다. 이더넷의 패킷 구조에는 헤더, 페이로드, 트레일러가 포함됩니다.
- 어떻게 접속하는가?
- 이더넷은 스타형, 버스형, 링형 등 다양한 토폴로지를 사용합니다.
- 데이터 전송 타이밍 제어
- 이더넷은 CSMA/CD(Carrier Sense Multiple Access with Collision Detection) 기술을 사용하여 데이터 전송 타이밍을 제어합니다. 이 기술은 데이터를 전송하기 전에 다른 컴퓨터가 데이터를 전송 중인지 확인하고, 충돌이 일어나지 않도록 데이터 전송을 조절합니다.
- 이더넷 네트워크를 만든다
- 이더넷 네트워크를 만드는 방법 중 하나는 레이어2 스위치를 사용하는 것입니다. 레이어2 스위치는 컴퓨터들 간에 데이터를 전송하는 기능을 제공합니다.
- 레이어2 스위치의 동작
- 레이어2 스위치는 데이터를 전송할 때 MAC 주소를 사용합니다. 레이어2 스위치는 데이터가 전송될 때, 데이터의 MAC 주소를 확인하고, 해당 MAC 주소를 가진 컴퓨터로 데이터를 전송합니다.
- 레이어2 스위치의 동작 2
- 레이어2 스위치는 UnKnown 유니캐스트 프레임을 수신할 때, 모든 포트로 데이터를 전송합니다. 이를 플러딩(Flooding)이라고 합니다.
- 레이어2 스위치의 동작 3
- 레이어2 스위치는 이더넷 프레임을 전송한 후, 해당 프레임에 대한 MAC 주소를 자신의 MAC 주소 테이블에 등록합니다.
- 레이어2 스위치의 동작 4
- 레이어2 스위치는 이더넷 프레임을 수신한 후, 해당 프레임에 대한 MAC 주소를 자신의 MAC 주소 테이블에 등록합니다.
- MAC 주소 테이블 관리
- 레이어2 스위치는 자신의 MAC 주소 테이블을 관리합니다. 이 테이블은 각 포트에 연결된 컴퓨터의 MAC 주소를 저장하고 있습니다.
- 데이터 전송과 동시에 수신한다
- 이더넷은 전이중 통신 방식을 사용합니다. 이는 데이터를 전송할 때, 동시에 데이터를 수신할 수 있는 것을 의미합니다.
- 케이블 없이 간편하게 네트워크를 만든다
- 무선 LAN은 케이블 없이 무선으로 데이터를 전송하는 기술입니다. 무선 LAN은 Wi-Fi라고도 불립니다.
- 무선 LAN에도 규격이 많다
- 무선 LAN 규격은 IEEE802.11b/a/g/n 등이 있습니다. 이 규격은 무선 LAN의 전송 속도, 전송 거리 등을 제어합니다.
- 무선 LAN에 연결한다
- 무선 LAN에 연결하기 위해서는 어소시에이션(Association) 과정이 필요합니다. 이는 무선 LAN에 접속하기 위한 인증 과정입니다.
- 전파는 돌려쓴다
- 무선 LAN은 전파를 이용하여 데이터를 전송합니다. 전파는 반사되거나 흡수되지 않고, 돌려쓰는 성질을 가지고 있습니다.
- 충돌이 일어나지 않게 데이터를 전송한다
- 무선 LAN은 CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance) 기술을 사용하여 데이터 전송 타이밍을 제어합니다. 이는 데이터를 전송하기 전에 다른 컴퓨터가 데이터를 전송 중인지 확인하고, 충돌이 일어나지 않도록 데이터 전송을 조절합니다.
- 무선 LAN의 보안
- 무선 LAN의 보안을 위해 WPA2(Wi-Fi Protected Access 2) 기술이 사용됩니다. WPA2는 데이터를 암호화하여 보안성을 높입니다.
CH.06 라우팅
멀리 있는 네트워크까지 전송한다
- 외부 네트워크로 데이터를 보낸다
- 라우팅: 네트워크에서 데이터를 보낼 때, 최적의 경로를 찾아 보내는 것
- 라우터로 네트워크 연결에 필요한 주소 설정
- 네트워크의 연결: 네트워크를 구성하는 기기들의 주소를 설정하여, 네트워크를 연결하는 것
- 데이터의 전송처를 결정한다
- 데이터의 전송처 결정: 데이터를 보낼 때, 보낼 경로를 결정하는 것
- 다음 라우터로 데이터를 전송한다
- 다음 라우터로 데이터 전송: 데이터를 보낼 때, 다음 경유지로 데이터를 전송하는 것
- 최종 주소를 확인한다.
- 다음 라우터의 처리: 데이터를 보낼 때, 다음 라우터가 해당 데이터를 처리할지 여부를 결정하는 것
- 목적지로 데이터를 보낸다
- 목적지로 데이터 전송: 데이터를 보낼 때, 최종 목적지에 데이터를 전송하는 것
- 라우터가 인식하는 네트워크 정보
- 라우팅 테이블: 라우터가 인식하는 네트워크 정보를 저장하고 있는 테이블
- 라우팅 테이블의 가장 기본적인 정보
- 직접 접속: 라우터와 인접한 네트워크 정보를 직접 등록하는 것
- 직접 접속되지 않은 경로 정보를 등록하는 방법
- 스태틱 라우팅, 라우팅 프로토콜: 직접 접속되지 않은 경로 정보를 등록하는 방법으로, 스태틱 라우팅은 수동으로 경로 정보를 등록하는 방식이며, 라우팅 프로토콜은 자동으로 경로 정보를 등록하는 방식이다.
- 방대한 경로 정보를 모아서 등록하는 방법
- 경로 요약: 방대한 경로 정보를 모아서 간소화된 정보로 등록하는 것
- 경로 정보를 최대한으로 줄이는 방법
- 디폴트 경로: 경로 정보를 최대한으로 줄이기 위해, 경로 정보를 하나로 통합하여 등록하는 것
- 라우터와 레이어2 스위치의 기능을 가진 데이터 전송 기기
- 레이어 3 스위치: 라우터와 스위치의 기능을 모두 가지고 있는 데이터 전송 기기로, 라우터보다 빠른 속도로 네트워크를 연결할 수 있다.
- 레이어2 스위치로 네트워크를 분할한다
- VLAN: 스위치를 이용해 물리적인 네트워크를 논리적인 네트워크로 분할하는 방법
- VLAN을 사용하는 이유
- VLAN 이용의 장점: 물리적인 네트워크를 논리적으로 분할하여 보안성을 높이고, 효율적인 네트워크 관리와 유지보수를 가능하게 함
- 복수의 접속선을 한 줄로 깔금하게 정리한다
- 태그 VLAN, IEEE802.1Q: 스위치에서 VLAN 정보를 담은 태그를 추가하여, 하나의 포트로 여러 VLAN을 구성하는 방법
- 기기 추가나 배선을 변경하지 않고 네트워크를 바꾼다
- VLAN과 태그 VLAN: 물리적인 네트워크 구성에서 논리적인 네트워크로 분할하여, 네트워크 구성 변경 시 유연성을 높이는 방법
- 분할한 네트워크끼리 연결하는 방법
- VLAN 간 라우팅: 논리적인 네트워크 간에 데이터를 전송하기 위해, VLAN 정보를 포함한 IP 패킷을 라우터를 이용해 전송하는 방법
- PC에도 라우팅 테이블이 있다.
- 기본 게이트웨이: PC에서 다른 네트워크로 데이터를 전송하기 위해 사용하는 통로로, 라우팅 테이블에 등록된 IP 주소 중 하나를 선택함
CH.7 네트워크 보안 기술
- 접속하는 사용자와 기기를 제한하는 3가지 방법
- 인증: 네트워크에 접속하는 사용자나 기기가 실제로 허가받은 사용자나 기기인지 확인하는 과정
- 데이터 도청을 방지하는 기술
- 암호화: 데이터의 내용을 읽을 수 없도록 암호화하는 기술
- 키 하나로 데이터를 관리한다.
- 공통키 암호 방식: 데이터를 암호화하는 데 사용되는 키를 동일한 키로 설정하는 방식
- 2개의 키로 데이터를 관리한다.
- 공개키 암호 방식: 데이터를 암호화하는 데 사용되는 키를 공개키와 개인키의 두 개의 키로 설정하는 방식
- 암호화된 데이터로 암호화한 상대를 특정한다
- 비밀키, RSA 암호, 타원곡선 암호: 데이터를 암호화하기 위해 사용되는 비밀키, RSA 암호, 타원곡선 암호 등을 이용하여 상대를 특정하는 방식
- 데이터를 만든 상대방을 특정한다
- 디지털 서명: 데이터를 만든 상대방을 특정하기 위해 사용되는 디지털 서명 기술
- 암호화에 사용할 공개키는 진짜인가?
- 디지털 인증서: 공개키가 진짜인지 확인하기 위해 사용되는 디지털 인증서
- 온라인 쇼핑의 안전성을 확보한다.
- SSL, 하이브리드 암호: 온라인 쇼핑에서 데이터를 안전하게 전송하기 위해 사용되는 SSL, 하이브리드 암호 기술
- 거점 간 통신을 저비용으로 안전하게 수행한다
- 인터넷 VPN: 거점 간 통신을 저비용으로 안전하게 수행하기 위해 사용되는 인터넷 VPN 기술
'[F-Lab 66해빗 페이백 챌린지 ]' 카테고리의 다른 글
| [F-Lab 페이백 모각코 50일차] 프로그래머스 콜라 문제 (Java) (0) | 2023.08.04 |
|---|---|
| [F-Lab 페이백 모각코 49일차] 프로그래머스 코딩테스트 푸드 파이트 대회 (Java) (0) | 2023.08.03 |
| [F-Lab 페이백 모각코 47일차] (CS) CHAPTER 1 컴퓨터 과학 소개 (0) | 2023.08.02 |
| [F-Lab 페이백 모각코 46일차] (CS) CHAPTER 10 보안과 암호화 (0) | 2023.08.02 |
| [F-Lab 페이백 모각코 45일차] (CS) CHAPTER 9 네트워크와 인터넷 (0) | 2023.08.02 |