[네트워크] 1-2 네트워크 퍼포먼스와 인터넷 5계층, 네트워크 시큐리티
1. 네트워크의 퍼포먼스
네트워크의 퍼포먼스중 중요한 세가지 : delay, loss, throughput
1.1 delay
패킷이 한 홉을 지나가면서 겪게 되는 딜레이, 총 4가지가 있다.
*홉(Hop) 이란?* : 홉(hop)은 데이터가 출발지와 목적지 사이에서 통과해야 하는 중간 장치를 가리킨다.
1. nodal processing
- 패킷 프로세싱 과정에서 발생하는 delay
- 노드에 패킷이 도착하면 데이터가 잘왔는지 에러체킹을 하고 다음번 보낼 아웃풋 링크를 결정하는 프로세싱을 함
- 딜레이 시간은 일반적으로 millisecond 보다 작음
- 딜레이는 일정한 편
2. queueing delay
- 프로세싱이 끝난 패킷은 큐(buffer)에 들어가서 다음 아웃풋 링크로의 전송을 기다리는데, 이 때 발생하는 delay
- 딜레이는 노드의 복잡성에 따라 달라짐
3. transmission delay
- 링크에 실릴 차례가 되었을 때, 패킷을 링크에 밀어 넣는 시간 동안 발생하는 딜레이
- 패킷의 크기 L 와 링크의 bandwidth R 에 의해 결정 됨
- Delay = L / R (패킷의 크기에 비례하고 링크의 bandwidth에 반비례함)
- 패킷의 크기와 링크의 bandwidth는 대부분 일정하기 때문에 딜레이도 일정한 편
4. propagation delay(전파 지연, 전달 지연)
- 하나의 bit가 Sender를 떠나 Receiver까지 도착하는데 걸린 시간
- 링크 길이 d와 propagation의 속도에 s 따라 결정됨
- s는 일반적으로 2 x 10^8 m/sec
- Delay = d / s (링크의 길이에 비례하고 propagation의 속도에 반비례함)
- 링크의 길이와 propagation의 속도는 대부분 일정하기 때문에 딜레이도 일정한 편
총 딜레이 시간은 네가지 종류의 딜레이를 모두 더한 것!
- 데이터가 queue에서 나가는 속도보다 더 빠른 속도로 트래픽이 유입되면 queue에 패킷이 쌓여 발생
- 노드에 단위시간 당 유입되는 트래픽의 양 = 패킷의 길이(L) * 단위시간당 도착하는 패킷의 수(a)
- 트래픽 강도(traffic intensity) : L * a / R = 단위시간 당 유입되는 트래픽의 양을 링크의 bandwidth(R)로 나눈 것!
L * a = r
유입되는 양과 나가는 양이 같을 경우
같으면 딜레이가 없을까?
->traffic intensity가 0.7 이상정도 되면 딜레이가 가파르게 증가함
-> why? a는 평균값이기 때문에 L * a > R 인 경우 traffic intensity가 높아 무한 딜레이 발생
ex) L * a / R 이 0.4인 경우 50%, 1.2인 경우 50%일 때도 traffic intesity는 평균이기 때문에 0.8로 계산이 된다.
그러나 실제로는 L * a / R = 1.2 인 경우 무한 딜레이가 발생됨
-그서 실제로는 0.7이상이면 딜레이가 무한정으로 길어지게 됨
l * a > r
유입이 계속 쌓임 -> 딜레이 무한 발생
l * a < r
큐잉 딜레이가 매우 짧음 (*traffic intensity < 0.7 이하일 경우)
1.2 Packet loss
들어오는 패킷은 바로 나가지 않고, 큐에 쌓이게 되는데 큐는 매우 작기 때문에 L * a /R 이 1에 근접하게 되면 큐가 꽉차서 새로 들어오는 패킷은 버리게 됨 -> loss 발생
1.3 Throuhtput
단위시간당 source로부터 destination까지 배달한 트래픽의 양
- 두개의 다른 링크가 있다면 그중 작은 링크에 의해 throughtput이 결정됨.
- 가장 작은 링크 = bottleneck link
예제
1. 평균 throughput = Rs b/s
2. 평균 throughput = Rc b/s
실제 네트워크의 throughput
- 네트워크 코어에 10개의 서버가 연결된다고 가정
- 네트워크 코어 R은 각각의 서버가 R/10씩 나누어 사용함
- 실제 네트워크 코어의 bandwidth는 굉장히 크기 때문에, 일반적으로 bottleneck link는 네트워크 엣지단이 됨
2. 프로토콜 레이어, 서비스 모델
2.1. 프로토콜
프로토콜은 매우 복잡하기 때문에 레이어링이라는 구조로 되어있음.
레이어링의 장점
- 복잡한 시스템들 끼리 관계를 맺기가 용이하고, 유지보수나 업데이트가 용이함
레이어링의 단점
- 레이어는 각자 자신만의 기능을 수행하는데, 그 기능들이 중복될 수 있음
- 각 레이어간의 커뮤니케이션이 필요해, 정보를 가져오는데 오버헤드가 발생할 수 있음.
2.2. 인터넷 프로토콜 스택 (인터넷 5계층)
5계층 : application layer
- 종류 : FTP, SMTP, HTTP등
- 네트워크 어플리케이션 프로그램을 지원
- 유저 어플리케이션에서 발생한 데이터를 포장해서 메세지로 만드는 것이 주된 역할
- "내가 만든 메세지를 process to process로 전송 해줘"라고 transport layer에 부탁
4계층 : transport layer
- 종류 : TCP, UDP 등
- process to process 데이터 전달 하는 역할
- process to process를 하려면 우선 host to host가 되어야 함
- "host to host 해 줘" 라고 network layer에 부탁
3계층 : network layer
- 라우팅을 통해 host to host 함
- host to host를 하기 위해서는 각각의 홉을 건너가야 함
- "데이터를 다음 홉으로 전달 해 줘" 라고 홉을 건너는 일을 link layer에게 부탁
2계층 : link layer
- 홉을 건너기 위해 물리적 매체에 비트를 밀어넣어야함
- physical layer 에게 데이터 전달을 부탁함
1계층 : physical layer
- 선을 통해 비트를 전송함
2.3 source에서 destination 까지
- source로부터 destination까지 데이터가 전달되는 과정
- 스위치는 2계층까지, 라우터는 3계층까지있음
- 스위치는 네트워크 계층이 없어서 길찾기 기능이 없음
*스위치와 라우터의 차이가 궁금 할 경우*
https://www.itworld.co.kr/news/167585
3. 네트워크 시큐리티
- 프로토콜의 각 계층에 보안 매커니즘이 추가가 되어야함
- 초반에는 인터넷에 극초반의 전문가들만 접속을 했기때문에 네트워크에 보안이 없었음
- 그러나 인터넷이 보급되면서 보안이 필요하게 됨
3.1 Malware
컴퓨터내에 존재하는 악성 코드를 총칭해서 malware라고 부름
3.1.1 malware의 종류
1. virus
- 받아서 실행을 해야 악성 코드가 발생됨
- ex) 이메일에 첨부된 악성파일을 실행시킬 때
2. worm
- 받기만 하면 저절로 구동이 됨
- spyware : 사용자가 키보드로 뭘 쳤는지, 어떤 사이트에 방문했는지, 뭘 업로드했는지를 다 기록하는 worm
- Botnet : 스팸 이메일 전송이나 DDos attacks을 위해 사용된 오염된 컴퓨터들의 집합
3.1.2 Malware의 사용 예시
Dos(Denial of Service)
Dos 서버에 계속 가비지 데이터를 보내서 실제 데이터를 받지 못하게 함
1. 공격 할 타겟 서버를 정함
2. 타겟 서버 주위의 컴퓨터들을 감염시킴 (Botnet)
3. 감염된 컴퓨터들이 서버를 공격함
3.2 packet sniffing
- wifi, shared ethernet 등에서 발생할 수 있음
- 같은 네트워크를 사용하는 모든 패킷의 정보를 훔쳐보는것
- C는 B에서 A로 보내는 패킷을 훔쳐 볼 수 있다.
3.2 IP spoofing
- source address를 남인척 위조해서 패킷을 보내는 것
- C는 B인척 위조해서 A에게 패킷을 보낸다
'CS공부' 카테고리의 다른 글
[네트워크] 2-2 Application Layer (응용계층) - 쿠키, 웹캐시, SMTP (0) | 2022.04.09 |
---|---|
[네트워크] 2-1 Application Layer (응용계층) (0) | 2022.04.07 |
[네트워크] 1-1. 인터넷이란? (0) | 2022.03.30 |
[네트워크] TCP/IP 5계층 (0) | 2022.03.27 |
[네트워크] 네트워크의 개념 (0) | 2022.03.26 |
댓글