공부?/국비 지원 일기장

25일차 - DHCP, TCP헤더, ARP헤더

무무요 2024. 8. 2. 17:51


=======

DHCP(Dynamic Host Configuration Protocol)
- 통신 가능한 값, 통신할수있는값을 뿌려주는것
- IP주소 서브넷 마스크값 게이트웨이 DNS주소를 자동으로 설정해주는것
- 이것들을 할당해주는 서버가 DHCP
- 통신할수있는값, 
- DHCP서버란 DHCP를 이용해 통신할수있는값 IP주소 서브넷 마스크값 게이트웨이 DNS를 자동으로 할당 해주는것. 
- 빌려준다는 개념

    Discover
------>
    Offer
<-------
    Request
------->
    ACK
<-------     

ipconfig /release = 받은 ip 반납, 버리기
ipconfig /renew = 새로운 ip 받기



IP주소

- 공인 IP
  - 고정 IP ( 사용자가 직접 설정하는것)
  - 유동 IP ( 자동으로 해둔것, 계속바뀐다)

- 사설 IP
  - 고정 IP
  - 유동 IP

임대시간, 예약

 

(예약 창)


통신할수있는값 전달해줘 (Application -> UDP -> IP -> 2)

DHCP의 임대시간은 8일, IP주소 갯수가 모자르면 임대시간이 줄어든다.
IP주소 갯수가 모자르면 임대시간의 시간을 줄여서 세팅
계속사용하겠다는 대답이 있으면 8분의7시간까지 사용,  답이없다면 회수

DHCP Server는 UDP 67번 포트에서 기다리고 UDP 68번 포트에서 요청한다.
DNS는 UDP 53번 포트

=======

Type - 상위계층 프로토콜에 내용을 기재하는 명시하는 필드값

=======

3계층

IP = IP 주소 기재

주소 - IP Address

Protocol - IP, ICMP, ARP

장비 - Router, L3 Switch

 



ip header에 protocol 필드에 누가 내려줬는지 적는 칸 이다.
ICMP - 1(00000001) , TCP - 6(00000110) , UDP - 17(00010001)
수신측에서 decapsulation을 빠르게 하게하기위해 누가내려줬는지 적는다.
IP에는 3계층 ICMP, 4계층 TCP UDP가 내려준다.
Version은 IPv4 이고 4비트이기때문에 4(0100) 이다

 

 

 

 


Identifier
  - IP 계층에서 단편화(Fragmentation)가 수행 되기 전 원본 데이터 식별 값
  - 통신의 시작 데이터는 Random Numbr로 할당되며 연속된 통신의 다음 데이터는 +1 증가한 값을 할당 받음

 

IP Flags
  - 단편화 유무를 체크하기 위한필드
     - x : 사용하지 않는 bit
     - D : 단편화를 할 수 있는 경우 0, 할수없는경우 1 값을 가짐
     - M : 단편화 된 마지막 조각이면 0 , 추가로 조각이 있으면 1 값을 가짐

    - 쪼개면서 번호를 부여한다. 마지막 놈에게만 0을 줘서 확인

 

 Fragment Offset (13bits)
  - 단편화 된 데이터의 순서를 나타내기 위한 필드
  - IP Header를 제외한 Payload의 시작 크기 값을 순서 번호로 사용함
  - 예) Payload의 크기가 2000인 경우 최대 MTU 크기 1500을 넘게 됨
>IP 필수 Header 20bytes를 제외하고 1480bytes , 520bytes로 나누어서 데이터 전송

 


=======

ARP
  - 논리적인 주소(IP주소)를 갖고 물리적인(MAC주소) 주소를 알아온다
  - 3계층 프로토콜 이지만 IP하위에서 동작하는 프로토콜 (MAC주소와 연관이 있기때문)
  - 주로 목적지 MAC 주소를 확인할 때 사용 됨

ARP 동작
  - Request -> Broadcast
  - Reply -> Unicast

ARP 종류 
  - 논리적인 주소(IP주소)에 해당하는 장비의 물리적인 주소(MAC주소)를 획득
RARP
  - 물리적인 주소에 해당하는 장비의 논리적인 주소를 획득
Gratuitous ARP
  - IP 충돌 감지
  - ARP Cache Table Update
  - ex) S.IP : 1.1.1.1 , D.IP : 1.1.1.1 , D.M: 1 - 1 
  - 같은 IP를 쓰는 사람이 있는지, 충돌이 되는지 확인하기 위함

 

- 운영 체제에 의해 호출되어 사용 됨
- Hardware가 나오면 2계층 Protocol이 나오면 3계층

 

  - Hardware Type (2bytes) (2계층)
     - ARP가 동작할 Network 환경 정보
     - 이더넷 환경에서는 MAC 주소(1번코드)

  - Protocol Type (2bytes) (3계층)
     - 논리적인 주소의 종류
     - 일반적으로 IPv4주소(0x0800 = 2진수를 16진수로 나눈것)

 

 

  - Hardware Address Length  (1byte)
     - 지정된 물리적 주소의 크기 값 : MAC 주소의 크기

  - Protocol Address Length (1byte)
     - 지정된 논리적 주소의 크기 값 : IP 주소의 크기

  - Opcode (2byte)
     - ARP packet의 종류
     - ARP packet이 수행하는 동작이 지정됨
     - 1은 요청 2는 응답

 

 

Sender
  - Sender(source) Hardware Address(6bytes)
     - 보내는 시스템의 물리적 주소
     - 자신의 MAC 주소

  - Sender Protocol Address
     - 보내는 시스템의 논리적 주소
     - 자신의 IP 주소

 

 

Targer(Destination)
  - Target Hardware Address  
     - 받는 시스템의 물리적 주소
     - 모르는 경우 00:00:00:00:00:00
- 일반적으로 ARP Request Packet은 물리적 주소를 몰라서 보내는 것이기 때문에 기본 00:00:00:00:00:00 값

  - Target Protocol Address
     - 받는 시스템의 논리적 주소
     - 상대방의 IP주소

ARP Cache
  - 시스템에서 사용할 IP에 해당하는 MAC주소를 일시적으로 저장하는 기능
  - 통신 속도의 향상을 위해 사용 됨
  - 동적으로 알아온 정보는 일정 시간이 지나면 사라짐 (Windows=2분)

ARP Cache Table
  - ARP Cache 정보를 기억하는 저장 공간 --> Memory

ARP Cache 종류
  - 동적(Dynamic) -> ARP에 의해 획득된 정보
  - 정적(Static) -> 시스템에 의해 미리 지정된 정보

ARP 명령어 (cmd에서가능, 캐시에 대한것, ARP자체를 출동시키는게 아니다.)
  - CMD에서 확인 가능
  -a : ARP Table 전체 정보확인
  -s IP MAC : 정적(Static)정보 등록 (관리자 권한)
  -d : ARP table 초기화
  -d IP : IP에 해당하는 정보 하나만 삭제

 

=======

 

Wake on Lan 원격 컴퓨터 키기