반응형
네트워크 공부 3 일차이다. 공부는 꾸준하게 하는 것이 좋은 데, 계속 띄엄띄엄하게 되는 것 같다. 전반적으로 배운 것에 대해서 주저리 주저리 정리해보고자 한다. 다시 언급하지만 "이 사람은 이렇게 이해했구나!!" 정도 수준으로 보고, 더 깊은 학습을 원하면 위키피디아(생각보다 위키피디아는 훌륭한 정보의 원천이다!!) 등 좀 더 자세하고 정확하게 주제를 다룬 글들을 참고하기를 바란다. 나도 이 정도 수준으로 공부하는 것이 적당하다고는 생각이 들지는 않다. 한 번 지금 배우고 있는 코스가 끝나면 배운 것들을 복습하면서, 보다 심화된 학습을 할 계획이다.
- LAN과 WAN의 차이 : 이건 강의자의 개인적인 생각이 들어가 있었다. Local 과 Wide 딱 앞의 약자만 달라서 지리적인 넓이의 차이가 있다 생각하기 쉬운데 그렇지 않다. 그 것보다는 해당 네트워크를 구성하는 개념이 Logical한 지 Physical한 지 가 중요하다고 한다. 사실 네트워크의 본질은 기기 간의 전기적인 통신이다. 우리가 흔히 생각하는 다양한 형태의 데이터를 송수신하는 네트워크는 전기적인 통신에 잘 정의된 규약을 만들어 그거 대로 신호를 보내는 것이다. 앞서 말한 본질에 해당하는 것을 강의자는 Physical 하다 정의하고, 반대로 규약과 같이 사용자 혹은 개발자가 정의한 본질 위의 논리적인 구조에 대해서 Logical 하다고 정의하고 있다. LAN의 경우 식별자가 MAC 이며 Physical 하다 그러고, WAN은 IP로 식별되며 Logical 하다고 강의자는 두 개념의 차이를 설명하고 있다.
- 패킷의 생성원리 : 소켓(Socket)에 대해서는 이미 설명하였다. 간단히 다시 언급하자면 네트워크의 송수신을 파일의 입출력 형태와 유사하게 추상화시켜 놓은 개념을 의미한다. 소켓은 스트림(Stream)을 형성한다. 스트림은 시작은 있으나 끝은 없는 데이터의 흐름을 의미한다. 네트워크 상에서 한 번 데이터를 보낼 때, 보낼 수 있는 크기에 제한이 있다. 그렇기에 L4 단에서 스트림을 보낼 수 있는 묶음으로 나누게 되는 데, 하나의 묶음을 세그먼트(Segment)라고 한다. 패킷(Packet)은 하나의 세그먼트가 캡슐화(Encapsulation)되어 만들어진다. 패킷은 헤더(Header)와 페이로드(Payload)로 구성된다. 헤더(대략 40 Bytes)에는 보내야할 곳의 IP 주소, 데이터의 크기 등 패킷 자체에 대한 정보를 담고 있으며, 오버로드(나머지 1460 Bytes)에는 실제 사용자가 보내고 싶은 정보를 담고 있다. 이해하기 쉽게 비유를 하자면 오버로드는 택배 상자에 닮긴 내용물이고, 헤더는 주소지, 담긴 내용물의 정보 등을 기록한 식별 스티커이며, 하나의 택배 상자는 하나의 패킷으로 볼 수 있다. 프레임(Frame)은 L2 단의 정보 단위이며 패킷들이 모여 다시 한 번 캡슐화된 것이라 생각하면 편하다. 다시 비유하자면 프레임은 패킷이라는 택배 상자를 실은 트럭과 같다.
- L2 스위치 : 기본적으로 L2는 MAC 주소로 식별을 한다. 즉 하드웨어 자체를 식별한다. 네트워크를 어떻게 볼 것인가에 대해서 한 가지 유의미한 관점은 스위치의 집합으로 네트워크를 보는 것이다. L2 Access Switch와 연결된 호스트들은 해당 망을 통해서 서로 식별 및 통신을 하고, L2 Access Switch는 다시 일명 "스위치들을 위한 스위치"에 연결되어 더 큰 망을 구성하게 된다. 한 가지 기억해야할 것은 그러면 스위치의 정체는 무엇인가이다. 호스트는 단말기로써 역할을 하기도 하지만 라우터와 같이 라우터 자체를 한다는 것을 전에 한 번 언급한 적이 있다. 그렇다 결국 스위치 역할을 하는 주체 역시 컴퓨터인 것이다. 이 점을 명심하자!!
- Wireshark의 원리 : Wireshark는 패킷의 송수신을 관측하는 어플리케이션이다. L3와 L2 사이에는 필터가 존재하는 데, 이 필터는 패킷을 통과(Bypass)시키거나 차단(Drop)시키기도 한다. 필터 중에서도 항상 패킷을 통과시키는 대신 패킷의 내용을 모니터링하는 필터가 있는데 이를 센서(Sensor)라고 한다. 본론으로 돌아와서 Wireshark는 센서와 센서가 모니터링한 내용을 사용자가 이해할 수 있도록 디코딩하는 어플리케이션으로 구성된다. Wireshark의 측에서는 자신들의 앱을 분석 툴이라고 한다. 다만 일각에서는 스니퍼(Snipper) 앱이어서 제제가 필요하다는 말도 있는데, 이는 기술적인 영역이기 보다는 목적성의 차이에서 비롯된 윤리적인 논쟁에 가깝다.(기술자의 윤리의식은 당연히 중요하다 !!)
- Router 내부 구조 : 인라인 장치 구조라고 보면 된다. 라우터(Router)는 데이터 패킷을 전송하는 역할을 한다. 하나의 라우터는 2개 이상의 NIC를 가지고 있다. 문제는 그러면 어떤 NIC를 선택할 것인가이다. NIC의 선택이 낮은 레이어에서 이루어질 수록 속도가 빠르다. 라우터는 단순히 중계만을 할 수도 있지만, 목적성에 따라서 보안 기능을 추가할 수도 있다.(물론 그 이후부터는 라우터라고 부르지 않고 방화벽 등 다른 이름으로 불린다.) 보안에 대해서 간단하게 언급하자면 결국 패킷을 보낼 지(Bypass) 아니면 차단할 지(Drop)를 결정하는 것을 소급한다. 이 같은 방식을 Inline 방식이라고 부른다.
- 가끔 라우터 단에서 보안이 이루어지는 것이 아니라 하나의 중계기, 하나의 포트에 대해서 출입한 모든 패킷들을 기록하기도 한다. 이 때, 기록되는 패킷들은 별도의 기능없이 읽기만 가능하다.(Out of Path) 인라인과 비교했을 때, 샛길로 새는 느낌이 강하다. 사실 이 방식은 모니터링은 가능해도 별도의 보안 기능을 제공하지는 않는다. 전에 다루었던 센서의 기능을 하다고 봐도 된다. 솔직히 모니터링이 꼭 필요한 상황이 아니라면 패킷복사에 필요한 자원소모가 심해서 매력적이지는 않다. 그럼에도 보안 상태를 파악함에 있어서 유용하다.(그리고 센서에서 보았듯이 목적의 윤리성도 매우 중요하다!!)
이 것으로 글을 마무리한다. 개념적으로 이해가 갈지라도 더 자세하게 이해할려면 책을 한 번 볼 필요는 있을 것 같다.
반응형
'뭐라도 공부해보자!!( 이론 ) > 네트워크(공부한 것 정리하기)' 카테고리의 다른 글
네트워크 공부 5 일차 (0) | 2022.10.12 |
---|---|
네트워크 공부 4 일차 (0) | 2022.10.05 |
네트워크 공부 2일차 (1) | 2022.09.26 |
네트워크 공부 1 일차 (2) | 2022.09.20 |