본문 바로가기

Studies

Network 각종 프로토콜 정리

출처

http://www.ktword.co.kr/

https://www.microsoft.com/korea/technet/deploy/tcpintro5.mspx

http://blog.naver.com/PostView.nhn?blogId=sarinkkongch&logNo=30097705221

http://darksoulstory.tistory.com/59

http://www.netmanias.com/ko/post/blog/5348/understanding-the-basic-operations-of-dhcp

http://maximer.tistory.com/337

http://mintnlatte.tistory.com/407



목차

[프로토콜]

1. IP (Internet Protocol)

2. ARP (Address Resolution Protocol)

3. ICMP (Internet Control Message Protocol)

4. IGMP (Internet Group Management Protocol)

5. TCP (Transmission Control Protocol)

6. UDP (User Datagram Protocol)


[서비스]

7. DNS (Domain Name System) TCP/UDP 53

8. HTTP (HyperText Transfer Protocol) TCP/UDP 80

9. TELNET () TCP/UDP 23, SSH () TCP/UDP 22 

10. FTP (File Transfer Protocol) TCP/UDP 20(FTP data transfer), TCP 21(FTP control), TFTP (Trivial File Transfer Protocol) UDP 69

11. SNMP (Simple Network Management Protocol) UDP 161

12. SMTP (Simple Mail Transfer Protocol) TCP 25

13. POP3 (Post Office Protocol version 3) TCP 110

14. IMAP (Internet Message Access Protocol) 

15. DHCP (Dynamic Host Configuration Protocol) UDP 67





1. IP (Internet Protocol)


IP는 비연결 지향, 신뢰할 수 없는 데이터그램 프로토콜로 호스트간에 어드레싱과 패킷 라우팅을 담당한다. 비연결 지향이라는 것은 데이터를 교환하기 이전에 세션이 확립되지 않으므로 데이터의 전달이 100% 보장되지 않는다는 의미이다. IP는 언제나 패킷을 전달하기 위한 최고의 노력을 한다. 그러나 IP 패킷은 전송중에 손실될 수도 있고, 패킷의 순서가 틀리게 전달되거나, 혹은 중첩되어 전달되거나 지연되어 질 수 있다. IP는 이러한 형태의 오류는 수정하지 않는다. 패킷 전송에 대한 확인 및 손실된 패킷에 대한 복구 등은 이보다 상위 계층 프로토콜(TCP와 같은)이 책임져야 할 동작이다. 


[IP Header Format]


(1) Version: 인터넷 프로토콜 버전으로 IPv4 일 경우 4, IPv6 일 경우 6

(2) Header Length: IP 프로토콜 헤더의 길이

(3) Type Of Service : 교환하는 데이터의 종류에 따라 지연 통신효율, 신뢰성의 우선순위를 지정할 수 있음

                            데이터그램에기대되는 QoS(Quality of Service)를 지시하는 8비트 코드

                            우선권(Precedence)필드(3비트), TOS(Type-Of-Service) 필드(4 비트), 예약 필드(1 비트)

                            우선권 필드는 패킷의우선순위 정의

                            TOS 필드는 최소 지연, 최대 처리량, 최대 신뢰성, 최소 비용을 나타내는 필드, 4비트 중 한비트만1

(4) Total Length : IP의 프로토콜 헤더에 계속되는 데이터도 포함한 IP 패킷의전체길이 (이더넷MTU 1500 byte)

                        옥텟으로나타낸 헤더와 데이터 필드를 포함한 전체 데이터그램의길이

(5) Identification : 상위 계층으로부터  IP데이터그램을분별하기 위한 식별번호 (패킷이단편화 됐을때사용하는 부분)

(6) Flags : IP데이터그램이분할(Fragment)에 관한 정보를 나타냄

               - 첫번째비트 : 사용안함, 두 번째 비트 : Do not fragment, 세 번째 비트 : More fragment

