Notice
Recent Posts
Recent Comments
Link
total_activ
데통 공부 v.02 (Loss, Delay, Throughput, layering, Security 공격, History) 본문
performance측정 방법 : loss 어떤상황에 발생하는지, delay 구성요소, throughput 무엇인지
- Bandwidth and Latency
- Bandwidth : 대역폭
- 일정 시간 동안 전송된 비트 수
- ex) 10Mbps = 초당 천만비트 전송 (1억)
- 1MB=8Mbps
- 일정 시간 동안 전송된 비트 수
- Latency (delay) : 대기시간
- 네트워크의 한쪽 끝에서 다른 네트워크까지 메시지가 이동하는 데 걸리는 시간
- Round-trip time(RTT) : 왕복시간
- 메세지가 네트워크의 한쪽 끝에서 다른쪽으로 이동하고 돌아와서 걸리는 시간
- 참고) ping
- 요소
- Speed-of-light propagation delay : 빛의 속도 전파 지연 = 거리/빛의 속도
- 진공에서 3.0x108m/s, 케이블에서 2.3x108m/s, 광섬유에서 2.0x108m/s
- 데이터 단위를 전송하는 데 걸리는 시간(transmit) =크기/대역폭 • 대기 지연 (Queuing delay) • 처리 지연 (Processing delay) → 에러확인+나가는경로 선택 • Latency(대기시간) = Processing(처리시간) + Propagation(전파) + Transmit(전송) + Queue(대기열)
- Speed-of-light propagation delay : 빛의 속도 전파 지연 = 거리/빛의 속도
- Bandwidth : 대역폭
- Bandwidth (대역폭)
- 일정 시간 동안 전송된 비트 수
- ex) 10Mbps = 초당 천만비트 전송 (1억)
- 일정 시간 동안 전송된 비트 수
- 상대적 중요성은 application에 따라 달라진다
- 1바이트 메시지
- 1ms RTT 또는 100ms RTT
- 전송 = 1Mbps의 경우 8μs 및 100Mbps의 경우 0.08μs →일정하다
- 25(200Mps) MB 이미지(디지털 라이브러리 프로그램) : 대용량
- 채널의 대역폭이 성능을 좌우합니다
- 1바이트 메시지
- delay(지연=왕복지연) x bandwidth(대역폭)
- pipe로서의 네트워크
- 첫번째 비트가 도착하기 전에 전송된 데이터의 양해당선에 흐르는 bit 계산 가능
- High-Speed Networks
- 대역폭이 극적인 속도로 증가하고 있습니다.
- "고속"은 latency가 대역폭과 동일한 속도로 향상된다는 의미가 아닙니다. (1MB를 8Mbps속도로 보낼때 1Mps마다 0.1초걸리고 80개의 파이프로 보낸다. = 1MB를 0.008Gbps속도로 보낼때 1Gps마다 12/125초 걸리고 1/12개 파이프로 보낸다.=시간은남는다. )
- 대역폭과 대기 시간 간의 관계. 1MB 파일은 1Mbps 링크는 80번이지만 1Gbps 링크는 한 번의 1/12만 채웁니다.
- loss와 delay 발생 조건
- 라우터 버퍼의 패킷 대기열
- 패킷 대기열, 차례 대기
- 링크 도달률(일시적으로)이 출력 링크 용량 초과: 패킷 손실 loss
- free buffer(↔ loss) → packet in buffers(queueing delay) → packet being transmitted(transmission delay, link에 실림) → propagation → router 도달
- nodal processing (d proc)
- 비트 에러 확인
- 출력 링크 결정
- 1msec 미만
- queueing delay (d queue)
- 전송을 위해 출력 링크에서 대기하는 시간
- 라우터의 혼잡도에 따라 달라짐
- transmission delay = L/R (d trans)
- L: 패킷 길이(bits)
- R: 링크 전송률(bps)
- propagation delay = d/s (d prop)
- d: 육체적인 링크의 길이
- 전파 속도(~2x108 m/sec)
- nodal processing (d proc)
- Packet queqeing delay (revisited)
- R: 링크 대역폭(bps)
- L: 패킷 길이(비트)
- a: 평균 패킷 도착률
- La/R ~ 0: 평균. 작은 대기열 지연
- La/R -> 1: 평균. 대기 지연이 크다
- La/R > 1: 더 많은 "작업"이 도착합니다. 서비스할 수 있는 것 이상 - 평균 무한 지연!실제 인터넷 delays와 routes
- traceroute 프로그램: 목적지를 향해 end-end 인터넷 경로에 따라 출발지에서 라우터까지지연 측정을 제공합니다. 모든 i에 대해서:
- 도착 경로에 있는 라우터 i에 도달할 세 개의 패킷을 보냅니다. (i의 time-to-live 필드 값과 함께)
- 라우터 i는 발신자에게 패킷을 돌려준다.
- 발신자는 전송과 응답 사이의 시간 간격을 측정합니다.
- 경로가 변경되면 delay 측정시간이 감소할수도 있음. 절대적이지 않다.
- traceroute 프로그램: 목적지를 향해 end-end 인터넷 경로에 따라 출발지에서 라우터까지지연 측정을 제공합니다. 모든 i에 대해서:
- packet loss
- 버퍼에 있는 링크 앞의 큐(버퍼라고도 함)는 용량이 한정되어 있습니다.
- 전체 대기열에 도착하는 패킷이 삭제됨(일명 손실)
- 손실된 패킷은 소스 끝시스템에 의해서, 이전 노드에 의해 재전송될 수 있습니다. 또는 안그럴수도 있다.
- 그래서 웹은 TCP 사용해서 도착확인을 받는다.
- Throughput(bottleneck link로 결정)
- 처리량: 발신자에서 송신자로 비트가 전송되는 속도(비트/시간 단위)
- instantaneous 순간: 주어진 시점에서의 속도
- Average 평균: 장기간에 걸친 비율
- Server → pip로 bit 전송 → pipe(R:sever data rate) → 라우터 → pipe(R:client data rate) → Client (빨라도 가득 채울수 없다!)
- bottleneck link: end-end throughput(S→C)을 제한하는 end-end 경로의 링크 → sever data rate가 client data rate보다 크든작든 보내지는 데이터비율은 같다.
- 즉, bottleneck link에 의해 average throughput이 줄었다 (작은 R로 bottleneck 결정)
- 10개가 연결된 링크일 경우 (보통은 Rc가 작거나 Rs가 몰리면 회선이 나눠진다)
- 연결당 최종 throughput: min(Rc,Rs,R/10)
- 실제로는 Rc 혹은 Rs가 bottleneck이다.
layering 큰그림, service models
- protocal
- layers / reference models
- 많은 조각들로 네트워크는 복잡하다!
- hosts, routers, links of various media, applications, protocols, hardware, software
- 많은 조각들로 네트워크는 복잡하다!
- example (organization of air travel)
- ticket → baggage → gates → runway takeoff → airplane routing → airplane routing → airplane routing → runway takeoff → gates → baggage → ticket
- layers : 각각의 계층은 서비스를 실행한다.
- 자체 내부 레이어 작업을 통해
- 아래 계층에서 제공하는 서비스에 의존
- 왜 계층화하는가?
- 복잡한 시스템 다루기:
- 명시적 구조는 복잡한 시스템의 조각의 식별, 관계를 허용합니다. → 토론을 위한 계층화된 참조 모델
- 모듈화로 유지보수, 시스템 업데이트 용이
- 계층의 서비스 구현 변경: 나머지 부분에 투명 체계
- 예: 게이트 절차의 변경은 시스템의 나머지 부분에 영향을 미치지 않습니다.
- 겹겹이 해로운 것으로 간주됩니까?
- 중복적인 데이터를 담을 수 있다. (time stamp, 자기계층데이터만 볼수 있음 하지만 중복데이터가 많아질수록 time stamp 즉, 패킷 길이도 증가)
- 다른 복잡한 시스템의 계층화?
- 복잡한 시스템 다루기:
- Internet protocol stack
- 최근은 5계층이고 TCP/IP protocol stack 관점에서는 link와 physical 합쳐서 4 stack으로 본다! (예전 IOS/OSI reference model은 7stack)
- application: 네트워크 애플리케이션 지원
- IMAP(이메일), SMTP(이메일) , HTTP(web)
- transport: 프로세스-프로세스 데이터 전송
- TCP(운영체제:전송/관리), UDP
- network: 출발지에서 도착지까지 데이터그램의 routing
- IP, routing protocols
- link: 이웃하는 네트워크 요소간의 데이터 전송 (점프(hop)를 위한 책임 계층)
- 이더넷, 802.11(WiFi), PPP(point to point protocol)
- physical: "on the wire"(전선에) bit
- ISO/OSI reference model
- presentation
- 응용 프로그램이 데이터의 의미 해석,
- 예: 암호화, 압축,기계별 규칙
- session
- 동기화, 체크포인트, 데이터 복구 교환 → 응용계층에서도 가능
- 인터넷 스택이 "누락" 레이어!
- 만약 필요하다면 이 서비스들은 application에 실행되어야만 한다.
- 필요할까?
- presentation
- 캡슐화
- link은 다음 router 알려주고 physical은 전선으로 bit 보내주고 switch는 link, physical로 정보를 가져가지만 다음 router은 network로 받고 link physical을 추가해준다.
- layers / reference models
security 공격 위험
- network security
- 네트워크 보안 분야:
- 나쁜 사람이 컴퓨터 네트워크를 공격할 수 있는 방법
- 공격으로부터 네트워크를 방어하는 방법 (감지후 측정)
- 공격에 내성이 있는 아키텍처(하드웨어 구조)를 설계하는 방법
- 인터넷은 원래 (많은) 보안으로 설계되지 않았습니다.
- 원래의 비전: "상호 신뢰하는 사용자 그룹 투명한 네트워크”
- "추격(catch-up)"을 하는 인터넷 프로토콜 설계자
- 모든 계층의 보안 고려 사항!
- 네트워크 보안 분야:
- 나쁜 해커
- malware
- 맬웨어는 바이러스, 웜을 통해 호스트에 들어갈 수 있습니다.
- 바이러스: 개체를 수신/실행하여 자가 복제 감염 (예: 이메일 첨부)
- 웜: 수동적으로 스스로 실행되서 개체를 수신받아 자가 복제 감염
- 스파이웨어 맬웨어는 키 입력, 방문한 웹 사이트, 수집 사이트에 대한 정보 업로드를 기록할 수 있습니다.
- 감염된 호스트는 스팸 또는 분산 서비스 거부(DDoS) 공격를 위해 사용되는 봇넷에 등록될수 있다.
- 맬웨어는 바이러스, 웜을 통해 호스트에 들어갈 수 있습니다.
- denial of service
- 서비스 거부(DoS): 공격자는 가짜 트래픽으로 리소스를 압도하여 합법적인 트래픽에서 리소스를 사용할 수 없도록 만듭니다.
- 대상 선택 (DDoS 공격대상)
- 네트워크 주변 호스트에 침입 (봇넷 참조)
- 손상된 호스트에서 공격 대상으로 패킷 보내기
- packet interception
- 패킷 스니핑(sniffing)
- 방송매체 ****(공유 이더넷, 무선)
- 무차별 네트워크 인터페이스는 지나가는 모든 패킷을 읽고/기록합니다(예: 비밀번호 포함)
- wireshark software : (무료) 패킷 스니퍼입니다.
- 패킷 스니핑(sniffing)
- fake identity
- IP spoofing : 거짓된 출발 주소와 함께 보내는 패킷 (C가 “src(B) + dest(A) + payload” 패킷 A에게 전송) → C가 B에게 Dos 공격
- malware
history
- Internet history
- 1961-1972: 초기 패킷 교환 원리
- 1961: Kleinrock - 대기열 이론은 패킷 스위칭의 효과를 보여줍니다
- 1964: Baran - 군용 그물에 패킷 교환
- 1967: 고급 연구 프로젝트 대행사에 의해 구상된 ARPAnet
- 1969년: 최초의 ARPAnet 노드 운영
- 1972년:
- ARPAnet 공개 데모
- NCP(네트워크 제어 프로토콜) 첫 번째 호스트-호스트 프로토콜
- 최초의 이메일 프로그램
- ARPAnet에는 15개의 노드가 있습니다.
- 1972-1980 : 인터네트워킹, 신규 및 독점 네트
- 1970: 하와이에서 ALOHAnet 위성 네트워크
- 1974: Cerf와 Kahn - 네트워크 연결용 아키텍쳐
- 미니멀리즘(외부접근 감소), 자율성 - 네트워크 상호연결이 필요되는 내부 변경 아님
- best-effort service model (lose 보장안한다)
- stateless routing (경로 고착하지 않는다.)
- 분산 제어 (군산적 제어 증가) 오늘날의 인터넷 아키텍처 정의
- 1976: Xerox PARC의 Ethernet
- 70년대 후반: 독점 아키텍처: DECnet, SNA, XNA
- 70년대 후반: 고정 패킷길이 전환 (ATM 전구체)
- 1979년: ARPAnet에는 200개의 노드가 있습니다.
- 1990,2000 : 상용화, 웹, 새로운 애플리케이션
- 1990년대 초: ARPAnet 퇴역
- 1991년: NSF는 NSFnet의 상업적 사용 (1995년 퇴역)
- 1990년대 초반: 웹
- 하이퍼텍스트 [Bush 1945, Nelson 1960's]
- HTML, HTTP: Berners-Lee
- 1994년: Mosaic, 이후 Netscape
- 1990년대 후반: 웹의 상용화
- 1990년대 후반 – 2000년대:
- 더 많은 keller 앱: instant 메시징, P2P 파일 공유
- 네트워크 보안 최우선
- 예상 호스트 5천만 명, 1억 명 이상 사용자
- Gbps에서 실행되는 backbone 링크
- 2005-현재: 더 많은 새로운 애플리케이션, 인터넷은 "어디서나"
- 인터넷에 연결된 ~180억 장치(2017)
- 스마트폰의 증가(iPhone: 2007)
- 광대역 액세스의 적극적인 배포
- 고속 무선 접속의 보편화: 4G/5G, WiFi
- 온라인 소셜 네트워크의 출현:
- Facebook: ~ 25억 사용자
- 서비스 제공자(Google, FB, Microsoft)는 자체 네트워크를 생성합니다.
- 검색, 비디오 콘텐츠에 대한 "즉각적인" 액세스 제공하면서 최종 사용자에게 "가까운" 연결하는 우회 상용 인터넷
- 기업은 "클라우드"에서 서비스를 실행합니다(예: Amazon Web Services, 마이크로소프트 애저)
- 인터넷에 연결된 ~180억 장치(2017)
- 1961-1972: 초기 패킷 교환 원리
'공부' 카테고리의 다른 글
데통 공부 v.04 (DNS, P2P) (1) | 2022.09.20 |
---|---|
데통 공부 v.03 (Application layer, Transport layer, HTTP, Queue) (1) | 2022.09.20 |
데통 공부 v.01 (Internet overview, network edge, access network, network core) (0) | 2022.09.20 |
PE 파일 구조 (32bit/64bit) (0) | 2022.03.25 |
Process Hollowing (0) | 2022.03.19 |