네트워크 계층1

ㄱㅇㅁ·2023년 11월 20일

네트워크

목록 보기
9/20

Recap

How do loss and delay occur

  • router에서 처리할 수 있는 용량보다 많이 들어오면 문제 발생
  • 임시공간에 packet 두는 시간 -> delay
    1. Processing delay
      packet 검사, 목적지 확인
    2. Queueing delay
      buffer, queue : 나가는 속도보다 들어오는 속도가 높을 경우 잠시 저장하기 위해 사용
      queue에서 기다리는 시간
    3. Transmission delay
      queue에서 나갈때 첫번째 bit가 나가는 순간부터 마지막 bit가 나갈때까지 걸리는 시간
      packet length(bits)/link bandwidth(bps)
    4. Propagation delay
      마지막 비트가 link에 올라와서 다음 router에 도달할 때까지 걸리는 시간
  • queue 공간이 차 들어가지 못한채 drop되는 packet -> loss

HTTP

  • request, response로 message가 이루어짐
  • 서버는 기억하는게 없어서 stateless protocol
  • TCP 사용 -> reliable한 전송
  1. non-persistent HTTP
    TCP connection을 만든 후 끊고 다시 만들어서 사용
  2. persistent HTTP
    TCP connection을 만든 후 끊지 않고 유지하여 재사용

UDP

  • field가 4개 -> 간단
  • error detection, multiplexing/demultiplexing 해줌
  • DNS가 UDP 사용

Reliable data transfer

  • packet error -> error detection, feedback, retransmisson, sequence number로 해결
  • packet loss -> timeout

Pipelined protocols

  • 한번에 여러개의 packet을 보내는 것
  • Go-Back-N, selective repeat 방식 존재

Go-Back-N

  • 장점: timer 1개 -> 동작이 간편
  • 단점: 유실된 packet은 1개인데 나머지들도 다시 재전송해야 해서 overhead가 크다

Selective repeat

  • 장점: loss된 packet들만 재전송
  • 단점: 모든 packet별로 timer를 가지고 있어서 구현이 복잡

TCP

  1. point-to-point
  2. reliable, in-order byte stream
  3. pipelined
  4. full duplex data
  5. send&receiver buffers
  6. flow controlled
  7. congestion control

Fast retransmit

  • timeout 전 packet 유실 여부 아는 방법: 중복 ACK 번호를 3번(총 4번) 받으면 유실로 판단
    -> timer 터지기 전 미리 재전송

TCP Congestion control

  • network 상황에 맞게 보내주는 것
  • slow start, additive increase, multiplicative decrease

TCP Tahoe vs TCP Reno

TCP tahoe는 timeout, 3duplicated ACK 발생 시 둘 다 다시 slow start로 시작
TCP Reno는 3dulplicated ACK 경우에는 window size를 절반으로만 줄이고 linear하게 증가

Chapter 4. Network layer

IP protocol: packet을 ip에 담아서 보내면 router가 받아서 알맞는 방향으로 보내줌

Network layer

  • source부터 destination까지 packet을 어떤 경로로 보낼 것인가 -> router 등장

Router의 역할

1. forwarding

  • packet의 목적지가 header에 적혀 있음
  • 목적지를 보고, 목적지로 향하는 link를 판단
    -> router 안의 특정 목적지로 향하기 위한 interface 정보가 적혀있는 표 확인
  • 이 표 이름이 forwarding table
  • fowarding: packet 목적지 보고, 표 보고 알맞는 방향으로 보내는 것

2. routing

  • routing: routing algorithm으로 forwarding table을 만들어줌

Data forwarding table

  • 수많은 주소가 존재하기 때문에 forwarding table -> 주소 범위로 관리

Longest prefix matching

  • Longest prefix matching: 범위를 적어놓으므로 여러 곳에 매칭될 수 있음
    -> 가장 길게 일치하는 주소로 배정

0개의 댓글