섹션2. 네트워크
네트워킹
컴퓨터를 서로 연결하여 컴퓨터 간의 통신 및 데이터 교환을 가능하게 하는 방식.
컴퓨터 A와 B의 데이터 자원을 공유하는 것.
컴퓨터 네트워크의 작동 방식
컴퓨터 네트워크의 통신을 허용하는 링크를 통해 데이터를 보내고 받는 데 도움이 되는 규칙 또는 프로토콜로 정의할 수 있다.
기본 용어
- 네트워크 : 통신 및 데이터 교환을 가능하게 하기 위해 함께 연결되는 컴퓨터 및 장치의 모음
- 노드 : 네트워크에 연결된 장치. (컴퓨터, 라우터, 프린터, 서버⋯)
- 프로토콜 : 네트워크를 통해 데이터가 전송되는 방식을 제어하는 일련의 규칙 및 표준. (TCP/IP, HTTP⋯)
- 토폴로지 : 네트워크에 있는 노드의 물리적, 논리적 배열. (버스, 스타, 링, 메시, 트리⋯)
- 서비스 제공업체 네트워크 : 제공업체로부터 네트워크 용량 및 기능을 임대할 수 있는 권한을 부여. (무선 통신, 데이터 매체⋯)
- IP주소 : 모든 장치에 할당되는 고유한 숫자 식별자. 장치 식별 및 장치 간 통신 활성화.
- DNS : Domain Name System. 도메인을 컴퓨터가 이해할 수 있는 IP주소로 변환하는 프로토콜.
- 방화벽 : 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는데 사용되는 보안 장치. 무단 엑세스 및 기타 보안 위협으로부터 네트워크를 보호.
기업 컴퓨터 네트워크의 유형
- LAN : 근거리 통신망. 소규모 지역(사무실, 집)을 포괄하는 네트워크. 건물이나 캠퍼스 내의 컴퓨터와 기타 장치를 연결하는데 사용
- WAN : Wide Area Network. 장거리 통신망. 넓은 지리적 영역(도시, 국가, 전세계)을 포괄하는 네트워크. LAN을 연결하는데 사용.
- 클라우드 네트워크 : 공용이나 사설 클라우드 서비스 제공업체에서 호스팅할 수 있음. WAN으로 시각화 가능.
컴퓨터 네트워크 아키텍처의 유형
- 클라이언트-서버 아키텍처 : 통상적으로 사용. 중앙서버가 있음.
- Peer-to-Peer 아키텍처 : 중앙서버가 없음.
- OSI 7계층
네트워크 고유 식별자
- 호스트 이름 : cmd에 hostname
- IP주소(인터넷 프로토콜 주소) : 논리주소. 시스템의 네트워크 주소. cmd에 ipconfig
- MAC주소(미디어 엑세스 제어 주소) : 물리적 주소.
- Port : 데이터를 주고받을 수 있는 논리적 채널. 모든 호스트에는 여러개의 애플리케이션이 실행될 수 있고, 각 애플리케이션은 실행 중인 포트 번호를 사용하여 식별됨. cmd에 netstat -a
- 소켓 : Ip주소와 포트번호의 고유한 조합
기타 관련 내용
- DNS서버 : cmd에 nslookup(찾고있는 도메인의 IP주소 알 수 있음)
- ARP : 주소 확인 프로토콜. IP주소를 물리적 주소로 변환하는데 사용. 데이터 링크 계층에서 수신기 시스템의 MAC주소 식별.
- RARP : 역방향 주소 확인 프로토콜. 물리적 주소가 입력된 장치의 IP주소 제공. 허나 DHCP등장이후 입지를 잃음
OSI(Open System Interface)
7계층 아키텍처. 개방형 시스템 상호 연결. 각 계층마다 협력
수직적 접근 방식
-
- 물리 계층
- 장치 간 물리적 연결
- 한 노드에서 다음 노드로 개별 비트를 전송. 데이터 수신 시 수신된 신호를 0/1로 변환 후 데이터 링크 계층으로 보내 프레임 재결합.
- 비트 동기화
- 비트 전송률 제어
- 물리적 토폴로지
- 전송모드
- 허브, 모뎀⋯
- 물리 계층
-
- 데이터링크 계층
- 메세지의 노드 간 전달. 데이터 전송에 오류가 없는지 확인
- 논리 링크 제어(LLC)와 미디어 엑세스 제어(MAC)으로 나뉨
- 프레이밍(Framing)
- 물리적 주소 지정 - MAC주소
- 오류 제어
- 흐름 제어
- 엑세스 제어
- 스위치, 브릿지⋯
- 데이터링크 계층
-
- 네트워크 계층
- 데이터 전송
- 라우팅 : 대상까지 어떤 경로가 적합한지 결정
- 논리적 주소 지정
- 라우터⋯
- 네트워크 계층
-
- 전송 계층
- 데이터를 세그먼트라고 칭함.
- 분할 및 재조립 : 메시지를 더 작은 단위로 나눔
- 서비스 지점 주소 지정 : 메시지가 올바른 프로세스로 전달되도록 주소 지정
- 방화벽⋯
- 전송 계층
-
- 세션 계층
- 세션 유지 및 인증, 보안 보장
- 새션 설정, 유지 및 종료
- 동기화
- 대화 컨트롤러
- 게이트웨이⋯
- 세션 계층
-
- 표현 계층
- 번역
- 암호화/복호화
- 압축
- JPEG, MPEG, GIF⋯
- 표현 계층
-
- 애플리케이션 계층
- 네트워크 가상 터미널
- 메일 서비스
- 디렉토리 서비스
- SMTP⋯
- 애플리케이션 계층
TCP/IP
5개의 계층이 존재. (또는 4층)
한 장치에서 다른 장치로 전송하는 것. 수신자가 발신된 정보와 동일한 정보를 수신할 수 있도록 데이터를 신뢰할 수 있고 정확하게 만드는 것.
수평적 접근 방식
- IP : 메일의 목적지를 찾아주는 역할
- TCP : 메일을 보내고 받음
- UDP : 통신할 때 IP가 필요하지 않은 프로토콜
TCP/IP 작동 방식
송신자 측에서 데이터를 패킷으로 나누고 수신자 측에서는 쪼개진 패킷을 결합하여 다시 데이터를 구성한다.
TCP/IP의 계층
-
- 물리 계층
- 데이터를 생성하고 연결을 요청
-
- 데이터링크 계층(MAC)
- 프로토콜 유형 식별, 오류 방지
-
- 인터넷 계층(IP)
- IP : Internet Protocol, 패킷 해더의 IP주소를 확인하여 소스 호스트에서 대상 호스트로 패킷을 전달
- ICMP : 인터넷 제어 메시지 프로토콜, IP 데이터 그램 내에 캡슐화, 네트워크 문제에 대한 정보 호스트에게 제공
- ARP : 주소 확인 프로토콜, IP주소에서 하드웨어의 호스트 주소를 찾음
- 전체 네트워크를 통한 데이터의 논리적 전송을 담당하는 프로토콜을 정의
- 인터넷 계층(IP)
-
- 전송 계층(TCP/UDP)
- 데이터 수신 확인을 교환, 누락된 패킷을 재전송하여 패킷이 오류 없이 순서대로 도착하는지 확인
-
- 애플리케이션 계층
- HTTP/HTTPS : 하이퍼텍스트 전송 프로토콜, WWW에서 웹브라우저와 서버간의 통신을 관리하는 데 사용, HTTPS는 HTTP와 SSL을 결합
- SSH : Secure Shell, 암호화된 연결을 유지하는 기능이 있음
- NTP : 네트워크 시간 프로토콜, 컴퓨터의 시계를 표준 시간 소스와 동기화 하는데 사용
- 오류 없는 데이터 젙달 담당 → 데이터의 복잡성으로부터 상위 계층 애플리케이션을 보호
- 애플리케이션 계층
4층인 경우의 이미지
DNS
= 인터넷의 전화번호부
: 도메인 이름 → IP주소 변환
- DNS 리커서 : 웹 브라우저와 같은 애플리케이션을 통해 클라이언트 시스템으로 부터 쿼리를 수신하도록 설계된 서버 (특정 책을 찾으러 가는 사서)
- 루트 네임서버 : 호스트 이름을 IP주소로 변환하는 첫번째 단계 (도서관의 색인)
- TLD 네입서버 : 호스트 이름의 마지막 부분 호스팅 com (책꽃이의 랙)
- 권위있는 네임서버 : 네임서버 쿼리의 마지막 중지 지점, 권위있는 네임서버가 요청된 레코드에 액세스 할 수 있는 경우 요청된 호스트 이름의 IP 주소를 초기 요청을 수행한 DNS 리커서에게 다시 반환 (책꽃이에 있는 사전)
DNS 조회 단계
- 사용자가 웹 브라우저에 ‘google.com’을 입력하면 쿼리가 인터넷으로 이동해 재귀 DNS 확인자 에 의해 수신
- 확인자는 DNS 루트 이름 서버를 쿼리
- 루트서버는 해당 도메인에 대한 정보를 저장하는 TLD(최상위 도메인) DNS 서버의 주소로 확인자에게 응답
- 확인자는 .com TLD에 요청을 보냄
- TLD 서버는 도메인 이름 서버의 IP주소인 google.com으로 응답
- 재취 확인가자 도메인의 이름 서버에 쿼리를 보냄
- google.com의 IP주소가 네임서버에서 확인자로 반환
- DNS확인자는 처음에 요청한 도메인의 IP주소로 웹 브라우저에 응답
- 브라우저는 IP주소에 HTTP요청을 보냄
- IP서버는 브라우저에 렌더링할 웹페이지를 반환
DNS 캐싱
데이터 요청에 대한 성능과 안정성을 향상시키는 위치에 데이터(DNS레코드)를 임시로 저장하는 것
- 요청 클라이언트에서 더 가까운 곳에 데이터를 저장하여 DNS쿼리를 더 일찍 해결
- DNS조회 체인 아래 았는 추가 쿼리를 방지하여 로드시간 개선 및 대역폭/CPU소비를 줄임
HTTP, HTTPS
: 하이퍼텍스트 전송 프로토콜
- 웹페이지를 로드하는데 사용됨
- 애플리케이션계층의 프로토콜이며 네트워크 프로토콜 스택의 다른 계층 위에서 실행됨
요소
- HTTP버전 유형
- URL
- HTTP 메서드
- GET과 POST
- HTTP 요청 헤더scheme : 어떠한 프로토콜을 사용
-
- HTTP 본문(선택사항)
- 사용자 이름 및 비밀번호 또는 양식에 입력된 기타 데이터와 같이 웹 ㅅ버에 제출되는 모든정보가 포함
HTTP 응답
- HTTP 상태코드
- 1xx informational
- 2xx 성공
- 3xx 리디렉션
- 4xx 클라이언트 오류 : 본문의 값이 다르거나 요청의 값이 이상할 때
- 5xx server error : 서버에 문제가 있을 떄
- : HTTP요청이 성공적으로 완료되었는지 여부를 나타냄
- HTTP 응답 헤더
-
- HTTP본문(선택사항)
SSL
: Secure Socket Layer, .암호화 기반 인터넷 보안 프로토콜 (현재 사용중인 TLS 암호화의 전신), HTTPS에 사용됨
- 예를 들어 고객이 쇼핑 사이트를 방문하여 주문하고 신용카드 번호를 입력했다면 해당 신용카드 번호가 숨겨지지 않은 채 인터넷을 이동함. 타인이 가로채서 확인할 수 있는 문제가 생김
- → 이러한 문제를 해결하기 위해 SSL이 등장
- 특정한 유형의 사이버 공격 차단
- SSL은 SSL 인증서가 있는 웹사이트만 실행 가능
- SSL 인증서 종류
- 단일 도메인 : 단 하나의 도메인에만 적용 ex) www.cloudflare.com
- 와일드카드 : 단 하나의 도메인에만 적용되지만, 도메인의 하위 도메인도 포함 ex) www.cloudflare.com, blog.cloudflare.com
- 멀티 도메인 : 관련되지 않은 다수의 도메인에 적용 가능
- 도메인 유효성 검사
- 도메인 유효성 검사 : 가장 덜 엄격하고 저렴, 기업이 도메인을 관리하고 있다는 것만 증명
- 조직 유효성 검사 : CA가 담당자나 기업에 인증서를 직접 문의
- 확장 유효성 검사 : 조직의 배경을 완전히 검사 한 후 인정서 발행
'@Xpert > BASIC' 카테고리의 다른 글
3주차 컴퓨터구조, 네트워크 기본 개념 정리 (0) | 2025.04.07 |
---|---|
3주차 HTML과 인터넷 (0) | 2025.04.07 |
3주차 컴퓨터 구조 정리 (0) | 2025.04.03 |
0325 2주차 암호학 정리 및 Protocol 5.0 허점해결 (0) | 2025.04.03 |
0318 1주차 AES (0) | 2025.04.03 |