<관련 포스팅>
[네트워크 IP] IP 기반 통신(ARP, 게이트웨이)
[네트워크 IP] DHCP, NAT

IPv4 와 IPv6

  • IP 주소는 IPv4와 IPv6로 나뉨
  • 추세는 v6로 가고 있지만 현재 가장 많이 쓰이고 있는 주소 체계는 v4임
    (아래 설명도 모두 v4 기준)
  IPv4 IPv6
단위 32bit를 8bit 단위로 나눔 64bit를 16bit 단위로 나눔
예시 123.45.67.89 2001:db8::ff00:42:8329

 


클래스 기반 할당 방식(classful network addressing)

클래스 기반 할당 방식이란

https://dad-rock.tistory.com/225

  • 초기 IP 주소 체계는 다섯 개의 클래스로 구분하는 클래스 기반 할당 방식을 사용함
  • 앞부분은 네트워크 주소, 뒷부분은 컴퓨터에 부여하는 호스트 주소
  • A, B, C 클래스는 일대일 통신, D클래스는 멀티캐스트 통신을 위해 사용됨
  • E클래스는 미래를 대비한 예비용으로 남겨두었지만, IPv6가 등장하며 쓸모가 없어짐

 

구분 비트를 통한 클래스 구분

https://forum.huawei.com/enterprise/en/classes-of-ip-address/thread/706443-861

  • 가장 왼쪽에 있는 “구분 비트” 를 통해 클래스 간의 IP가 나눠짐
  • A클래스의 경우 첫 8bit가 00000000 ~ 01111111까지 표현 가능하고, (0~127)
    B클래스의 경우 첫 8bit가 10000000 ~ 10111111까지 표현 가능한 것 (128~191)

 

클래스 기반 할당 방식의 단점

  • 네트워크의 첫 번째 주소는 네트워크 주소로, 가장 마지막 주소는 브로드캐스트용 주소로 사용됨
  • 즉 12.0.0.0과 12.255.255.255를 제외한 12.0.0.1 ~ 12.255.255.254까지만 호스트 주소로 사용됨
  • 그러나 이 방식은 사용하는 주소보다 낭비되는 주소가 많다는 단점이 존재

⇒ DHCP, IPv6, NAT/서브네팅, 슈퍼네팅이 등장

 

클래스별 주소 차지 비중

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=skyjjw79&logNo=220826881508

  • 전체 주소 비율의 50%는 A클래스가, 25%는 B클래스가… 사용
  • 너무 큰 브로드캐스트 도메인패킷 전송을 느리게하고 성능저하를 발생

 


네트워크 마스크

넷마스크(Net mask)

  • 네트워크 주소 부분의 bit를 1로 치환한 것
  • IP 주소와 넷마스크를 AND 연산하면 네트워크 주소를 얻을 수 있음

 

기본 서브넷 마스크(Default Subnet mask)

  • 별개의 서브넷 마스크를 생성하지 않아도 기본적으로 적용되어 있는 서브넷 마스크
  • 클래스 체계에 의해 기본적으로 네트워크를 나누기 위한 개념
  • 디폴트 마스크도 서브넷마스크라 하며, 최근에는 크게 구분을 두지 않음
  • 192.168.3.19/24와 같이 IP 주소 뒤에 붙는 것은 /{마스크에서 1인 bit의 수}
    • 네트워크 ID: 192.1698.3.0
    • 서브넷 마스크: 255.255.255.0

 

CIDR(Classless Inter-Domain Routing)

  • 클래스 없는 도메인간 라우팅 기법이라는 뜻을 내포함
  • 클래스에 국한되지 않고 주소를 더욱 능동적으로 사용할 수 있도록 할당하는 방식
  • 서브넷팅, 슈퍼넷팅은 CIDR의 일환

 


서브넷팅(Subnetting)

서브넷팅이란

  • 서브넷: IP 주소에서 네트워크 영역을 부분적으로 나눈 부분 네트워크
  • 이런 서브넷을 만들때 사용되는 것이 서브넷 마스크
  • 네트워크 성능을 향상시키기 위해 자원을 효율적으로 분배하는 것서브넷팅
  • 여기서 자원을 효율적으로 분배한다는 것은 네트워크 영역과 호스트 영역을 분할 하는 것

 

