네트워크 정리

tkppp·2022년 5월 26일
0

인터넷이란?

네트워크 주변부(Network edge)와 네트워크 중심부(Network core)가 엑세스 네트워크(Access Network)로 하여금 연결된 것

  • Network edge : 사용자가 인터넷에 접속하기 위한 부분으로 인터넷에 연결되는 모든 장치를 뜻함. 다른 말로 End System 또는 Host 라 함
  • Access Network : 네트워크에 접근하기 위한 네트워크로 ISP(Internet Service Provider)가 제공하며 네트워크 엣지의 기기를 네트워크 코어에 연결되도록 하는 역할을 함
  • Network core : End System 사이에서 데이터를 전달하는 네트워크로 Mesh of interconnected routers 즉, 수많은 라우터 또는 스위치들이 그물처럼 얽혀있는 구조이다

Network core

데이터는 패킷 이라는 단위로 전달되며 네트워크 코어에서 패킷이 이동하는 방식을 Packet Switching 이라고 한다. 패킷은 비트 단위로 전달되며 노드(호스트 또는 라우터) 사이를 이동할 때 한 패킷의 모든 비트가 전달되면 다음 노드로 전달된다. 이러한 방식의 패킷 전송을 Store and Forward 방식이라 한다.

Packet Switching 과 Circuit Switching

패킷 교환은 라우팅과 포워딩의 과정으로 이루어져있는데 라우팅이란 라우터에서 목적지까지의 최단경로를 찾는 과정이다. 라우팅을 통해 네트워크 내에 모든 라우터와 호스트의 최단 경로를 계산해 라우팅 테이블에 저장해놓고 패킷이 들어왔을때 최단경로와 연결된 노드로 패킷을 내보내는데 이 내보내는 과정을 포워딩이라 한다.

반면 회선 교환은 데이터가 전송될 경로를 처음부터 찾아놓고 해당 경로의 회선을 예약한 다음 데이터을 전송한다. 즉 예약된 회선은 데이터가 다 전달되기 전까지 다른 데이터를 전송하는데 사용할 수 없다.

인터넷은 패킷 교환 방식을 사용한다. 그 이유는 패킷 교환 방식은 많은 사용자를 빠른 시간 내에 인터넷에 연결할 수 있기 때문이다. 회선 교환은 경로를 찾고 회선을 예약하는데 오버헤드가 존재하기 때문이다. 하지만 패킷 교환 방식은 네트워크의 혼잡도에 따라 전송이 불안정해지거나 전송에 실패하게 되는 문제가 있다. 반면 회선 교환은 패킷 교환 방식에 비해 한번에 사용할 수 있는 사람이 한정되어 있지만 실제로 그런 경우는 별로 발생하지 않는다고 한다. 따라서 전화와 같이 연결이 안정적으로 유지되어야 하는 서비스에 경우 회선 교환을 사용한다.

대역폭과 전송 속도

네트워크에서의 대역폭은 초당 전송될 수 있는 비트의 최대량을 뜻한다.
네트워크에서 전송 속도는 초당 현재 전송되는 비트들의 평균 속도를 의미한다.

예를 들면 대역폭은 고속도로에서의 최대 제한 속도라면 전송 속도는 현재 고속도로에 있는 자동차들의 평균 속도라고 생각할 수 있다. 대역폭은 고정된 값인 반면 전송 속도는 네트워크 상태에 따라 달라진다

Throughput (처리량)

End to End를 고려했을 때 받는 쪽의 단위 시간당 데이터량을 의미한다. 일반적인 처리량은 End to End의 포함되는 링크 중 최소 전송률이 되고 그 링크를 병목 링크(Bottleneck Link) 라고 한다.

만약 여러 호스트가 병목 링크를 공유한다면 어떻게 될까? 10개의 클라이언트가 각각 서로 다른 서버에 데이터를 전달하고 1mbps의 전송속도를 가진 병목 링크를 공유한다고 가정해보자. 이러할 경우 링크의 전송 속도는 한정되어 있고 패킷량에 따라 나눠지므로 각각의 처리량은 0.1mbps가 된다.

네트워크 지연

네트워크의 지연은 4가지 요소로 결정된다.

  1. Processing delay : 전송된 패킷의 오류 검사 및 포워딩 테이블에 맞는 Output 링크로 패킷을 이동하는 시간
  2. Queuing delay : 패킷이 나가는 속도보다 들어오는 속도가 빠르면 패킷을 큐라는 버퍼에 저장한다. 이때 패킷이 큐에서 나가기까지의 시간
  3. Transmission delay : 라우터가 패킷을 링크로 내보내는데 걸리는 시간
  4. Propagation delay : 하나의 비트가 물리적 링크를 따라 전송되는 시간

이 중 Processing delay는 매우 작아서 일반적으로 무시되고 Transmission delayPropagation delay 는 각각 노드의 성능이나 링크의 성능에 따라 고정된 값이고 큐잉 딜레이는 네트워크의 혼잡도에 따라 없거나 매우 클 수 있다. 결론적으로 노드에서의 전체 지연 시간은 위의 4가지를 합친 것과 같다.

