네트워크/개념

[NW] #5. 네트워크 통신 구조 ( 외부 )

코딩하는상후니 2022. 9. 27. 17:40

 

 

 


 

 

 
 
 

* 네트워크 통신 구조 ( 외부 )

 
 
앞서 설명한 내부에서의 통신에서,
NIC 를 거쳐서 PC 외부로 패킷이 나가게 되는데,
이 때의 과정을 대략적으로 설명하려고 한다.
 
 
End-point 에서 End-point 까지 중간 단계는 어떻게 거쳐질까 ??
 
몇 가지 개념들을 살펴보고 차근차근 알아보자.
 
 
 
 
 
 
 
 

* 허브 ( Hub )

 

 

 

 

 

 
=> 데이터 패킷을 받으면 연결된 모든 장치들에게 보내는 역할.
 
즉,
'단순 분배를 하는 중계 장치' 이다. ( Broadcast )
 
=> 모든 컴퓨터에 데이터가 분배되기 때문에
속도도 나누어서 계산되어진다.
 
만약,
데이터 전송 속도가 500Mbps 이고 장치가 5대 연결되어 있다면 하나당 속도는
100Mbps 로 나뉘어진다.
 
 
=> 기능적으로 단순하기 때문에 점점 사라지고 있는 추세.
 
 
 
 
 
 
 
 
 
 
 
 

* 스위치 ( Switch )

 

 

 

 

=> 원하는 목적지에 데이터 패킷을 전송하는 장치.
 
 
=> 허브와의 차이점은
MAC 주소 등을 '테이블 형태' 로 저장하고 있어서 원하는 요청에 직접적으로 연결해주기에
전체적으로 데이터를 뿌려주는 허브와 속도 차이가 생긴다.
 
즉,
데이터 전송 속도가 500Mps 라면 하나의 전송 속도가 500Mps 로 유지된다.
 
( 허브 장치에서 좀 더 업그레이드된 장치라고 생각하면 된다. )
 
이처럼 불필요한 트래픽을 줄이기 때문에 네트워크 환경에선 스위치를 선호한다.
 
 
 
=> 기술의 발전으로 인해,
MAC 주소를 다루는데 그치지 않고 상위 계층의 데이터를 다룰 수 있게 되었고
그에 따라 L3, L4 스위치도 개발되어졌다.
 
각각 L2 = access, L3 = network, L4 = transport 계층을 나타낸다.
 
 
 
 
 
 
 
 
 
 
 
 

* 라우터 ( Router )

 
 

 

https://www.cisco.com/c/ko_kr/support/routers/4000-series-integrated-services-routers-isr/series.html

 

 

 
=> LAN ( Local Area Network : 근거리 통신망 ) 을 연결해주는 장치로써,
'라우팅 테이블 ( Routing Table )' 을 이용해서 해당 패킷의 목적지 경로의
최적의 경로를 찾아 스위칭시킨다.
 
 
=> 라우팅 테이블에는 다른 라우터들과의 특정 값이 저장되어져있는데
이를 '메트릭 값' 이라고 한다.
 
 
=> 참고로 메트릭 값을 보고 싶다면,
cmd  ->  route PRINT 를 입력해보자.
 
 
 
 
해당 값을 기준으로 최적의 경로를 찾아 패킷을 스위칭한다.
 
 
=> 기본적으로 패킷의 IP Header 를 판별할 수 있다.
그로 인해 자신의 내부 네트워크에 도작하는 패킷인지 아닌지 구별해
필요한 패킷이면 받아들이고 아니라면 라우팅 테이블에 기록하며
다른 라우터에게 보내게 된다.
 
 
 
=> 라우터의 개념은 네트워크의 '게이트 웨이 ( Gateway )' 이다.
 
 
 
 
 
 
 
 
 
 
 
 

* 라우팅 ( Routing )

 
=> 인접한 라우터를 통해서 경로 정보를 얻고
해당 경로를 이용해 최적의 경로를 라우팅 테이블에 유지하는 과정 을 말한다.
 
 

 

 

 

 
 

