[CS Study] 1주차 - 컴퓨터 네트워크의 기본 개념에 대해

bagt13·2025년 4월 6일
1

CS

목록 보기
15/27

🌐 인터넷과 프로토콜

인터넷이란?

전 세계 여러 컴퓨터를 하나로 연결하는 거대한 통신망(network)을 의미하는 개념으로, 클라이언트와 서버로 구성되며 TCP/IP 라는 기본 프로토콜을 통해 제공된다.

인터넷을 구성하는 요소들은 host, communication link, packet switch가 있다.


  • host : PC, 스마트폰, 서버 컴퓨터 등의 수많은 장치를 표현하는 개념이며 네트워크의 끝단에 위치한다고 해서 end systems라고도 부른다. 웹 브라우저, 앱 등의 응용 프로그램들이 이 end systems에서 돌아간다.

  • communication link : host들을 유/무선으로 연결해주는 것으로, 각 link들은 다른 전송률을 가진다.

  • packet switch : 라우터나 스위치를 뜻하는 것으로, packet을 전달하는 역할을 한다.


기본적인 데이터 전송 방식

특정 end-point에서 다른 end-point로 데이터를 보내고자 할때, 일반적으로 TCP/IP에서는 데이터를 세그먼트(segment) 로 나누고 각 세그먼트에 헤더(header)를 붙인다.

이렇게 만들어진 데이터 조각을 packet이라고 부른다. packet은 인터넷 상에서의 데이터 단위이며, 목적지에서 원래의 데이터로 다시 조립된다.

switch는 입력 통신 링크의 하나로, 도착하는 패킷을 받아 출력 통신 링크의 하나로 그 패킷을 전달한다. 패킷 switch의 종류로는 라우터와 스위치가 있다.



📨 TCP/IP란?

TCP의 기본 동작 방식

  • TCP 요청 client응답 server가 존재한다

  • TCP 통신 시, client(연결 시도하는곳)의 process가 통신을 위해 socket을 create/open 한다.

    • 이때, OS에서 socket에 TCP port번호를 부여한다.
  • server(연결 응답하는곳)에서는 기본적으로 80번 port를 create/open 하여 연결 대기(listen)한다.

  • 즉, TCP에서는 상대의 port번호를 알야야 연결 시도를 할 수 있다. (L4의 식별자는 port이기 때문이다)

  • 만일, server에서 요청 port를 열여두지 않은 상태라면, OS(kernel mode) 단에서 연결을 거부한다.


TCP의 연결 수립 및 해제

TCP protocol은 3-way handshaking을 통해 연결을 수립하고 4-way handshaking을 통해 해제한다.


TCP/IP 캡슐화와 비캡슐화

기본적으로 데이터 송수신은 분해 -> 전송 -> 조립 의 과정을 거친다.

분해는 송신 쪽에서, 조립은 수신 쪽에서 일어난다. 여기서의 분해란 Layer를 내려가며 데이터가 담기는 과정이기 때문에 Encapsulation, 조립은 반대로 Layer를 올라가며 조립된 데이터를 Frame -> Packet ... 순으로 꺼내기 때문에 Decapsulation이다.

분해라는 단어와 Encapsulation이라는 단어가 매치가 잘 안되지만, Segment를 여러개로 '분해'하여 Packet에 '담는(Encapsulation)' 과정이기 때문에 이렇게 부른다.



🌈 OSI 7 Layer

1 - 물리 계층 (Physical Layer)

주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송

1계층에서는 단지 데이터를 전달만 할 뿐, 전송하려는 데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않는다.

즉, 데이터 전기적인 신호로 변환해서 주고받는 기능만 할 뿐이다. 이 계층에 속하는 대표적인 장비는 통신 케이블, 리피터, 허브 등이 있다.

1계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보 전달을 수행할 수 있도록 도와주는 역할을 한다.

2계층에서는 맥 주소(MAC Address)를 가지고 통신하게 된다. 2계층에서 전송되는 단위를 프레임(Frame)이라고 하고, 대표적인 장비로는 브리지, 스위치 등이 있다.

즉, 브릿지나 스위치를 통해 MAC address를 이용해 물리계층에서 받은 정보를 전달한다.

3 - 네트워크 계층 (Network Layer) | IP, ARP 등

데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)을 한다.

3계층은 경로를 선택하고, 주소를 정하고, 경로에 따라 패킷을 전달해주는 것이 주 역할이다.

3계층의 대표적인 장비는 라우터이며, 요즘은 2계층의 장비 중 스위치에 라우팅 기능을 장착한 Layer 3 스위치도 있다.

4 - 전송 계층 (Transport Layer) | TCP, UDP 등

통신을 활성화하기 위한 계층이다. 보통 TCP 프로토콜을 이용하며, 포트를 열어서 응용 프로그램들이 전송을 할 수 있게 한다.

