[컴퓨터 네트워크] 1-2 Computer Networks and Internet

윤민우·2023년 3월 19일
0

컴퓨터 네트워크

목록 보기
2/12

Internet Structure

end system 들은 access ISP(Internet Service Provider, 가입자망)를 통해 인터넷과 연결되어 있다.
Access ISP 끼리 서로 연결 되어있어야 한다.
-> 연결 되어 있어야 임의의 두 호스트가 서로 패킷을 보낼 수 있다.
네트워크의 네트워크는 매우 복잡하다
-> 경제적, 국가적 정책에 따라 연결 되었다.

네트워크 구성 방법

  1. 모든 access ISP들을 연결해준다.
    -> O(N^2)만큼 말도 안되는 갯수의 연결이 생겨서 불가능하다.
  2. 중간에 하나의 global ISP가 존재한다.
  3. 여러 ISP들이 존재한다.
    -> global ISP 링크들끼리 연결한 것을 peering link라고 한다.
    -> 중간에 IXP(Internet exchange point)를 통해서 연결하는 경우도 있다.
  4. access net을 ISP와 연결해주는 regional net을 만드는 경우도 있다.
    -> 특정 지역에서 여러 가입자 망들한테 자기네 망을 이용하여 ISP를 지원해 주는 것
    -> 가입자가 regional net에 돈을 내고, regional net이 global ISP로 돈을 내는 것(망 사용료)
  5. content provider network -> 제 3의 네트워크
    -> 자체적으로 유튜브와 같은 서비스를 제공해주는 네트워크
    -> 자신들이 직접 private한 망을 설치하여 직접 연결하여 자신들의 데이터만 이동하게 함
    -> content provider network는 사용자에게 서비스를 제공할 때 ISP와 협약을 맺음

현재 인터넷 구조(제공자 - 소비자)

loss & delay


패킷의 도착 속도가 나가는 속도보다 커지면, 패킷들은 queue에 쌓이게 되고 자신의 oreder를 기다리게 된다.
-> delay occur
-> queue, 버퍼가 꽉차게 되면 패킷의 loss가 발생

delay

딜레이는 총 네가지의 구성 요소로 나누어 생각해 볼 수 있다.

  1. processing delay(nodal processing)
  • 패킷 전송 전에 프로세싱 하는 딜레이(비트 에러 체크, output link 결정) -> 데이터 처리에 걸리는 시간
  • 보통 1 msec 보다 적게 걸린다.(굉장히 작음)
  1. queueing delay
  • 전송을 위해 output link를 기다리는 시간(나가기 위해 걸리는 시간 -> 큐 안에서 나가기 까지 걸리는 시간)
  • 라우터에서 얼마나 밀리는 지에 따라 달라진다.
  1. transmission delay
  • d_trans = L/R
  • 패킷의 모든 비트들을 회선에 올리는 시간 -> 큐에서 link로 모든 비트를 내보내는데 걸리는 시간
  1. propagation delay
  • 한 비트가 목적지 까지 회선을 따라 이동하는데 걸리는 시간
  • d: physical link의 길이, s: propagation 속도 -> d_prop = d/s

Queueing delay


-> La/R = traffic intensity(트래픽 밀도) = 들어오는 속도와 나가는 속도의 비율
-> La/R = 0 : queueing delay가 적다
-> La/R = 1 : 비율은 같아서 들어오는 속도가 일정하다면 딜레이가 없을 수 있지만, 라우터로 들어올 때 일정하게 들어오는 것이 아니라 어느 때는 많이, 어느 때는 적게 들어오기 때문에(들어오는 패턴이 랜덤) 한꺼번에 트래픽이 몰리게 되면 그 순간에 queueing이 생기게 되어 delay가 커진다.
-> La/R > 1 : 들어오는 속도가 더 크기 떄문에 queue는 끝없이 증가하고, drop이 없다고 가정하면 기다리는 시간이 무한해 진다.

Packet loss


큐는 유한한 용량을 가지고 있다.
큐가 가득 차게 되면 더이상 패킷 못받으니까 패킷이 드랍된다.
-> 패킷을 다시 보내야할 수 도 있고, 무시하고 넘어갈 수 도 있다(VoIP, UDP 등등).

Throughput


throughput : sender와 receiver 사이에 비트가 전송되는 속도를 의미한다.

  • instantaneous : 순간적 -> 특정 지점에서의 속도
  • average : 평균적 -> 전체적인 속도


Rs < Rc : Rc가 더 빠르지만 라우터에 도달하는 Rs에서 오는 데이터들 만큼만 전송할 수 있다.
-> 속도는 Rs에 따라 결정된다.

Rs > Rc : Rs가 더 빠르기 때문에 라우터에 패킷이 도달 하더라도 Rc의 속도로 패킷을 전달하게 된다.
-> 속도는 Rc에 따라 결정된다.