(7) Fragment Offset :  프래그먼트의원 데이터에 있어서의 위치를 바이트 단위로 나타냄

(8) TTL : Time To Live의 약자로 통과가능한 라우터의남은 수를 나타냄, 라우터를경유할 때마다 이 값이 하나씩 줄어든다.

            데이터그램이폐기되기 전 인터넷에 얼마동안존속할 수 있는지를 지시하는 값

             라우터에의해 감소된다. (값이 0이 되면 데이터그램은 폐기)

(9) Protocol Type : 데이터에 포함되는 상위 프로토콜 (TCP:6, UDP:17)  나타냄

                            데이터그램과관련된 상위 계층 프로토콜을 식별
                            
- 1 = ICMP 메시지를 운반
                            
- 6 = TCP 세그먼트를 운반
                            
- 17 = UDP 사용자 데이터그램을운반

(10) Header Checksum : IP 프로토콜 헤더 자체의 내용이 바르게 교환되고 있는가를 점검

                                전송 도중 헤더가 손상되지 않았음을 보장하기 위하여 수신된 패킷내IP 헤더 자체를 검사하는데 사용.

(11) Source IP Address : 발신지의 IP Address

(12) Destination IP Address : 수신지의 IP Address

(13) Option: 경로배정 및 보안 등과 같은 제어 기능에 사용되는 40 bytes 까지의 부가 정보





2. ARP (Address Resolution Protocol)


IP 패킷이 이더넷이나 토큰링과 값이 공유 엑세스, 브로드캐스트 기반의 네트워크 기술로 전달된다면, IP주소에 해당하는 MAC(Media Access Control) 주소를 반드시 알아내야 한다. ARP는 네트워크상에서 IP주소를 물리적 네트워크 주소로 대응시키기 위해 사용되는 프로토콜이다. 여기서 물리적 네트워크 주소는 이더넷 또는 토큰링의 48비트 네트워크 카드 주소(MAC, Media Access Control)를 뜻한다.

예를 들면, IP 호스트 A가 IP 호스트 B에게 IP 패킷을 전송하려고 할 때 IP 호스트 B의 물리적 네트워크 주소(MAC)를 모른다면, ARP프로토콜을 사용하여 목적지 IP주소 B와 브로드캐스팅 MAC주소(FF:FF:FF:FF:FF:FF)를 가지는 ARP패킷을 네트워크 상에 전송한다. IP 호스트 B는 자신의 IP 주소가 목적지에 있는 ARP 패킷을 수신하면 자신의 물리적 네트워크 주소를 A에게 응답한다.

이와 같은 방식으로 수집된 IP주소와 이에 해당하는 물리적 네트워크 주소 정보는 각 IP 호스트의 ARP캐시라 불리는 메모리 테이블 형태로 저장된 다음, 패킷을 전송할 때에 다시 사용된다. ARP와는 반대로, IP 호스트가 자신의 물리 네트워크 주소는 알지만 IP주소를 모르는 경우, 서버로부터 IP주소를 요청하기 위해 RARP를 사용한다.


Hardware Type

Protocol Type

Hardware Length (size)

Protocol Length (size)

Operation

Sender Hardware (MAC) Address

Sender Protocol (IP) Address

Target Hardware (MAC) Address

Target Protocol (IP) Address

[ARP Header Format]


(1) Hardware Type : 이 필드는 사용 중인 MAC 주소나 데이터 링크 유형 / 물리 주소 길이를 정의하는데 사용되며, 여분의 Hardware Length 필드를 생성한다.

값이 1이면 이더넷에 할당된 것을 의미한다.

(2) Hardware Length : 이 필드는 해당 패킷에 사용되는 MAC 주소의 길이를 정의하며, 단위는 Byte이다. 이 값은 Hardware Type에 의해 결정되기 때문에 여분의 필드이다.