4계층까지는 물리적인 계층에 속하며, 만약 데이터가 왔다면 4계층에서 해당 데이터를 하나로 합쳐서 5계층에 던져준다.

전송 계층은 양 끝단(End to end)의 사용자들이 신뢰성 있는 데이터를 주고 받을 수 있도록 해주어, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해준다.

종단간(end-to-end) 통신을 다루는 최하위 계층으로 종단간 신뢰성 있고 효율적인 데이터를 전송하며, 오류 검출 및 복구와 흐름 제어, 중복 검사 등을 수행한다.

5 - 세션 계층 (Session Layer)

데이터가 통신하기 위한 논리적인 연결을 말한다. 통신을 하기위한 대문이라고 보면 된다.

세션 설정, 유지, 종료, 전송 중단시 복구 등의 기능이 있으며, 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공하며, TCP/IP 세션을 만들고 없애는 책임을 진다.

6 - 표현 계층 (Presentation Layer)

데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화 한다.

코드 간의 번역을 담당하여 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어준다.

  • MIME 인코딩이나 암호화 등의 동작이 이 계층에서 이루어진다.

    • ex) EBCDIC encoded 문서 파일을 ASCII encoded 파일로 바꿔 주는 것
  • 해당 데이터의 형식 구분(text, JPG 등)도 6계층의 몫이다.

7 - 응용 계층 (Application Layer)

최종 목적지로서 HTTP/FTP/SMTP/IMAP/Telnet 등과 같은 프로토콜이 있으며, 통신 패킷들은 이 프로토콜에 의해 모두 처리되고, 우리가 사용하는 브라우저나 메일 프로그램은 프로토콜을 보다 쉽게 사용하게 해주는 응용 프로그램이다.

즉, 모든 통신의 양 끝단은 HTTP와 같은 프로토콜이며, 응용프로그램이 아니다.


🚀 TCP / IP 4계층 모델

layerTCP/IP 4계층 모델주요 프로토콜역할
4층응용 계층HTTP, DNS, FTP...애플리케이션 통신
3층전송 계층TCP, UDP...IP와 애플리케이션을 중개하여
데이터 전달
2층인터넷 계층IP, ICMP, ARP...네트워크 주소를 기반으로 데이터 전송
1층네트워크 접근 계층Ethernet, wifi...컴퓨터를 물리적으로 네트워크에
연결해서 기기 간 전송이 가능하게 함

⚒️ 네트워크 장비와 역할

스위치(switch)와 라우터(router)

스위치 : 목적지로 출발한 데이터를 중간에 적합한 경로로 switching 해주는 역할을 한다.
스위치는 데이터링크 계층에 속하며, 따라서 MAC 주소를 기반으로 동작한다.

라우터 : 라우터 또한 목적지로 가는 적합한 경로를 찾아주는 routing 역할을 한다.
하지만 라우터는 네트워크 계층에 속하며, IP주소를 기반으로 동작한다.

스위치와 라우터의 차이점

  1. 먼저 계층의 차이가 존재한다.

  2. 스위치는 브로드캐스트 도메인을 구분할 수 없는 반면, 라우터는 브로드캐스트 도메인을 구분하여 서로 다른 네트워크 대역을 구분한다.

  3. 스위치는 불명확한 목적지를 가진 데이터를 처리할 때 모든 port로 데이터를 퍼뜨리는 broadcast를 하지만, 라우터는 해당 데이터를 버린다.


L2 / L3 / L7 스위치들에 대하여

L2 스위치

가장 흔히 볼 수 있는 스위치인 L2 스위치는 2계층(데이터 링크 계층)에서 작동하며, 보통 스위칭 기능이 있는 스위칭 허브를 사용한다.

스위칭 허브는 각 장비의 MAC 주소를 내부적으로 저장하고 있기 때문에, 들어온 패킷의 MAC 주소를 읽어 해당하는 장비를 찾아 전달해주는 장비를 뜻한다.

다른 방식에 비해 저렴하면서 성능은 높고 간단한 구조와 신뢰성이 높다는 장점이 있지만,
패킷에 의해 성능 저하가 발생하는(라우팅이 불가능한) 단점이 있다.

L3 스위치 (라우터, 공유기)

보통 3계층(네트워크 계층)은 라우팅 기능을 하는 층으로, 라우터는 네트워크 패킷을 연결해주는 통로 역할을 하며 대역폭 확장이 주 기능이다.

그래서 L2 스위치와 달리, L3 스위치는 MAC 주소뿐만 아니라 IP 주소까지 알고 있다.

즉 L3 스위치란 L2 스위치에 라우팅 기능이 추가된 장비로, 그렇기 때문에 고성능 하드웨어를 기초로 하며, 스위치 자체에도 IP 주소가 할당되어 있다.