서브넷 마스크(Subnet mask)

  • Host Number를 Subnet Number와 서브넷 안에서 식별되는 Host Number로 재분리
  • 낭비되는 호스트들의 비효율성을 해결하도록 서브넷팅을 위해 사용함

 

서브넷/디폴트/슈퍼넷 비교

  • 서브넷/슈퍼넷도 하나의 네트워크임
  • 슈퍼넷은 여러 작은 서브넷을 합친 것으로, 서브넷의 반대의 개념
  • 필요한 라우터의 개수를 줄이기 위해 사용

 


References

<관련 포스팅>
[네트워크 IP] IP 주소 체계(클래스 기반 할당 방식, 서브넷 마스크
[네트워크 IP] DHCP, NAT

ARP

ARP(Address Resolution Protocol)와 RARP(Reverse ARP)

  • 컴퓨터와 컴퓨터 간의 통신은 정확히 얘기하면 IP 주소 기반이 아니라 MAC 주소 기반
  • ARP란 IP와 MAC 주소의 다리 역할을 하는 프로토콜로, 가상 주소인 IP 주소를 실제 주소인 MAC주소로 변환함
  • 이와 반대로 RARP를 통해 실제 주소인 MAC 주소를 가상 주소인 IP 주소로 변환하기도 함

 

ARP의 주소를 찾는 과정

  1. ARP Request 브로드캐스트를 보내 구하고자 하는 IP 주소를 모든 호스트에게 전송
  2. 그에 해당하는 장치가 ARP Replay 유니캐스트를 통해 자신의 MAC주소를 반환

 


홉바이홉과 라우팅

홉바이홉 통신이란

  • IP 주소를 통해 통신하는 과정을 홉바이홉 통신이라고 함
  • 홉(hop)이란 영어 뜻 자체로는 건너뛰는 모습을 의미
  • 통신망에서 각 패킷이 여러 개의 라우터를 건너가는 모습을 비유적으로 표현한 것

 

라우팅 테이블

  • 라우팅 테이블은 송신지에서 수신지까지 도달하기 위해 사용됨
  • 목적지에 도달하기 위해 거쳐야할 다음 라우터의 정보를 리스트로 저장
    • Network Address(Destination)
    • Interface
    • NHA(Next Hop Address)
  • netstat -r 명령어를 통해 라우팅 테이블을 확인할 수 있음

 


게이트웨이

게이트웨이란

  • 사용자가 다른 네트워크와 통신하기 위해 반드시 거쳐야 하는 거점을 의미
  • 사전적으로는 ‘관문’이나 ‘출입구’라는 의미로, 고속도로의 톨게이트에 비유할 수 있음
  • 서로 다른 네트워크 상의 통신 프로토콜을 변환해주는 역할도 함
  • 라우터와 동일한 개념으로 이해할 수 있지만, 게이트웨이가 더 포괄적임
  • 컴퓨터가 통신을 위해 고유한 IP 주소를 할당하듯이, 게이트웨이에도 고유한 IP 주소가 필요

 

일상 속의 게이트웨이

  • 인터넷 유무선 공유기가 우리가 만나게되는 첫번째 게이트웨이
  • 사용자가 속해 있는 로컬 네트워크의 통신 프로토콜과 인터넷의 통신 프로토콜이 다르기 때문
  • 참고로 공유기는 게이트웨이, 라우터, 방화벽 등의 역할을 동시에 제공함

 

홉 카운트(hop count)

  • 컴퓨터에서 목적지 네트워크까지 도달하기까지 여러 개의 게이트웨이를 거침
  • 톨게이트의 요금 부과와 같이, 게이트웨이를 거칠 때마다 네트워크 부하도 증가하여 전송 속도가 느려질 수 있음
  • 이때 거치는 게이트웨이의 수를 홉 카운트라고 함

 

기본 게이트웨이(default gateway)

  • 게이트웨이는 필요에 따라 여러 개를 설정, 사용할 수 있음
  • 여러 게이트웨이 중에 기본으로 통과하는 것을 의미
  • 기업에서 보안 상의 이유로 인터넷 망과 사내 망을 분리했다면 게이트웨이가 각각 존재함
    (이런 경우 기본 게이트웨이를 인터넷 망용 게이트웨이로 설정하는 것이 일반적)
  • 사내 네트워크에 접근하고자 하는 경우, 사용자 컴퓨터에 저장된 라우팅 테이블을 참고하여 사내 네트워크용 게이트웨이를 거쳐 접근하게 됨
  • 그 외에의 경우, 모두 기본 게이트웨이인 인터넷 망용 게이트웨이를 타고 나감

 


프록시 서버

프록시란

  • 클라이언트와 서버 사이에 위치하여 그들의 HTTP 메세지를 정리하는 중개인의 역할
  • 클라이언트에게는 프록시가 서버고, 서버에게는 프록시가 클라이언트임
  • 즉 프록시는 양쪽 규칙을 잘 따라야 함

 

게이트웨이와의 차이점

  • 프록시는 HTTP 메세지만을, 게이트웨이는 HTTP나 POP등 서로 다른 프로토콜을 중계함
  • 프록시는 허용된 네트워크만 통과할 수 있지만 게이트웨이는 이러한 필터링 기능이 없음
  • 시용 목적
    • 프록시: 네트워크 캐싱, 특정 웹 사이트 액세스 방지, 보안 방화벽, 웹 캐시 문서 접근
    • 게이트웨이: 서로 다른 프로토콜과 애플리케이션 간의 통신을 통해 여러 종류의 리소스를 받아오기 위해 사용

 


References

<관련 포스팅>
[네트워크 계층 모델] TCP/IP 4계층
[네트워크] TCP/UDP 차이(3, 4-way handshaking)
[네트워크] OSI 7계층 기기(허브, 브리지, 스위치, 라우터)

OSI

정의

  • OSI(Open System Interconnection)
  • 개방형 시스템 상호 연결 모델의 표준
  • 네트워크 통신에서 일어나는 과정을 7단계로 나눈 것
  • 7단계로 정의한 이유
    • 통신이 일어나는 과정을 단계별로 파악하기 위함
    • 장애가 발생할 경우 다른 단계의 장비 및 SW를 건드리지 않고 해당 단계에서 해결하기 위함

 

왜 TCP/IP를 주로 사용할까?

  • OSI 모델이 TCP/IP모델 이후에 나타났고, 많은 전문가들은 해당 모델로 대체될 것이라 생각했음
  • 그러나 TCP/IP가 완전히 자리잡은 후 완성되었기 때문에, 다른 모델로의 변경은 많은 비용이 필요했음
  • OSI가 구현되었을 때 충분히 높은 성능을 보여주지 못했음

 


계층 구조

캡슐화, 비캡슐화에 관해서는 TCP/IP 포스팅을 참고

응용 계층

  • 사용자와 가장 밀접한 계층으로, 응용 프로세스 간의 정보 교환을 담당
  • EX) 전자메일, 크롬, 동영상 플레이어 등
  • HTTP, FTP, DNS 등이 이에 속함

 

