10) TTL과 단편화
TTL은 Time To Live의 약자이며
Packet이 Dst 까지 도착하지 못하고 실패하는 경우,
떠도는 Packet이 발생하기 때문에
이를 해결하고 관리하기위해 등장
Router를 지날때 마다 Hop을 -1 시키며
Hop이 0이 되면 Paket을 소멸시켜버린다
단편화는 (Router의) MTU 크기 차이로 발생한다
Data를 나누고 기존의 IP Header에서 offset과 같은 특정 부분을 수정한
Header를 나머지 Data에 붙여서 단편화를 진행한다
단편의 조립은 주로 수신측 Host에서 이루어진다
단편화가 발생하지 않기 위해서, 처음부터 MTU의 최소 사이즈로 보내는 경우가 일반적이다
그리고 실제로 MTU가 1500bytes보다 작은 크기인 경우는 거의 없으며
단편화가 일어나는 일은 매우 드물다
하지만, VPN을 통해 IPSec이 적용되는 상황에서는
보안성이 증가하고 단편화 발생 가능성이 높아진다
11) 인터넷 설정 자동화를 위한 DHCP
인터넷을 사용하기 위해서는
IP 주소, Subnet mask, Gateway IP주소, DNS 주소를 설정해야한다
여기서 DNS 주소는 도메인 이름(ex. www.amazon.com)을
머신이 읽을 수 있는 IP 주소(192.0.2.44)로 변환한 주소를 의미한다
그런데 이러한 설정을 수동으로 하는 것이 아닌
자동으로 한다면, DHCP를 활용하여 자동으로 설정이된다
DHCP(Dynamic Host Configuration Protocol) 체계는
주소를 할당 받으려는 클라이언트와 DHCP 서버와의 통신이 핵심이다
내가 사용할 IP 주소를 DHCP 서버가 알려주어서 위와같은 인터넷 설정을 자동으로 할 수 있다
PC가 처음 부팅하면,
클라이언트는 DHCP 서버가 있는지 확인하기위해
클라이언트가 Broadcast를 보낸다
그리고 DHCP 서버는 그것을 확인하여 사용할 수 있는 주소를 클라이언트에게 전달한다
PC가 처음 부팅하는 것이 아니라면,
클라이언트가 기존에 사용했던 주소가 사용 가능한지 DHCP 서버에 요청을 보내고
DHCP 서버는 판단 후 확인 요청 혹은 다른 주소를 전달한다
이처럼,
DHCP Server는 여러 IP주소 등의 다양한 정보가 저장되어 있는 Pool을 가지고 있으며
이를 통해 사용가능한 주소를 전달하고 확인한다
DHCP Server는 Broadcast 도메인 안에서 묶여 있는것이 일반적이다
12) ARP
ARP(Address Resoulution Protocol)는
IP주소로 MAC주소를 알아내려할 때 활용된다
PC를 부팅하면,
클라이언트가 Broadcast를 통해 DHCP 서버를 알아내고 자신의 IP 주소를 설정한다
그리고 Gateway의 MAC 주소를 알아내기 위해서
클라이언트가 Broadcast의 일종인 ARP Request를 발생하고
Gateway가 Reply를 보내며
이를 통해 Gateway의 MAC 주소를 알 수 있다
이러한 Gateway의 MAC 주소는 자주 사용되기에 PC의 Cashe에 저장한다
예를들어,
클라이언트가 NAVER를 사용하려고 하면
IPv4 주소 Dst에는 3.3.3.3 (Naver의 IP 주소)
Src에는 192.13.1.24 (접속하는 클라이언트 IP 주소)
MAC 주소 Dst에는 Gateway의 MAC 주소
Src에는 PC의 MAC 주소
이러한 구성을 가지며 Gateway의 MAC 주소가 필요하다
MAC 주소의 Dst에 NAVER의 MAC 주소가 들어간다고 오해를 하면 안된다
13) Ping과 RTT
Ping 유틸리티는 프로그램이며
특정 Host에 대한 RTT(Round Trip Time)을 측정할 목적으로 사용된다
ICMP(Internet Controll Message Protocol)를 이용해 측정된다
DoS(Denial of Service) 공격용으로 악용되기도 한다
추가적으로, 우리가 주로 게임에서 언급하는 Ping은 RTT를 의미하며
실제로 Ping이라는 것은 RTT를 측정하기위한 유틸 프로그램이다
'CS > [널널한 개발자] 네트워크' 카테고리의 다른 글
4-2] L4 수준에서 외울 것들 - TCP 연결과정 (0) | 2023.06.20 |
---|---|
4-1] L4 수준에서 외울 것들 - TCP, UDP 개요 (0) | 2023.06.19 |
3-4] L3 수준에서 외울 것들 - Broadcast IP, Host IP (0) | 2023.06.17 |
3-3] L3 수준에서 외울 것들 - IP 헤더형식, 서브넷 마스크와 CIDR (0) | 2023.06.17 |
3-2] L3 수준에서 외울 것들 - Packet의 이동과정과 계층별 데이터 단위 (0) | 2023.06.17 |