[Network] 2. 프로토콜과 IP주소
ㅇ 프로토콜
- 컴퓨터 간의 정보 통신을 하는 경우, 필요한 수단이나 약속
- 필요한 기능에 맞춰 여러 가지 프로토콜 존재
ex) IP, HTTP 등..
- 통신 프로토콜은 ISO라는 단체가 만든 OSI 방침이 정해짐
> OSI에서는 네트워크의 기본적인 모델을 만들고 있으며 이를 OSI 기본 참조 모델이라고 함
> OSI 모델은 제조사 구분 없이 네트워크 기기 간 통신이 문제없이 이뤄지기 위해 따라야만 하는 국제 표준
ㅇ OSI 7계층
- L1 ~ L4는 통신 기능을 수행하며 하위 계층으로 부르고,
L5 ~ L7은 애플리케이션 기능을 수행하며 상위 계층으로 부름
- 네트워크 기능의 계층화를 통해 독립성과 전문성을 높여 새로운 기술에 유연하게 대응 가능
- 트러블 슈팅 시 OSI 개념이 필요
ex) 어느 계층에서 장애가 발생했을까? 라는 시점에서 장애 분석이 가능해지기 때문
- OSI 계층마다 PDU가 달라짐
* PDU: OSI 계층별 제어 정보와 데이터에 따라 구성되는 단위(데이터를 부르는 단위)
ex) L2 데이터 링크 계층: 프레임 / L3 네트워크 계층: 패킷 / L4 트랜스포트 계층: 세그먼트
"패킷이 전송되지 않는다."는 L3 계층의 통신을, "프레임 전송이 안된다."는 L2 계층의 통신을 의미
ㅇ LAN의 위치
- 다음 그림에서 라우터를 기점으로 좌측(인터넷)은 WAN을, 우측(L2 스위치 ~ PC)는 LAN상에 위치
- PC와 L2 스위치는 UTP 케이블로 연결(IP 전화는 생략 가능)
- PC마다 LAN카드를 가지고 있고, 각각의 고유 주소를 가지는데 이를 MAC 주소라고 함
- MAC 주소는 이더넷 통신에 사용됨
- L2통신: 사용자 PC ~ 이더넷을 통해 라우터까지의 통신
브로도캐스트 도메인: L2 통신의 해당 범위
- 라우터를 지난 L3 통신부터는 L2에서 사용하던 MAC 주소가 아닌, IP 주소를 사용하여 통신
- 라우터 통과할 경우 또 L2 통신이, 다음 라우터를 통과하면 또 L3 통신이 됨
ㅇ IP주소
- 네트워크에서 데이터를 네트워크 기기나 단말에 보내기 위해 사용하는 식별정보
- TCP/IP의 IP 프로토콜로 사용
- 주소의 길이는 32bit(4옥텟)
ex) 11000000.10101000.00000000.00000001 (192.168.0.1)
ㅇ IP 주소 클래스
- IP 주소는 네트워크 주소 부분과 호스트 주소 부분으로 나뉘어지며, 그 경계가 고정된 것은 아님
- IP 주소는 클래스 A부터 E까지 5개로 구분되어 있으며, 일반 사용자에게는 A ~ C 사이로 주소가 할당됨
- A 클래스 (주소 시작: 1~126)
> 맨 앞의 1bit가 0으로 시작
> 상위8bit가 네트워크 주소 부분, 하위 24bit가 호스트 주소 부분
- B 클래스 (주소 시작:128~191 )
> 맨 앞의 2bit가 0으로 시작
> 상위16bit가 네트워크 주소 부분, 하위 16bit가 호스트 주소 부분
- C 클래스 (주소 시작: 192~223)
> 맨 앞의 3bit가 0으로 시작
> 상위24bit가 네트워크 주소 부분, 하위 8bit가 호스트 주소 부분
- D 클래스와 E 클래스는 각각 멀티캐스트용, 실험용 주소이기 때문에 사용자의 주소로 사용 불가능
ㅇ 할당할 수 없는 주소
- 호스트 주소 부분의 bit가 전부 0이거나 전부 1은 할당할 수 없음
- 호스트 주소 부분이 전부 0인 주소는 네트워크 그 자체를 나타내는 '네트워크 주소'
ex) 10.0.0.0 / 172.16.0.0 / 192.168.1.0
- 호스트 주소 부분이 전부 1인 주소는 브로드캐스트 주소로 사용
ex) 10.255.255.255 / 172.16.255.255 / 192.168.1.255
* 브로드캐스트: 네트워크 내의 불특정 다수에게 패킷을 동시에 전달하는 것
- TV나 라디오와 같이 모든 곳에 전송
- 브로드캐스트의 범위는 소규모 거점 네트워크 구성도에서 사용자 단말에서 라우터까지 해당
* 루프백 주소: 네트워크 상에서 자기 자신을 나타내는 주소(일반적으로 127.0.0.1)
- cmd창에서 'ping 127.0.0.1'을 수행할 경우 자신의 PC에 TC/IP가 활성화 된 것 확인 가능
ㅇ 서브넷 마스크
- 클래스를 통해 구분할 경우 네트워크 수와 호스트 수의 차이 발생
ex) A클래스는 126개의 네트워크 수, 16,777,214개의 호스트 수
C클래스는 2,097,152개의 네트워크 수, 254개의 호스트 수
- 여러개의 호스트 수를 하나의 네트워크로 관리하는 것은 현실적으로 불가능해 "서브넷 마스크" 개념 도입
> 수많은 IP를 관리하는 것도 어렵고, 브로드캐스팅 했을 경우 트래픽량을 감당하기도 어려움
ex) 211.100.10.0/24 네트워크를 각 네트워크 당 60개의 Host가 사용할 수 있도록 Subnetting했을 때,
(1) Subnet mask는?
> 64bit가 필요하므로 211.100.10.0/26
(2) Subnet의 개수는?
> 4개
(3) 가용 IP의 개수는?
> 첫 번째 Subnet의 경우 211.100.10.0 ~ 211.100.10.63을 사용 가능하므로 64개.
하지만 대표주소와 브로드캐스트 주소를 빼야하므로 62개
(4) 마지막 Subnet의 대표주소는?
> 첫 번째 Subnet: 211.100.10.0 ~ 211.100.10.63
두 번째 Subnet: 211.100.10.64 ~ 211.100.10.127
세 번째 Subnet: 211.100.10.128 ~ 211.100.10.191
네 번째 Subnet: 211.100.10.192 ~ 211.100.10.255 이므로, 211.100.10.192
ㅇ 공인 주소와 사설 주소
- 공인 주소는 어디서도 중복되지 않도록 NIC라는 단체가 관리
- 인터넷에 접속할 때 일반적으로 공인 주소 사용
- 조직 내의 폐쇄 네트워크(외부와 접속하지 않는 네트워크)는 임의 주소를 사용해도 무관한 사설 주소
- 방화벽이 없는 소규모 거점의 경우 라우터를 통해, 방화벽이 있는 중규모, 대규모 거점의 경우 방화벽을 통해 주소 변환을 시행
ㅇ IPv6
- 앞서 설명한 IPv4 주소는 약 43억개의 IP주소가 존재
- 네트워크 사용자가 증가하면서 IP가 부족해지기 시작했고, 이를 대체하기 위해 128bit로 구성된 IP 주소를 사용한 IPv6 방식이 대두됨
- 하지만 지금까지 대부분 IPv4가 대부분이며, IPv6를 사용하는 사람은 매우 드묾
ㅇ IPv6 주소 표기
- 128bit로 구성된 긴 주소는 다음 방식으로 표기 가능
1) 16bit별로 16진수로 작성
2) 구분 문자는 콜론(:)
3) 주소 앞 부분을 프리픽스라 부르고 그 길이를 '/' 뒤에 기입
* /128(주소 전체)는 명시적으로 지정할 필요 없어 자주 생략됨