4. Net Practice

zinnnn37·2023년 6월 6일
0

🪐 42 SEOUL

목록 보기
7/10

4.0. Background

4.0.0. Network

: 컴퓨터 간 연결
: 네트워크를 모두 연결해 거대한 네트워크로 만든 것이 인터넷

  • LAN(Local Area Network): 특정 지역이나 건물 등 작은 범위의 네트워크
  • WAN(Wide Area Network): 넓은 범위에 구축되는 네트워크

- Packet

: 네트워크를 통해 전송되는 데이터의 작은 조각
: 데이터가 크면 네트워크에서 대역폭을 너무 많이 차지해 다른 패킷의 흐름을 막을 수 있어 작은 조각으로 나누어 전송하는 것
: 번호가 부여되기 때문에 순서에 상관 없이 발송되어도 받았을 때 번호를 기준으로 결합하여 원래 형태로 구성된다


4.0.1. OSI 7 Layer

  • OSI 7계층
    : 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것
    : 국제표준화기구(ISO: International Organization of Standardization)에서 네트워크 간 호환을 위해 만들었다
    : 통신 과정을 여러 단계로 나눈 이유는 통신이 일어나는 과정을 단계별로 파악하기 위함과 동시에 통신 과정 중 특정 단계에서 이상이 생길 경우 다른 단계의 장비 및 소프트웨어를 건드리지 않고 통신 장애를 일으킨 바로 그 단계에서 해결할 수 있기 때문이다

1계층 | 물리계층(Physical Layer)
: 실제 장치를 연결하기 위한 전기적 및 물리적 세부사항을 정의한다(인터넷 케이블, 라우터, 스위치 등의 물리적 장치에 의해 전기적 신호가 전달(통신)됨)
: 데이터를 전기적 신호로 변환해 주고받는 기능만 할 뿐 송수신되는 데이터가 무엇인지, 어떠한 에러가 있는지 확인하지 않는다
: e.g. 케이블 등

2계층 | 데이터 링크 계층(DataLink Layer)
: 두 장치 간 신뢰성 있는 전송을 보장하기 위한 계층
: 물리 계층을 이용해 네트워크 상의 주변 장치들에 데이터를 전송하는 역할
→ 물리계층을 통해 송수신되는 데이터의 오류와 흐름을 관리하여 데이터가 안전하게 전달될 수 있도록 돕는 역할을 한다
: 따라서 통신에서의 오류를 찾고 재전송하는 기능을 가지고 있다
: 이 계층에서 전송되는 단위를 프레임이라 한다
: 맥 주소(Mac Address)를 이용해 통신한다
: e.g. 스위치 등

3계층 | 네트워크 계층(Network Layer)
: 네트워크를 통해 다양한 길이의 데이터를 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)를 제공하기 위한 기능적, 절차적 수단을 제공한다
: 경로를 선택하고, 주소를 정하고, 경로에 따라 패킷을 전달하는 것이 주 역할이다.
: 연결하고 있는 다른 네트워크를 통해 데이터를 전달함으로써 인터넷이 가능하게 한다
: 가장 중요한 기능은 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)이다
: 논리적 주소 구조(IP)를 가지며, 네트워크 관리자가 직접 주소를 할당한다
: 계층적(hierarchical)이다
: e.g. 라우터 등

4계층 | 전송 계층(Transport Layer)
: 통신을 활성화하기 위한 계층
: 보통 TCP 프로토콜을 이용하며, 포트를 열어 응용프로그램들이 전송을 할 수 있도록 한다
→ 가장 잘 알려진 전송 계층이 TCP
: 만약 데이터를 전달받으면 해당 데이터를 하나로 통합하여 5계층으로 전달한다
: 양 끝단의 사용자가 신뢰성 있는 데이터를 주고받게 하여 상위 계층이 데이터 전달의 유효성이나 효율성을 신경 쓰지 않게 해주는 계층
: E2E(End-to-End) 통신을 다루는 최하위 계층으로 종단 간 신뢰성 있고 효율적인 데이터를 전송한다
: 오류 검출 및 복구와 흐름 제어, 중복검사 등을 수행한다

