CS_N_01

이정빈·2024년 1월 11일
0

CS스터디

목록 보기
6/10

오늘은 이제 두번째 CS 스터디의 주제인 컴퓨터 네트워크에 대해서 공부하고 모의 면접을 갖는 시간을 보내게 될텐데 그 전의 주제인 데이터베이스와는 다르게 공부하는 범위가 넓기 때문에 이를 고려하여 잘 구분해서 정리를 해야 할 것 같습니다 🥲

컴퓨터 네트워크는 무엇인가요?

우리는 사람과 사람의 관계, 사물과 사람과의 관계망을 표현할때 네트워크라는 말을 사용하게 되는데, 컴퓨터 네트워크는 여러 대의 컴퓨터가 연결되어 하나의 망을 형성해 데이터를 주고받는 것을 컴퓨터 네트워크라고 합니다.

컴퓨터 네트워크에서 데이터를 전송하는 방식에 대해 설명해주세요.

컴퓨터간의 네트워크를 형성하여 상호 데이터를 주고 받으려면 하나의 규칙을 먼저 알고 가야 합니다. 그것은 Packet입니다.

What is the Packet?
네트워크를 통해 전송되는 데이터의 작은 조각을 말합니다. 이 패킷을 통해서 큰 데이터가 있더라고 해도 작게 나누어서 보내는 게 규칙입니다. (작게 보내는 이유는 큰 데이터를 한번에 보내게 될 경우 Bandwidth(네트워크에서 이용 가능한 최대 전송 속도로 정보를 전송할 수 있는 단위 시간당 전송량)을 너무 많이 차지하여 다른 패킷의 흐름을 막을 수 있기 때문입니다.)

컴퓨터 네트워크에서 데이터를 전달하는 가장 기본적인 방식은 Packet Switching으로써, 데이터를 작은 단위인 패킷을 나누어 전송하는 방식입니다. 이 과정에서 TCP 혹은 UDP에 따라 데이터를 전송하는데, 데이터를 단순하게 전달하는 것은 Physical, Data-Link, Network Layers들로 처리를 할 수 있습니다. 하지만, 데이터가 전달되는 과정에서 발생할 수 있는 손실 등의 문제를 해결하기 위해 Transport Layer에서 TCP(Transmission Control Protocol)혹은 UDP(User Datagram Protocol)중 하나의 데이터를 보내는 방식을 선택하여 전송하게 됩니다.

  1. Unicasting
    이는 가장 기본적인 데이터 전송 방식으로, 한 장치에서 특정 다른 장치로 데이터를 전송하는 방식을 의미합니다. TC에서 주로 사용되며, 웹 브라우징, 이메일 전송 등에 사용됩니다.

  2. Broadcasting
    이는 네트워크 내의 모든 장치로 데이터를 전송하는 방식을 말합니다.

  3. Multicasting
    이는 한 장치에서 특정 그룹의 장치로 데이터를 전송하는 방식을 의미합니다. 이 방식은 특정 그룹에만 하는 특성에 의하여 IPTV나 비디어 컨퍼런스 등에서 사용됩니다.

  4. Anycasting
    한 장치에서 가장 가까운 장치로 데이터를 전송하는 방식을 말하고 특히 네트워크에서 효율적인 경로를 찾는데 사용됩니다.

⭐️ 프로토콜에 대해서 설명해주세요.

우리의 일상생활에서도 지켜야 하는 규칙이 있듯이, 네트워크에서도 문제없이 통신하기 위해서 만든 규칙(약속)을 Protocol이라고 합니다.

⭐️ OSI 7 Layer에 대해서 설명해주세요.

예전 컴퓨터가 발명이 되고 얼마되지 않은 시점에서 LAN을 통한 통신은 가능했지만, 다른 지역에 있는 컴퓨터들 즉, WAN을 통한 통신은 불가능 했기 때문에 공통으로 사용할 수 있는 표준을 만든 것이 OSI 모델이라는 것을 제정했습니다.

이러한 계층은 총 7개로 나위에 OSI 7 Layers 로 불리게 됩니다.