네트워크 분류

LAN (Local Area Network)

근거리 통신망으로 구내 정보 통신망은 네트워크 매체를 이용하여 집, 사무실, 학교 등의 건물과 같은 가까운 지역을 한데 묶는 컴퓨터 네트워크이다.

MAN (Metropolitan Area Network)

도시권 통신망은 큰 도시 또는 캠퍼스에 퍼져 있는 컴퓨터 네트워크이다. LAN과 WAN의 중간 크기를 갖는다. DSL 전화망, 케이블 TV 네트워크를 통한 인터넷 서비스 제공이 대표적인 예이다.

WAN (Wide Area Network)

광역 통신망은 드넓은 지리적 거리/장소를 넘나드는 통신 네트워크 또는 컴퓨터 네트워크이다. 광역 통신망은 종종 전용선과 함께 구성된다.

범위

간단하게 LAN은 건물 단위, MAN은 도시 단위, WAN은 국가 또는 대륙단위의 네트워크라고 생각할 수 있다.

OSI 7계층과 TCP/IP 4계층

OSI 7계층은 네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리하여 각 계층간 상호 작동하는 방식을 정해 놓은 것이다. 컴퓨터 통신 구조의 모델과 앞으로 개발될 프로토콜의 표준적인 뼈대를 제공하기 위해 개발된 참조 모델이어서 OSI 7 계층 모델을 알면 네트워크 구성을 예측하고 이해할 수 있다. 네트워크에서 트래픽의 흐름을 꿰뚫어 볼 수 있으며, 각 계층은 독립되어 있으며 서로 관여할 수 없다. 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건드리지 않고도 이상이 생긴 단계만 고칠 수 있다.

TCP/IP 4계층은 오늘날 흔히 쓰이는 TCP/IP 프로토콜이 미 국방성 통신 표준으로 채택되면서, 해당 프로토콜의 통신 과정을 크게 4개의 계층 구조로 나눠 설명한 것이다.


계층이름단위(PDU)예시프로토콜(Protocols)디바이스(Device)
7응용 계층(Application Layer)Data텔넷(Telnet), 구글 크롬, 이메일, 데이터베이스 관리HTTP, SMTP, SSH, FTP, Telnet, DNS, modbus, SIP, AFP, APPC, MAP
6표현 계층(Presentation Layer)Data인코딩, 디코딩, 암호화, 복호화ASCII, MPEG, JPEG, MIDI, EBCDIC, XDR, AFP, PAP
5세션 계층 (Session Layer)DataNetBIOS, SAP, SDP, PIPO, SSL, TLS, NWLink, ASP, ADSP, ZIP, DLC
4전송 계층 (Transport Layer)TCP-Segment, UDP-datagram특정 방화벽 및 프록시 서버TCP, UDP, SPX, SCTP, NetBEUI, RTP, ATP, NBP, AEP, OSPF게이트웨이
3네트워크 계층 (Network Layer)Packet라우터IP, IPX, IPsec, ICMP, ARP, NetBEUI, RIP, BGP, DDP, PLP라우터
2데이터링크 계층 (DataLink Layer)FrameMAC 주소, 브리지 및 스위치Ethernet, Token Ring, AppleTalk, PPP, ATM, MAC, HDLC, FDDI, LLC, ALOHA브릿지, 스위치
1물리 계층 (Physical Layer)Bit전압, 허브, 네트워크 어댑터, 중계기 및 케이블 사양, 신호 변경(디지털,아날로그)10BASE-T, 100BASE-TX, ISDN, wired, wireless, RS-232, DSL, Twinax허브, 리피터

TCP/IP 4계층 - 애플리케이션 계층

7 - 애플리케이션(Application) 계층

Application Layer 는 OSI 7계층 모델에서 최상위 계층으로 사용자가 네트워크 자원에 접근하는 방법을 제공한다. 그리고 7계층은 최종적으로 사용자가 볼 수 있는 유일한 계층으로 모든 네트워크 활동의 기반이 되는 인터페이스를 제공하는데, 즉 사용자가 실행하는 응용 프로그램들이 7계층에 속한다고 보면 된다. 예를 들면 가상 터미널인 텔넷(telnet), 구글의 크롬(chrome), 이메일(전자우편), 데이터베이스 관리 등의 서비스를 제공한다. 사용자와 가장 가까운 계층이다.

6 - 표현(Presentation) 계층

Presentation Layer 는 응용 계층으로부터 전달받은 데이터를 읽을 수 있는 형식으로 변환하는데 표현 계층은 응용 계층의 부담을 덜어주는 역할이 되기도 한다. 응용 계층으로부터 전송받거나 응용 계층으로 전달해야 할 데이터의 인코딩과 디코딩이 이 계층에서 이루어진다. 그리고 표현 계층은 데이터를 안전하게 사용하기 위해서 암호화와 복호화를 하는데 이 작업도 표현 계층에서 이루어진다. 예를 들면 유니코드(UTF-8)로 인코딩 되어있는 문서를 ASCII로 인코딩 된 문서로 변환하려 할 때 이 계층에서 변환이 이루어진다.