5계층 | 세션 계층(Session Layer)
: 양 끝단의 응용 프로세스가 통신을 관리하는 방법을 제공하는 계층
: 이 계층의 프로토콜은 통신 연결이 손실되는 경우 연결 복구 시도가 가능하며, 연결 시도 중 장시간 연결이 되지 않았다면 세션 계층의 프로토콜이 연결을 닫고 다시 연결을 시도한다
: 동기화 기능을 제공한다
- 전이중 통신(Full Duplex): 두 대의 단말기가 데이터를 송수신하기 위해 동시에 각각 독립된 회선을 사용하는 통신 방식(e.g. 전화망, 고속 데이터 통신 etc.)
- 반이중 통신(Half Duplex): 한쪽이 송신하는 동안 다른 쪽에서 수신하는 방식으로 전송 방향을 교체한다(e.g. 마스터 슬레이브 방식의 센서 네트워크 etc.)

6계층 | 표현 계층(Presentaion Layer)
: 코드 간 번역을 담당한다
: 데이터의 형식상 차이를 다루는 부담을 응용계층으로부터 덜어준다
: MIME(전자우편을 위한 인터넷 표준 포맷), 인코딩, 암호화 등이 6계층에서 이루어진다
: 일반적으로 응용프로그램 형식을 준비하거나 네트워크 형식으로 변환, 혹은 네트워크 형식을 응용프로그램 형식으로 변환한다
→ 즉, 응용프로그램이나 네트워트를 위해 데이터를 표현하는 것
: 데이터가 문자인지, 그림인지, 그림이라면 GIF인지 JPG인지 구분하는 것 등

7계층 | 응용 프로그램 계층(Application Layer)
: 일반적인 응용 서비스를 수행하는 계층
: 최상위 계층으로 사용자에게 직접적으로 보이는 부분
→ 7계층에서 작동하는 응용프로그램은 사용자와 직접적으로 상호작용한다
: e.g. 웹 브라우저(Chrome, Firefox etc.), 응용 프로그램 등


4.0.2. TCP/IP

OSI 7 Layer를 네 개의 계층으로 단순화 시켜 사용하는 모델

: 온라인상의 안전하고 효율적인 데이터 전송의 필소 요건을 정의한다
: 패킷 통신 방식의 인터넷 프로토콜인 IP(Internet Protocol)와 전송 조절 프로토콜인 TCP(Transmission Control Protocol)로 구성
: IP는 패킷 전달 여부를 보증하지 않음
→ 패킷을 보낸 순서와 받는 순서가 다를 수 있음
: TCP는 IP 위에서 동작
→ 데이터의 전달을 보증하고 보낸 순서대로 받게 한다
→ 전달받은 패킷 재조립, 패킷에 손상이 있거나 손실된 패킷이 있다면 재전송을 요청하는 패킷 전송

1계층 | 데이터 링크 계층
: 데이터 전송의 최하위 계층
: 네트워크 인터페이스 계층(Network Interface Layer)이라고도 부름
: 데이터가 목적지로 하는 IP 주소에 도달하게 하고, 해당 내트워크 내에 연결되어있는지 확인
→ 목적 기기의 MAC 주소를 확인하고 이더넷 케이블 및 와이파이를 통한 데이터 전송을 관리하는 등의 작업 수행

2계층 | 인터넷 계층
: 네트워크 간 데이터 패킷의 전송 관리

  1. 주소 변환 프로토콜(ARP, Address Resolution Protocol)
    : 네트워크 계층 주소와 링크 계층 주소 사이의 변환
  2. 인터넷 그룹 관리 프로토콜(IGMP, Internet Grouup Management Protocol)
    : 그룹 멤버십 구성, 그룹 관리
  3. 인터넷 제어 메시지 프로토콜(ICMP, Internet Control Message Protocol)
    : 인터넷 통신 서비스 환경에서 오류에 대한 알림과 관련된 메시지 전달

