Internet Protocol (인터넷 통신규약)
네트워크 상에서 서로를 구별하는 식별 번호의 일종이다.
이러한 IP는 OSI 7계층 모델의 관점에서 보면 IP 계층은 네트워크계층에 해당된다.
- 네트워크 계층의 전송수단인 "패킷" 을 목적지 까지 전달한다.
웹상에서 www.naver.com 을 검색하게 된다면
DNS(Domain Name Service)를 통해 IP 주소를 획득하여 네트워크는 통신을 하게된다.
IPv4 vs IPv6
IPv4
32bit 으로 구성된 IPv4 최대 약 40억개의 서로 다른 주소를 부여할 수 있다.
5개의 클래스를 가지며 주로 상위 3개의 클래스를 사용한다.
32bit를 8bit씩 10진수로 표현하여 4자리로 나타낸다.
A Class : 1 ~ 126 ( 0 ~ 127 예약됨)
ex) 61.211.123.22
B Class : 128 ~ 191
ex) 181.123.211.33
C Class : 192 ~ 223 (일반적인 가정집 클래스)
ex) 221.23.222.222
아래 두클래스는 잘 사용하지 않는다.
D Class : 224 ~ 239
ex) 229.6.12.89
E Class : 250.123.54.90
다시한번 정리하자면
A 클래스
0sss ssss. hhhh hhhh. hhhh hhhh. hhhh hhhh : 2^7 - 1 네트워크/ 2^24 -2 호스트 수
B 클래스
10ss ssss. ssss ssss. hhhh hhhh. hhhh hhhh : 2^14 네트워크 / 2^16 -2 호스트 수
C 클래스
110s ssss. ssss ssss. ssss ssss. hhhh hhhh : 2^22 네트워크 / 2^8 -2 호스트 수
IPv6
인터넷 프로토콜의 6번째이며 IPv4의 주소가 한계점에 다다르면서 인터넷발전의 문제가 예상되어 IPv6가 제정되었다.
IPv6는 IPv4와 달리 128비트를 16비트씩 16진수로 표현하여 8자리로 나타낸다.
ex) 2001:0000:0000:0000:05de:0000:0000:cade
IPv6는 현재 IPv4보다 사용자가 상당히. 낮아, IPv4를 IPv6로 IPv6를 IPv4로 전환 하는 기술이 있다.
유동IP vs 고정IP
유동 IP
고정(공인) IP는 사용자 계정(아이디)에 IP 주소를 지정하며, 할당된 IP 는 그 사용자만이 독점으로 사용는데 비해, 유동 IP 는 서버에 여러 개의 IP 주소가 있으며, 사용자가 그 서버를 접속하는 순간에 그 사용자에게 임의의 IP 주소를 할당합니다. 즉 서버의 IP 주소 들을 공유합니다
사용자 개인별로는 IP 할당이 불가능하므로 특정 사이트나 게임이 안되도 사용자의 IP 변경이 불가능합니다. IP 를 바꾸고 싶으면 서버를 변경하거나 재접속하면 됩니다.
고정 IP
고정 IP는 할당 받은 IP 주소를 그 사람이 독점으로 사용하며, 할당 받은 IP 주소는 특별한 경우가 아니면 변동되지 않습니다. 모든 사이트 접속에 그 IP 주소가 사용됩니다.(예외 있슴)
접속자의 PC에는 사설 IP(172.32~47) 가 부여되지만 이 주소를 서버의 공인 IP(Real IP) 와 1:1 NAT 로 연결해 주므로 항상 동일 IP 가 사용됩니다. 즉 VPN 서버와 VPN client(윈도우 PC) 구간(VPN IP라고 부릅니다.)에는 172.(32~47).y.z 를 사용하지만 인터넷에 연결시는 VPN 서버의 공인 IP 가 사용 됩니다
출처 : linuxlab.kr/diff.htm.
IP를 통해 인터넷 페이지가 보이는 과정
1. 브라우저에 www.naver.com을 입력한다.
2. DNS(Domain Name Service) 를 통해 IP(Internet Protocol)주소를 획득한다.
3. 획득한 IP 주소에 있는 서버와 TCP 3 Way Handshake를 진행한다.
4. 통신을 맺은 서버에 HTTP Request를 한다.
5. 서버에서 보낸 HTTP Response를 통해 html 파일을 가져온다.
6. 크롬,웨일등 브라우저가 html을 해석해서 출력한다.
'개인공부' 카테고리의 다른 글
CSRF , CORS (0) | 2020.09.02 |
---|---|
REST API란? (0) | 2020.09.02 |
Path with "WEB-INF" or "META-INF" 오류 (0) | 2020.08.15 |
spring boot mybatis (0) | 2020.08.14 |
Spring Webflux 이란? (0) | 2020.08.12 |