5 - 세션(Session) 계층

Session Layer 는 두 컴퓨터 간의 대화나 세션을 관리하며, 포트(Port)연결이라고도 한다. 모든 통신 장치 간에 연결을 설정하고 관리 및 종료하고 또한 연결이 양방향(Full duplex)인지 단방향(half duplex)인지 여부를 확인하고 체크 포인팅과 유휴, 재시작 과정 등을 수행하며 호스트가 갑자기 중지되지 않고 정상적으로 호스트를 연결하는 데 책임이 있다. 즉 이 계층에서는 TCP/IP 세션을 만들고 없애고 통신하는 사용자들을 동기화하고 오류 복구 명령들을 일괄적으로 다루며 통신을 하기 위한 세션을 확립, 유지, 중단하는 작업을 수행한다.

TCP/IP 3계층

4 - 전송(Transport) 계층

Transport Layer 의 주목적은 하위 계층에 신뢰할 수 있는 데이터 전송 서비스를 제공하는 것이다. 컴퓨터와 컴퓨터 간에 신뢰성 있는 데이터를 서로 주고받을 수 있도록 해주어 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 부담을 덜어주는데, 이때 시퀀스 넘버 기반의 오류 제어 방식을 사용한다. 흐름 제어, 분할/분리 및 오류 제어를 통해 전송 계층은 데이터가 오류 없이 점-대-점으로 전달되게 하는데 신뢰할 수 있는 데이터 전송을 보장하는 것은 매우 번거롭기에 OSI 모델은 전체 계층을 사용한다. 전송 계층은 연결형 프로토콜과 비 연결형 프로토콜을 모두 사용한다. 전송 계층의 예로는 특정 방화벽이나 프록시 서버가 있다.

TCP/IP 2계층

3 - 네트워크(Network) 계층

Network Layer 에서는 2홉 이상의 통신(멀티 홉 통신)을 담당한다. OSI 7 계층에서 가장 복잡한 계층 중 하나로서 실제 네트워크 간에 데이터 라우팅을 담당한다. 이때 라우팅이란 어떤 네트워크 안에서 통신 데이터를 짜여진 알고리즘에 의해 최대한 빠르게 보낼 최적의 경로를 선택하는 과정을 라우팅이라고 한다. 네트워크 계층은 네트워크 호스트의 논리 주소 지정(ex : ip 주소 사용)을 확인한다. 또한 데이터 스트림을 더 작은 단위로 분할하고 경우에 따라 오류를 감지해 처리한다. 그리고 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 하는 계층으로서 다양한 길이의 데이터를 네트워크들을 통해 전달하고 그 과정에서 전송 계층이 요구하는 서비스 품질을 제공하기 위한 기능적, 절차적 수단을 제공한다. 네트워크 계층은 라우팅, 흐름 제어, 세그멘테이션, 오류제어, 인터네트워킹 등을 수행한다. 라우터가 3계층에서 동작하고, 3계층에서 동작하는 스위치도 있다.

TCP/IP 1계층

DataLink Layer 은 물리적인 네트워크를 통해 데이터를 전송하는 수단을 제공한다. 1홉 통신을 담당한다고도 말한다. 홉(hop)은 컴퓨터 네트워크에서 노드에서 다음 노드로 가는 경로를 말한다. 1홉 통신이면 한 라우터에서 그다음 라우터까지의 경로를 말한다. 주목적은 물리적인 장치를 식별하는 데 사용할 수 있는 주소 지정 체계를 제공하는 것이다. 데이터 링크 계층은 포인트 투 포인트 간의 신뢰성 있는 전송을 보장하기 위한 계층으로 CRC 기반의 오류 제어와 흐름 제어가 필요하다. 네트워크 위의 개체들 간 데이터를 전달하고 물리 계층에서 발생할 수 있는 오류를 찾아내고 수정하는 데 필요한 기능적, 절차적 수단을 제공한다. 이 계층의 예시를 들자면 브리지 및 스위치 그리고 이더넷 등이 있다.

1 - 물리(Physical) 계층

Physical Layer 은 OSI 모델의 맨 밑에 있는 계층으로서, 네트워크 데이터가 전송되는 물리적인 매체이다. 데이터는 0과 1의 비트열로 ON, OFF의 전기적 신호 상태로 이루어져 있다. 이 계층은 전압, 허브, 네트워크 어댑터, 중계기 및 케이블 사양을 비롯해 사용된 모든 하드웨어의 물리적 및 전기적 특성을 정의한다. 물리 계층은 연결을 설정 및 종료하고 통신 자원을 공유하는 수단을 제공하며 디지털에서 아날로그로 또는 그 반대로 신호를 변환하는 역할을 한다. OSI 모델에서 가장 복잡한 계층으로 간주된다.

Application Layer

HTTP Protocol

HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜으로 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 방식으로 동작한다. 하나의 완전한 문서는 텍스트, 레이아웃 설명, 이미지, 비디오, 스크립트 등 불러온(fetched) 하위 문서들로 재구성됩니다.

Transport Layer

0개의 댓글