[컴퓨터 네트워크] Ch1. Introduction

chaen-ing·2024년 3월 3일

컴퓨터 네트워크

목록 보기
1/7

📌 인터넷이란?

통신 모델 : sender, receiver가 존재하고 message와 feedback을 주고 받음

Network edge : 디바이스 같은 것들. 네트워크의 종단에 있음

Network core : edge끼리 연결을 제공해주는 것. 중간에서 데이터 전달. 패킷/서킷 스위칭, 인터넷 구조

end device가 네트워크에 연결되기 위해서는 access network에 접근해야함

Core network : access network를 연결시켜주는 라우터들의 집합.

성능 : loss 손실, delay 지연, throuhput 처리량 등을 평가

매우 많은 컴퓨팅 device들이 연결되어 있음

  • host : 종단에 있는 시스템들
  • 네트워크 app들은 인터넷의 종단에 있음

패킷 스위칭 : 패킷(데이터의 chunks → 덩어리, 조각)을 전송

  • ex) 라우터, 스위치

Communication links : fiber, copper, radio, satelite 등..

  • 전송률은 대역폭에 의해 결정됨

네트워크 : device, routers, links들의 집합 → 조직에 의해 관리됨

여기서 device 란

인터넷 냉장고, AR 장치, 인터넷 전화 등… 종단에 볼 수 있는 많은 장치들을 포함

인터넷 : 네트워크의 네트워크

  • ISP들끼리 서로 연결되어 인터넷 구성
  • ISP : skt, kt 같은 망들 의미

프로토콜은 어디에나 존재

  • 메세지의 수신, 송신을 제어
  • ex) HTTP, 비디오 스트리밍, TCP, IP 등…

internet standard

  • RFC : Request for Comments
  • IETF : Internet Engineering Task Force

인터넷의 인프라구조는 어플리케이션에 서비스를 제공 하는 구조

  • ex) web, 비디오 스트리밍, 이메일, 게임 등..

또한 프로그래밍 인터페이스를 제공하는 역할도 함

📌 프로토콜이란?

프로토콜의 3요소 : Syntax, Semantic, Timing

프로토콜은 format 구조, 전체 네트워크에서 메세지를 보내고 받은 순서, 메세지를 보내거나 받았을때에 대한 반응에 대한 것을 정의함

왼쪽은 사람의 프로토콜, 오른쪽은 컴퓨터 네트워크 프로토콜

OSI 7계층 : 아래로 갈수록 물리적, 위로 갈수록 사용자에 가까워짐

  1. physical layer

  2. 데이터 링크 layer

    → 1,2 : 네트워크 인터페이스 layer

  3. 네트워크 Layer : IP, switching 역할

  4. transport layer : TCP는 reliablity이 있고, UDP는 reliablity가 없음

  5. session layer

  6. presentation layer

  7. application layer

    → 5,6,7 : applicatoin layer

TCP/IP updated 5계층 : application, transport, network, link, physical

TCP/IP original 4계층 : application, transport, internet, network interface layer

네트워크 코어인 라우터는 3계층까지만 가짐

네트워크 edge는 7계층을 모두 가짐

물리적 흐름 : 물리적인 선을 따라(라우터들을 거쳐서) 데이터가 전달되는 것으로 보임

논리적 흐름 : 사실 종단의 같은 계층끼리 통신

📌 Network edge : hosts, access network, physical media

Network edge

  • host : 클라이언트와 서버
  • 서버는 데이터 센터에 있을수도 있음

Access network, physical media

  • 유선 또는 무선인 커뮤니케이션 링크
  • access network : end system이 네트워크에 연결되기 위해 제공되는 네트워크

Network core

  • 서로 연결되어있는 라우터들
  • 네트워크들의 네트워크
  • 그림에서 local or regional ISP 부분

어떻게 edge router과 end systems가 연결되는지?

  • residential access net : 전화선, 동축케이블 → 집
  • Institutional access network : 학교, 회사
  • mobile access networkt : wifi, 4g, 5g → 기지국 같은곳에 설치

Access network

  • digital subscriber line (DSL)

    집에서 사용하는 모델

    central office의 DSLAM과 독자적으로 연결된 선을 통해 voice, data 둘다 전송됨 → dedicated access

    다른 주파수로 전송되므로 splitter에서 음성은 전화기로, 데이터는 DSL modem으로 보냄

    업로드와 다운로드의 전송률이 다르다

  • Cable-based access