각 계층이 수행하는 역할을 각각 다른 역할을 하고 있습니다.

LayersNameexplanation
1 LayerPhysical Layer시스템 간의 물리적인 연결과 전기 신호를 변환 및 제어한다.
2 LayerData Link Layer네트워크 기기 간의 데이터 전송 및 물리 주소를 결정한다.
3 LayerNetwork Layer다른 네트워크와 통신하기 위한 경로 설정 및 논리 주소를 결정한다.
4 LayerTransport Layer신뢰할 수 있는 통신을 구현한다.
5 LayerSession Layer세션 체결, 통신 방식을 결정한다.
6 LayerPresentation Layer문자 코드, 압축, 암호화 등의 데이터를 변환한다.
7 LayerApplication Layer이메일 & 파일 전송, 웹 사이트 조회 등 어플에 대한 서비스를 제공한다.

각각은 이러한 역할을 맡고 있고, 데이터의 흐름은 아래 오는 사진을 통해서 알 수 있습니다.

데이터를 전달하기 위해 상위에서 하위로 전달하고 그렇게 전달된 데이터가 다시 하위에서 상위로 전달되어 가며 결과적으로 다른 컴퓨터에 데이터를 전송하게 되는 것 입니다. 각 계층은 독립적으로 존재하기 때문에 데이터가 전달되는 동안에 다른 계층에 영향을 받아 데이터가 손실되는 위험이 낮다고 생각 할 수 있습니다.

응, 표, 세, 전, 네, 데, 물!
이걸로 파파박 외워버리자!

⭐️ TCP/IP에 대해서 설명해주세요.

TCP/IP 모델은 그전의 OSI 7 Layers를 4단계로 바꿔 만들어진 개념이라고 볼 수 있습니다. 초기의 OSI의 모델을 조금 더 실전적으로 바꿔 4개의 계층으로 만들었습니다.

다양한 계층이 압축이 되어 표현이 되고 있다는 것을 알 수 있습니다.

응, 전, 인, 네!
이걸로 파파박 외워버리자!

OSI 7 Layer, TCP/IP 처럼 프로토콜을 계층화하는 이유가 뭘까요?

네트워크 모델에 대표적인 OSI 7 LayerTCP/IP와 같이 계층화를 하는 이유는 통신이 일어나는 과정을 단계별로 파악하기 용이하다.라는 이유에서 입니다. 조금 더 구체화를 시키면 아래와 같습니다.

1) 변경의 용이함
특정 레이어에서 신기술이 나오면 프로토콜 전체를 수정하지 않고도 해당 레이어의 상/하위 인터페이스를 유지한 채 해당 레이어를 변경함으로써 유지가 가능합니다.

2) 포괄성
통신 당사자가 다른 하드웨어나 소프트웨어를 사용한다 하더라도 주어진 레이어에서 같은 통신 프로토콜을 사용한다면 통신이 가능합니다.

3) 투명성
상위계층에서 하위계층으로 상세한 기술적인 면을 고려하지 않고도 사용자 입장에서는 하위계층의 복잡성이 있음에도 불구하고 쉽게 네트워크에 인터페이스를 할 수 있습니다.

컴퓨터 네트워크에서 캡슐화와 비캡슐화에 대해서 설명해주세요.

위 사진을 보면서 EncapsulationDe-encapsulation을 더 잘 이해 할 수 있습니다.

  • Encapsulation
    각 계층으로 넘어 갈수록 각 계층에 해당하는 헤더를 추가하여 다음 계층으로 넘기는 데이터 전송 방식을 말합니다. (응, 전, 네, 데, 물)
  • De-encapsulation
    캡슐화에 반대하여 캡슐화를 통해서 붙은 헤더를 제거해가면서 상위 계층에서 하위 계층으로 갔던 캡슐화와 달리 하위에서 상위 계층으로 이동하는 데이터 전달 방식입니다.(물, 데, 네, 전, 응)

NIC, 리피터, 리피터 허브에 대해서 설명해주세요.

NIC, REPEATER, REPEATER-HUB 이 세개의 장치 모두 물리적 계층에서 사용이되는 장치로써 Physical Layer가 뭔지 설명하고 들어 가겠습니다.

