일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 파이썬
- 컴퓨터 네트워크
- linux
- TIL
- TCP
- 데브코스
- sql
- 운영체제
- 데이터베이스
- http
- 정리
- 가상환경
- 데이터 웨어하우스
- airflow
- dockerfile
- HADOOP
- PYTHON
- Go
- AWS
- S3
- 종류
- 데이터엔지니어링
- 데이터 파이프라인
- Django
- 데이터 엔지니어링
- airflow.cfg
- 컴퓨터네트워크
- Docker
- 자료구조
- redshift
- Today
- Total
홍카나의 공부방
[컴퓨터 네트워크] 5-3. Special Address와 DHCP 응답/요청 본문
classful addressing에는 여러 Special Address가 존재한다. 예약된 주소라고 이해하면 쉽다.
classless addressing에도 클래스풀의 Special Address를 이어받아 똑같이 존재한다.
어떤 노드가 인터넷에 연결되려면 4가지 정보를 받아와야 한다.
1) 자기 자신의 IP주소
2) 라우터 주소
3) DNS 서버 주소
4) Network Mask
그리고 이러한 정보를 전달하는 DHCP 서버가 존재한다. ( DHCP Server는 Well Known Service. )
위 정보와 관련한 Special Address에 대해 알아보자.
Special Address
Network 주소는 Netid가 특별히 지정되어 있고, Hostid가 전부 0인 주소다.
라우팅 테이블에 쓰인다. Source 주소도 될 수 없고, 목적지 주소도 될 수 없다.
Limited Broadcast 주소는 Hostid가 전부 1이고, 네트워크 전체로 전달하는 것이라고 한다.
단, 전체 인터넷을 대상으로 할 수는 없고 특정한 물리 네트워크를 목적지로 삼을 수 있다.
NetID를 보고 네트워크를 찾아가고, 그 안에 있는 node에게 모두 패킷을 전달하라는 의미로 사용할 수 있다.
Directed Broadcast 방식의 패킷 전달 그림을 살펴보자.
suffix가 모두 1이라서 브로드캐스트 방식임을 확인할 수 있고, 모든 노드에 패킷을 전달하는 것을 볼 수 있다.
참고로 라우터에도 패킷을 전달하게 된다. 물리네트워크에서 패킷을 뿌리는 것은 사실상 스위치가 그 역할을 담당한다.
Limited Broadcast 주소는 32비트가 전부 1인 것이다. (255.255.255.255)
목적지(Destination) 주소로만 사용할 수 있다.
Source가 속해있는 물리 네트워크에 연결된 모든 노드에게 패킷을 뿌리라는 의도로 사용된다.
This host on this network(me)는 IP주소가 모두 0.0.0.0으로, Source로만 사용되며 나 자신에게 패킷을 뿌리는 용도로 사용한다.
Specific host on this network는 Netid가 전부 0인 주소로,
Source와 같은 물리 네트워크에 소속된 특정한 목적지 주소에 패킷을 보내고 싶을 때 사용된다고 한다. 잘 안 쓴다고 한다.
Loopback 주소는 NetID가 127로, 패킷이 내 머신(노드) 밖으로 나가지 않고
나에게 돌아오게 하고 싶을 때 사용하는 주소다. 목적지 주소로만 사용할 수 있다.
같은 머신 내에 있는 프로세스들끼리 TCP/IP로 통신하고 싶을 때 사용한다.
127.0.0.1이 대표적인 예시이다.
ex) 127.x.y.z -> 뒤의 x.y.z는 아무거나 써도 상관없다.
DHCP 요청과 응답
DHCP서버에 IP 주소를 얻기 위한 요청을 할 때, 패킷은 다음과 같이 구성될 것이다.
1) Layer2 Header -> F.F.F.F, M_c ( Destination, Source )
2) Layer3 Header -> 0.0.0.0, F.F.F.F ( Source, Destination )
3) Layer4 Header -> Port_c, Port_s ( Source, Destination )
4) 요청 내용(body)
* F.F.F.F는 255.255.255.255 임.
L2 Header의 도착지를 살펴보면 전체 주소다.
즉, DHCP 응답은 Broadcast 방식의 전달이라는 것을 알 수 있다.
저렇게 보내게 되면, 특정 네트워크의 모든 네트워크들에게 요청을 뿌리고,
L4 Header에서 포트 번호가 일치하는 DHCP서버가 이에 응답하게 될 것이다.
DHCP응답 패킷은 다음과 같이 구성될 것이다.
1) Layer2 Header -> M_c, M_s ( Destination, Source )
2) Layer3 Header -> I_s, F.F.F.F ( Source, Destination )
3) Layer4 Header -> Port_s, Port_c ( Source, Destination )
4) 응답 내용(body)
L2 Header의 도착지를 살펴보면 특정한 물리 주소다.
즉, DHCP 응답은 Unicast 방식의 전달이라는 것을 알 수 있다.
'Computer Network' 카테고리의 다른 글
[컴퓨터 네트워크] 6-1. 파이썬 포트 스캐닝(Port Scanning) 구현 (0) | 2023.01.11 |
---|---|
[컴퓨터 네트워크] 5-4. 사설망과 스머프 공격 (0) | 2023.01.11 |
[컴퓨터 네트워크] 5-2. Classless addressing (0) | 2023.01.03 |
[컴퓨터 네트워크] 5-1. IPv4의 Classful Addressing (0) | 2022.12.26 |
[컴퓨터 네트워크] 4. Network Layer Services (0) | 2022.12.26 |