HFC(hyber fiber coax : 광 케이블 + 동축 케이블) → 업로드와 다운로드 속도가 다르다 (다운로드가 좀 더 빠름)

하나의 케이블을 공유하여 사용 → shared access

FDM(frequency division multiplexing : 주파수 분할 다중화) : 다른 주파수에서 각각 다른 채널을 전송 받음 → 즉, 티비, 전화 등을 섞어서 보내도 분리해서 받을 수 있음

  • Home networks

    공유기 : 유선이더넷, 와이파이(무선랜), DSL modem 등… 다양한 기능 가능

    NAT : 한 집에 하나의 IP주소를 할당하고, 그 안의 기기들끼리도 임의의 IP주소를 할당해 안에서만 쓰도록 함

    firewall : 보안

  • Wireless acces network

    무선은 항상 shared access

    • Wireless local area network : 작은 범위의 무선랜 하나의 빌딩 정도 작은 범위 규격에 따라 다른 속도를 가짐 access point
    • Wide area cellular access network 모바일에 의해 넓은 범위에 적용 가능 base station
  • enterprise network

    기업, 회사 등에서 사용

    이더넷 스위치는 2계층, 라우터는 3계층 주소를 가짐 → 네트워크가 다른 대역을 넘어갈 때 사용

    스위치와 라우터의 결합을 통해 유선과 무선이 결합된 기술

    • 유선 - 이더넷
    • 무선 - 와이파이

Host : 데이터의 패킷을 전송 → 패킷 : 전송하는 데이터를 일정 크기로 자른 것. 계층마다 부르는 이름이 다름

7계층에서 application message를 받음 : 이 때는 데이터 사이즈 고려 X

→ 각 L bit의 패킷으로 더 작게 나눔 : 망을 거치려면 더 작게 만들어야 함

→ 전송률 R인 access network를 통해 패킷 전송

전송 delay = L(bits) / R(bits/sec)

bit : transmitter / receiver 쌍 간에 비트 단위로 전송

physical link : transmitter / receiver 사이에 있는 것

Guided media 유선 : 신호가 고체의 미디어를 통해 전파 → ex) copper 구리, fiber 광섬유, coax 동축케이블

Unguided media 무선 : 신호가 자유롭게 전파됨 → ex) radio, microwave

Twisted pair(TP) : 두개의 절연된 구리 선을 꼬은 것

꼬는 정도에 따라 속도 달라짐

  • Coaxial cable 동축케이블

    두개의 동심형의 구리 conductor

    양방향 통신 가능

  • Fiber optic cable 광 케이블

    유리 섬유로 비트를 표현하는 빛을 전달함

    속도 빠르다 → TP < Coaxial < Fiber : 속도, 범위 증가

    에러율이 낮음 : Repeater을 좀 더 멀리 두어도 괜찮음 → Repeater : 신호가 멀리가면 감쇠되는데 이를 복구시키는 것

    또한 전자기적 noise로 부터 면역

    coaxial은 두개의 conductor 모두 구리선

    fiber은 빛 반사를 이용

  • Wireless radio 무선 라디오

    신호가 전자기적 스펙트럼을 통해서 옴

    물리적인 선 없음

    broadcast(아무나 들을 수 있음) + half duplex

    • unicast : 하나만 보고 통신 / multicast : 내가 원하는 그룹이 받음 / broadcast : 누구나 들을 수 있음

    • simplex : 단방향 / half duplex : 양방향이나 동시에는 X / full duplex : 양방향. 전화기 같은 것

      반사, 장애물(중간의 장애물을 통과못함), 간섭에 의해 영향을 받음

      라디오 링크 타입

    • 지상 마이크로파

    • Wireless LAN 무선랜 - 와이파이

    • wide area - 셀룰러

    • satellite - 위성 통신

      • 정지 위성 : 딜레이, coverage 큼
      • 저위도 위성 : 딜레이, coverage 작음

📌 Network core : packet / circuit, switching, internet structure

Network core : 서로 연결된 라우터들의 집합

Packet switching

호스트는 어플리케이션 층에서 받은 message를 packet으로 분해 → 패킷을 라우터들을 통해 목적지까지 타고 타고 전달