L4 스위치

4계층(전송 계층)은 외부에서 들어오는 모든 요청을 먼저 받아들이는 계층이다.

L4 스위치는 요청들을 먼저 받아 내부의 서버들에게 적절히 분산시켜준다. 즉, L4 스위치의 주요 역할은 여러 대의 서버를 한 대처럼 묶을 수 있는 부하 분산(로드 밸런싱) 기능을 제공하는 것이다.

프로토콜을 기반으로 애플리케이션별로 우선 순위를 두어 스위칭을 하기 때문에, L4 스위치는 IP 주소뿐만 아니라 Port 정보도 참고한다.

L4 스위치는 하나의 서버가 죽어 서비스가 중단되는 경우 다른 서버로 해당 서비스를 대체하는 ACTIVE-ACTIVE / ACTIVE-STANDBY 기능도 한다.

L7 스위치

애플리케이션 영역인 7계층(응용 계층) 역시 4계층과 같이 스위치로 들어온 패킷을 적절한 서버로 전송해주는 로드 밸런싱을 위해 스위치를 사용하는데, L4 스위치와는 차이가 있다.

먼저, 3~4계층에 속하는 IP 주소 및 TCP/UDP Port 정보를 보고 스위칭하는 L4 스위치와 달리, L7 스위치의 경우 3~7계층에 속하는 IP 주소 및 TCP/UDP Port 정보, 패킷 내용까지 모두 보고 스위칭해주는 장비이다.

또한, L4 스위치의 경우 TCP/UDP Port를 이용하여 로드 밸런싱(트래픽 분산처리)을 하지만, L7 스위치의 경우 7계층 HTTP의 URL, FTP 쿠키 정보 및 바이러스 패턴을 분석하여 보안에 더 유리하고 정교한 로드 밸런싱이 가능하다(ex. Traffic filter, Security, VPN 등).

데이터 분석을 통해 DDoS 공격을 방어하기도 하고 감염 패킷 패터링 등의 기능도 제공하기 때문에, 이러한 점에서 L7 스위치를 보안 스위치라고 부르기도 한다.



📡 네트워크의 분류

네트워크는 반경, 속도를 기준으로 분류할 수 있으며 LAN, MAN, WAN 순으로 분류된다.

LAN (Local Area Network, 근거리 통신망)

보통 허브나 스위치로 연결된 소규모 네트워크(집/사무실)를 뜻하며, 하나의 논리적 주소인 IP를 기반으로 여러 개의 물리적 주소인 MAC 주소로 구별하는 네트워크이다.

  • MAN, WAN 보다 높은 안정성, 속도를 가지지만, 특정 지역에 국한된다.

  • 전송 매체 : 유선 매체로는 이더넷(Ethernet) 케이블이 주로 사용되며, 무선 기술로는 Wi-Fi가 사용된다.

  • 네트워크 매체를 이용하여 동일한 Subnet Mask, 다시 말해 같은 IP 대역을 사용하며 Address Resolution Protocol(ARP)가 닿는 네트워크 매체와 컴퓨터를 묶는 컴퓨터 네트워크이다.

    • 예를 들어 네트워크 매체에 연결된 컴퓨터들이 192.168.1.x/24의 IP를 사용하고 Subnet Mask가 일치한다면 이는 같은 LAN에 속해있다고 할 수 있다.

MAN (Metropolitan Area Network, 대도시 통신망)

도시와 도시의 통신망을 뜻하며 2개 이상의 LAN으로 연결되어 구성된다.

  • 설치 및 유지 비용이 LAN보다 높으며, 네트워크 관리가 복잡하다.

  • 라우터, 브리지 등으로 연결된다.

  • 여러 개의 LAN을 하나로 연결하여 통신하므로, 여러 지역 사이에서 데이터 및 자원을 공유할수 있다.

  • 전송 매체로는 광섬유(FDDI Fiber Distributed Digital Interface, SONET/SDH) 또는 동축 케이블이 사용된다.


WAN (Wide Area Network)

넓은 지리적 범위(국가 또는 대륙 간)를 커버하는 네트워크로, Internet 이라고 부르기도 한다.

  • 매우 넓은 범위의 커버리지, 다양한 위치에서의 연결 가능

  • 설치 및 유지 비용이 매우 높으며, 데이터 전송 속도가 비교적 느리고 네트워크 지연 시간이 증가할수 있다.

일반적으로 사용되는 프로토콜

frame-relay, PPP(지점 간 프로토콜), 고수준 데이터 링크 제어 프로토콜(HDLC), 동기식 데이터 링크 제어 프로토콜(SDLC) 등이 있다.

profile
백엔드 개발자입니다😄

0개의 댓글