(3) Protocol Type : 이 필드는 사용 중인 프로토콜 주소 유형을 정의하며, 이더넷 프레임 구조에 사용되는 표준 프로토콜 ID값을 사용한다. 그리고 Hardware Type과 같이 여분의 Hardware Length 필드를 생성한다.

(4) Protocol Length : 이 필드는 패킷에 사용되는 프로토콜 주소의 길이를 정의하며, 단위는 Byte이다. 이 값은 Protocol Type에 의해 결정되기 때문에 여분의 필드이다.

(5) Operation : 이 필드는 ARP Request/Reply인지 RARP Request/Reply 인지 등을 정의한다. 더 많은 종류가 존재한다.

Number

Operation Code

1

 ARP Request

2

 ARP Reply

3

 RARP Request

4

 RARP Reply

(6) Address : 각각에 IP주소와 MAC주소가 들어간다.




3. ICMP(Internet Control Message Protocol) 인터넷 제어 메시지 프로토콜

네트워크 컴퓨터 위에서 돌아가는 운영체제에서 오류 메시지를 전송받는데 주로 쓰이며, IP(Internet Protocol)의 주요 구성원 중 하나로 인터넷 프로토콜에 의존하여 작업을 수행한다. 또한 엔드 시스템간 자료를 주고 받는 역할은 수행하지 않는다는 점에서 TCP나 UDP와는 성질이 다르다.

주로 ping 명령어가 인터넷 접속을 테스트하기 위해 ICMP를 사용한다.



type : 패킷 내에 어떠한 유형의 ICMP 메시지가 존재하는지 정의한다.

code : 메시지 유형에 대한 추가적인 세부정보





4. IGMP (Internet Group Management Protocol) 인터넷 그룹 관리 프로토콜

서브넷(로컬 네트워크) 상의 멀티캐스팅 멤버십 제어(그룹 관리)를 위한 프로토콜이다. 하나의 라우터와 여러 호스트로 구성되는 서브 네트워크(Sub-Network)상에서, 라우터 및 호스트들이 어떤 멀티캐스트 그룹에 속하는 가를 알게 하기 위한 일종의 그룹 관리용 신호 프로토콜(Signaling Protocol)이다.

동작방식은 멀티캐스트 라우터가 주기적으로 Subnet 호스트 그룹들에게 특정 그룹에 참여하는 호스트가 있는지 확인조회 하기 위해 IGMP Query 메시지를 전송한다. 호스트는 이에 대한 응답으로 IGMP Query 메시지에 응답하며, 자신이 가입하고자 하는 그룹주소 정보를 IGMP Report 메시지를 통해 라우터에게 알려준다. 호스트는 Query메시지 없이도 먼저 Report메시지를 라우터에게 전송 가능하다.


IGMP 패킷 구성

(1) 유형 (8 비트) - 0x11 : Membership Query - 0x22 : v3 Membership Report - 0x12 : v1 Membership Report [RFC 1112] - 0x16 : v2 Membership Report [RFC 2236] - 0x17 : v2 Leave Group [RFC 2236] (2) 최대응답코드 (8 비트) - 질의가 응답되어야 하는 시간 (3) Checksum (16 비트) (4) IPv4 멀티캐스트 그룹 주소 (32 비트) - 일반 질의메세지인 경우 0 (5) S (1 비트) - Suppress 플래그 (6) QRV (3 비트) - 망의 강인성 모니터링 용도 (7) QQIC (8 비트) - 질의자의 질의간격코드 (8) 발신지 개수 (32 비트) - 일반 질의 및 그룹 지정 질의의 경우 0 - 질의에 관여되는 32비트 유니캐스트 주소 개수 (9) 발신지 주소 (32 비트) - 멀티캐스트 메세지의 발신지 주소


IGMP 그룹 멤버십 동작 구분

o 그룹 가입 (joining) : 그룹에 가입하고자 하는 요청을 라우터에 보고

