본문 바로가기
  • GDG on campus Ewha Tech Blog
4-1기 스터디/CS 기초

[CS 기초 스터디] 8주차 회의록

by seoyoee 2023. 1. 6.

정규 회의록

일시 : 2022.12.09 15:00

범위 : 네트워크 10~12강

강의 : 이석복 교수님 컴퓨터네트워크 강의

활동 : github에 올린 내용 정리본 읽고 공부한 내용에 대해 발표 및 질의응답

정리 : https://github.com/GDSC-Ewha-4th/Study-CS.git


4. 네트워크 계층

NAT (Network Address Translation)

IPv4 - 32bit 주소 체계, 40억개 사용 가능 - 점점 줄어들고 있음

IPv6 - 128bit 주소 체계

현재는 NAT 방식을 사용해서 연명

  • 하나의 서브넷마다 사설 IP로 이용
  • WAN/LAN 주소를 NAT translation table에 기록하고, 들어올 때 table을 보고 다시 매칭
  • 해당 서브넷은 항상 같은 IP로 들어오고 port 번호로 식별

문제점

  • 네트워크 계층까지만 담당하는 라우터가 TCP 계층의 port 번호를 변경하는 계층 바이로테이션 문제 발생
  • port 번호는 프로세스를 찾아가는 역할을 담당하지만 서브넷 내의 IP주소를 찾아가는 역할로 변경됨 - 프로세스 찾아갈 방법 없음

DHCP (Dynamic Host Configuration Protocol)

네트워크 안의 컴퓨터에 자동으로 네임 서버 주소, IP 주소, 게이트웨이 주소를 할당

해당 클라이언트에게 일정 기간 임대하는 동적 주소 할당 프로토콜

  • discover: 새 Client가 Server(port 67)로 IP 주소 요청
  • offer: 여러 서버들이 client의 discover에 응답
  • request: 여러 서버들 중 한 서버와 연결하고 나머지 offer 제공한 서버 release
  • ACK: 연결되었다는 feedback 전달

서버를 따로 두지 않고 통상적으로 라우터가 모두 처리함

IP Fragment

MTU: 각 링크마다 보낼 수 있는 최대 패킷 크기

  • fragmentation: packet size가 MTU size보다 큰 경우 packet을 분할
  • reassembly: 도착지에서 분할된 packet을 이어붙임
  • fragflag(fragmentation flag): 분할된 경우 중 뒤에 남은 packet이 있을 경우 1, 분할되지 않았거나 마지막 packet일 경우 0
  • offset: 분할된 바이트의 첫 번째 위치 / 8

ICMP (Internet Control Message Protocol)

데이터 전송 시 네트워크 상의 환경을 알려주는 프로토콜

TTL이 0이 되어 drop될 경우 해당 라우터에서 IP packet을 통해 sender에게 알림

Routing Algorithm

forwarding table을 채우는 알고리즘

  • link state algorithm: 모든 라우터의 정보를 알고 있음
  • distance vector algorithm: 이웃한 라우터의 정보만 알고 있음

Link State Algorithm

각 링크가 broadcast를 통해 자신의 정보를 보냄

Dijkstra’s algorithm

각각의 라우터는 각각의 포워딩 테이블을 가지고 있음

Distance Vector Algorithm

이웃과의 자료교환만으로 계산

cost가 변경될 때 자신을 거쳐가는 경로가 있으면 count-to-infinity가 발생할 수 있음

poisoned reverse: 이미 지나온 길은 ∞로 설정하여 역류 방지

댓글