3계층 | 전송 계층

  1. TCP
    : 두 네트워크 사이에 연결 형성
    : 효율적 작업을 위해 데이터를 작은 패킷으로 나누어 데이터 전송
    : 연결형 서비스
    : 신뢰도가 높으나 속도가 느림
    : 가상 회선 방식으로 패킷 교환
    : 전송 순서 보장

  2. UDP
    : 비연결형 서비스
    : 신뢰도가 낮으나 속도가 빠름
    : 데이터그램 방식으로 패킷 교환
    : 전송 순서가 바뀔 수 있음

4계층 | 응용 계층
: 사용자가 상호작용하기 가장 쉬운 계층
→ 사용자가 네트워크에 접근할 수 있도록 함 && 사용자 인터페이스 제공 && 서비스 제공
: 메일 프로그램, 인터넷 브라우저, 파일 전송규약(FTP, File Transfer Protocol) , 동적 호스트 설정 통신 규약(DHCP, Dynamic Host Configuration Protocol), 간이 망 관리 프로토콜(SNMP, Simple Network Management Protocol) etc.


4.0.3. IP

- IP vs Mac Address

  • IP
    : 각각의 컴퓨터 기기가 서로 통신하기 위해 가지고 있는 네트워크 주소(인터넷에 연결하는 모든 장치에는 IP 주소가 있다)
    : IP 주소는 우편주소처럼 작동하여 해당 주소로 전달되는 인터넷 통신이 해당 장치에 도달할 수 있도록 한다
    : 3계층에서 사용되며, 이는 인터넷상의 컴퓨터와 장치가 연결된 네트워크와 관계없이 데이터를 주고받는 데 IP 주소를 사용한다는 것을 의미한다

- IPv4 Class

  1. A Class
    : IP의 앞자리가 0 ~ 127
    : IP 맨 처음 블록이 네트워크 주소이고 다음 3개의 블록은 호스트 ID이다
    → e.g. 97.34.5.2는 A클래스에 속하는 IP 주소이고, 따라서 97이 같은 IP는 같은 네트워크에 있다. 97.124.191.34는 같은 네트워크 ID를 가지기 때문에 자유롭게 통신이 가능하다

  2. B Class
    : 맨 앞자리가 128 ~ 191
    : IP의 첫 번째와 두 번째 블록이 네트워크 주소이고 다음 2개의 블록은 호스트 ID

  3. C Class
    : 맨 앞자리가 192 ~ 223
    : IP의 첫 3개의 블록이 네트워크 주소이고 마지막 블록은 호스트 ID

  4. D Class
    : 맨 앞자리가 224 ~ 239
    : 멀티캐스트 IP
    : 실제로 사용되지 않음

  5. E Class
    : 맨 앞자리가 240 ~ 255
    : 특정한 목적(연구 등)을 위해 남겨둔 IP
    : 실제로 사용되지 않음

  • A클래스는 약 1600만 개(2^24)의 호스트를 할당할 수 있다.
    그러나 어떤 기관에서 필요한 IP 개수가 100개라면 나머지 IP 주소는 낭비된다.
  • 뿐만 아니라, 브로드캐스팅 시 사용하지 않는 IP에도 패킷이 전송되므로 트래픽 부하가 발생할 수 있다.

이를 해결하기 위해 서브넷을 사용한다


4.0.4. Subnet

  • 서브넷(Subnet)
    : 네트워크 안의 네트워크
    : 하나의 네트워크를 여러개로 쪼개어 분배할 수 있도록 한다
    : 서브넷 마스크로 네트워크를 쪼갠다

- Subnet Mask

: IP와 마찬기자로 8bit씩 4블록으로 구성되나 앞자리는 모두 1이고 뒷자리는 모두 0이다.

