내 잡다한 노트
네트워크 기초 상식 본문
#클라이언트, 서버 구조
클라이언트 ----접속---> 서버
# 프로토콜
한마디로 말하면 약속.
명령어들로 구성돼있고 요청하고 응답받는다. 이런 명령어들이 약속돼있고
그걸 통해 통신을 한다.
HTTP도 프로토콜, 이메일은 메일을 줄 때 SMTP라는 프로토콜을 쓰고
받을때는 POP3라는 프로토콜로 받는다.
FTP는 파일을 주고 받을때 쓰는 프로토콜
# AJAX (Asychronous Javascript And Xml)
웹사이트를 동적으로 만들기 위한 개발기법중 하나
비동기식으로 요청을 주고받아 전체 웹사이트의 정보를 다시 받는것보다 중요한 부분먼저
비동기식으로 요청을 먼저 받아 화면에 먼저 출력하는 그런 기술이다.
#동기 비동기
동기는 함수가 다 진행되고 응답을 하기까지 다음 행으로 넘어가지 않는다
보통의 함수들을 말한다
비동기는 비동기함수가 끝날때까지 기다리지 않고 다음 행으로 넘어간다
쓰레드같은 개념 나중에 비동기함수의 리턴값을 콜백함수로 받아올 수 있음
#Cookies, Session
둘 다 변수를 저장하는 것이다.
쿠키는 클라이언트의 특정 부분과 위치에 저장을 된다. 윈도우즈 디렉토리 안에 쿠키파일이 존재한다
세션은 정보들이 서버에 저장이 된다. db하고는 다르다 서버 수준에서 저장을 한다
시간을 가지고 있어 어느 정도 시간이 지나면 삭제가 된다.
세션으로 관리가 안돼있으면 다른 웹사이트를 갔다오면 로그아웃이 돼있다.
#VOIP (Voice over IP)
이걸 이용하는게 카카오 보이스톡
음성을 데이터화를 하고 데이터는 ip에 의해 전달이 돼고 데이터를 다시 음성으로 바꿔주는 것
이걸 통해 전화를 하는 것이다. 근데 전화선이 아닌 데이터 연결망을 통해서 하는 전화이다.
디스코드같은거
VOIP는 UDP에 가깝다.
#TCP (전송 제어 프로토콜)
정확한 데이터 전달을 목표로 한다
#UDP (데이터그램 프로토콜)
스트리밍데이터, 손실에 대해 고려를 한다
#압축
무손실을 기본으로 함
무손실 -> 알집. 1BYET라도 깨지면 풀리지 않는다 정확하게 압축되고 정확하게 풀려야 한다.
손실 -> MPEG 영상같은것. 조금 깨져도 불편하긴 하지만 영상을 보는데 불편함은 없다
# 포트 (PORT)
서버끼리 통신을 할 때 접속하기 위한 통로, 항구
포트 번호는 어떤 프로그램에 접속할 것인지 컴퓨터에게 알려준다
웹 브라우저로 서버에 접속을 할댄 80번 포트를 가진 프로그램에 접속하고
메일 서버에 접속하기 위해선 110번 포트를 사용하고, SSH 서버에 접속할 땐 22번 포트를 사용한다
"논리적인 접속장소를 나타내는 이정표"
# TCP/IP
컴퓨터끼리는 웹사이트 w.ㅈ.w.nav2er.com을 이해할 수 없다
그래서 DNS 서버에서 IP 숫자를 알려주고 그 숫자로 접속을 하는 것이다
목적지까지 가게 해주는 게 IP, 데이터를 전달해주는 게 TCP가 한다
그래서 TCP/IP라고 부른다
# 라우팅
네트워크속 해당하는 IP를 찾아가는 과정을 라우팅이라고 한다
# NAT (Network Address Translation)
네트워크 주소를 바꿔주는 것이다.
모든 서버가 퍼블릭 ip를 가지고 있진 않다
라우터 안의 기기들은 private ip를 가지고 있고 왜 private ip를 가지고 있냐면 퍼블릭 ip는
돈이 들고, 보안적으로 더 좋기 때문이다.
단점은 private라 접속을 할 수 있는 방법이 필요하다
통신을 하기 위해선 송신지 정보와 수신지 정보가 필요한데 private라 알 수가 없다.
그걸 위한 것이 NAT 장비이다. private ip를 public ip로 바꿔주는 기능을 한다
# 네트워크 명령어
ipconfig -> 자신의 ip 주소를 알 수 있음
ping -> ping + IP주소를 치면 그 컴퓨터에서 정보를 보내준다
막히는 경우가 있다. 왜냐면 계속 요청할 경우 공격이 되기 때문에
tracert -> url을 주면 해당 url의 라우팅 정보를 준다 통신이 막혔을 때 어디에서 문제가 생겼는 지
알 수 있다. 국내가 문제인지 해외가 문제인지
nslookup -> 해당하는 도메인 ip를 응답시켜준다 도메인으로 ip주소를 알 수도 있고 ip로
도메인 주소를 알 수 있다.
# 이더넷
통신을 하기 위한 규격, 규약을 뜻함
가장 물리적인 하단에 있는 접속과 관련된 규약
# 전자서명, 전자인증
전자서명은 이 데이터가 원본 데이터인지를 알려주는 것.
전자인증은 기관같은데에서 사용자 증명같은 인증을 하는 것
비슷하면서 목적이 다르다
# Hash
암호화 기법 중 하나이지만 단방향이다.
이런 경우에 쓴다 주민번호를 db에 저장할 수 없다고 규약이 있을 때, 주민번호를 통해
이 번호가 사용자하고 맞는 지 확인하고 싶다면 그대로 넣어서 매칭하는게 편하지만
규약때문에 못할 때, 주민번호를 변조를 해서 해쉬테이블에서 매칭을 해 맞는 지 확인을한다
암호화 복호화는 key를 통해 암호로 만들수도 풀 수도 있는 양방향이지만
해쉬화는 변조를 해서 해쉬테이블에 존재하는지만 확인을 해주고 끝이 난다.
'네트워크' 카테고리의 다른 글
3계층과 IP (0) | 2022.09.02 |
---|---|
2계층 프로토콜 (0) | 2022.08.31 |
네트워크 모델 (0) | 2022.08.31 |
네트워크란 무엇인가? (0) | 2022.08.31 |
포트포워딩(PortForwarding) (0) | 2022.04.29 |