IP
인터넷 프로토콜, 통신하기 위해 필요한 주소
loopback 127.0.0.1 |
호스트에 할당된 아이피를 의미 내가 가지고 있는 컴퓨터에서 localhost 또는 127.0.0.1로 서버를 띄울 경우 서버를 띄운 컴퓨터에서만 접속이 가능 |
공인 IP | 공인 IP의 경우에는 어디에서나 접속이 가능 |
192.168.0.x 사설 IP |
사설 IP의 경우에는 같은 대역의 사설 IP를 할당받은 모든 기기에서 접속이 가능 단, 같은 대역의 사설 IP에 붙어있지 않은 경우 (같은 와이파이가 아닌 경우) 접속이 불가능 |
IPv4
IPv4 전 세계적으로 첫 번째 사용된 첫 번째 프로토콜
32bit로 이루어진 주소이며 합산해보면 약 43억개의 주소를 가지게 된다(0 ~ 2의 32승)
전 세계적으로 인터넷 사용자 수가 급증하면서 주소가 고갈될 위기가 처하여 IPv6 주소가 나오게 되었다.
IPv6
128bit 크기로 확장한 인터넷 프로토콜 (2의 128승)
16bit 씩 8자리로 각 자리는 콜론으로 구분한다.
네트워크 속도, 보안적인 부분 뿐만아니라 여러 면에서 뛰어나지만, 기존의 주소체계를 변경하는데 비용이 많이 들어서 아직 상용화가 되지 않았다.
고정 IP
다른 장비에 부여할 수 없는 고유의 IP로 보안성이 우수, 보안이 필요한 업체나 기관에서 사용
유동 IP
인터넷 사용자 모두 고정 IP를 부여해주기는 힘들기 때문에 일정한 주기 또는 사용자들이 인터넷에 접속하는 매순간마다 사용하고있지 않은 IP주소를 임시로 발급해주는 IP
공인 IP
어디서든지 사용할 수 있는 IP
모든 사람이 접속하기 위해선 해당 공인 IP를 사용해야만 한다.
사설 IP
내부에서만 접근이 가능하다.
공유기를 이용하여 사설 IP를 할당한다.
사설IP를 통해 공인IP 하나를 공유해서 사용하기 때문에 IPv4의 주소 부족 문제를 해결할 수 있다.
192.168은 내부적으로 사용되는 IP주소이다.
IP를 찾는방법
cmd창에 ipconfig를 쳤을 때는 사설 IP가 나오는걸 확인할 수 있으며
구글에서 아이피 주소 찾기를 검색하면 공인IP를 조회할 수 있는데, 예시로 사이트에서 공인 IP주소를 확인할 수 있다.
글을 작성하게되면 해당 공인 IP가 남게 된다.
IP주소는 건물의 주소이며 상세한 주소를 들어가기위해서는 '포트' 정보가 필요하다
포트(Port)
포트는 논리적인 접속 장소
컴퓨터는 동시에 하나 이상의 프로그램을 실행하기 때문에 IP주소만으로는 특정 서비스에 접근 할 수 없다.
(잘 알려진 포트 목록)
동적 포트
포트 범위가 49152 ~ 65535 이며, 매번 접속 할 때마다 포트번호가 동적으로 부여된다.
만약 파일 업로드 시에 한 명이 파일 업로드를 한다고 다른 사람이 이용이 불가능 하지 않다. 이 때 업로드 하는 것을 같은 포트가 아닌 동적 포트로 중계를 하여 통신이 동시에 가능하도록 해준다.
서버 소켓 포트로 사용할 수 없는데, 예시로 서버를 해당 포트로 열려고 하였을 때 다른 사람이 파일 업로드와 같이 포트를 사용하는 작업을 수행하였을 때 포트 번호가 겹칠 수도 있어 문제가 생길 수 있다. 그러므로 서버 소켓은 등록된 포트를 통해 사용해야한다.
naver로 접속 시도하는 방법
- 사설 IP에서 request를 보낸다
- 공인IP로 바뀌어서 naver로 날아간다.(local IP는 사라진다), 이때 공인 IP와 포트번호를 함께 보내게 된다.
- 공인 IP, 포트번호로 naver에서 response를 보낸다
- 포트번호를 통해 판별하여 해당 request를 보낸 컴퓨터에 데이터를 보낸다.
포트포워딩
공유기의 포트를 통해 이 공유기와 연결된 기기들의 특정 포트에 진입할 수 있게 하는 기능.
포트 포워딩은 공유기에 연결된 기기의 포트를 특정 번호를 통해 전달(forwarding)해주는 것이다.
Docker
리눅스 기반
설치했던 서버(Tomcat), java, oracle의 정보 자체를 저장한다 (Docker image) 운영체제와 상관없이 동일하게 동작된다.
Docker Image란 컨테이너를 실행할 수 있는 실행파일, 설정 값 들을 가지고 있는 것이라고 생각 하면 됩니다.
가상으로 컴퓨터를 띄움, 새로운 컴퓨터를 하나 생성하고 ip를 통해 연결한다.
방화벽
인바운드
외부에서 내 컴퓨터를 접속하는 것을 허용하거나 막는다.
아웃바운드
내 컴퓨터에서 외부로 나가는 것을 허용하거나 막는다.
접속하는 것을 막는 것(특정 서버를 막아서 접근을 못하게 함)
서버에 접속할 때 Web서버를 통해 정적인 페이지(HTML, JS, CSS 등)에 접근을 하게됨
Apache Tomcat = Web서버 + WAR 서버
compile하여 build하는 것을 war파일을 만드는 과정이다.
'CS' 카테고리의 다른 글
정리 - 데이터 베이스 (1) | 2024.10.30 |
---|---|
정리 - 네트워크 (0) | 2024.10.30 |
정리 - 자료 구조 (0) | 2024.10.30 |
정리 - 운영체제 (0) | 2024.10.30 |
정리 - 컴퓨터 구조 (0) | 2024.10.30 |