컴퓨터네트워크

[컴퓨터 네트워크] 2일차 수업 (Introduction/Application Layer)

ima9ine4 2024. 7. 3. 22:46
728x90

4. Performance: loss, delay, throughput

데이터의 loss와 delay발생

네트워크의 어느 한 지점에서 데이터가 너무 많이 들어와서(도착 속도가 너무 빨라서) 이 데이터가 다른 지점으로 나가는 용량을 초과할 때 패킷 손실이 발생하게 된다. 라우터의 버퍼가 가득 차서 더 이상 데이터를 수용할 수 없게 되고, 새로운 패킷들은 버려지게 된다.

패킷 지연시간은 총 4가지의 요소가 더해져서 계산된다.

1. 노드 처리 지연(Nodal Processing Delay)
- 패킷이 라우터에 도착하여 처리되는 시간
- 비트 오류 확인, 출력 링크 결정

2. 큐잉 지연(Queueing Delay)
- 패킷이 출력 링크에서 전송되기 위해 대기하는 시간
- 라우터의 혼잡 수준에 따라 달라짐

3. 전송 지연(Transmission Delay)
- 패킷이 라우터의 출력 포트에서 전송되는 시간
- d trans = L / R
(R은 링크 전송 속도, 네트워크가 데이터를 전송할 수 있는 최대 속도
L은 전송되는 데이터 패킷의 길이)

4. 전파 지연(Propagation Delay)
- 신호가 링크를 따라 이동하는 시간
- 매우 짧음
- d prop = d / s (d는 물리적 링크의 길이, s는 전파 속도)

 


 

실제 인터넷의 지연과 경로를 측정하는 도구로 traceroute 프로그램이 있다.

소스에서 목적지까지 인터넷 경로를 따라 각 라우터를 거치며 지연시간을 측정한다.
경로에 있는 각 라우터 i에 대해서:

세 개의 패킷 전송 - 목적지로 가는 경로에 있는 라우터 i에 도달하도록 세 개의 패킷을 전송한다. 이때 패킷의 TTL 값을 i로 설정하여 해당 라우터에서 만료되도록 한다. (* TTL이란 Time-to-Live, 네트워크에서 패킷의 생존 시간을 제한하여 무한 루프를 방지하고 네트워크 자원을 보호하는 필드, TTL은 각 홉을 거칠 때마다 감소하며, TTL 값이 0이 되면 패킷은 폐기된다.)

라우터 i가 패킷 반환: 각 라우터 i는 패킷을 송신자에게 반환한다. 

송신자가 시간 측정: 송신자는 전송과 응답 사이의 시간 간격을 측정하여 지연 시간을 계산한다.

tace rt 명령어


Packet Loss는 네트워크에서 데이터 패킷이 목적지에 도달하지 못하고 손실되는 현상이다. 

패킷은 전송되기 전에 일시적으로 버퍼(대기영역)에 저장된다. 하지만 버퍼의 크기는 제한되어 있으므로 패킷이 도착할 때 버퍼가 가득 차 있으면 해당 패킷은 버려진다(손실된다). 손실된 패킷은 이전 노드나 송신 시스템에 의해 재전송될 수 있고, 일부 경우에는 재전송되지 않을 수도 있다.


Throughput 처리량

송신자에서 수신자로 비트가 전송되는 속도를 의미한다.


5. Security

네트워크 보안의 분야:

  • 악의적인 공격자들이 어떻게 컴퓨터 네트워크를 공격할 수 있는지 (how bad guys can attack computer networks)
  • 어떻게 네트워크를 공격으로부터 방어할 수 있는지 (how we can defend networks against attacks)
  • 공격에 면역이 되는 아키텍처를 어떻게 설계할 것인지 (how to design architectures that are immune to attacks)

 

인터넷의 원래 설계 의도:

  • 인터넷은 원래 보안을 염두에 두고 설계되지 않았음 (Internet not originally designed with much security in mind)
  • 원래의 비전: "투명한 네트워크에 연결된 상호 신뢰하는 사용자 그룹" (original vision: "a group of mutually trusting users attached to a transparent network")
  • 인터넷 프로토콜 디자이너들이 "따라잡기"를 하고 있음 (Internet protocol designers playing "catch-up")
  • 모든 계층에서의 보안 고려 (security considerations in all layers)

- Dos(Denial of Service)
- packet sniffing
- IP spoofing


6. Protocol layers, service models

프로토콜의 레이어

네트워크를 구성하는 여러가지 요소들이 있다.
host, routers, link of various media, applications, protocols, hardware, software ...


레이어링이 필요한 이유 (Why Layering?):

  • 명확한 구조는 복잡한 시스템의 구성 요소의 식별과 관계를 가능하게 한다 (Explicit structure allows identification and relationship of complex system’s pieces):
    • 논의를 위한 계층화된 참조 모델 (Layered reference model for discussion)
  • 모듈화는 시스템의 유지보수와 업데이트를 용이하게 한다 (Modularization eases maintenance and updating of system):
    • 계층의 서비스 구현의 변화는 시스템의 나머지 부분에 투명하게 유지됨 (Change in layer’s service implementation: transparent to rest of system)
    • 예를 들어, 게이트 절차의 변경은 시스템의 나머지 부분에 영향을 미치지 않음 (e.g., change in gate procedure doesn’t affect rest of system)

OSI 7계층

  1. 물리 계층 (Physical Layer): 하드웨어적 연결, 전기적 신호 전송
  2. 데이터 링크 계층 (Data Link Layer): 노드 간의 데이터 전송 및 오류 검출
  3. 네트워크 계층 (Network Layer): 데이터의 경로 설정 및 논리적 주소 지정
  4. 전송 계층 (Transport Layer): 데이터 전송의 신뢰성 확보, 흐름 제어
  5. 세션 계층 (Session Layer): 통신 세션 설정, 유지, 종료
  6. 표현 계층 (Presentation Layer): 데이터 형식 변환, 암호화
  7. 응용 계층 (Application Layer): 사용자와 직접 상호작용하는 애플리케이션 서비스

Applications

1. Principles of network applications

- Client - Server paradigm (CS구조)
- Peer to Peer paradigm

 

 


Internet transport protocols services

TCP 서비스: 신뢰성 있는 전송, flow control, congestion 

 

728x90
반응형