o 그룹 멤버십 조사 (monitoring) : 멤버십 질의 메시지를 보내서 응답을 기다림

o 멤버십 연속 (member continuation) : 계속해서 유지하기 원하는 보고 메시지

o 그룹 탈퇴 (leaving) : 탈퇴에 대한 응답메시지를 보내지 않음





5. TCP (Transmission Control Protocol)

생략




6. UDP (User Datagram Protocol)

생략




7. DNS (Domain Name System) - TCP/UDP 53

도메인 네임 시스템은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다. 특정 컴퓨터 또는 네트워크로 연결된 임의의 장치의 주소를 찾기 위해 사람이 이해하기 쉬운 도메인 이름을 숫자로 된 식별 번호(IP주소)로 변환해준다. 

www.example.com을 192.168.1.0 과 같은 IP 주소로 변환하고 라우팅 정보를 제공하는 분산형 데이터베이스 시스템이다.


DNS서버에 질의를 하게 되면, 돌아오는 응답은 Authoritative answer와 Non-authoritative answer로 나뉜다.

Authoritative answer는 DNS 서버가 질의받은 도메인 또는 IP 주소의 레코드를 Forward Zone, Reverse Zone 모두 가지고 있을 경우에 하는 응답이다. 여러 호스트로 구성되어 있는 네임서버에 도메인을 구성하고 있는 호스트의 주소를 직접 질의할 때 얻을 수 있다.

Non-authoritative answer는 DNS서버가 질의받은 도메인 또는 IP 주소의 레코드를 Forward Zone, Reverse Zone 중 하나 이상 가지고 있지 않을 경우에 하는 응답이다. 도메인 네임 서버에 해당 도메인을 구성하지 않은 호스트, 즉 외부 서버의 주소를 질의했을 때 받을 수 있는 응답이다.

가정집에서 DNS서버에 질의할 때 받게 되는 응답이 바로 이것이다.




8. HTTP (HyperText Transfer Protocol) -  TCP/UDP 80

하이퍼텍스트 전송 규약으로, WWW상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML문서를 주고받을 때 쓰인다. TCP와 UDP를 사용하며 80번 포트를 사용한다. 1996년에 버전 1.0이 나오고, 1999년에 버전 1.1이 나와 현재에도 사용되고 있다.

HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜이다. 예를 들어 클라이언트인 웹브라우저가 HTTP를 통하여 서버로부터 웹페이지나 그림 정보를 요청하면 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 된다. 이 정보가 모니터와 같은 출력 장치를 통해 사용자에게 나타나는 것이다. HTTP를 통해 전달되는 자료는 http:로 시작하는 URL로 조회할 수 있다.


HTTP 응답코드는 여기서 볼 수 있다.

http://ko.wikipedia.org/wiki/HTTP





9. TELNET - TCP/UDP 23, SSH(Secure SHell) - TCP/UDP 22

TELNET은 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜이다. 텔넷의 보안 문제 때문에 SSH로 대체되기도 했다.

텔넷은 원격지 컴퓨터를 엑세스하기 위한 사용자 명령들과 TCP/IP 기반의 프로토콜이다.

텔넷은 Byte 스트림 형식으로 데이터를 주고받지만, SSH는 기본적으로 RSA 암호화 방식을 사용하여 암호화하여 데이터를 주고 받는다.





10. FTP (File Transfer Protocol) - TCP/UDP 20, TCP 21, TFTP (Trivial FTP) - UDP 69

FTP는 파일 전송 프로토콜로, TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜이다. FTP는 TCP/IP의 Application계층에 속하는 프로토콜이다. 21번 포트는 명령어를, 20번 포트는 데이터를 전송할 때 사용한다.

연결의 종류에는 2가지가 있다.


1. Active Mode - FTP 클라이언트 프로그램

Active Mode는 클라이언트가 서버에 접속을 시도하는 것이 아니라, 서버가 클라이언트에 접속을 시도하는 것이다. 그래서 만약 클라이언트 쪽에 방화벽이나 접속이 허용되지 않으면, FTP접속이 제대로 되지 않는 문제점이 있다.

