[CS] Network - Network layer

2.so_j·2023년 11월 28일
0
post-thumbnail

Contents

  • Network layer
  • Routing algorithm
    - Link state / Distance vector
  • 프로토콜 : NAT

Network layer

  • sending host로 부터 receiving host까지 세그먼트를 전달하는 역할
    - sender : 데이터를 받아서 세그먼트를 인캡슐레이션 하여 패킷으로 바꾸는 역할
    - receiver : TCP까지 자신이 받은 세그먼트들을 전달하는 역할
  • Routing: 패킷의 destination IP를 보고 경로를 설정하는 것, 경로를 찾아 포워딩 테이블을 만듦
  • Forwarding : 데이터와 매칭되는 output port를 결정하고 실제로 패킷을 전송

Routing

  • 데이터 패킷이 출발지에서 목적지로 전달되는 경로를 결정하는 프로세스를 의미
  • 라우터(Router)는 이러한 라우팅을 담당하며, 라우팅 테이블을 사용하여 패킷을 전달할 다음 홉(다음 라우터)을 결정

Routing algorithm

Link state

  • 네트워크 상의 각 라우터가 전체 네트워크의 토폴로지 정보를 가지고 있으며, 이 정보를 사용하여 최적의 경로를 계산하는 알고리즘
  • 다익스트라 알고리즘 사용
  • 동작 원리
    1. 링크 상태 정보를 수집
    2. 다른 라우터에게 브로드캐스팅
    3. 전체 네트워크 토폴로지 구성
  • 장단점

    장점 : 각 라우터가 네트워크의 전체 토폴로지 정보를 가지고 있기 때문에 경로 계산이 빠름
    단점 : 라우터가 많은 경우 라우터가 전체 네트워크 정보를 저장해야 하므로 메모리 사용량이 많다

Distance vector

  • 각 라우터가 이웃 라우터와의 거리 정보를 주기적으로 교환하면서 최적의 경로를 계산하는 알고리즘
  • 동작 원리
    1. 각 라우터는 이웃 라우터에게 목적지까지의 예상 거리를 주기적으로 전파
    2. 이걸 받은 이웃 라우터는 자신의 라우팅 테이블 갱신
    3. Bellman-Ford 알고리즘을 사용하여 최단 경로를 계산
  • 장단점

    장점 : 각 라우터는 자신과 이웃 라우터 간의 거리 정보만을 저장하므로 메모리 사용량이 적음
    단점 : 거리 벡터가 주기적으로 교환되기 때문에 네트워크 변화에 대한 반응이 느림


NAT : Network address translation

  • 공인 IP와 사설 IP를 매핑해주는 역할

  • 장점

    • 하나의 IP주소로 여러 개의 host를 매핑 가능하다
    • IP주소 부족 문제 해결
    • 보안성 : 내부 IP가 외부에 노출되지 않음
profile
싱글코어 두뇌의 개발자 도전기

0개의 댓글

관련 채용 정보