cs
network - 주소 지정
joepasss
2022. 7. 2. 04:58
주소 지정
주소 관련 필드
송신자 주소 (source address)와 목적지 주소 (destination address) 필드는 송수신 호스트의 IP 주소이다
IP 주소 체계는 다음과 같이 크게 네 종류로 나뉜다
클래스 A, B, C는 유니캐스트에서 이용하고 클래스 D는 멀티캐스트에서 이용한다
클래스 A, B, C는 주소를 network와 host 필드로 구분해 관리함으로써 클래스별로 네트워크 크기에 따라 주소 관리를 다르게 한다
% 유니캐스트 %
데이터를 보내는 송신자 측에서 지정된 수신 측의 IP 주소로만 데이터가 전송된다. 여러 수신자가 같은 데이터를 원할 때 송신자는 데이터를 여러 번 복사하여 각각의 수신자의 IP주소로 전송해 주어야 한다. 따라서 제한된 회선 용량을 접속자들 이 서로 나누어 가져야 한다는 문제점이 발생한다
% 멀티캐스트 %
수신자에게 일일히 정보를 보내지 않고 다수에게 한꺼번에 데이터를 보내는 기술
네트워크 필드
- 전 세계적으로 유일한 번호가 네트워크 주소로 모든 컴퓨터 네트워크에 할당된다
- 이 주소의 할당은 NIC (Network Information Center)에서 담당
호스트 필드
- 네트워크 주소가 결정되면 하위의 호스트 주소를 의미하는 Host 비트 값을 개별 네트워크의 관리자가 할당한다
- 클래스 A는 Host 비트의 크기가 크기 때문에 규모가 큰 네트워크에서 사용하고 클래스 C는 규모가 작은 네트워크에서 사용
클래스별 IP값 | |
클래스 A | 0.0.0.0 ~ 127.255.255.255 |
클래스 B | 128.0.0.0 ~ 191.255.255.255 |
클래스 C | 192.0.0.0 ~ 223.255.255.255 |
클래스 D | 224.0.0.0 ~ 239.255.255.255 |
클래스 E | 240.0.0.0 ~ 255.255.255.255 |
기타 필드
- 버전 번호
- IP 프로토콜의 버전 번호
- IPv4, IPv6 으로 구분됨
- 헤더 길이
- 32비트 워드 단위로 표시한다
- 일반 패킷을 전송하는 경우 헤더의 옵션부분 이하가 빠지므로 IP 헤더의 최소 크기는 5가 된다
- 패킷 길이
- IP헤더를 포함한 패킷의 전체 길이
- 필드의 크기가 16비트이므로, IP 프로토콜에서 지원하는 패킷의 최대 크기는 65,536 바이트이다
- IP 프로토콜에서 최댓값인 65,536 바이트로 패킷을 전송해도 데이터링크 계층에서 분할후 전송한다 따라서 실제 환경에서 IP 프로토콜로 IP 패킷을 모두 작은 단위로 만든다. 일반적으로 IP 패킷의 크기는 8,192 바이트를 넘지 않는다
- 생존 시간
- 네트워크에서 생존할 수 있는 시간을 지정해 준다
- 각 라우터에서 패킷이 지나갈 때 마다 필드 값을 감소시키면서 패킷을 중개한다
- 임의의 라우터에서 time to live 값이 0으로 감소하면 패킷은 자동으로 버려지고 패킷 송신 호스트로 ICMP 오류 메시지가 전달된다
- 전송 프로토콜
- IP 패킷을 생성하도록 IP 프로토콜에게 데이터 전송을 요구한 전송계층의 프로토콜
- TCP는 6, UDP는 17, ICMP는 1을 지정한다
- 헤더 체크섬
- 전송과정에서 발생할 수 있는 헤더부의 오류는 검출하지만 데이터의 오류는 검출하지 못 하는데 TCP, UDP 헤더는 데이터와 오류 모두를 검출할 수 있게 해 준다
주소 분류
- 물리 주소
- 컴퓨터의 메인 메모리에 접근시 사용되는 주소
- 이 주소는 기억장치의 주소 레지스터에 저장된다
- 논리주소
- 기억장치의 사용자가 프로그램을 작성할 경우 실제 주소와 구분하여 사용자 관점에서 본 논리적인 프로그램의 주소
- 사상(mapping) 하드웨어에 의해 실제 주소(물리주소)로 변경된다
- 포트 주소
- 전송계층에서 목적지 호스트에서 작동 중인 여러 프로세스들 중 하나를 선택하기 위해 포트 번호를 사용한다
- 포트는 프로세스 대 프로세스를 연결해 준다
- 0번 포트는 사용되지 않으며 1023 포트까지를 잘 알려진 포트 (고유의 용도로 사용됨) 1024 ~ 49151 포트를 등록 포트 (중복 방지를 위해 등록만 되어 있고 별도로 통제받지 않는다) 49152 ~ 65535 포트를 동적 포트로 구분한다
- 기호 주소
- 루틴 안에서 정보의 위치와 무관하게 특정한 언어, 함수 또는 다른 정보를 지정하는데 쓰이는 레이블
- 프로그램에서 기억 장소를 지정하는 데 사용하는 영숫자 레이블
- 이후 어셈블리에 의해 절대주소로 변환된다