💡 Physical Layer
물리적 계층은 말 그대로의 해석을 통해서 이해를 할 수 있습니다. 해당 계층에서의 신호를 컴퓨터가 이해할 수 있는 이산신호로 바꾸는 작업을 하게 됩니다. 이때 신호의 종류는 Analog sign , Digital sign이 있습니다. 우선 아날로그의 경우에는 연속적인 형태의 파형을 띄고 있는 특징이 있고. 디지털 신호는 0과 1의 조합인 이진수로써 표현이 되기 때문에 비연속적인 파형을 가지고 있습니다.

NIC(Lan Card)

Physical Layer에서 이진수로 변환한 데이터의 값을 컴퓨터에 보내기 위한 전기 신호로 바꾸기 위해서 LAN CARD 안의 내부 랜카드를 통해 해당 신호를 변환하게 됩니다. 이때 이렇게 신호를 변환하는 장치를 랜카드 혹은 NIC라고 합니다.

REPEATER

리피터는 전기 신호를 정형(일그러진 신호를 복원)하고 증폭하는 기능을 가진 중계 장비를 말합니다. 이러한 REPEATER는 서로 다른 LAN으로 묶여있는 회사간의 장거리 통신을 돕는 장비입니다.

REPEATER HUB

리피터 허브는, 흔히 우리가 허브라고 부르는 장치를 말합니다. 기존의 REPEATER는 1:1 통신만이 가능했지만, 허브는 다양한 포트가 있어 여러대의 컴퓨터와 통신을 할 수 있습니다. 이 과정에서 허브는 특정 한 컴퓨터와 1:1 정보 교환을 할때 스스로 판단을 하고 전송하는 장치가 아니기 떄문에 더미 허브라는 별칭을 가지고 있습니다.

💡 ETHERNET
위에서 허브는 더미 허브라는 별칭을 가지고 있고, 그 이유는 원하는 컴퓨터와의 데이터 송수신이 아닌 다른 컴퓨터에도 같은 데이터를 전송하기 때문이라고 말씀드렸습니다. 이러한 단점을 우리는 특정 규칙으로 방지했습니다. 그것은 ETHERNET입니다.

  • 이더넷이란?
    이더넷은 간단하게 말하면, 네트워크 장비 같이 신호를 주고 받는 장비 사이의 규칙을 말합니다.
    이더넷을 통해 허브에서도 내 컴퓨터에 오려는 데이터가 아닌 경우에 그 데이터를 읽지 않고 무시하고 동시에 컴퓨터가 데이터를 전송하여도 충돌하지 않게끔 만들어 주는 구조를 가지고 있습니다. 위처럼 충돌하지 않게끔 하는 구조를 CSMA/CD라고 합니다. 현재에는 SWITCH로 많이 갈아탔습니다!

브리지에 대해서 설명해주세요.

브리지는 일반적으로 두 개의 네트워크 세그먼트를 연결하는 역할을 합니다. 세그먼트 연결이라 함은 특정 컴퓨터 간의 필요한 데이터를 교환하는 작업이라고 말할 수 있습니다. 위의 리피터와 브릿지는 같은 네트워크 장비로써의 역할을 하지만, 해당 장비는 Data-Link Layer에서 작동하며 리피터처럼 전기 신호를 정형하여 네트워크의 범위를 넓히는 것이 아닌 MAC 주소 테이블을 이용하여 특정 컴퓨터와의 데이터 교환을 가능하게 만듭니다.