표현 계층

  • 데이터를 어떻게 표현할지 정하는 계층
  • 애플리케이션이 소비할 수 있도록 데이터를 presentation함
  • 데이터의 변환, 암호화, 압축을 담당
  • JPEG, MPEG 등이 이에 속함

 

세션 계층

  • 데이터가 통신하기 위한 논리적 연결을 담당(두 기기 사이의 통신을 시작하고 종료)
    • 통신이 시작될 때부터 종료될 때까지의 시간을 세션이라고 함
    • TCP/IP 세션 체결, 포트번호를 기반으로 통신 세션 구성
  • 연결 세선에서 데이터 교환과 에러 발생 시의 복구를 관리
  • API, Socket이 이에 속함

 

전송 계층

  • 데이터 단위: Segment(실질적인 데이터 전송을 위해 일정 크기로 나눈 것)
    전송 주소: Port
  • 통신 노드 간의 연결 제어 및 신뢰성 있는 자료 송수신을 담당
  • 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어, 오류 제어를 제공
    • 흐름 제어: 수신 측 버퍼의 오버플로우를 방지하는 것(빠른 컴퓨터 → 느린 프린터)
  • TCP, UDP 프로토콜을 통해 통신을 활성화

 

네트워크 계층

  • 데이터 단위: Packet
    전송 주소: IP
  • 라우팅 기능을 맡고 있으며, 여러 개의 노드를 거칠 때마다 최적의 경로를 탐색하여 목적지까지 가장 안전하고 빠르게 데이터를 보냄
  • 두 장치가 동일한 네트워크에 있는 경우에는 네트워크 계층이 필요하지 않음
  • 흐름제어, 세그멘테이션 오류 제어 등을 수행
  • 장비로는 라우터, L3 스위치가 있음

 