Store-and-forward : 모든 패킷은 라우터에 다 저장된 후에 다음으로 전송될 수 있다는 원칙. 데이터 받으면서 동시에 전송 불가

Transmission delay : L/R초의 전송하는데 걸리는 시간

End-end delay : 시작점에서 목적지까지의 전체 딜레이

예를 들어 L = 10kbits, R = 100mbps일때 one hop transmission delay는 0.1msec

Packet queuing and loss : Store and forward 이므로 패킷이 들어오면 일단 큐에 저장되고 output 링크로 갈 수 있을때까지 대기

만약 입력 링크로 들어오는 속도 > 나가는 속도 : 큐가 다 차서 loss가 생길 수 도 있음


Forwarding : local action

인풋 링크로 받은 패킷을 적절한 아웃풋 링크로 보내는것

이때 local forwarding table을 보고 어디로 보낼지 판단

Routing : global action

라우터에 들어오는 패킷의 헤더에는 목적지 주소가 있음

패킷의 경로를 결정. 라우팅 알고리즘 → local forwarding table을 만듦

Circuit switching

source와 destination 사이의 경로를 지정하여 일정한 전송률 보장

예약, 전용으로 할당, 중간에 다른 애가 쓸수도 없음

dedicated resource : 공유하지 않음

아무도 사용하지 않고 있더라도 빈상태도 유지됨

전통적인 전화망에서의 방식

장점은 신뢰성있다는 것

  • FDM : Frequency Division Multiplexing 주파수 기준으로 나눔 항상 쓸수있지만 대역폭 작음
  • TDM : Time Division Multiplexing 시간 단위로 나눔 대역폭 크지만 항상 쓰진 못함

Packet switching VS Circuit switching

packet switching은 더 많은 유저가 네트워크를 사용할 수 있도록 해줌

위의 상황에서 패킷 스위칭에서 35명의 유저가 모두 동시에 사용할 확률이 0.0004

→ 통계적 TDM이라고도 함. 패킷 망은 빈 슬롯이 존재하지 않으므로 효율적. 패킷 보낼때만 망을 사용.

→ 서킷 스위칭은 사람이 쓰던 말던간에 항상 할당해주어야함

패킷스위칭은 “bursty” 데이터에 유용 → 데이터를 보내야할 때도 있고 아닐때도 있는 것들

resoure sharing, 더 간단하고 예약이 필요없음

많은 데이터들이 들어와 buffer overflow되면 딜레이나 loss 생길 수 있음 → reliable한 전송, 혼잡 통제가 필요

서킷 스위칭 : queueing delay 완화, 독립적 등의 장점이 있음


Internet structure : a “network of networks”

host는 ISPs(Internet Service Providers)를 통해 인터넷에 접속 → residential, enterprise, ISPs..

ISPs에 접속했다는것은 서로 연결되었다는것 → 어떤 호스트끼리도 서로에게 패킷을 보낼 수 있는 상태

수많은 access net끼리 직접 연결하려면 너무 많은 연결이 생김

→ 여러 ISP에 연결하여서 해결, ISP끼리 연결해줌

→ 여러 global ISP, regional ISP들은 연결해주는 것이 IXP(Internet eXchange Point)

큰 기업들은 이런식으로 content provider network를 자체적으로 구축

Tier 1 은 국가기관망 또는 대형통신사

📌 Performance : loss, delay, throughput

패킷은 라우터 버퍼의 큐에 저장됨

링크를 통해 패킷이 들어오는 속도가 나가는 속도보다 빠르면 : packet loss

Packet delay

  1. d_proc : nodal processing

    비트 에러 체크

    output link를 결정

    msec보다도 작은 시간

  2. d_queue : queueing delay

    output link로 나갈때 까지 대기하는 시간

    라우터의 congesion level에 의존 → 망이 복잡하면 시간이 오래걸림 → 가장 가변적

  3. d_trans : transmission delay = L / R

    L : 패킷 길이 (bit)

    R : 링크의 전송률 (bps)

  4. d_prop : propagation delay = d / s

    d : 물리적인 링크의 길이

    s : 전송되는 속도

    거속시 개념

    transmission delay와 propagation delay는 전혀 다름

Ex)

가정 1. 차의 “propagate”는 100km/hr, toll booth를 통과하는데는 12초가 걸림

