인터넷 계층 프로토콜
IP(Internet Protocol)
- IP는 데이터 단위를 송신 호스트에서 목적지 호스트로 전달
- 각 호스트와 라우터에서 동작
- 데이터 단위 : IP 데이타 그램 또는 패킷
- 비연결 데이터 전달 서비스(Connectionless, 데이터 전달하기 전에 연결 설정 기능 없음) 제공
- 흐름제어나 오류회복을 하지 않음
- 발생가능한 오류
- 손실된 IP데이타그램
- 순서화 되지 않은 (out-of-sequence) IP데이타그램
- 중복 IP데이타그램
- IP : 신뢰성 있는 서비스 제공 불가
- TCP : 오류들을 탐지해서 회복할 수 있는 기능을 책임 (신뢰성있는 서비스 제공)
IP 데이터그램 형식
- 버전(Version)
- IP의 현재 버전을 표시, 4비트(IPv4 = 0100, IPv6 = 0110) 크기
- 헤더길이 (Header Length)
- 헤더의 길이를 나타내는 4비트 필드, 4바이트 단위로 표현
- 헤더 필드의 값이 5(0101)라고 한다면 헤더의 길이는 5x4바이트 = 20바이트
- 헤더의 길이를 나타내는 4비트 필드, 4바이트 단위로 표현
- 서비스 타입 (Service Type)
- 특정 서비스 품질(Quality of Servie) 기능을 제공하려고 고안된 8비트 필드
- 각 비트는 0과 1의 값을 가질 수 있음 , 8비트 중 오직 한 비트만 1의 값을 가짐
- 서비스 유형 : 지연, 처리량, 신뢰성, 비용 등
- 데이터그램 길이 (Datagram Length)
- 헤더와 데이터 길이를 합한 전체 길이 표시
- ID(Identification), 플래그(Flag), 단편화 옵셋(Fragment Offset)
- ID : 호스트가 송신한 각 IP 데이터그램을 식별
- 플래그 : IP데이터그램이 단편화 되었고 마지막 단편화 패킷이 아니면 1, IP데이터그램이 단편화 되지 않았거나 마지막 단편화된 패킷이면 0
- 단편화 옵셋 : IP payload의 옵셋 위치
- TTL(Time to live)
- IP데이터그램이 인터넷에서 존재할 수 있는 최대의 시간 (홉 수)
- 프로토콜 (Protocol)
- IP의 상위 계층 프로토콜(TCP,UDP)을 표시
- 헤더 첵섬 (Header Checksum)
- IP데이터그램 헤더의 오류 검출을 위해 사용
- 송신 IP주소, 수신 IP주소 : 송신과 수신 호스트의 IP주소
- 옵션 (Option) : 선택사항
- PAD(Padding)
- 헤더 길이 필드가 4바이트 단위의 크기를 가지므로 PAD를 붙여 4바이트의 배수가 되게 함
- 데이터
- TCP 또는 UDP와 같이 상위 계층에서 제공된 데이터
IP패킷 분석
-> IP데이터그램의 헤더정보를 와이어샤크 프로토콜 분석기로 분석
IP 라우팅
라우팅은 IP의 가장 대표적인 기능으로 임의의 IP데이터그램이 송신 호스트에서 수신 호스트의 네트워크로 전달되는 경로를 결정
각 호스트는 같은 네트워크에 존재하는 호스트의 목록(IP주소, MAC주소)을 포함하는 ARP 캐시(Cache)를 관리하기 위해 ARP사용
- ARP의 역할 : 목적지 호스트의 IP주소로 대응하는 MAC주소를 알기 위해 사용
IP 라우팅 동작절차
- 두 개의 LAN이 라우터를 이용하여 연결된 네트워크 예시
- 네트워크 관리자는 각각의 호스트에 IP주소(IP), 서브넷 마스크(SM), 게이트웨이 주소(DG) 값을 설정(MAC 주소는 LAN카드에 이미 내장)
- 각 호스트는 하나의 NIC, 라우터는 두 개의 NIC
- 호스트에서 IP라우팅 할 때 두 가지 경우
1. 목적지가 같은 네트워크 내에 있는 경우 -> 바로 목적지 호스트에게 IP데이터그램 전달
2. 목적지가 다른 네트워크에 있는 경우 -> IP라우팅 기능을 사용하여 라우터에게 전달
- 각 호스트는 각각의 라우팅 테이블을 유지
- 라우팅 테이블은 적어도 하나의 default router(기본적인 라우터)의 주소를 포함
ARP(Address Resolution Protocol)
- 계층 간의 주소 구조
- IP계층 : IP주소
- IP하위 계층 : MAC주소 (물리적 하드웨어 주소)
- 임의의 호스트가 다른 호스트에 데이터를 전송하려면 수신 호스트의 IP주소 뿐만 아니라 MAC주소도 알아야 함
- 응용 프로그램 사용자가 프로그램을 실행하는 과정에서 수신 호스트의 IP주소를 입력
- IP주소로부터 수신 호스트의 MAC주소를 얻는 작업이 추가로 필요
- ARP는 IP주소를 받아서 IP주소에 대응하는 MAC주소를 얻는 프로토콜
- IP가 ARP사용
IP와 ARP 관계
- IP는 IP 데이터그램을 전달할 필요가 있을 때 ARP 캐시 내에 목적지 IP주소를 검색
- 만일 캐시가 그 IP주소에 대한 정보를 가지고 있다면
- 목적지 MAC주소를 조회하고 데이터그램을 목적지 호스트로 전달
- 만일 캐시가 그 IP주소에 대한 정보를 가지고 있지 않으면
- IP는 ARP를 실행
- 만일 캐시가 그 IP주소에 대한 정보를 가지고 있다면
ARP 패킷 형식
'CS > Network' 카테고리의 다른 글
5-5. 네트워크 계층과 라우팅 : 인터네트워킹 (0) | 2022.12.28 |
---|---|
IPv4 주소 체계 (0) | 2022.12.28 |
5-3. 네트워크 계층과 라우팅 : 비클래스 주소방식 (0) | 2022.12.27 |
5-2. 네트워크 계층과 라우팅 : 인터넷 주소 기법 (0) | 2022.12.23 |
5-1. 네트워크 계층과 라우팅 (0) | 2022.12.23 |