데이터 링크 계층

  • 데이터 단위: Frame(데이터 전송을 하기 전 패킷 헤더에 MAC 주소와 오류 검출을 위한 부분을 첨부)
    전송 주소: MAC
  • 물리적인 연결을 통해 인접한 두 장치 간의 신뢰성 있는 정보 전송을 담당(P2P)
  • 동일한 네트워크에 있는 두 개의 장치 간 데이터 전송을 용이하게 함
  • 인트라 네트워크 통신에서 흐름 제어 및 오류 제어를 담당 (전송 계층은 네트워크 간 통신에 대해서만 흐름 제어 및 오류 제어만을 담당함)
  • 장비로는 브리지, 스위치가 있음

 

물리 계층

  • 주로 전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송
  • 0과 1의 비트열, 즉 전기적 신호 상태로 이루어져 해당 계층은 단지 데이터를 전달할 뿐 알고리즘, 오류제어 등의 기능은 없음
  • 장비로는 케이블, 리피터, 허브가 있음

 


References

<관련 포스팅>
[네트워크 계층 모델] OSI 7계층
[네트워크] TCP/UDP 차이(3, 4-way handshaking)
[네트워크] OSI 7계층 기기(허브, 브리지, 스위치, 라우터)

TCP/IP

정의

  • TCP(Transmission Control Protocol)
    • 패킷을 정상적으로 받을 수 있도록 하는 프로토콜
    • 패킷 전달 여부를 보증하고, 패킷을 송신 순서대로 받게 해줌
  • IP(Internet Protocol)
    • 패킷 데이터를 특정 목적지 주소로 최대한 빨리 보내는 프로토콜
    • 패킷 전달 여부를 보증하지 않으며, 패킷을 보낸 순서와 받는 순서가 다를 수 있음
  • TCP/IP
    • 두 가지 프로토콜 방식을 조합하여 인터넷 통신을 하는 것
    • IP를 사용하여 송신자가 최대한 빠르게 패킷을 전송하면 TCP를 활용해 정상적으로 수신받음

 

특징

  • ARPANET이 개발된 이후 인터넷의 발전 과정에서 대부분의 데이터 통신이 TCP/IP로 이루어짐
  • 이를 이용해서 컴퓨터를 연결하는 체계를 이더넷(Ethernet)이라 부름

 


계층 구조

  • 네트워크에서 사용되는 통신 프로토콜의 집합으로, 4개의 추상화 계층으로 구성됨
  • 계층 구조는 서로의 영향을 받지 않도록 독립적으로 설계
  • 다른 계층끼리는 전달 과정을 구체적으로 알 필요가 없어 데이터의 캡슐화와 은닉이 가능

 

애플리케이션 계층

  • 데이터 단위(PDU): Data/Message
  • 웹 서비스, 이메일 등 사용자와 가장 가까운 계층으로, 사용자가 SW 애플리케이션과 소통할 수 있게 해줌
  • FTP, HTTP, SSH, SMTP, DNS 등의 응용 프로그램이 사용되는 프로토콜 계층

 

전송 계층

  • 데이터 단위: Segment(실질적인 데이터 전송을 위해 일정 크기로 나눈 것)
    전송 주소: Port
  • 통신 노드 간의 연결 제어 및 신뢰성 있는 자료 송수신을 담당
  • 역캡슐화 과정에서, 데이터가 목적지 기기까지 정상적으로 도착한 후 전송 계층에서 포트 번호를 사용해 목적지 기기 내 적절한 애플리케이션으로 전달
  • 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어, 혼잡 제어를 제공
    • 흐름 제어: 보내는 측과 받는 측의 데이터 처리속도 차이를 조절해주는 것(수신 측 버퍼의 오버플로우를 방지)
    • 혼잡 제어: 네트워크 내의 패킷 수가 넘치게 증가하지 않도록 방지하는 것
  • TCP, UDP 프로토콜을 통해 통신을 활성화

 