bottleneck link : 앞에 있는 것의 전송 속도가 느리다면 뒤에 있는 파이프가 속도가 빠르더라도 앞의 속도에 맞춰야 한다. 마찬가지로 뒤의 것이 속도가 더 느리다면 앞에서 빨리 보내주더라도 늦게 보낼 수 밖에 없다
-> end to end의 전송속도가 결정된다.


출발지가 10개, 목적지가 10개 있고, 한 파이프를 통해 보낼 때 end to end throughput은 Rs,Rc,R/10(공유 네트워크를 여러명이 나눠 사용) 중 가장 작은 것에 따라 결정된다. 그리고 그것이 bottleneck link가 된다.
-> 보통 core는 좋은 것을 쓰기 때문에 Rs나 Rc가 bottleneck이 된다.

protocol layers, service models

layering 모델을 사용하는 이유
복잡한 시스템을 간단하게 만들 수 있기 때문이다.

  • 각 레이어끼리의 영향을 최소화 하도록 해서 한 레이어를 수정하더라도 다른 레이어를 건드릴 필요가 없다.
  • 모듈화를 통해 유지, 업데이트가 쉽다.

Internet protocol stack


5가지 layer로 구성되어 있다.(layer마다 기능이 있음)

  1. application : 네트워크 application을 지원해 준다.(메세지 주고받도록 해줌)
    -> protocol : FTP, SMTP(Simple Mail Transfer Protocol, 간이 우편 전송 프로토콜), HTTP등
  2. transport : 프로세스 간 데이터 전달. 목적지까지 잘 전달하도록 해 준다.
    -> protocol : TCP, UDP(User Datagram Protocol) 등
  3. network : source부터 destination까지 패킷을 어느 경로를 통해 전달할지 결정한다.
    -> protocol : ip, routing protocols
  4. link : 한 홉에 대해 source에서 다음 destination까지 어떻게 데이터를 잘 보낼 것인가.
    -> protocol : Ethernet, wifi 등
  5. physical : 한 홉 사이의 데이터 전달과 관련해서 어떤 식으로 전달할지.(물리 매체)
    -> wire, wireless 등

ISO/OSI reference model


위의 5 레이어 중 application을 세 가지로 세분화 하여 7 레이어로 만든것 -> OSI 7-layer model

  • presentation : 보안, 데이터 압축, 기계 특화 등
  • session : 동기화, 체크포인트 만들기, 데이터 복구 등
    -> 5레이어에서는 이런 기능들이 필요하면 application에서 구현되어야 한다.

store and forward 방식을 통해 데이터가 전달된다.

각 레이어를 통과하며 헤더를 붙인다.
목적지에 있는 같은 레이어에서 헤더를 보고 해석한 후 적절한 대응을 하도록 한다.
캡슐화 : 상위 레이어로 부터 온 데이터에 자기 헤더 붙이는거, 목적지에서는 레이어 올라가면서 자기 헤더 떼버리는거

https://www.youtube.com/watch?v=c3mW5f-jHmI&list=PLXerWPW0-oIL4N-jpzy95SX08cbUHHaPD&index=13

networks under attack: security

원래 인터넷을 설계할 때는 보안에 중점을 두는 것이 아니라 순기능(어떻게 데이터를 전달할까 등)에 중점을 두고 만든다.
-> 모든 레이어에서 보안이 중요하게 여겨진다.

maleware를 인터넷을 통해 host에 집어 넣는다.

  • virus : 스스로 증식한다. 유저에 의해 퍼진다.
  • worm : 스스로 증식한다. 스스로 동작할 수 있다.

-> 목적 : 방문기록, 업로드 등의 정보를 빼오는 것이다. -> spyware male ware
-> 여러 컴퓨터에 worm을 심어서 스팸이나 디도스 어택을 하도록 한다.

Denial of Service(DoS) : 공격자가 어떤 서버가 가지고 있는 리소스를 다 사용하게 하여 적법한 트래픽이 사용하지 못하게 한다.

  1. 타켓 설정
  2. botnet에 속한 모든 host가 타겟에 데이터를 보냄
  3. 타겟은 데이터가 왔기 때문에 해당 데이터를 처리 -> 리소스 사용

Distributed DoS(DDoS) : 여러 개의 노드가 Dos attack를 하게 되면 DDoS라고 한다.

Packet Sniffing : cable network나 Ethernet, wireless과 같은 shared link면, 해당 link에 연결되어있는 다른 노드가 패킷에 있는 내용을 볼 수 있게 된다.

  • 같은 주파수 대역의 와이파이 같은거 설정해서 주고받는 데이터 중간에서 빼오는거

IP spoofing : 패킷을 보냈을 때, 중간에서 source address를 바꿀 수 있음(추적 회피)

챕터 1에서 봐야할 것들

  1. Network structures - network edge & physical media, access network & network core
  2. packet switching vs circuit switching
  3. Internet structure
  4. layering, service models
  5. security
profile
개발, 피아노, 출사

0개의 댓글