: IP와 서브넷 마스크의 AND 연산을 통해 네트워크 주소를 구할 수 있다
→ e.g. IP 주소가 115.95.229.196 이고 서브넷 마스크가 255.255.255.0일 때, 01110011.01011111.11100101.11000100(IP)11111111.11111111.11111111.00000000(서브넷 마스크)을 AND 연산한다. 이 때의 결과는 01110011.01011111.11100101.00000000, 즉 115.95.229.0이다(115.95.229로 시작하는 주소만 같은 네트워크에 있다고 인식)

: 브로드캐스팅 주소는 네트워크 대역의 맨 마지막 주소(호스트 ID가 2진수로 표현했을 때 모두 1인 경우)
115.95.229 네트워크의 브로드캐스팅 주소는 115.95.229.255

: 호스트 주소는 네트워크 주소와 브로드캐스팅 주소를 제외한 주소

CIDR

: 서브넷 마스크를 2진수로 표현했을 때의 1의 개수로 서브넷 마스크를 표현할 수 있다
→ e.g. 255.255.255.0(11111111.11111111.11111111.00000000) == /24

- Private IP

: 아무리 서브넷을 이용해 IP를 효율적으로 배분하더라도 이용 가능한 IP의 개수가 제한되어 있는 것은 마찬가지
: 이를 사설 IP(Private IP)로 해결할 수 있다
: 사설 IP는 내부에서만 사용 가능한 IP로 외부의 IP와 중복 되어도 상관 없다
: 외부에서 접속할 수 있는 공인 IP(Public IP)는 공유기에만 할당하고, 공유기에 연결된 기기들은 내부에서만 사용할 수 있는 사설 IP를 할당하면 하나의 IP로 여러 기기를 연결할 수 있다.

  • 사설 IP 대역
    1. 10.0.0.0 ~ 10.255.255.255: A클래스 사설 IP 대역
    2. 172.16.0.0 ~ 172.31.255.255: B클래스 사설 IP 대역
    3. 192.168.0.0 ~ 192.168.255.255: C클래스 사설 IP 대역

- Port Forwarding

: 공유기 외부에서 공유기 내부 컴퓨터에 접속하기 위해 라우터로 들어온 포트 번호를 네트워크에 있는 그 기기의 특정 포트로 요청을 포워딩 하는 것
: 통신하는 목적지의 IP 주소와 포트 번호를 내부 호스트에서 다시 매핑함으로써 이루어짐


4.0.5. Switch

: 2개 이상의 IT 디바이스가 서로 통신하게 해주는 장비
: 같은 네트워크 내의 장치를 연결하고 데이터를 주고받는다
: 대체로 2계층에서 이용된다
→ MAC Address로 통신한다

  • MAC 주소 테이블
    : 스위치 내부에는 MAC 주소 테이블이 존재한다
    → 스위치의 포트 번호와 해당 포트에 연결 되어있는 컴퓨터의 MAC 주소가 등록되는 데이터베이스
    : 연결된 컴퓨터 간에 데이터를 전송할 때 주소 테이블에 등록된 MAC 주소를 확인해 목적지로 데이터를 바로 전송할 수 있도록 한다
    : 데이터를 전송하려는 컴퓨터의 MAC 주소가 없다면 연결된 모든 컴퓨터에 데이터가 전송되는데 이를 플러딩(Flooding)이라 한다

4.0.6. Router

: 컴퓨터 네트워크에서 데이터를 송수신하는 장치
: 2개 이상의 네트워크를 연결하는 장치
: 주로 LAN과 WAN 간에 데이터를 전달한다
→ IP 주소로 통신한다

- Routing
: 네트워크에서 경로를 선택하는 프로세스
: 미리 정해진 규칙을 사용하여 최상의 경로를 선택한다
→ 네트워크 통신의 효율성을 높임
→ 네트워크가 정체 없이 최대한 많은 용량을 사용할 수 있도록 데이터 트래픽을 관리하여 네트워크 장애를 최소화

- Default Route
: 경로를 찾지 못한 네트워크의 경로를 미리 정해놓는 것
:


4.1. Solutions

비공개


4.2. Reference

OSI 7 Layer
IP, Subnet
Fort Fowarding

0개의 댓글