주 프로토콜과 보조 프로토콜
네트워크층의 4가지 프로토콜
IPv4 프로토콜: 주 프로토콜
1) 패킷화(Packetizing)
2) 포워딩(Forwarding)
3) 패킷 전달(Delivery of a packet)
보조 프로토콜
1) ICMPv4 (Internet Control Message Protocol Version 4)
: IPv4를 도와 네트워크층의 전송 중 발생할 수 있는 오류를 제어한다.
2) IGMP (Internet Group Management Protocol)
: IPv4의 멀티캐스트를 도와준다.
3) ARP (Address Resolution Protocol)
: 네트워크층 주소와 데이터 링크층 주소를 매핑한다.
주/보조(Main/Auxiliary) 프로토콜
IPv4
1) 최선의 노력 전달 서비스(best-effort delivery service)
의미: 패킷이 전송 중에 훼손 혹은 분실되거나 순서에 맞는 않게 도착하거나 혹은 지연 도착하거나 네트워크에 혼잡이 발생할 수도 있다.
만약 신뢰성이 중요하다면 TCP처럼 신뢰성있는 전송층 프로토콜과 함께 사용되어야 한다.
2) 비연결형 프로토콜
의미: 각 데이터그램이 독립적으로 전달되며 목적지로 갈 때 서로 다른 경로로 전달되어 순서에 맞지 않게 전송될 수 있다. 또한, 몇개의 패킷은 전송 중 훼손되거나 분실될 수 있다.
데이터그램 형식
데이터그램(datagram)
: IP가 사용하는 패킷, 가변 길이의 패킷, 헤더와 페이로드로 구성
헤더: 20~60바이트의 길이
: 라우팅과 전송에 필수적인 정보를 포함, TCP/IP에서는 헤드를 4바이트 부분으로 표현
헤더 길이(Header length): 4bits
: 4-bytes word: 수신자는 이 필드값에 4를 곱해 헤더 바이트 길이를 파악한다.
서비스 유형(Type of service): 8bits
: 초기 서비스 유형(TOS) >> 데이터그램을 어떻게 처리할지를 정의했다.
:1990년대 말부터 Differentiated Service(DiffServ) 용도로 변경: 우선순위에 따라 클래스를 나누어 서비스를 제공했다.
전체 길이(Total length): 16bits
: IP 데이터그램의 전체 바이트 수를 정의한다.
: 65,535 Byte까지 정의 가능하다.
단편화 오프셋(Fragmentation offset): 13bits
: 데이터그램의 크가기 사용하려는 네트워크가 처리할 수 있는 크기보다 클 경우 필요한 단편화와 연관되어있다.
수명(Time to live: TTL): 8bits
: 보통 일반 호스트 사이에 있는 라우터 수의 2배로 정의한다.
: 데이터그램을 전달하는 각 라우터는 이 값을 1씩 감소시키며 0이되면 폐기한다.
프로토콜(Protocol): 8bits
: 페이로드의 내용이 UDP, TCP 혹은 라우팅 프로토콜 등의 패킷 내용을 전송한다.
: 발신지 IP에서 페이로드가 캡슐화될 때 이 필드에 상응하는 프로토콜 번호가 추가된다.
: 데이터그램이 목적지에 도착하면 어느 프로토콜로 페이로드가 전될되아야 하는지 알려준다.
헤더 검사합(Header checksum): 16bits
: 페이로드를 제외한 헤더의 안정성을 위해 헤더 검사합을 수행한다.
: 페이로드 부분을 검사하지 않는다.
: 각 라우터에서 검사합은 TTL값 등이 변화하기 때문에 다시 계산된다.
발신지 주소(Source address): 32bits
: 발신지 호스트는 자기의 IP주소를 알고 있다.
목적지 주소(Destination address): 32bits
: IP서비스를 사용하는 프로토콜이나 DNS를 통해 알 수 있다.
: IP주소는 발신지 호스트에서 목적지 호스트까지 IP 데이터그램이 전송되는 동안 변경되어서는 안된다.
선택사항(Options)
: 네트워크 테스트와 디버깅에 사용한다.
: 패딩(padding)과 합쳐 최대 40바이트 사용이 가능하다.
MTU(Maximum Transfer Unit)
1) 각 링크층 프로토콜은 고유의 프레임 형식을 가진다.
2) 캡슐화할 수 있는 페이로드의 최대 크기가 정해진다.
3) 단편화: 다른 물리 네트워크에서 데이터그램을 전송하기 위해 분할해야 하는 것이다.
4) 데이터그램은 목적지에 도착하기 전 여러 번 단편화 될 수 있다.
: 데이터그램은 발신지 호스트나 경로상의 라우터에서 단편화 될 수 있지만 오직 목적지 호스트에서만 데이터그램의 재조립이 수행된다.
: 단편화는 IP데이터그램의 단편화를 의미하지만, 일부 옵션을 제외한 배부분은 모든 단편에 복사된다.
IPv4 옵션
1) 옵션은 네트워크 테스트와 디버깅을 위해 필요하다.
2) 옵션 처리에는 IPv4 소프트웨어가 필요하다.
3) 단일 바이트 옵션과 다중 바이트 옵션으로 분리 된다.
단일 바이트 옵션(Single-Byte Options)
무동작(no-peration) 옵션: 옵션 중간에 채우기(filler) 용도로 사용
선택 사항 종료(end-of-option) 옵션: 선택사항 필드의 끝에서 패딩을 하기 위해 사용되는 1-바이트 옵션
다중 바이트 옵션(Multiple-Byte Options)
1) 경로 기록(record route): 데이터그램을 처리하는 인터넷 라우터를 기록하기 위해서 사용한다.
: 9개의 라우터 주소까지 기록 가능, 디버깅이나 관리에 사용 가능하다.
2) 엄격한 발신지 경로(strict source route): 인터넷을 통해 이동하는 데이터그램의 경로를 사전에 결정하기 위해 발신지에 의해 사용한다.
: 경로 선택 가능: 최소 지연이나 최대 처리율 경로, 안전하고 신뢰성 높은 경로
: 이를 선택하면 무조건 옵션에 정의된 모든 라우터를 거쳐야 한다. 어길시 데이터그램 폐기한다.
3) 유연한 발신지 경로(loose source route): 엄격한 발신지 경로와 비슷하나 훨씬 덜 엄격하다.
: 리스트에 있는 각 라우터는 반드시 방문되어야 하지만 데이터그램은 다른 라우터도 방문이 가능하다.
4) 타임스탬프: 라우터에 의해 처리되는 데이터그램의 시간을 기록하기 위해 사용한다.
: 시간은 만국 표준시 또는 그리니치 표준시의 자정을 기준으로 천분의 1초 단위로 표현한다.
: 데이터그램이 한 라우터에서 다른 라우터로 이동할 때 걸리는 시간을 예측 가능하다.
IPv4 데이터그램의 보안
IP 프로토콜에 적용 가능한 세 가지 보안 이슈
1) 패킷 도청(packet sniffing)
: 공격자가 IP 패킷을 가로채어 복사본을 만든다.
: 패킷의 내용은 유지되고, 패킷의 복사 상황을 송신자나 수신자가 알 수 없다.
: 패킷의 암호화로 공격자가 내용을 확인하지 못하도록 한다.
2) 패킷 변조(packet modify)
: 공격자가 패킷을 가로채어 내용을 변경한 뒤 수신사에게 새로운 패킷으로 전송한다.
: 데이터의 무결성 기술을 사용하여 탐지가 가능하다.
3) IP 스푸핑(IP spoofing)
: 공격자는 다른 사용자로 가장하고 IP 패킷에 다른 컴퓨터의 발신지 주소를 입력하여 패킷을 새롭게 생성한다.
: 공격자는 은행으로 고객인척 하면 IP 패킷을 전송할 수 있다.
: 발신지 인증 기법으로 방지가 가능하다.
IPSec (IP Security)
1) 네트워크 계층에서 보안성을 제공해 주는 프로토콜
2) IP 프로토콜과 결합하여 사용: 4가지 서비스
: 1. 알고리즘과 키 정의: 2개의 개체간 사용할 암호화 알고리즘과 키를 합의함
: 2. 피킷 암호화: 합의된 공유키와 알고리즘으로 패킷을 암호화
: 3. 데이터 무결성: 전송 중 변조되지 않았음을 보장
: 4. 발신처 인증: 패킷의 발신지를 인증
모든 내용은 '데이터 통신과 네트워킹 6판' 책을 공부하여 작성 하였습니다.
'데이터 통신' 카테고리의 다른 글
데이터 통신과 네트워킹 Chapter7 이동 IP(Mobile IP) (0) | 2022.05.24 |
---|---|
데이터 통신과 네트워킹 Chapter7 ICMPv4 (0) | 2022.05.22 |
데이터 통신과 네트워킹 Chapter7 요약2 (0) | 2022.05.14 |
데이터 통신과 네트워킹 Chapter7 요약1 (0) | 2022.05.07 |
데이터 통신과 네트워킹 Chapter6 요약 (0) | 2022.04.28 |