인터넷 계층

  • 데이터 단위: Packet
    전송 주소: IP
  • 패킷을 최종 목적지까지 라우팅하는 계층(경로 설정)
  • 상대방이 제대로 받았는지에 대해 보장하지 않는 비연결형적인 특징
  • 출발지와 목적지의 논리적 주소를 지정하여 데이터를 패킷 단위로 전달
  • IP, ARP, ICMP 등이 있음

 

링크 계층/네트워크 접근 계층

  • 데이터 단위: Frame(데이터 전송을 하기 전 패킷 헤더에 MAC 주소와 오류 검출을 위한 부분을 첨부)
    전송 주소: MAC
  • 데이터를 전기 신호로 변환한 뒤, 물리적 주소인 MAC 주소를 사용해 알맞은 기기로 데이터를 전달하는 계층
  • 링크 계층을 물리적 계층과 데이터 링크 계층으로 나눠 총 5 계층으로 나누기도 함
    • 물리적 계층(Physical Layer): 하드웨어적 측면의 기능을 담당하며, 무선 LAN과 유선 LAN을 통해 0과 1로 이루어진 데이터를 보내는 계층
    • 데이터 계층(Data Link Layer): 네트워크 간의 데이터 전송을 담당하며, ‘이더넷 프레임’을 통해 에러 확인, 흐름 제어, 접근 제어를 담당하는 계층

 

이더넷 프레임

  • 데이터 링크 계층은 이더넷 프레임을 통해 전달받은 데이터의 에러를 검출하고 캡슐화하며 다음과 같은 구조를 가짐

 


계층 간 송수신 과정

 

  • 애플리케이션 계층에서 전송 계층으로 송신자의 요청 값들이 캡슐화 과정을 거쳐 전달
  • 해당 서버의 링크 계층으로부터 애플리케이션까지 비캡슐화 과정을 거쳐 데이터가 전송됨

 

캡슐화 과정

 

  • 상위 계층의 헤더와 데이터를 하위 계층의 데이터 부분에 포함시키고 해당 계층의 헤더를 삽입하는 과정
  • 애플리케이션 계층의 데이터가 전송 계층으로 전달되면서 ‘세그먼트’ 또는 ‘데이터그램’화 되며 TCP(L4) 헤더가 붙여짐
  • 인터넷 계층으로 가며 IP(L3) 헤더가 붙여지게 되며 ‘패킷’화됨
  • 링크 계층으로 전달되며 프레임 헤더와 프레임 트레일러가 붙어 ‘프레임’화가 됨

 

비캡슐화 과정

  • 하위 계층에서 상위 계층으로 가며 각 계층의 헤더 부분을 제거하는 과정
  • 링크 계층에서부터 타고 올라오며 프레임화된 데이터는 다시 패킷화를 거쳐 세그먼트, 데이터그램화를 거쳐 메시지화가 됨
  • 이후 최종적으로 사용자에게 애플리케이션의 PDU인 메시지로 전달

 

PDU

  • 계층 간에 데이터가 전달될 때 한 덩어리의 단위를 PDU(Protocol Data Unit)이라고 함
  • 제어 관련 정보들이 포함된 ‘헤더’, 데이터를 의미하는 ‘페이로드’로 구성되어 있으며 계층마다 부르는 명칭이 다름
    • 애플리케이션 계층: 메시지
    • 전송 계층: 세그먼트(TCP), 데이터그램(UDP)
    • 인터넷 계층: 패킷
    • 링크 계층: 프레임(데이터 링크 계층), 비트(물리 계층)
  • 비트로 송수신하는 것이 모든 PDU 중 가장 빠르고 효율성이 높음
  • 애플리케이션 계층에서는 헤더에 authorization값 등 다른 값을 넣는 확장이 쉽기 때문에 문자열을 기반으로 송수신함

 


References

개요

