3장 네트워크 통신하기
2022. 9. 16. 22:43
- 이번장의 포인트는 네트워크 주소인 MAC 주소와 IP 주소
주소 체계를 이루는 서브넷, 게이트웨이와 같은 용어와 ARP와 같은 프로토콜의 기능과 역할
3.1 유니캐스트, 멀티캐스트, 브로드캐스트, 애니캐스트- 유니캐스트 (Unicast)
- 1:1 통신
- 실제로 사용하는 대부분의 통신은 유니캐스트 방식
- 유니캐스트 (Unicast)
- 브로드캐스트 (Broadcast)
- 1:모든통신
- 목적지 주소가 모든으로 표기되어 있음
- 유니캐스트 통신 전 위치를 파악하기 위해 사용됨
- 로컬 네트워크 내에서 모든 호스트에 패킷을 전달해야 할 때 사용
- 멀티캐스트 (Multicast)
- 1:그룹(멀티캐스트 구독 호스트) 통신
- 다수의 호스트에게 패킷을 전송하기 위한 방식 (ex) IPTV와 같은 실시간 방송)
- 단방향으로 다수에게 동시에 같은 내용을 전달할 때 사용
- 애니캐스트 (Anycast)
- 1:1 통신 (목적지는 동일 그룹 내의 1개 호스트)
- 주소가 같은 호스트들 중에서 가장 가깝거나 효율적인 곳으로 전달
- DNS 서버를 찾거나 게이트웨이를 찾을 때
3.2 MAC 주소 (Media Access Control)
- 2계층에서 통신을 위해 네트워크 인터페이스에 할당된 고유 식별자, 물리적인 주소
- MAC 주소는 중복될 수 있으며, 메모리에서 값을 변경하여 사용할 수 도 있다.
3.3 IP 주소
- 사용자가 변경 가능한 논리 주소이다.
- 주소에 레벨이 있다. 그룹을 의미하는 네트워크 주소와 호스트 주소로 나뉜다.
- 네트워크 주소 : 호스트들을 모은 네트워크를 지칭하는 주소, 이게 같으면 로컬 네트워크임
- 호스트 주소 : 하나의 네트워크 내에 존재하는 호스트를 구분하기 위한 주소
- 클래스풀과 클래스리스 (추후 따로 정리하여 업로드 예정)
3.4 TCP와 UDP
- 4계층은 목적은 목적지 단말 안에서 동작하는 여러 애플리션 프로세스 중 통신해야 할 목적지 프로세스를 정확히 찾아가고
패킷 순서가 바뀌지 않도록 잘 조합해 원래 데이터를 잘 만들어내기 위한 역할을 함 - TCP
- 신뢰할 수 없는 공용망에서도 정보유실 없는 통신을 보장하기 위해 세션을 안전하게 연결하고
데이터를 분할하고 분할된 패킷이 잘 전송되었는지 확인가능 (SEQ, ACK) - TCP에 자세한 원리는 https://puzzle-making.tistory.com/205 참고
- SEQ, ACK의 활용과 3-way handshake는 무조건 기억해두자.
- 신뢰할 수 없는 공용망에서도 정보유실 없는 통신을 보장하기 위해 세션을 안전하게 연결하고
- UDP
- UDP는 일부 데이터 전송이 유실되어도 상관없는 환경에서 주로 사용된다.
- 예를 들어 화상회의의 경우 버퍼링이 생기는 것보다 영상이나 사운드가 살짝 끊기는게 낫기 때문이다.
3.5 ARP (Address Resolution Protocol)
- 우리는 MAC 주소와 IP 주소를 통해 송수신을 한다고 했지만 막상 두 주소 사이에는 연관성이 없다.
- 실제로 통신은 IP 주소 기반으로 일어나고 MAC 주소는 상대방의 주소를 자동으로 알아내 통신하게 된다.
이때 상대방의 MAC 주소를 알아내기 위해 사용되는 프로토콜이 ARP다 - 즉, MAC 주소와 IP 주소를 연계시켜 주기 위한 매커니즘이다.
- 우리는 첫 통신시 IP주소는 알지만 MAC주소는 알지 못한다.
- ARP 브로드캐스트를 이용해 네트워크 전체에 상대방 MAC 주소를 질의해야함
- ARP 브로드캐스트를 받은 목적지는 ARP 프로토콜로 자신의 MAC주소를 응답함
- 패킷을 보낼 때마다 ARP 브로드캐스트를 수행하면 네트워크 통신의 효율성이 저하되기 때문에 메모리에 저장해두고 사용한다.
- ARP 작업은 CPU가 처리하기 때문에, 요청이 많이들어오면 부하가 일어날 수 밖에 없다.
3.6 서브넷과 게이트 웨이
- 로컬 네트워크에서는 ARP로 MAC주소를 알 수 있지만, 원격 네트워크 통신은 네트워크 장비가 따로 필요한데 이게 게이트웨이
- 3계층 장비가 수행하고 여러 네트워크와 연결되면서 적절한 경로를 지정해주는 역할
- 서브넷으로 동일 네트워크인지 다른 네트워크인지 확인함 (서브넷 마스크 활용)
- L2 통신, L3 통신이라고도 함
- 고민해볼 수 있는것
- 브로드캐스트와 멀티캐스트의 차이? 같은 로컬 네트워크 환경이면 같은 방식 아닐까
- 클래스풀과 클래스리스 주소 체계 정리하기, 서브넷 마스크과 서브네팅 원리 공부하기
'책 > IT 엔지니어를 위한 네트워크 입문' 카테고리의 다른 글
6장 로드밸런서/방화벽: 4계층 장비(세션 장비) (0) | 2022.09.19 |
---|---|
5장 라우터 L3 스위치(3계층장비) (0) | 2022.09.18 |
4장 스위치: 2계층 장비 (0) | 2022.09.17 |
2장 네트워크 연결과 구성 요소 (1) | 2022.09.14 |
1장 네트워크 시작하기 (1) | 2022.09.14 |