Q. 차 10대가 두번째 톨게이트까지 도달하는데 걸리는 시간은?

→ 첫번째 톨게이트에서 12sec * 10 = 2m

→ 즉 62분 걸림

가정 2. 차의 “propagate”sms 1000km/hr, toll booth에서는 1m이 걸림

Q. 첫번째 차는 모든차들이 첫번째 톨게이트를 지나기전에 두번째 톨게이트에 도착하는가?

→ 첫번째 차 2nd booth 도착까지 : 1분(d_queue) + 6분(d_prop) = 7분

→ 모든차 빼려면 10분

→ 즉, 도착 가능

R : 링크의 대역폭 (bps) → 클수록 많은 데이터

L : 패킷 길이 (bit)

a : 평균 패킷 도착 속도

La/R ~ 0 : 평균. queueing delay가 작음

La/R → 1 : 평균. queueing delay가 큼

La/R > 1 : 서비스할 수 있는 양 초과 → loss 발생


Packet loss

큐(버퍼)는 유한한 저장공간임

패킷이 꽉찬 큐에 도착하게된다면 버려짐

이때 lost packet은 재전송을 통해 다시 보내야함

Througput

sender에서 receiver로의 전송량

bottleneck link : end-end path에서 throughput은 가장 좁은 관의 영향을 받으므로 그 용량만큼만 보내야하

보통 access network에서 bottleneck이 걸림

📌 Protocol layers, service models

네트워크는 많은 pieces들이 존재하여 매우 복잡 → host, routers, media, app, protocol, sw, hw …

네트워크를 layer로 구분하여 다른 기능을 하도록

모듈화는 유지보수를 쉽게하고, 다른 계층에 영향을 주지 않음

application : 네트워크 어플리케이션을 서포트 → IMAP, SMTP, HTTP

transport : 프로세스(실행중인 프로그램) 간 데이터 교환 → TCP(신뢰성 높고, 연결지향), UDP(속도 빠르고, 비연결지향)

network : source에서 destination까지의 routing → IP, routing protocols

link : 이웃(즉 2계층 끼리)끼리의 전송 → 이더넷, 802.11(wifi), PPP

physical : bit를 이용하여 통신

각 계층마다 부르는 이름이 다름

  • 5 : message, 4 : segment, 3: datagram(packet), 2 : frame

각 계층을 지나면서 헤더가 붙음. 2계층의 frame 형태로 데이터를 바꿀때는 trailer라는 버그를 체크하는 꼬리도 붙임 → 1계층까지가서 한비트씩 전송

→ switch에서 받고 어느 경로로 갈지 결정(link, 2계층 까지만 읽음)

→ router에서 받고 어느 경로로 갈지 결정(network, 3계층 까지만 읽음)

→ destination에서 다 읽음

📌 Network security

인터넷은 원래 보안을 고려하지 않고 설계되었음

→ 인터넷의 초기 비전 : 투명한 네트워크에 연결된 상호 신뢰 가능한 사용자의 그룹

인터넷 프로토콜 디자이너가 “catch-up”

보안은 모든 계층에서의 고려사항

malware

  • virus : 수신/실행 대상에 의한 자가 감염 → 숙주 필요. email같은거
  • worm : 감염 대상이 없어도 스스로 실행 가능 → 숙주 필요 없음

spyware : 키입력, 웹사이트 방문정보, 업로드 정보를 기록함

감염된 호스트는 botnet에 등록되어 스팸이나 DDos 공격에 사용될 수 있음

DoS(Denial of Service)

공격자가 가짜 트래픽으로 리소스를 압도하여 정상적인 리소스(서버, 대역폭)를 사용할 수 없게 만듬

  1. 타겟 설정
  2. 네트워크 주변의 호스트에 침입(botnet을 보고)
  3. 손상된 호스트에서 타깃으로 패킷 전송

packet sniffing

broadcast media(이더넷, 무선)에서 일어남

중간에서 지나가는 모든 패킷을 읽고/기록 한다 (비밀번호까지도)

예방 : 암호화 해줘야함

IP spoofing

보내는 주소를 다른 것으로 위장해서 패킷을 보내느 것

→ C가 자신의 아이피를 B로 위장해서 패킷을 보냄

예방 : 종단간 인증

profile
💻 개발 공부 기록장

0개의 댓글