인터넷 계층 프로토콜은 IP 기반 패킷을 사용 데이터를 수신지 컴퓨터까지 전달하는 역할을 한다. 그 수신지는 IP 주소라는 식별자 정보로 구분한다. IPv4, IPv6, ICMP(인터넷 제어 메시지 프로토콜) IPv4의 모든 주소가 소진되어 IPv4 할당이 중지되었으며 IPv6가 등장하여 사용중이다. IPv4 이미지 출처: 위키(https://ko.wikipedia.org/wiki/IPv4) 네트워크 영역과 호스트 영역으로 나뉜다. 호스트 영역과 네트워크 영역에 따라 클래스가 구분된다. A클래스는 맨 앞자리 값이 예약되어 있으며 2,3,4번째 자리를 자유롭게 부여가능하다 B는 둘째자리까지, C는 셋째자리까지 예약되어 있다. 서브넷 마스크를 사용하여 네트워크부와 호스트부(클래스)를 구분한다. (사용자가 자..
애플리케이션 계층에 데이터를 분류하여 전달하는 역할을 한다. 트랜스포트 계층은 TCP 또는 UDP 프로토콜을 대표적으로 사용한다 어떤 프로토콜을 사용할 것인가에 따라 헤더의 내용(정보)이 다르다. 포트를 가지고 논리적으로 구분을 한다. TCP TCP 프로토콜은 연결의 신뢰성을 보장한다. TCP 헤더에 포함되는 내용들 (pg113) 송수신처 포트번호 시퀀스번호(송신 데이터의 일련번호) ack 번호(수신 데이터의 일련번호) 데이터 오프셋 컨트롤비트 윈도우 체크섬 3 handshake syn, ack 컨트롤비트로 3 handshake를 하여 연결을 확인한다. syn ack ack 으로 이루어진다. syn, ack 이 모두 1로 체크되어 있어야 연결을 확인했음을 인지하고, 데이터 송수신을 한다. 4 handsh..
성공과 실패를 결정하는 1% 네트워크 원리 라는 책을 읽고 공부한 내용을 정리하며, 크게 소켓 부분과 TCP/IP 4계층으로 나누어 정리했다. 소켓 소켓의 구성요소 자신의 IP, 자신의 Port 소켓 디스크립터 상대방의 IP, 상대방의 Port 소켓 소켓은 통신용 제어정보이다. 프로토콜 스택(네트워크 제어용 소프트웨어)은 소켓에 기록된 제어정보를 가지고 참조하여 동작한다. TCP/IP 에서 각 단계에 따라 동작하는데, 이때 소켓의 제어정보를 참조하는 것 소켓의 작동 4단계 소켓을 작성한다. 연결(커넥션)한다. 데이터를 송수신한다. 연결을 끊고 소켓을 말소한다. 1. 소켓의 작성 애플리케이션이 소켓 라이브러리를 이용하여 리졸버를 통해 IP 주소를 알아온다. 프로토콜 스택에게 소켓작성을 의뢰하면 1개의 소켓..
Chapter1 S1 예시: http: + // + + / + + / + ... + Url 맨 앞의 있는 문자열은 을 나타낸다. (예시: http:) // 다음은 를 나타낸다. 그 뒤의 / 은 를 나타낸다. 맨 마지막은 를 나타낸다. (맨위에 예시는 아래 문제를 풀기 위한 도움) S2 DNS 서버에 조회 메세지를 보내는 클라이언트는 또는 라고 부른다. 이것의 실체는 Socket 라이브러리에 들어있는 부품화한 프로그램이다. Socket 라이브러리는 에 포함되어 있는 네트워크 기능을 애플리케이션에서 호출하기 위한 부품을 모아 놓은 것이다. (각 빈..
쿠키와 세션 궁금증(지난 글 추가내용) 세션이란? 세션은 일정 시간동안(방문자가 웹 브라우저를 통해 웹 서버에 접속한 시점~브라우저를 종료하여 연결을 끝내는 시) 같은 사용자(브라우저)로 부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술을 의미한다. 혹은 브라우저의 인증을 위해 서버 측에 저장되는 임시 데이터를 세션이라고 한다. 쿠키와 웹 스토리지 차이는? 쿠키 웹 스토리지 정보가 매번 서버에 요청 정보가 서버에 요청되지 않음 저장 가능 크기 작음 쿠키보다 저장가능한 크키가 큼 문자열만 저장가능 JS의 primitives와 Object도 저장가능 (key=value 형태로 저장) HTML5 이전부터 존재 HTML5 부터 추가 가장 큰 차이는 서버에 요청되는지 여부와 저장..
1. 쿠키 쿠키의 등장이유 HTTP는 Stateless(무상태) 프로토콜이다. 즉, 상태정보를 가지고 있지 않는 통신방법이다. Http는 단순하다. 요청하고 그 요청에 대한 응답을 받는다. 만약 로그인을 하고, 다음 http 통신을 요청한다면 무상태 프로토콜은 로그인 정보(상태)를 가지지 않으므로 로그인을 했는지 여부를 알 수 없다. 따라서 로그인 했음을 알려주려면 로그인에 대한 정보를 지속적으로 알려주어야 한다. URL 뒤에 로그인 정보를 쿼리문으로 붙여준다면? // 가상예시 https://github.com/settings/profile?login=ok 브라우저에 직접 입력해서 로그인페이지에 들어갈 수도 있는 문제가 생긴다. POST 요청 매개변수로 전달 form의 post 요청 정보를 계속 포함시켜..
HTTP는 평문이기 때문에 도청 가능성이 있으며 보안에 취약하다. HTTP에 SSL을 사용하여 암호화, 인증, 완전성 보호를 더한 것을 HTTPS 라고 한다. HTTPS = HTTP + 암호화 + 인증 + 완전성 보호 HTTPS는 HTTP 통신을 하는 소켓 부분을 SSL 프로토콜로 대체하고 있다. SSL에서는 공통키 방식과 공개키 암호화 방식을 섞은 암호화 사용하고 있다. 공개키 암호화 방식은 public(공개키)와 private(비밀키)의 쌍을 가진 키를 사용하는 방식이다. 공통키 방식은 하나의 키로 암호화, 복호화를 하는 방식이다. 키를 교환할 때는 공개키를 사용하여 (공통)키를 공유하고, 그 이후 통신에서는 공유된 공통키를 사용한다. SSL은 인증 기관을 신뢰할 수 있다는 전제로 사용된다. SSL을..
통신을 중계하는 프로그램 프록시 서버와 클라이언트 사이에서 중계하는 프로그램이다. 원 서버보다 물리적인 거리가 가까운 서버를 두고 캐시하여 사용하는 방법인 CDN과 연관이 깊은 듯 하다. 여러대의 프록시 서버를 경유하는 것도 가능하며 리소스 본체를 가진 서버를 Origin Server라고 한다. 프록시 서버에 리소스 캐시를 보존해 두는 프록시 서버를 캐싱 프록시라고 한다. 중계시에 메시지 변경을 하지 않는 타입은 투명 프록시라고 한다. 게이트웨이 게이트웨이 다음에 있는 서버는 HTTP 이외의 프로토콜 통신을 하는 서버가 된다. 암호화 등으로 안전성을 높이는 역할을 한다. 터널 요구에 따라 다른 서버와 통신 경로를 확보한다. SSL 등의 통신이 안전한 통신을 위해 사용된다. 터널은 해석을 하지 않으며 그대..
- Total
- Today
- Yesterday
- 우아한테크코스
- 내부코드
- Transaction
- python
- Spring
- React
- OS
- 마스터즈코스
- 객체지향
- 글쓰기미션
- 우테코수업
- JS
- 운영체제
- 개발공부일지
- javascript
- TIL
- 네트워크
- 알고리즘
- 카카오
- 월간회고
- CS
- 학습로그
- 모의면접준비
- DB
- 코드스쿼드
- TCP/IP
- JPA
- 회고
- 인증
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |