IP Address(IPv4)
컴퓨터 네트워크에서 장치를 식별하는 고유한 32비트 숫자.
계층적 주소 지정:
10001101 | 11011111 | 01010100 | 0111000 |
이러한 IP주소가 있을 때
예를 들어, 왼쪽에서 24비트는 Network주소, prefix로 사용하여
기관(소속)을 나타내고
25째 비트부터는 Host주소, 해당 소속 안에서의 번호를 나타냄
(prefix가 항상 24비트인것은 아님)
Classful addressing
예전에는 IP주소에서 Network부분을 8비트로 사용하였는데, 2^8으로 기관들을 나타내기에는 너무 적어서
Classful Addressing이라는것을 사용함. (오늘날엔 사용되지 않음)
Classful Addressing은 A,B,C 등의 클래스로 나누어
A클래스는 0으로 시작하는 8비트의 네트워크주소와 24비트의 호스트 주소를 가지고
B클래스는 10으로 시작하는 16비트의 네트워크 주소와 16비트의 호스트 주소를,
C클래스는 110으로 시작하는 24비트의 네트워크 주소와 8비트의 호스트주소를 가짐.
그런데.. 클래스간에 호스트주소 차가 너무 크다보니 주소 낭비가 너무 심했다
예를들어, 호스트 주소로 500개의 컴퓨터를 나타내야 하는 기관은..
C클래스는 부족하고
B클래스는 65000개가 남고..
그래서 다른 방식을 택해야했다...고한다...
CIDR
Classless Inter-Domain Routing
기존의 클래스풀 방식의 단점을 보완하고 IP주소의 부족과 인터넷 발전에 맞추어 개발되었다.
CIDR 주소는 IP주소와 함께 슬래시(/)와 함께 사용되는 숫자로 표기된다.
에를들어, 192.168.0.0/24는 24비트를 네트워크 주소로 사용하고 나머지 8비트를 호스트 주소로 사용한다는 것을 나타낸다. 여기서 24를 나타낸 것은 서브넷 마스크라고 한다.
CIDR방식은 기존 클래스풀 방식보다 주소 공간을 더욱 효율적으로 사용할 수 있다.
Subnets
서브넷은 동일한 prefix를 갖는 IP의 집합이다.
router를 거치지 않고 서로 통신할 수 있다.(스위치를 통해)
IP Fragmentation & Reassembly
네트워크 링크는 MTU(Max Transfer Size)가 있어서 큰 데이터그램을 그냥 보낼 수 없다.(MTU는 약 1500바이트)
이러한 경우, 패킷을 작은 조각으로 나누어 전송해야 한다.
IP Fragmentation은 보내는 측에서 패킷을 작은 조각으로 분할하고,
받는 측에서 다시 이를 병합하여 전체 패킷을 복원한다.
이를 수행하기 위해 IP패킷에는 Fragmentation Offset등의 필드가 사용된다.
MTU가 1500바이트일 때,
1500바이트가 넘는 패킷은 MTU만큼의 작은 패킷들로 분할한다.
분할한 각각의 패킷에는 각각 헤더가 붙는다.
length는 헤더포함 패킷의길이이다.
ID는 식별번호인데, 분할된 패킷들은 원본 패킷과 ID가 동일하다.
fragflag는 분할된 패킷이라면 1을, 자신이 마지막 조각이라면 0으로 하여 마지막 조각임을 표시한다.
offset은 원본데이터 원점으로부터 떨어진 위치 나누기 8 한 값이다.(헤더 빼고 데이터만 센다)
IPv6
NAT (Network Address Translation)은 여러 컴퓨터가 하나의 공용 IP 주소를 공유할 수 있게 하는 기술입니다. NAT는 사설 네트워크의 IP 주소를 공용 IP 주소로 변환하거나 반대로 공용 IP 주소를 사설 IP 주소로 변환하여 네트워크 환경을 구성하는 기술입니다.
NAT를 사용하면 여러 컴퓨터가 하나의 공용 IP 주소를 공유할 수 있으므로, IP 주소 부족 문제를 해결할 수 있습니다. 또한, NAT를 사용하면 인터넷으로부터 직접적으로 접근되지 않는 사설 네트워크를 구성할 수 있어 보안성을 높일 수 있습니다.
NAT는 주로 라우터나 방화벽에서 구현됩니다. 라우터나 방화벽이 수신한 패킷의 IP 주소를 변환하여 수신하는 컴퓨터로 전달하거나, 발신하는 컴퓨터의 IP 주소를 변환하여 외부 네트워크로 전송합니다.
'2023-1 > 컴퓨터네트워크및실습' 카테고리의 다른 글
DHCP (0) | 2023.03.23 |
---|---|
Socket Basic (실습) (0) | 2023.03.17 |
Network Layer Basic (0) | 2023.03.10 |
Network Layer (1) | 2023.03.09 |
Network Core: Circuit switching, Packet switching (0) | 2023.03.09 |
댓글