1계층은 전기적인 '케이블이 연결되어 있는 상대에 대한 신호전달'. 신호를 운반 하는 것.
2계층은 '신호 송수신 가능한 상태'에서 세그먼트 내에서 어떻게 데이터를 주고 받는지'에 대한 것. 신호가 운반된다는 전제하에서 컴퓨터나 기기 간에서 데이터를 송수신하는 역할을 하는 것임. 신호를 제대로 송수신하기 위한 순서를 생각. 신호를 데이터로서 수신하거나 충돌방지.
> 상위계층은 하위계층을 생각하지 않는다. 하위인 1계층은 상위 계층인 2계층을 위해 일하는 것!
3계층은 세그먼트 간에서의 데이터 송수신을 하는 것. 이것의 범위를 '네트워크'라고 한다.
> 네트워크 - 라우터와 라우터로 분배된 컴퓨터 그룹. 네트워크 내의 컴퓨터 끼리는 2계층에 의해 연결되어 있다. (멀티액세스 네트워크 또는 포인트 투 포인트 네트워크)
> 라우터를 넘어서는 브로드캐스트는 송신되지 않는다. '네트워크 간에서의 데이터 송수신'을 인터넷작업 이라고 한다. 또는 간단히 인터넷.(고유명사 인터넷과는 다름)
> 인터넷 작업 - 네트워크와 네트워크를 연결해서 다른 네트워크에 있는 컴퓨터끼리 데이터 통신이 가능하도록 함. 떨어진 위치에 있는 컴퓨터끼리 데이터 통신이 가능. 3계층에서 인터넷 작업을 수행한다.
인터넷 작업을 실행하기 위해 필요한 것 1. 어드레싱 2. 라우팅 이다.
1. 어드레싱 - 어드레스를 어떻게 써서 어떻게 배당할지 같은 얘기.
> 2계층 이더넷의 MAC 주소는 '장소를 특정할 수 없는' 주소이기 때문에 사용하지 않는다.
> 3계층을 위한 주소는 어디에 있는지와 같은 위치 정보가 있다.(논리주소-어디의 네트워크에 있는 어느 컴퓨터라는 정보의 조합)
(<->물리주소-MAC주소. 주소에 위치 정보가 포함되지 않음)
2. 라우팅 - '경로선택' 수신처까지 어떤 경로로 갈지를 결정. 경유하는 네트워크를 결정하는 것. 그것을 행하는 기기가 '라우터', 패킷교환기에서 '수신처에 연결되어 있는 회선(네트워크)을 선택해서 거기로 패킷을 송신한다'는 작업이 라우팅.
> '어드레싱' & '라우팅'에 의해 인터넷 작업을 수행하기 위한 프로토콜로서 TCP/IP 프로토콜 군에서 사용되는것이 IP
> IP버전은 IPv4, IPv6 으로 2가지임. 두 버전은 호환성이 없다. 최신 OS는 둘다 사용가능.
TCP/IP 에서 인터넷 작업을 수행하는 것이 IP다. 데이터에 IP헤더가 붙은 상태의 PDU는 'IP데이터그램'.
IP헤더에서 특히 중요한 것은 송신처와 수신처의 IP주소이다.(논리주소)
> 논리주소의 특징 - 계층형(<->MAC 평면형 주소) 서울시 관악구 같은구조
> IP주소는 네트워크 관리자가 컴퓨터에 할당한다. (MAC 주소는 인터페이스에 고정)
> 네트워크에 접속할 때마다 붙인다. 소속된 네트워크가 바뀐경우 논리주소도 바뀜. 네트워크를 표시하는 번호는 접속되어 있는 모든 네트워크에서 유일할 필요가 있다.
IP주소 - IPv4(32비트), IPv6(128비트). 8비트마다 10진수로 표기하고 8비트 사이에 점을 찍는다. 이 8비트의 단락을 '옥텟'이라고 한다.
> 일반적으로 8비트는 바이트라고 하지만 네트워크에서는 옥텟 사용. 네트워크 번호의 컴퓨터 번호를 나타냄.
ICANN - 아이칸. 인터넷에서 IP주소나 도메인명을 관리하는 비영리 단체. IP 주소를 실제로 사용하는 인터넷 사업자나 기업등에 할당(대출).
ICANN은 조직의 규모에 따라 대출 IP 주소의 범위를 변경하는데 그게 바로 '클래스'라는 것이다.
클래스 - IP 주소를 조직의 규모에 따라 A~E로 나누고 그 범위의 주소를 할당한다. 클래스에 의해 컴퓨터 번호의 비트수가 정해지고, 이것으로 조직이 가질 수 있는 IP 주소의 수량이 결정된다.
최초 옥텟의 비트로 클래스 판별 - 0(A), 10(B), 110(C), 1110(D), 1111(E)
A - 정부/연구기관/대기업(네트워크 수 128개/IP주소 수 16,777,216개)
B - 대-중규모 기업(네트워크 수 16,384개/IP주소 수 65,536개)
C - 중-소규모 기업 프로바이더(네트워크 수 2,097,152개/IP주소 수 256개)
D - 멀티캐스트용
E - 연구용
> 클래스로 나누어 IP주소를 할당하는 방식을 '클래스풀 어드레싱' 이라고 한다.
> ICANN은 네트워크 번호까지 할당. 컴퓨터 번호를 호스트 번호라고 하는데 네트워크 관리자가 정하는 것임!
네트워크 주소와 브로드캐스트 주소
호스트 번호의 비트가 모두 0 또는 1인 주소는 특별한 의미를 갖는다.
> 호스트 번호가 모두 0인 주소는 네트워크 자체를 표시하는 네트워크 주소.
> 호스트 번호가 모두 1인 주소는 소속된 네트워크 모두를 표시하는 브로드캐스트 주소.
특별한 의미를 가지므로 실제 컴퓨터에 할당해서는 안된다.
서브네트워크 - 큰 네트워크를 여러개의 작은 서브네트워크로 분할. 서브넷은 그 네트워크 내부에서만 유효함. 서브넷화 하는 것을 '서브네팅'이라고 한다. 호스트 번호 중 서브넷번호로 지정하는 것. 서브넷의 숫자를 크게하면 각 서브넷의 호스트 수는 감소한다.
> 서브넷번호를 구분짓기 위해 '서브넷 마스크'를 세트로 기술해야됨. - 네트워크 번호, 서브넷 번호의 비트를 모두 1, 호스트 번호 0 으로 표시)
클래스리스 어드레싱 - 클래스라는 구분을 없앤 어드레싱. 클래스에 따른 고정된 할당을 하지 않고 자유롭게 할당하여 낭비를 줄인다.
> 클래스가 없기 때문에 네트워크 번호를 구분할 수 없어 '프리픽스 길이'를 사용한다. - 네트워크 번호의 길이를 나타내는 값
> 프리픽스 길이 - '서브넷 마스크'와 마찬가지로 '네트워크 번호'의 비트 수를 나타낸 값. (예, 192.168.32.0/21)
이더넷을 사용해서 IP 데이터그램을 송수신 하기 위해서는 4개의 주소가 필요하다.
'수신처 MAC주소', '송신처 MAC주소', '수신처 IP주소', '송신처 IP주소'
송신처 IP주소는 송신할 인터페이스에 설정되어 있는 IP주소 사용 - 정적인 것과 동적인것 2종류 있음.
> 정적인 것은 수동으로 IP주소를 설정 - 네트워크 관리자가 정한 IP 주소를 자신의 컴퓨터에 입력하는 것.
> 동적인 것은 IP주소가 자동으로 설정되는 방법. 'DHCP'라는 프로토콜 사용
DHCP - 클라이언트가 서버에게 IP주소 할당을 요청하고 서버가 IP주소풀에서 사용되고 있지 않은 주소를 선택하여 할당한다.
ARP - Address Resolution Protocol. 주소 해결 프로토콜. IP주소가 정해지고 MAC주소를 찾는 것.
ARP 동작 - 브로드캐스트로 ARP 요청을 보내고 대응하는 컴퓨터만 응답한다.
1. 송신을 원하는 컴퓨터는 먼저 자신의 ARP 테이블을 참조한다.
2. ARP 테이블에 수신처 IP 주소가 없을 경우 ARP 요청을 브로드캐스트 한다.
3. ARP 요청의 수신처를 확인하고 자신의 경우에는 응답한다. 그렇지 않은 경우는 파기한다.
4. ARP 응답을 받으면 ARP 테이블에 응답결과를 추가로 기술한다.
(수동으로 IP주소와 MAC 주소의 대응을 ARP테이블에 설정하면 사라질 일은 없지만 일반적으로 그렇게 하지 않는다.)
> ARP를 파기하는 경우 - 인터페이스 고장 등으로 MAC 주소가 변경되어도 대응할 수 있도록 하기 위해
DNS - Domain Name System. 수신처 IP주소를 알아내는 방법. IP대신 도메인명을 사용(예, naver.com) 유일한 이름이여야 하고 도메인명도 IP주소와 마찬가지로 ICANN이 관리.
이름과 IP주소를 대응시킨 시스템이다. 이름과 IP 주소의 대응 데이터베이스를 갖고 있는 DNS 서버에 문의해서 수신처의 IP주소를 입수한다.
> DNS는 현재의 인터넷을 지탱하는 기간기술이므로 DNS가 없으면 인터넷은 성립되지 않는다.
<데이터 전송을 하기까지의 흐름>
DHCP, ARP, DNS를 사용하여 4개의 주소를 결정한다.
1. 자신의 IP주소는 수동 또는 DHCP에서 할당 받고, MAC 주소는 자동적으로 안다(NIC를 장치하면 자동적으로 알 수 있다).
2. 사용자 애플리케이션이 수신처의 도메인명을 결정하면 DNS로 IP주소를 취득한다.
3. IP주소가 결정된 후 ARP에 의해 MAC 주소를 취득한다.
4. 이것으로 송신처, 수신처의 MAC주소, IP 주소를 알았기 때문에 데이터 전송이 가능해진다.