정의

  • 노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결 형태를 의미
  • 네트워크의 구조라고도 하며, 병목 현상을 찾을 때 중요한 기준이 됨
  • 물리적 토폴로지와 논리적 토폴로지로 구분됨
    • 물리적 토폴로지: 노드, 링크와 같은 네트워크를 구성하는 요소들의 배치에 의해 결정됨
    • 논리적 토폴로지: 노드들 사이의 데이터 흐름에 따라 결정됨

 

병목 현상

  • 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상
  • 병의 몸통보다 목 부분이 좁아서 물이 상대적으로 천천히 쏟아지는 것에 비유할 수 있음
  • 서비스에서 이벤트를 열었을 때 트래픽이 많이 생기고, 그 트래픽을 잘 관리하지 못하면 병목 현상 발생함

대역폭을 크게 설정했음에도 성능이 개선되지 않아 지연 시간이 발생하고 있음
서버와 서버 간, 그리고 게이트웨이로 이어지는 회선을 추가해 병목 현상을 해결

⇒ 네트워크가 어떤 토폴로지를 갖는지, 또한 어떠한 경로로 이루어져 있는지를 알아야 병목 현상을 올바르게 해결할 수 있음

 


토폴로지 종류

트리(tree) 토폴로지

  • 계층형 토폴로지라고 하며, 트리 형태로 배치한 네트워크 구성
  • 장점
    • 노드의 추가, 삭제가 쉬움
    • 장애 경우에도 각각의 가지에 개별적으로 접근할 수 있어 해결이 비교적 쉬움
  • 단점
    • 특정 노드에 트래픽이 집중될 때 하위 노드에 영향을 끼칠 수 있음(병목 현상)
    • 계층 구조의 복잡성과 네트워크 배치의 선형 구조로 인해 노드가 많아질수록 관리가 어려움

 

버스(bus) 토폴로지

  • 중앙 통신 회선 하나에 여러 개의 노드가 연결된 형태로, 노드의 신호가 전체에 전달됨
  • 소규모 네트워크에 적합하여 근거리 통신망(LAN)에서 사용
  • 장점
    • 중앙 통신 회선에 노드를 추가나 삭제가 쉬우며 설치 비용이 적음
    • 특정 노드의 장애가 다른 노드에 영향을 주지 않음
  • 단점
    • 공통배선의 대역폭을 공유하기 때문에 노드 수가 증가하면 배선의 트래픽이 증가하여 네트워크 성능이 저하됨
    • 장애 발생 시 위치 추적이 어려움
    • 스푸핑이 가능함
더보기
  • 스위칭 기능을 마비시키거나 속여서 특정 노드에 해당 패킷이 오도록 처리하는 것
  • MAC, IP, DNS 주소 등 다양한 시스템 권한을 악용하여 해킹함

 

스타(star) 토폴로지

  • 중앙에 있는 허브/스위치에 모두 연결된 네트워크 구성
  • LAN에서 가장 많이 사용되는 형태
  • 장점
    • 한 장소에서 전체 네트워크를 편리하게 관리할 수 있음
    • 장애 발생 시 나머지 네트워크는 영향을 받지 않고 쉽게 찾을 수 있음
    • 노드를 추가/삭제하기 쉽고 패킷의 충돌 발생 가능성이 적음
  • 단점
    • 중앙 노드에 장애가 발생하면 전체 네트워크가 마비
    • 네트워크의 전체적 대역폭과 성능이 중앙 노드의 설정과 기술적 사양에 의해 제한되어 설정비와 운영비가 높음

 

링형(ring) 토폴로지

  • 전체적으로 고리처럼 하나의 연속된 길을 통해 통신을 하는 방식
  • 장점
    • 한 번에 하나의 노드에서만 데이터를 전송할 수 있기 때문에 충돌 가능성이 적음
    • 노드들이 점대점으로 얽혀있어 장애를 쉽게 발견할 수 있음
  • 단점
    • 네트워크 안의 모든 장치가 대역폭을 공유하므로 장치 추가 시 통신 지연이 일어날 수 있음
    • 노드를 추가/삭제하기 위해서는 전체 네트워크를 중단해야 함
    • 데이터가 한 방향으로 흐르기 때문에 장애가 발생하면 전체 네트워크가 중단될 수 있음

 

