ARP (Address Resolution Protocol)
논리 주소(IP Address)를 기반으로 물리 주소(MAC Address)를 알아오는 프로토콜
ARP는 Layer 2계층 이더넷 환경에서 목적지 IP주소에 대한 MAC주소 변환 동작을 담당함.
쉽게 말해 해당 패킷은 목적지 IP 주소를 통해 해당 장비의 MAC Address 를 알 수 있게 해줌
출처: https://sjlim5092.tistory.com/entry/arp-패킷의-원리와-이해 [My Own Style]
네트워크 관련 개념들 잘 정리해놓은 영상
https://www.youtube.com/channel/UCJQJ4GjTiq5lmn8czf8oo0Q/featured
hub
데이터가 오면 연결되어 있는 모든 device 에 전송 (rebroadcast)
switch
데이터에 따라 어떤 device로 보내야 할지 알고 있음 (mac 주소에 매칭된 테이블이 있다고 생각하면 될 듯)
스위치와 허브는 local network 에서의 데이터를 주고 받는데 쓰임
(외부 네트워크와 통신하기 위해서는 ip 를 알아야 함)
router
ip 주소기반으로 다른 네트워크에 data 전송 -> network 의 gateway!
자기 대역에 맞는 패킷만 받아들임
default gateway
현재 서버 ip 주소와 동일 랜에 있지 않은 단말과 통신하기 위해 거치는 첫번째 라우터
NAT (Network Address Translation)
ip를 다른 ip로 tranlsate
router 에서 사용됨
ipv4 기반의 public ip 주소들을 고갈(?) 되지 않게 해줌
인터넷을 쓰려면 ip 가 있어야 하는데, 모든 사람들이 기기에 ip를 할당하면 4억개의 주소가 고갈됨
그래서 public,private ip, nat 개념이 나옴
- router는 연결된 device 에 priavate ip 주소를 할당해줌
- private ip 주소가 router 를 거쳐가면서 public ip로 translate
- 즉 router 는 private -> public, public -> private 의 translate 을 함
Network tunneling
여러 홉을 거쳐가야 하는 목적지를, 바로 터널을 통해 다음 홉에 있는 것처럼 보이게 하는 기술
ip-in-ip, gre 기법이 있음
- ip-in-ip
- ip 기반 tunneling 기법
- 원본 ip header 에 output ip header 를 붙여서 네트워크를 통과하는 방식
- packet이 routing 규칙에 따라 출발지 tunnel 에 도착
- tunnel 은 packet의 dst ip 와 tunnel의 mapping table 을 참조해 목적지 tunnel ip를 붙여 캡슐화 함
- https://ssup2.github.io/theory_analysis/IPIP_GRE_Tunneling/