728x90
(수업시간에 배운거 복습하려고 쓰는 글)
IP주소란
- 네트워크 레벨에서의 논리적인(변하는) 주소 -> 위치에 따라서 IP가 바뀔 수 있다(네트워크가 다르면)
- IPv4 주소는 네트워크의 모든 디바이스마다 독특하게 확인할 수 있는 4바이트 주소
- 네트워크 주소와 호스트 주소로 구성된다.
- A,B,C,D,E 클래스로 나누어짐
- 클래스마다 정해진 비트패턴이 있어서 클래스 구분이 가능하다
Subnet mask
- masking은 IP주소에서 네트워크 주소나 서브넷 주소를 발췌하는 과정
- subnet은 네트워크를 더 작은 네트워크로 쪼갬으로써 달성됨 (필요한 네트워크 주소만 호스트 IP로 할당할 수 있게 해서 네트워크 낭비를 방지)
- subnet mask는 특정 네트워크에서 네트워크 분리 선을 정의함
- network prefix : CIDR(Classless Inter-Domain Routing) notation, 192.168.1.0/24 여기서 /24가 CIDR 표기법임, netid/subnetid/hostid로 나누어짐
DHCP(Dynamic Host Configuration Protocol)
- 동적으로 host를 구성하는 규약
- 주소를 할당하는 것을 계속 관리하는게 번거롭기 때문에
- 동적으로 구성정보를 네트워크에서 가져옴
- IP주소, subnet mask 등을 컴퓨터에게 제공함
Port
- 프로세스 식별
- 16비트 길이
- IANA에서 자주 쓰이는 well known port number관리
물리적 주소(<=>논리적 주소)
- LAN이나 WAN에 의해 정의된 로컬 주소에 특화됨
- 하드웨어에서 실행됨
- 로컬에서는 무조건 각자 고유한 물리적 주소를 가져야 하지만, 전세계적으로 봤을 때는 겹치는 물리적 주소가 있을 수도 있다. 하지만 물리적 주소는 각 하드웨어에서 실행되므로 상관없다.
- ARP(Address Resolution Protocol: IP와 MAC주소를 연결하는 프로토콜): IP주소에 맞는 MAC주소를 찾는 과정을 캐싱이라고 하는데 ARP 캐싱 테이블이 캐시메모리에 있는 것은 아니다. 왜냐하면 캐시메모리는 매우 빠르게 필요한 데이터를 가져오는 중요한 메모리인데 캐싱 테이블을 두기에는 적합하지 않다.
NAT(Network Address Translation)
- 시스템의 실제 IP주소를 숨기기 위해서 alternate public IP 주소(gateway의 IP 주소)를 사용
- 한 장소 안에 있는 private address를 밖을 이동하는 패킷 안에 사용되는 global internet address로 변환
- 게이트웨이는 자신의 IP주소를 제공함으로써 한 장소 안의 호스트에게 프록시 역할
- 많은 호스트에게 각각에 독특한 global IP 주소를 할당하지 않고 global internet access를 제공함
- 목적 : IP주소 부족 해결(main) + proxy(중개역할) + 진짜 IP 주소를 숨김으로써 보안(NAT를 쓰는 방화벽 뒤에 네트워크 레이아웃 확인 어렵게 함)
- 내부 모습을 모르게 하니까 보안이 되고 inbound traffic에 따라 받아본 적이 없는 IP주소는 버린다
- NAT 게이트웨이 뒤의 클라이언트가 global internet의 호스트와 통신하기 시작할 때, NAT 게이트웨이는 두 호스트를 연결하는 소켓을 기록함(소켓은 한 호스트와 포트넘버 / 다른 호스트와 포트넘버를 연관지음, 각 소켓은 두 프로세스간의 관계를 나타냄)
- NAT 게이트웨이 뒤에 있는 호스트는 10.x.x.x같은 local IP주소를 할당함
- 호스트의 프로토콜 스택이 소켓 측면에 임의 포트 번호를 할당하여 로컬 IP 주소를 채움
- 패킷은 그 장소의 게이트웨이로 향함
- 게이트웨이는 NAT process를 시작함
- 1. 소켓에 새 포트넘버 할당
- 2. 로컬 호스트의 IP주소와 원래 선택된 포트넘버를 기억
- 3. 게이트웨이의 global IP주소와 게이트웨이의 선택된 포트번호를 언급하기 위해 패킷 헤더를 다시씀
- 4. 다음 라우터로 변경된 패킷이 이동함
- 게이트웨이가 수신자로부터 패킷을 받으면
- 1. NAT data에서 포트번호 탐색해서 올바른 local host 주소와 포트번호 제공
- 2. 패킷헤더 재작성
- 3. 패킷 전달
728x90
'NETWORK' 카테고리의 다른 글
DNS에 대하여: Domain name resolver, DNS 공격 종류, AS (0) | 2022.05.09 |
---|