메시(mesh) 포톨로지

  • 망형 토폴로지라고도 하며, 그물망처럼 연결되어 있는 구조
  • 완전연결형과 부분연결형이 있음
  • 주로 WAN에서 자주 사용되는 형태
  • 장점
    • 여러 개의 경로가 존재하므로 장애에 강하며 트래픽 분산 처리가 가능
    • 안정성과 보안성이 뛰어남
  • 단점
    • 노드의 추가가 어려움
    • 구축 비용과 운용 비용이 고가임

References

허브(Hub)

  • 여러 대의 디바이스를 연결해 네트워크를 만들어주는 장비
  • 단순히 분배 중계기로, 보내려는 목적지뿐 아니라 모든 호스트에게 데이터를 전송
  • 장점
    • 멀티 포트 기능(허브가 없다면 디바이스는 1-1로만 연결 가능)
    • 전기적인 신호를 증폭시켜 들어온 데이터를 재전송 → LAN의 전송거리를 연장
  • 단점
    • 충돌(Collision)이 많이 발생해 하나의 허브에는 많은 디바이스를 연결할 수 없음
    • 대역폭이 낭비될 수 있고, 보안성 또한 떨어짐

 

스위치(Switch)

  • 허브의 충돌 문제를 해결하기 위해 물리적으로 Collision Domain을 나눠주는 장비임
  • MAC 주소를 테이블에 기록하여 특정한 호스트에게 데이터를 보낼 수 있음
  • 단, 테이블에 없는 주소가 들어올 경우 허브와 동일하게 동작(연결된 모든 장치에 포워딩)
  • 장점
    • 대역폭 낭비를 줄이고 트래픽이 훨씬 효율적임
    • 데이터의 전송 에러 등을 복구해주는 기능을 가짐
  • 단점
    • 허브와 스위치는 MAC 주소만 읽을 수 있을 뿐 IP주소는 읽지 못함
    • 즉, 외부 네트워크와 통신하지 못함

 

라우터(Router)

  • 정보를 주고받을 때 패킷에 담긴 수신처의 주소를 읽고 IP주소를 바탕으로 외부 네트워크로 데이터를 전달하는 장치
  • 장점
    • 가장 효율적인 경로를 선택하여 전달
    • 전체 네트워크의 성능을 개선하고 대규모 통신망을 쉽게 구성할 수 있음
    • 표준 논리에 따라 통신 방법이 정의되기 때문에 유지보수가 용이함
  • 단점
    • 초기 환경 설정에 대한 어려움
    • 하위 프로토콜 지원이 불가능하고 기능이 복잡하므로 가격이 비쌈

⇒ 네트워크의 기본 출입구를 설정하는 것으로, 기본 게이트웨이(default gateway)라고 함

 

게이트웨이(Gateway)

  • 한 네트워크에서 다른 네트워크로 이동하기 위해 거쳐야하는 지점
  • 자동차가 고속도로에 진입하기 위해 통과하는 톨게이트와 유사한 개념
  • 두 컴퓨터가 네트워크 상에서 연결되기 위해서는 동일한 통신 프로토콜을 사용해야 함
  • 프로토콜이 다른 네트워크 상의 컴퓨터와 통신하기 위해서는 프로토콜 변환이 필요
    → 게이트웨이가 변환기 역할을 수행
  • 공유기는 게이트웨이의 역할과 라우터, 방화벽의 역할을 동시에 제공하는 종합 네트워크 장비

 


References

 

네트워크 구성

네트워크란

  • 노드와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합을 의미
    • 노드: 컴퓨터, 서버, 라우터, 스위치 등 네트워크 장치
    • 링크: 노드 사이의 패킷을 전달하기 위한 물리적인 통신경로(유선 또는 무선)
    • 엣지: 링크 중에서도 다른 네트워크와의 경계선에 있는 부분, 단말의 가장자리에 있는 부분
  • 좋은 네트워크란 많은 처리량을 처리할 수 있으며, 지연시간이 짧고, 장애 빈도가 적으며, 좋은 보안을 갖춘 네크워크를 말함

 

연결 방식

 

a. P2P(Point-to-Point) 방식