🫰 MAC ADDRESS
앞서, Data-Link Layer에서 브리지는 MAC 주소 테이블을 이용하여 데이터 교환함에 있어 이점을 얻었다고 말씀을 드렸습니다. 여기서 MAC 주소는 NIC(Lan Card)가 제작되는 동시에 생성되는 물리 주소입니다. (해당 주소는 전 세계에서 유일한 번호입니다. 유일함을 계속 유지하도록 명확하게 규칙이 정해져 있다.) 이러한 MAC ADDRESS는 OSI 모델에서 헤더를 붙였다가 떼었다가 하는 캡슐화 방식이 아닌 TCP/IP 모델에서 네트워크 계층에 해당하는 프레임(이더넷 헤더와 트레일러)를 붙여 데이터를 전달합니다.

  • Ethernet header
    이러한 헤더는 목적지의 MAC Ads(6 bytes), 출발지 MAC Ads(6 bytes), 유형(2 bytes) 이렇게 총 14 bytes로 구성되어 있습니다. (여기서 유형은 이더넷으로 전송되는상위계층 Protocol 종류를 나타냅니다. 그리고 트레일러(FCS)는 패티리어티 비트 같이 데이터 전송 도중 오류가 발생하는지 확인하는 용도로 사용되는 신호입니다.)

L2 스위치에 대해서 설명해주세요.

L2 스위치는 Data-Link Layer에서 작동하는 장치로 Switching Hub라고도 부릅니다. 일반적인 허브와 비슷하게 생겼으나 MAC Ads tabl을 이용하여 MAC Ads 학습 기능을 이용하여 허브에 없는 해당 주소에 해당하는 장치에만 데이터를 보내는 장치입니다. 브릿지와 비슷하게 네트워크 장비이지만, 스위치는 더 넓은 범위에서 여러장치를 연결하여 사용할 수 있기 때문에 더 범용적으로 사용이 됩니다. 만약에 등록되지 않은 MAC 주소 같은 경우에는 등록하는 작업이 필요하기 때문에 그 순간에는 연결되어 있는 모든 기기에 전송이 됩니다. 이러한 현상을 Flooding이라고 합니다.

라우터에 대해서 설명해주세요.

RouterNetwork Layer에서 사용되는 장치입니다. 해당 장치를 설치하여 IP Address를 참조하여 데이터가 데이터를 교환하려는 PC의 IP Address까지 어떠한 경로로 가는 것이 좋은지 알려주는 역할을 하게 됩니다. 이렇게 데이터를 효율적으로 보내는 방법을 결정하는 과정을 Routing이라고 합니다.

L3 스위치에 대해서 설명해주세요.

L3 장치는 Network Layer에서 작동하는 장치로써, IP Address를 이용하여 패킷을 전송하는 목적지를 결정합니다. 또한 라우팅 기능을 가지고 있어 비슷한 기능을 하지만, 라우터 보다 우수한 성능을 가지고 있습니다.

L7 스위치에 대해서 설명해주세요.

L7 스위치는 Apllication Layer에서 동작하는 장치로써 패킷의 내용을 기반으로 패킷을 전송하는 목적지를 정합니다. 이를 통해 복잡한 Network 환경에서 더욱 정교한 트래픽 관리 등을 용이하게 할 수 있습니다.

LAN과 WAN에 대해서 설명해주세요.

네트워크의 범위를 말할때 접속할 수 있는 범위에 따라 크게 두 가지의 종류로 나눌 수 있습니다. 그 중 LAN(Local Area Network)은 건물 안이나 특정 지역을 범위로 하는 네트워크를 말합니다. 가정이나 빌딩 안에 있는 사무실 같이 지리적으로 제한된 곳에서 컴퓨터와 프린터기를 연결할 수 있는 네트워크 입니다. 이러한 LAN은 범위가 좁은 만큼 신호가 약해지거나 오류가 발생할 확률이 낮습니다. 또한 좁은 지역에 데이터를 처리하는 만큼 속도도 빠르다는 장점이 있습니다.

WAN(Wide Area Network)은 지리적으로 넓은 범위에 구축된 네트워크입니다. ISP(SKT, KT, LG , etc ...)를 통해서 서로 떨어져 있는 위치의 LAN과 LAN을 연결하는 것이라고 생각할 수 있습니다. WAN은 LAN에 비해 오류가 발생할 확률이 상대적으로 높아지게 되고 속도도 상대적을 느리다고 할 수 있습니다.

references
1. 모두의 네트워크
2. Factors why we split into various layers
3.Details why we strticfied them

profile
백엔드 화이팅 :)

0개의 댓글