일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 프로그래머스
- 토익
- 4주 프로젝트
- 2주 프로젝트
- til
- js
- 코드스테이츠
- LeetCode
- 손에 익히며 배우는 네트워크 첫걸음
- 코어 자바스크립트
- 타입스크립트
- javascript
- 백준
- python
- 제로초
- Async
- 회고
- 정재남
- 파이썬
- codestates
- 자바스크립트
- 렛츠기릿 자바스크립트
- SQL 고득점 Kit
- 리액트
- 알고리즘
- 타임어택
- 타입스크립트 올인원
- programmers
- 리덕스
- 리트코드
- Today
- Total
목록손에 익히며 배우는 네트워크 첫걸음 (8)
Jerry
네트워크 보안 방화벽 방화벽은 네트워크 통신을 할 때 문지기 역할을 합니다. 네트워크 통신의 데이터는 방화벽에 의해 모두 체크됩니다. 보안을 어디까지 확보할지는 정책에 따라 달라지므로, 이 주장이 틀렸다는 것은 아닙니다. 하지만 보안을 확보하는 데 있어서 '다중 방어'라는 사고방식은 매우 중요합니다. 다시 말해, 한 군데뿐만 아니라 여러 군데에서 체크함으로써 전체의 보안 레벨을 높이는 접근 방식입니다. 방화벽은 설정된 조건에 기초하여 통신을 차단할 뿐입니다. 따라서 악의를 가진 유저가 방화벽 입장에서 정상으로 보이는 데이터로 '위장' 시키면 방화벽을 통과하는 경우가 생깁니다. ex) 바이러스가 첨부된 이메일 멀웨어 PC나 유저에게 유해한 소프트웨어를 통칭 '멀웨어'라고 부릅니다. ex) 컴퓨터 바이러스,..
HTML = 웹 페이지의 내용, 하이퍼텍스트를 기술하기 위한 규칙에 해당 (여기서 하이퍼텍스트란 보통의 텍스트를 넘어선 기능을 가진 텍스트라고 생각해주세요) = 웹 서버에 존재하는 HTML 파일이나 이미지 파일을 PC의 웹 브라우저로 전송하기 위해 이용되는 것 = HTTP 프로토콜을 사용한 파일 전송은 HTTP 요청과 HTTP 응답을 주고받음으로써 이루어짐 HTTP 요청 요청 행 HTTP 요청의 첫 번째 라인이자, 웹 서버에게 처리 요구를 전달, 메서드와 URI로 구성 메서드: GET, POST, HEAD, PUT... URI: 요청 대상인 데이터 버전 메시지 헤더 요청 행 다음에 오는 여러 행의 문자열 웹 즈라우저의 종류, 버전, 데이터 형식 등의 정보 엔티티 바디 파일을 보낼 때 사용되지만, 보낼 데..
TCP는 적절한 애플리케이션 데이터를 전달하기 위해서 이용되는 프로토콜입니다. 프로토콜이란 컴퓨터끼리 통신할 때에 정해져 있는 '공통된 절차의 규약'입니다. ex) IP, HTTP, FTP, SMTP TCP 기능으로 애플리케이션 간의 데이터 전달 외에도 데이터를 분할하는 기능이 있습니다. 데이터 사이즈 최대치인 MSS(Maximum Segment Size)를 넘을 경우 여러 개로 분할합니다. TCP 연결 성립 애플리케이션 간에 신뢰성 있는 데이터 전송을 수행하기 위하여 'Three-way handshake'라는 기법을 사용합니다. A to B: 연결 요구(SYN 플래그) - 연결해도 될까요? / 데이터입니다. B to A: 응답(SYN/ACK 플래그) - 네, 이쪽에서도 연결하겠습니다. / 받았습니다. ..
TCP와 UDP란 무엇인가 -포트의 의미와 역할 포트 번호란 호스트 상에서 가동되는 애플리케이션을 식별하기 위한 정보를 말합니다. 그리고 적절한 애플리케이션과 데이터를 주고받기 위해 사용되는 프로토콜이 바로 'TCP'와 'UDP'입니다. 백그라운드에서 동작하는 프로그램을 '서비스'나 '데몬'이라고 부릅니다. 웹 서버나 메일 서버의 서버 프로그램도 백그라운드에서 동작하는 서비스(데몬)의 일종입니다. 1대의 PC에서는 여러 애플리케이션이 동시에 동작한다. 대부분의 경우 서버 1대가 역할 1가지를 수행한다. 애플리케이션이 통신으로 주고받는 일련의 데이터를 '애플리케이션 플로우' 혹은 '플로우'라고 부릅니다. 이 플로우는 '목적지/송신지 주소'와 '포트 번호'로 식별된다고 할 수 있습니다. ex) 'IP 주소:..
DNS의 구조 이해하기 -인터넷의 전화번호부 DNS란 호스트명(컴퓨터의 이름)과 IP 주소를 매핑(Name Resolution: 이름 해석)해주는 시스템을 말합니다. 우리가 평소에 IP 주소 대신 '호스트명'으로 네트워크 통신을 할 수 있는 것은 바로 이 DNS 덕분입니다. DNS는 이름 해석 방법의 하나입니다. 이름 해석이 필요한 가장 큰 이유는 '사람이 알기 쉽게 만들기 위해서'입니다. TCP/IP 네트워크에서 통신하기 위해서는 반드시 IP 주소가 필요합니다. 하지만 IP 주소는 사람에게 있어서 기억하기 힘든 주소로 이루어져 있기 때문에, 사람이 알기 쉽게 하고자 컴퓨터에 '호스트명(이름)'을 붙이고 호스트명으로 통신 상대를 지정할 수 있게 만든 것입니다. 통신 상대를 지정하게 되면 상대의 IP 주소..
사설 IP 공인 IP 주소 고갈에 대한 대책으로 생겨난 것이 '사설 IP'입니다. 공인 IP 주소로써 이용되지 않는 범위의 IP 주소를 설정해 이 안에서 자유롭게 돌려씀으로써 공인 IP 주소의 고갈에 대비하고 있습니다. 이 돌려 쓰는 IP 주소가 바로 '사설 IP 주소'입니다. 사설 IP 주소의 범위 홈네트워크 192.168.0. ~ 192.168.255.255 범위에서 사용하는 경우가 많고 규모가 있는 사내 네트워크는 10.0.0.0 ~ 10.255.255.255 범위에서 사용하는 경우가 많습니다 어느 쪽이든 간에 공인과 사설을 함께 사용함으로써 인터넷 통신과 사내/가정 내의 통신을 구분해서 이용하는 것입니다. NAT 사설 IP 주소는 '닫혀 있는 네트워크 내부'에서 사용하는 것을 전제로 하고 있습니다..
IP 주소 IP 주소란 PC나 서버, 라우터와 같이 TCP/IP로 통신하는 기기를 식별하기 위한 주소를 말합니다. 이렇게 통신하는 기기를 호스트라고 부릅니다. 네트워크상에서 데이터를 전송하는 것은 주로 호스트에서 동작하는 애플리케이션(웹 브라우저나 메일 소프트웨어 등) 이 애플리케이션을 실행하고 있는 호스트를 특정하기 위한 정보가 바로 IP주소입니다 (유선 LAN. 무선 LAN 등의 인터페이스에 IP 주소 설정함) 애플리케이션이 통신할 때 통신 대상을 IP 주소로 지정한다는 것을 꼭 기억해두세요 일반적인 IP 주소는 32비트. 0과 1이 이루어진 비트가 32개 나열된 것 그래서 IP 주소 표기할 때에는 '부점 10진 표기법(Dot-decimal)을 사용 0~255 이내 ex) 192.168.1.1 IP ..
프로토콜과 네트워크 아키텍처 네트워크상에서 다양한 데이터가 오가고 있습니다. 네트워크를 통해서 데이터를 주고받는 주체는 무엇일까요? 바로 PC 등에서 등장하는 '애플리케이션'입니다. 웹브라우저나 이메일 소프트웨어처럼 PC에서 동작하는 애플리케이션끼리 서로 데이터를 주고받는 것입니다. 프로토콜 데이터를 주고받기 위해서는 아래와 같은 다양한 규약이 필요한데 이 같은 통신상 규약을 (통신) 프로토콜이라고 합니다. 데이터 포맷 데이터를 송수신하는 순서 데이터의 송신처 에러 처리 프로토콜 하나에 네트워크 통신이 필요로 하는 기능 모두를 쑤셔 넣지는 않습니다. 그랬다가는 프로토콜이 복잡해지고 기능 추가 등의 확장성도 부족해집니다. 그래서 네트워크 통신에 필요한 기능마다 복수의 프로토콜이 정의되어 있는 것입니다. 네..