IP 주소는 인터넷에서 장치를 식별하는 고유한 주소이다.
크게 Private와 Public으로 나뉘는데 Public은 인터넷에 직접 접근할 수 있고 중복이 될 수 없다. Private은 내부 네트워크에서만 사용되는 주소이며, 인터넷에 직접 접근할 수 없고 여러 네트워크에서 하나의 주소를 가질 수도 있다.
IPv4와 IPv6버전으로도 나눌 수 있는데, IPv4는 32비트로 0~255를 .으로 네 부분으로 나누어 표현하고, IPv6은 128비트로 16진수로 표현한다. IPv4는 32비트로 43억개정도를 할당할 수 있어서 매우 한정적이고 IPv6은 64비트로 거의 무제한이라고 볼 수 있다. 그럼에도 IPv4를 쓰는 이유는 NAT를 사용하기 떄문이다. NAT는 공유기와 같은 기기들의 public IP로 변환하여 인터넷에 접근하는 것이다. 예를 들어 회사에서 외부 인터넷에 연결하는 것이 있다.. NAT를 사용하면 외부에서는 public ip만을 보기때문에 private ip에 접근 할 수 없어 해커들의 공격을 방어할 수 있다.
private ip로 검색 - 공유기가 자신의 public ip로 변환해서 요청을 보냄 - 검색 결과를 public ip로 전달. - 공유기가 받은걸 private ip에 전달. 이 과정이 NAT이다.
NAT에는 동적할당과 정적할당 그리고 PAT이 있다 Port Adress Translation의 약자이고 공유기에서 기본적으로 사용되는 방식이다.
하나의 public ip가 있고 여러개의 Private IP가 있을 때 이 Private IP들이 모두 동시에 인터넷을 연결하고자 할 때 하나의 Public IP를 사용하는데, private port와 public port를 가지게 된다
예를 들어, Private IP 192.168.1.10이 8080 포트로 요청을 보내면, 공유기는 203.0.113.5:60001 같은 Public IP+포트로 변환하여 인터넷에 전달한다.
요청과 응답을 포트번호로 구분하여 전송하는 것이다.
부족한 IP주소를 이런식으로 효율적으로 사용할 수 있는 것이 장점이고, 느리다는 것이 단점이다.
서브넷(Subnet)은 하나의 네트워크를 여러 개의 작은 네트워크로 나누는 과정이다.
. 개인적으로 왜 쪼개는지 이해가 잘 안 갔었는데... 이게 좋은 예시는 아닐 것이라고 생각하지만 내가 서브넷을 이해하기위해 최대한 실세계 예시를 생각해봤는데 가위바위보를 10명이서 하면 1등이 나올때까지 정말 오래걸린다..
그만큼 한 네트워크 안에서 많은 트래픽이 있으면 속도 저하문제가 심각해질 것이다. 그래서 5명씩 나누거나 3,3,4 나누거나하면 금방 1등이 나온다. 그래서 네트워크를 쪼갠다.
서브넷 마스크는 IP 주소에서 “네트워크 부분”과 “호스트 부분”을 구분하는 역할을 한다.
255.255.255.0(/24)이면 총 32비트에서 255.255.255 총 24비트를 네트워크 IP로 사용하고 뒤 0인 8비트는 호스트로 사용한다고 알려주는 것이다.
보통 서브넷을 사용하여 네트워크를 나눴을 때에는 다른 서브넷끼리는 연결이 안되는데 이를 가능케해주는 것이 라우팅이다.
라우팅은 말그대로 길을 찾는 것이다. 네트워크 상에서 데이터를 전달하기 위해 최적의 경로를 찾는데 이를 하는 것이 라우터다.
예를 들어서 컴퓨터로 검색을 하면 라우터에서 어떤 경로가 최적의 경로일지 탐색한 후 그 경로로 데이터를 보내준다. 이 과정이 라우팅이고, 라우팅은 크게 두 종류가 있다. 정적 라우팅과 동적 라우팅. 정적 라우팅은 특정 네트워크 경로를 미리 지정해둔다.. 한계가 있다. 동적 라우팅은 순간 순간 최적의 경로를 찾아 자동으로 보내준다. 이 동적 라우팅에는 세 종류의 라우팅 프로토콜이 있다.
거리 벡터, 링크 상태, 경로 백터.
거리백터는 최소 홉 수를 기준으로 길을 찾는다. 단위는 홉이라고 하는데 대표적으로 RIP으로 최대 15홉을 제한한다고 한다. 이러한 제한으로 작은 네트워크에서 사용된다.
링크 상태는 네트워크 전체의 구조를 알고 있어 가장 빠른 경로를 찾는다. 변화가 있을 때 빠른 대처할 수 있다는 장점이 있고 대표적으로 OSPF가 있다. 큰 네트워크에서 사용되기 좋지만 설정이 어렵고 메모리를 많이 차지하는 단점이 있다. -> 네트워크 전체 구조를 알고 있어야 한다는 점이 인터넷에서 사용되기 어려운 이유이다.
경로 백터는 인터넷처럼 큰 네트워크에서 최적의 경로를 찾는다. 홉이 아니라 경로를 기준으로 라우팅한다. 대표적으로 BGP가 있고, 전세계 인터넷 라우팅의 핵심 프로토콜이다.
'JSCODE 컴퓨터 네트워크 스터디' 카테고리의 다른 글
JSCODE 모의면접 스터디 - 컴퓨터 네트워크 회고 (0) | 2025.02.01 |
---|---|
TCP와 UDP (0) | 2025.01.23 |
3주차 Network study (0) | 2025.01.16 |
HTTP HTTPS DNS (0) | 2025.01.09 |
1주차 컴퓨터 네트워크 (0) | 2025.01.02 |