컴퓨터 네트워크의 구성 요소
기본 용어
- 네트워크
- 노드 : 네트워크에 연결된 장치의 집합. (컴퓨터, 서버, 프린터, 라우터, 스위치 등)
- 프로토콜: 네트워크를 통해 데이터가 전송되는 방식을 제어하는 규칙(규약)
- 토폴로지: 네트워크에 있는 노드의 물리적, 논리적 배열
- IP 주소: 장치간의 통신 식별자(고유 식별자)
- MAC 주소(미디어 액세스 제어 주소): 물리적 주소로 고유 식별자.
- 포트(Port): 애플리케이션과 데이터를 주고받을 수 있는 논리적 채널
- 소켓: IP조수와 포트 번호의 고유한 조합
- DNS: (Domain Name System) 컴퓨터가 알 수 있게 IP주소 변환
- 방화벽: 네트워크 트래픽을 모니터링하고 제어하는 데 사용되는 보안 장치
네트워크의 유형
- LAN: 근거리 통신망
- WAN: Wide Area Netwrok. WAN은 LAN을 서로 연결하는 데 사용되며 일반적으로 장거리 통신에 사용
- 클라우드 네트워크
아키텍처의 유형
- 클라이언트-서버 아키텍쳐: 중간 서버 o
- Peer-to-Peer 아키텍쳐: P2P로 중앙서버 x
OSI 모델
개방형 시스템 상호 연결
- 물리층
- 한 노드에서 다음 노드로 개별 비트를 전송하는 역할
- 비트 동기화
- 비트 종송률 제어
- 물리적 토폴로지
- 전송 모드
- 데이터링크층
- 메시지의 노드 간 전달. 오류가 있는가 확인
- 프레이밍(Framing)
- 물리적 주소 지정
- 오류 제어
- 흐름 제어
- 액세스 제어
- 네트워크 계층
- 한 호트에서 다른 네트워크의 다른 호스트로 데이터 전송하는데 사용
- 라우팅
- 논리적 주소 지정
- 전송 계층
- 애플리케이션 계층에 서비스를 제공하고 네트워크 계층에서 서비스를 가져옴.
- 분할 및 재조립
- 서비스 지점 주소 지정
- 세션 계층
- 세션 설정, 유지 및 종료
- 동기화
- 대화 컨트롤러

(전달간의 암호화를 통해 진행)
- 플리젠테이션 레이어
- 애플리케이션 계층
- 최상위 계층으로 수신된 정보를 창에 제공
- 네트워크 가상 터미널
- FTAM
- 메일 서비스
- 디렉토리 서비스

TCP/IP 모델
? : 컴퓨터의 데이터를 한 장치에서 다른 장치로 전송
IP는 메일의 목적지를 찾아줌 / TCP(전송 제어 프로토콜)은 메일을 보내고 받는 일
작동 방법:
송신자 측. 데이터 패킷으로 나눠 / 수신자 측. 동일한 패킷을 다시 결합
계층:
- 애플리케이션 계층
- 전송 계층(TCP/UDP) : 패킷 오류 없이 도달한 지 확인
- 네트워크/인터넷 레이어(IP)
- 데이터 링크 계층(MAC) : 패킷 식별
- 물리층 : 연결 요청

TCP/IP와 OSI의 계층 차이점

DNS(Domain Name System)
- DNS 리커서 : 쿼리를 수신하도록 설계된 서버
- 루트 네임서버: 호스트 이름을 IP 주소로 변환
- TLD 네임서버
- 권위 있는 네임서버
재귀 DNS 확인자
DNS 조회의 8단계:

HTTP
하이퍼텍스트 전송 프로토콜로 링크를 통해 웹 페이지를 로드하는 규칙
무엇을 할까:
- HTTP 버전 유형
- URL
- HTTP 메서드: GET, POS 등 함수
- HTTP 요청 헤더: 키값 쌍에 저장된 텍스트 정보.
- 선택 사항인 HTTP 본문
HTTP 응답
- HTTP 상태 코드
- 1xx informational
- 2xx 성공
- 3xx 리디렉션
- 4xx 클라이언트 오류
- 5xx Server Error
- HTTP 응답 헤더
- 선택 사항인 HTTP 본문
SSL(Secure Sockets Layer)
암호화 기반 인터넷 보안 프로토콜
SSL 보안 인증서로 SSL/TLS를 사용하는 웹사이트의 URL는 HTTP→HTTPS
가치:
- 데이터의 중도 탈취에도 정보가 암호화되어 안전성 o.
SSL 인증서:
TLS 핸드셰이크

- TLS 암호화를 사용하는 통신 세션을 실행하는 프로세스(HTTPS 작동의 근간)
과정:
- 사용할 TLS 버전 지정
- 사용할 암호 제품군을 결정
- 서버의 공개 키와 SSL 인증서 기관의 디지털 서명을 통해 서버의 ID 인증
- 핸드셰이크가 완료된 후에 대칭 암호화를 사용하기 위해 세션 키를 생성
단계
- 클라이언트 헬로 메시지
- 서버 헬로 메시지
- 인증
- 예비 마스터 암호
- 개인 키 사용
- 세션 키 생성
- 클라이언트 준비 완료
- 서버 준비 완료
- 안전한 대칭 암호화 성공
웹 소켓

HTTP 프로토콜 : 서버가 응답을 보내는 단방향

WebSocket:
클라이언트-서버 통신과 동일한 시나리오에서 사용되는 양방향 전이중 프로토콜
- 통신 링크 설정 및 연결이 열리면 클라이언트-서버 간 연결이 지속될 때까지 양방향 모드로 메시지 교환 이루어짐.