방식은 우선 클라이언트에서 서버측 21번 포트로 접속시도 하고 그 후에 데이터 포트는 서버에서 클라이언트로 접속하여 데이터를 보내는 방식이다.



2. Passive Mode - 웹브라우저

Active Mode의 문제점을 해결하기 위해 나온 Passive Mode이다.

동작방식은 우선 클라이언트에서 버서의 21번 포트로 접속을 시도하면, 서버에서는 사용할 두번째 포트를 클라이언트에게 알려준다.

클라이언트는 다른 포트를 열어 서버가 알려준 이 포트로 접속을 시도한다.

하지만 여기서도 문제점이 존재한다. Passive Mode에서는 두 번째 data포트로서 Active Mode가 사용했던 20번 포트를 사용하지 않고, 대신 1024 이후의 임의의 포트를 사용하게 된다. 따라서 Active Mode의 문제점은 해결했지만, 1024~65535의 포트를 모두 열어두어야 한다는 문제점이 존재한다. 사용할 포트를 제한하는 방법이 있지만, 역시 위험하다.





11. SNMP (Simple Network Management Protocol) 간이 망 관리 프로토콜 - UDP 161

SNMP는 네트워크 장비를 관리 감시하기 위한 목적으로 UDP상에 정의된 응용 계층 표준 프로토콜이다. SNMP는 네트워크 관리자가 네트워크 성능을 관리하고 네트워크 문제점을 찾아 수정하는데 도움을 준다. 그리고 SNMP를 지원하는 서버에 관리자가 질의를 해 자료를 받아갈 수도 있고, 반대로 어떤 값을 설정을 요청할 수도 있다.

SNMP가 사용되기 이전에는 일반적으로 ICMP에 의존하였다. 이 프로토콜을 이용해서 우리는 네트워크로 연결된 각각의 호스트가 작동하고 있는지, 작동한다면 어느정도의 응답시간을 가지고 작동하는지 등의 간단한 정보를 얻을 수 있었으며, 초기에는 이정도만으로도 네트워크 관리가 가능했었다. 


o SNMP로 할 수 있는 것들

1. 네트워크 구성 관리 : 네트워크상의 호스트들이 어떤 구조를 이루고 있는지 지도를 그리는 것이 가능하다.

2. 성능관리 : 각 네트워크 세그먼트간 네트워크 사용량, 에러량, 처리속도, 응답시간 등 성능분석에 필요한 통계정보를 얻어낼 수 있다.

3. 장비관리 : SNMP의 확장성을 이용하여 시스템정보(CPU, 메모리, 디스크 사용량 등)를 얻어올 수 있다.

4. 보안관리 : 정보의 제어 및 보호기능, 최근버전인 SNMP3는 특히 정보보호를 위한 기능이 향상되었다.




12. SMTP (Simple Mail Transfer Protocol) 간이 우편 전송 프로토콜 - TCP 25

SMTP는 이메일 서버에서 메일을 보낼 때 쓰이는 프로토콜이다. 상대 서버를 지시하기 위해서 DNS의 MX레코드가 사용된다. 메일 서버간의 송수신뿐만 아니라, 메일 클라이언트에서 메일 서버로 메일을 보낼 때에도 사용된다.

SMTP는 텍스트 기반의 프로토콜로서 요구/응답 메시지 뿐만 아니라 모든 문자가 7bit ASCII로 되어 있어야 한다고 규정되어 있다. 이 때문에 문자 표현에 8비트 이상의 코드를 사용하는 언어나 첨부파일과 자주 사용되는 각종 바이너리는 마임(MIME)이라고 불리는 방식으로 7비트로 변환되어 전달된다.

