리눅스데브코스 [8주차 - 5(3)]<네트워크 프로그래밍(1)>

심우열·2023년 5월 26일
0

1. 컴퓨터 네트워크

1. 컴퓨터 네트워크란?

  • 서로 연결된 컴퓨터와 장치들의 집합체
  • 정보 및 자원을 공유하고 통신할 수 있는 시스템

2. 컴퓨터 네트워크의 구성요소

  • Node: 네트워크에 연결된 컴퓨터 등의 기기
  • Link: 노드를 연결하는 통로
  • Router: 서로 다른 네트워크 간 데이터를 전송
  • Switch: 네트워크 내부의 트래픽을 관리하고, 노드 간 데이터 전송을 조절

3. Network Edge

4. Access Network

사용자가 위치한 지역에서부터 인터넷 서비스 제공자(ISP)의 네트워크까지 연결하는 구간

  • 사용자들이 인터넷에 접속하기 위해 사용하는 기기(컴퓨터, 스마트폰, 태블릿 등)를 인터넷에 연결하는 마지막 구간
  • 인터넷 서비스의 속도, 안정성, 가용성 등에 영향

대개 물리적인 케이블 또는 무선으로 구성, 다양한 기술과 프로토콜이 사용

  • 지역적인 특성이나 인프라의 상황에 따라 다양
  • ADSL, FTTH, 케이블 모뎀, 무선 랜(Wi-Fi) 등

5. Network Core

  • 여러 개의 라우터(Router)와 스위치(Switch)로 구성
  • 이들이 상호 연결되어 데이터를 전송하고 라우팅하는 역할

특징

  • 높은 처리량: 네트워크 코어는 수많은 사용자들이 전송하는 대규모의 데
    이터 트래픽을 처리함
  • 높은 가용성: 네트워크 코어는 항상 가동 중이어야 하므로, 고장이 발생해 도 신속하게 대처하여 서비스를 유지
  • 빠른 전송 속도: 대규모의 데이터를 빠르게 전송

2가지 기능

출처

  • Forwarding: 라우팅 알고리즘이 포워딩 테이블을 생성

2. 패킷 스위칭

store - and - forward

출처

1. 전송지연

  • L= 10kbits
  • R = 100Mbps
  • 전송지연= 0.1msec= 10000/1000000000= 0.0001sec

2. 전파지연

  • d= 2000km
  • s= 2*10^8m/s
  • 전파지연= 10msec=2000000/200000000= 0.01sec

3. 큐잉(queueing)

출처

  • 손실(Packet loss) 발생
  • 큐잉 지연 발생

4. 전송률(Throughput)

출처

  • 병목 링크(Bottleneck Link): 전송률을 결정

3. AS 계층 구조

4. IP 주소

1. IP 주소 체계

5. DNS

6. Protocol

  • 어떤 형태로 정보를 주고 받을 것인지에 대한 규칙과 규격
  • 컴퓨터 네트워크에서 정보를 주고 받는 방법을 표준화

일반적으로 정의할 내용

  • 메시지 타입: request/response
  • 메시지 문법
    -> 프로토콜이 정의하는 데이터의 형식과 구조
    -> 데이터 타입, 크기, 종류 등을 명확하게 정의
  • 메시지의 의미
    -> 메시지의 내용, 각 필드의 의미
  • 액션 규칙
    -> 각 메시지를 받았을 때 어떻게 동작할 것인지에 대한 규칙

1. 인터넷 프로토콜 계층 구조

7. NAT

  • 포트도 바뀐다, 바뀐 내용은 테이블에 작성됨
  • 만약 테이블이 작성되지 않은 시점에서 패킷이 들어온다면, 패킷이 공유기에서 내쪽으로 들어오지 못하고, 이것은 보안관점에서 이점이 있음
  • 만약 테이블이 작성되지 않은 상태에서 패킷 수신이 필요하다면 DMZ를 설정하면 위와 같은 수신이 가능함

profile
Dev Ops, "Git, Linux, Docker, Kubernetes, ansible, " .

0개의 댓글