-
네트워크: Delay in Network, Protocol layer, Network security 정리네트워크 2020. 9. 20. 12:39
보기전에 참고하기 좋을 듯 하다
한 호스트가 다른 호스트로 데이터(packets)를 보내기 위해서는 네트워크 코어(router)를 거쳐야 한다.
이번 포스팅은 패킷이 라우터를 통과하는데 걸리는 시간(delay)과 프로토콜 레이어(Protocol layer)를 알아본다.
우선 상황은 이러하다.
호스트들은 라우터로 패킷들을 보내고 패킷들은 라우터에 순차적으로 쌓인다.
패킷들은 라우터 버퍼에 온 순서대로 줄을 서고 여기서부터 딜레이가 발생한다.
이 딜레이를 Nodal delay라 하며 다음과 구성된다.
Nodal delay = nodal processing delay + queuing delay + transmission delay + propagation delay
1. Processing delay
- 패킷에 에러가 있는지 검사한다.
- 패킷에게 앞으로 나갈 링크를 정해준다.
2. Queuing delay
- Transmission 하기 전에 output으로 나가는 링크에서 기다리는 시간
- 라우터 버퍼의 혼잡도에 따라 기다리는 시간이 변한다.
3. Transmission delay(전송지연)
- 링크로 들어가는 시그널로 바뀌는 시간
- Transmisson delay = L/R
- La/R이 0에 수렴할 때는 버퍼가 텅텅비어 있음을 의미
La/R이 1로 수렴할 때는 버퍼가 꽉차있음을 의미
L : 패킷의 길이(bit)
R: link bandwidth(bps)
a: average packet arrival rate
4. Propagation delay(전파 지연)
- propagation delay = d/S
d: 링크의 길이
s: 전파 속도
< Packet Loss >
라우터의 버퍼는 한정적인 공간을 갖고 있기 때문에
버퍼가 차 있을때 새로운 패킷이 들어오면 queuing해야 한다.
하지만 queue, 즉 버퍼가 가득 차 있을때는 packet이 loss되기도 한다.
이를 packet loss라 하며 drop된 packet은 이전의 노드로 재전송되거나 사라지기도 한다.
※ Traceroute를 이용한 internet delay와 loss 알아보기
(*는 no-response)
< Throughput >
송신자와 수신자 사이에서 패킷을 주고 받을 때 걸리는 처리율
간단하게 생각하면 파이프가 굵을수록, 패킷 전송에 용이하고, 좁을수록 어렵다.
이러한 처리율은 연결되어 있는 다른 파이프의 rate에 의존적인데, 가장 작은 파이프의 rate를 따른다.
최종 rate가 위와 같이 바뀌는 것을 bottleneck link라고 한다.
< 프로토콜 레이어(Protocol layer) >
네트워크는 복잡하고 다양한 구조들로 이루어져 있기 때문에 이를 잘 조합해서 나눈 것이 layer이다.
layer를 나눔으로써, Identification,시스템 구조와의 연관성을 알기 쉬워지고, 유지 보수, 업데이트에 편리해진다.
각 layer마다 사용하는 프로토콜이 다른데 여기서 프로토콜이란
통신을 하려는 주체들 사이에서 언제, 어떻게, 어떤 메세지를 통신할지 규정하는 약속이다.
우선 각 레이어마다 사용되는 프로토콜을 정리해보면 다음과 같다.
- application layer : FTP, SMTP, HTTP
- transport layer : TCP, UDP
- network layer : IP, routing protocols
- link layer : Ethnet, WiFi, PPP
- physical layer : wire
그렇다면 왜 굳이 층을 나눠서 프로토콜을 규정했을까?
인터넷은 엄청나게 복잡한 시스템이기 때문에 지속적인 발전과 관리가 필요하다.
이렇게 기능별 계층구조로 만들어 놓으면 이해, 구현이 편하고 문제가 있을시
한개의 layer만 해결하기 좋다.
그리고 이를 공식적으로 규정한 프로토콜이 ISO/OSI reference model이다.
컴퓨터 학도라면 흔히 OSI 7계층이라고 들어봤을것이다.
추가적으로 presentation계층과 session계층이 포함되었으며 주로 다음과 같은 일을 수행한다.
- presentatioin layer : encrption, compression
- session layer : syncronization, checkpointing
< Encapsulation >
다음과 같은 방식으로 layer를 통해 패킷을 전달한다.
< Network security >
1) malware
멀웨어는 정상적인 작동을 방해하거나 사용자의 컴퓨터, 휴대폰, 태블릿 또는 기타
디바이스를 감염시키도록 설계된 악성 코드로 웜, 바이러스등이 있다.
2) Dos(Denial of Service)
공격 대상이 수용할 수 있는 능력 이상의 정보를 제공하거나 초과를 시켜서 작동하지 못하게 하는 것
3) sniffing
이더넷이나 무선랜에서 숨어서 패킷들을 훔쳐보고 정보들을 탈취하는 것
4) spoofing
자신의 정체를 속여서 패킷을 보내 사용자인척해서 정보를 얻어내는 방식
※전공 공부용으로 작성했습니다.
출처: computer networking a top down approach
반응형'네트워크' 카테고리의 다른 글
네트워크: Transport layer 정리2 (신뢰적 데이터 전송의 원리 Reliable Data Transfer) (0) 2020.10.05 네트워크: Transport layer 정리 (TCP/UDP, 다중화/역다중화, 신뢰적 데이터 전송의 원리(RDT)) (0) 2020.09.30 네트워크: Application layer 정리2(DNS, P2P, CDN) (0) 2020.09.28 네트워크: Application layer 정리(HTTP, Proxy, SMTP, POP, IMAP) (0) 2020.09.20 네트워크: 인터넷, 네트워크의 구조 정리 (0) 2020.09.12