현재는 ESMTP(Extended SMTP)로 2008년에 갱신되었다. 그리고 SMTP는 보안과 호환성의 문제로 그대로 사용하지 않는 경우가 많고, 일반적으로 쓰이는 확장 프로그램은 SMTP-AUTH(송신자 인증 서비스), ESMTP(SASL를 이용한 보안 연결), MIME(non-ascii 데이터 전송 포맷)가 있다.


SMTP는 연결지향적이고, 텍스트 기반으로 작동하는 프로토콜이다. 

SMTP통신의 예로, 처음에 메일을 보내는 송신자(클라이언트)와 메일을 받는 수신자(서버)간의 SMTP 세션이 생성되며, 명령행을 이용해 메일을 송수신한다.

1. MAIL 명령어 : 수신자 지정

2. RCPT 명령어 : 송신자 지정

3. DATA 명령어 : 메시지 내용의 시작이 되는 부분이다. 메시지 헤더와 바디로 구성된다.


S: 220 smtp.example.com ESMTP Postfix
C: HELO relay.example.org
S: 250 Hello relay.example.org, I am glad to meet you
C: MAIL FROM:<bob@example.org>
S: 250 Ok
C: RCPT TO:<alice@example.com>
S: 250 Ok
C: RCPT TO:<theboss@example.com>
S: 250 Ok
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: From: "Bob Example" <bob@example.org
C: To: "Alice Example" <alice@example.com
C: Cc: theboss@example.com
C: Date: Tue, 15 January 2008 16:02:43 -0500
C: Subject: Test message
C:
C: Hello Alice.
C: This is a test message with 5 header fields and 4 lines in the message body.
C: Your friend,
C: Bob
C: .
S: 250 Ok: queued as 12345
C: QUIT
S: 221 Bye
{The server closes the connection}




13. POP3 (Post Office Protocol version 3) - TCP 110

POP3는 이메일 공급업체 서버에서 로컬 장치로 이메일을 동기화하는게 아닌, 비동기식으로 다운받도록 되어있다. 따라서 POP3는 로컬장치에 이메일을 내려받으면, 서버에서는 이메일을 지우도록 기본으로 설정되어 있다. 물론 서버에서 메시지를 보관하도록 이메일 클라이언트를 설정할 수 있다. 그리고 무조건 메일 전체가 다운로드 된다.

서버에 이메일 등 개인 데이터를 보관하게 되면 프라이버시에 문제가 될 수 있다. 법 집행 기관이 영장만 갖고 있다면 쉽게 접근이 가능하기 때문이다. 서드파티 서버가 아닌 자신이 소유한 장치에 이메일을 보관하고 있다면, 이메일 공급업체가 아닌 해당 이메일을 보유한 사용자에게 직접 연락을 해야 한다. 하지만 허점도 있다. 예를 들어, 인터넷 전송과정에서 정보기관은 이미 이메일을 낚아 챌 수 있거나, 이메일 공급업체가 이메일을 즉시 삭제하지 않고, 다른 곳에 백업을 할 수도 있다.

POP3는 3번째 버전이다.




14. IMAP (Internet Message Access Protocol)

 - (non-encrypted port TCP 143, secure port TCP 993)

IMAP은 Application 계층 인터넷 프로토콜 중 하나로, 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는데 사용된다 .POP3를 사용할 때와 달리 이메일 메시지를 서버에 남겨두었다가 나중에 지울 수 있다. 그러므로 다른 컴퓨터 환경에서 서로 다른 이메일 클라이언트가 같은 이메일을 받아올 수 있는 장점을 가지고 있다. 따라서  스마트폰, 태블릿, PC 모두 동일한 이메일을 확인할 수 있다. 하지만, POP3에 비해 IMAP은 메일 서버와의 통신 트래픽이 높은 단점을 가지고 있다.

동기화 방식으로, 만약 다른 장치나 어플리케이션에서 메일을 삭제하게 되면 서버에서도 삭제가 된다. 그리고 처음에 제목만 서버에서 받은 다음 열람시 메일 내용이 다운로드 되는 방식으로, 단계적으로 다운로드 된다. 