b. 다중 접속(Multiple-Access) 방식

 

 

 

 

 

 

 


처리량과 지연시간

처리량(throughoutput)

  • 링크를 통해 전달되는 단위 시간당 데이터양
  • 단위로는 bps(bits per second)를 사용
  • 사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 장치의 하드웨어 스펙에 영향을 받음
    • 대역폭: 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수

 

지연시간(latency)

  • 요청이 처리되는 시간
  • 어떤 메세지가 두 장치 사이를 왕복하는 데 걸린 시간
  • 지연 시간은 매체 타입(무선, 유선), 패킷 크기, 라우터의 패킷 처리 시간에 영향을 받음

 


네트워크 분류

분류 기준

  • 네트워크의 규모를 기반으로 분류
    • 사무실과 개인적으로 소유 가능한 규모인 LAN
    • 서울시 등 시 정도의 규모인 MAN
    • 세계 규모의 WAN
  • 각 영역 안에서 발생하는 데이터 트래픽을 더 효율적으로 처리하기 위해 분류함

 

LAN(Local Area Network) - 학교

  • 근거리 통신망을 의미하며, 작게는 PC와 프린터, 넓게는 캠퍼스 같은 좁은 공간에서 운영됨
  • 전송 속도가 빠르고 혼잡하지 않음
  • LAN을 통해 연결된 사무실에서 프린터, FAX, 하드 디스크 등의 하드웨어/소프트웨어 리소스를 하나의 플랫폼에 그대로 공유할 수 있으므로 비용 효율적
  • 단일 케이블에서 작동하므로 결함 발생 시 전체 네트워크가 멈춤

 

MAN(Metropolitan Area Network) - 도시

  • 대도시 지역 네트워크를 나타내며 도시같은 넓은 지역에서 운영됨
  • 전송 속도는 평균이며 LAN보다는 좀 더 혼잡함

 

WAN(World Area Network) - 인공위성

  • 광역 네트워크를 의미하며 국가 또는 대륙같은 더 넓은 지역에서 운영됨
  • 전송 속도는 낮으며 MAN보다 더 혼잡함

 

비교

  • WAN > MAN > LAN > HAN > PAN > BAN
    • HAN: Home
    • PAN: Personal - 블루투스
    • BAN: Body - 심장박동 측정 기기
  • LAN은 호스트들을, WAN은 스위치/라우터/모뎀과 같은 디바이스들 연결
  • LAN은 주로 프라이빗하게, WAN은 조직 단위로 사용됨

 


네트워크 프로토콜 표준화

네트워크 프로토콜

  • 프로토콜이란 “여러 컴퓨터나 단말기 사이에서 데이터 통신을 원활하게 하기 위해 필요한 통신 규약”임
  • 다른 장치들끼리 데이터를 주고받기 위해 설정된 공통된 인터페이스로, 통신을 하기 위한 약속
  • 기업이나 개인이 정하는 것이 아니라 IEEE 또는 IETF라는 표준화 단체가 정함

 

프로토콜의 종류

  • 물리적 측면
    • 어떤 장비로 데이터를 보낼 것이며, 어떤 단자를 사용하고, 회선의 규격은 어느 정도인가
  • 논리적 측면
    • 데이터를 어떤 방식으로 표현할 것이며, 어떤 형식 단위로 데이터를 전송하고, 전송하는 절차를 어떻게 할 것인가

 

OSI 7계층

 

네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리하여 각 계층간 상호 작동하는 방식을 정해놓은 것

 

 

 

 

 

 

 

 

 

 

 

 

 

 

예시

  • HTTP(HyperText Transfer Protocol): (웹)응용 계층 상에서 HTML을 통해 전송하는 규약
  • FTP(File Transfer Protocol): 응용 계층에서 파일을 주고받기 위한 규약
  • TCP(Transmission Control Protocol): 전송 계층에서 정보 전달을 안전하게 할 수 있도록 하는 규약
  • UDP(User Datagram Protocol): 전송 계층에서 보다 빠르게 데이터를 주고받을 수 있도록 하는 규약
  • IP(Internet Protocol): 네트워크 계층에서 호스트의 주소 지정과 패킷을 분할하고 조립하는 규약

 


References

+ Recent posts