반응형
IP 프로토콜의 주요 특징
비연결형 서비스이다.
패킷 분할/병합 기능이 있다.
데이터 체크썸은 없으며, 헤더 체크썸만 제공한다.
Best-effort: 최선은 다하며 결과를 보장하진 못한다.
IP 헤더
DSCP/ECN 필드
- 사용자에게 제공하는 서비스 품질에 관련된 내용이다.
DS
- 6비트이다.
- 사전에 서비스 제공자와 이용자 사이에 서비스 등급에 대해 합의한다.
- 동일한 DS값을 갖는 트래픽들은 동일한 서비스 등급으로 처리된다.
ECN
- 2비트이다.
- ECT 0과 ECT 1은 동일한 의미이다.
- ECN 기능을 위하여 TCP 프로토콜의 헤더에 ECE 필드와 CWR 필드가 추가되었다.
패킷 분할 관련 필드
- 상위 계층에서 내려온 데이터가 하나의 패킷으로 전달할때 너무 큰 경우 분할하여 전송한다.
- 분할되지 않은 패킷들은 값을 순차적으로 증가시키고, 분할된 패킷은 동일한 번호를 부여해서 구분한다.
- DF: 패킷 분할 금지를 의미한다.
- MF: 분할된 패킷의 처음과 중간은 1이고 분할된 패킷의 마지막은 0이다.
- Fragment Offset(13bits): 분할되기 전 데이터에서 상대적인 위치 정보이다. 8바이트의 배수로 지정한다.
주소 관련 필드
- Source Address: 송신 호스트의 IP주소이다.
- Destination Address: 수신 호스트의 IP 주소이다.
기타 필드
- Version Number: 일반적으로 4이다. (IPv4)
- Header Length: 헤더 길이를 32 비트 단위로 표시한다. IPv4의 경우 일반적으로 5다.
- Packet Length: 헤더를 포함한 패킷의 전체 길이이다.
- Transport: IP 프로토콜에 데이터 전송을 요구한 전송 계층의 프로토콜이다.
- Time To Live(TTL): 패킷의 생존 시간이다. 라우터를 거칠 때마다 1씩 감소되며, 0이 되면 네트워크에서 강제로 제거한다.
- Header Checksum: 헤더 오류를 검출한다.
패킷의 분할
각 네트워크에서 다루는 프레임의 크기가 다르고, 여러 종류의 네트워크를 거쳐 패킷을 전달하기 때문에 분할이 필요하다.
BOOTP와 DHCP
BOOTP(Bootstrap Protocol): DHCP 전에 개발된 호스트 구성 프로토콜이다.
DHCP: DHCP는 BOOTP를 바탕으로 개선되었으며 호스트 구성 서비스로 BOOTP가 갖고 있는 특정 제한을 해결했다.
유사점
- 서버와 클라이언트 간에 메세지를 교환하는 데 사용하는 형식 구조이다. 거의 동일한 요청 메세지와 응답 메세지를 가지고 있다.
- 클라이언트/서버 통신에 잘 알려진 UDP 포트를 사용한다.
- 구성 서비스의 필수적인 부분으로 IP 주소를 배포한다.
DHCP 프로토콜
IP 주소를 여러 컴퓨터가 공유해서 사용한다.
DHCP 헤더는 op, htype, hlen, hops, xid, secs, flags, ciaddr, yiaddr, siaddr, giaddr, chaddr, sname, file, options 가 있다.
DHCP 프로토콜의 주요 메세지
- DHCP_DISCOVER : 클라이언트가 DHCP 서버를 찾기 위해 전송하는 브로드캐스트 메시지이다.
- DHCP_OFFER : 클라이언트의 DHCP_DISCOVER 메시지에 대한 응답으로 DHCP 서버가 응답하는 메시지이다.
- DHCP_REQUEST : 주소를 권고한 DHCP 서버에 DHCP_REQUEST 메시지를 전송하여 권고한 주소를 사용한다고 알린다.
- DHCP_ACK : 권고한 IP 주소가 최종적으로 사용 가능한지 판단 후 사용 가능하면 DHCP_ACK 메시지를 전송한다.
- DHCP_NACK : 클라이언트가 DHCP_DISCOVER 과정을 다시 하도록 한다.
반응형
'Computer Science > Network' 카테고리의 다른 글
[CS] 네트워크 - IP 프로토콜의 이해 - 라우팅 프로토콜 (0) | 2022.10.26 |
---|---|
[CS] 네트워크 - IP 프로토콜의 이해 - 네트워크 계층의 기능 (0) | 2022.10.26 |
[CS] 네트워크 - 데이터 링크 계층 (0) | 2022.10.23 |
[CS] 네트워크 - MAC 계층 (0) | 2022.10.23 |
[CS] 네트워크 - 데이터 전송의 기초 (1) | 2022.10.03 |