현재 사용하는 IMAP의 버전은 IMAP4이다.

 




15. DHCP (Dynamic Host Configuration Protocol) - UDP 67

DHCP서버가 동적(dynamic)으로 IP주소를 할당해 주는 프로토콜이다. IP 주소 할당은 "임대"라는 개념을 가지고 있는데 이는 DHCP서버가 IP주소를 영구적으로 단말에 할당하는 것이 아니고 임대기간(IP Lease Time)을 명시하여 그 기간동안만 단말이 IP주소를 사용하도록 하는 것이다. 단말은 임대기간 이후에도 계속 해당 IP주소를 사용하고자 한다면 IP주소 임대기간 연장(IP Address Renewal)을 DHCP서버에 요청한다. 단말은 임대 받은 IP주소가 더 이상 필요하지 않게 되면 IP주소 반납 절차(IP Address Release)를 수행하게 된다.


DHCP 절차


DHCP 메시지 포맷

전체 길이는 최대 576바이트이다. 더 큰 바이트 전송시에는 사전에 약속 필요


(1) Operation Code 1바이트 : 메시지 유형을 구분하는 코드

요청(BOOTREQUEST) : 1 (client -> server)

응답(BOOTREPLY)      : 2 (server -> client)

(2) Hardware Type 1바이트 : 물리적 네트워크 유형을 나타냄

(3) Hardware Length 1바이트 : 하드웨어 주소의 길이

Ethernet은 6으로 표시함

(4) Hop Count(Hops) 1바이트 : Server와 Client가 다른 망에 있을 때, 요청 Client가 0으로 set하여 발송, 경유 중계 수 마다 증가

(5) Transaction ID 4바이트 : Client가 선택하는 랜덤한 32비트짜리 수. 응답 패킷에서 자신이 보낸 요청인지에 대한 응답인지를 구별하는데 사용

(6) Number of Seconds 2바이트 : Client가 새로운 IP를 요청하거나 IP갱신 요청을 시작했을 때 부터의 경과시간을 나타냄 (기본 단위 : 초)

(7) flags 2바이트 : 16비트 중 뒤 15비트는 모드 0으로 set하고, 최상위 비트만 사용. 0일 때 unicast, 1일 때 broadcast

(8) Client IP Address 4바이트 : Client IP주소. 최초 요청시에는 할당받기 전이므로 0.0.0.0으로 set됨.

(9) Your IP Address 4바이트 : Client에 할당되는 IP주소로써, 응답메시지에 포함됨.

(10) Server IP Address 4바이트 : Bootstap에서 사용하기 위한 서버의 IP주소. 서버에서는 DHCPOFFER, DHCPACK로 자신의 IP를 돌려주게 됨.

(11) Gateway IP Address 4바이트 : 디폴트 게이트웨이 IP주소 또는 DHCP Relay Agent IP주소

(12) Client H/W Address 16바이트 : 요청한 Client의 MAC주소를 지칭

(13) Server Name String 64바이트 : Server 호스트 이름 (NULL문자로열로 끝남)

(14) Boot File Name 128바이트 : 부트 파일 경로명 및 파일명 (NULL문자열로 끝남)

(15) 옵션들(가변바이트) : 응답메시지에만 사용되는 추가적 정보(DHCP확장 대부분이 이 옵션을 통해서 구현됨) 



'Studies' 카테고리의 다른 글

Linux WiFi 연결했던 AP 정보 저장된 파일  (0) 2015.02.06
IPsec을 이용한 VPN이란?  (0) 2015.01.14
TCP/IP Layer Model  (0) 2015.01.14
OSI 7 Layer Model  (0) 2015.01.14
laptop 에서 리눅스 설치시, 화면밝기 조절이 안될 때  (0) 2014.08.21