* 스위칭 ( Switching )

 
경로를 '선택' 해 보내는 작업 을 말한다.
 
ex)
Switch 의 Swithching 을 L2 Switching ( MAC Address )
Router 의 Switching 을 L3 Switching ( IP Packet ) 이라고 한다.
 
 

 

 
 
 
 
 
 
 
 
 
 
 

* L3 스위치 와 라우터 의 차이점

 
 
 
여기서부턴 위 링크를 참고한 나의 생각 (= 뇌피셜) 이다.
 
 
결론부터 말하자면, 환경에 따라 다르다.
 
 
 
우선 차이점은 파생되어진 위치부터 다르다.
 
L3 스위치는 원래 내부 네트워크에서 사용되는 L2 스위치를
좀 더 높은 계층, 기존의 기능을 확장해 업그레드 시킨 장비라면
 
 
라우터의 경우 게이트 웨이의 역할로써,
패킷의 최적의 경로 설정을 담당하며 기능적으로 다양한 프로토콜들을 지원한다.
 
기본적인 TCP/IP 통신에서만 봤을 때는 기능적 차이는 거의 미미하지만
라우터가 더 많은 기능을 제공하는 것은 사실로 보인다.
 
 
 
 
눈여겨볼 부분은 라우터가 최적의 경로를 찾는 것은
소프트웨어 환경에서 진행 되어진다는 점이다.
 
반면, 스위치는 하드웨어 환경에서 경로를 추적한다.
 
 
라우터가 소프트웨어적인 알고리즘이 필요한 이유는
IP 주소를 다루는 일을 하드웨어 측면에서는 관리하기 힘들기 때문이다.
 
그럼에도 불구하고 기술의 발전으로 하드웨어 ( ex.Ethernet ) 기준으로도
L3 계층 경로를 추적할 수 있다고 한다.
 
더 나아가 스위치가 라우터의 기능들을 포함되어질 수 있을 것이다.
 
중요한 것은
시간이 지날수록 라우터와 스위치의 경계가 점점 애매해가는 점이다.
 
 
 
 
결론적으로, 스위치가 라우터의 역할을 대신할수도 있다는 것이다.
 
 
환경에 따라 특정 네트워크 계층의 프로토콜만 필요하다면
 
해당 계층의 프로토콜을 제공하는 스위치를 사용하는 것이 효율적이겠고
다수의 기능을 필요로 하는 거대한 서버를 구축하기 위해선 라우터가 필요할 것이다.
 
 
 
 
 
 
 
 
 
 
 
 

* 네트워크 통신 ( 외부 )

 
Web 통신을 예로든 대략적인 외부로의 네트워크 통신이다.

 

 

 
1. 사용자가 URL ( Uniform Resource Locator ) 를 주소창에 입력.
 
 
 
 
2. DNS 서버에게 해당 도메인 네임을 IP 주소로 해석 요청 후,
IP 주소를 리턴 받음.
 
 
 
 
3. IP Packet 은 Router 에게 도달하게 되고 최적의 경로로 목적지에 전송.
 
이 때, 인접한 Router 들끼리 서로 어떤 프로토콜 통신을 이용한 어떤 알고리즘으로
라우터들간의 값들을 설정하게 되고 ( 메트릭 값 ) 이를 갱신.
 
 
 
=> 사용자와 라우터 사이에는 다른 L2 스위치 혹은 공유기가 있을 수 있다.
( 대략적인 큰 그림을 볼 의미로 그림을 그렸다. )
 
 
 
 
 
 
결과적으로,
 
라우터의 역할은 Packet 을 어떻게 효율적인 경로로 보낼지 계산하는 것이고
외부로 나간 IP Packet 들은 라우터들을 거쳐 지구 반대편의 PC 에게 보내질 수 있다.
그로 인해,
우리가 이렇게 국경을 넘어 서로 정보를 공유 받을 수 있는 시대에 살고 있다.
 
 
 
 
 
( 추후, 공유기에 관한 내용이나 DNS 에 관련된 내용은 정리할 예정이다. )

 

 

 


 

 

참고 자료