정규 회의록
일시 : 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: 이미 지나온 길은 ∞로 설정하여 역류 방지
'4-1기 스터디 > CS 기초' 카테고리의 다른 글
[CS 기초 스터디] 10주차 회의록 (0) | 2023.01.12 |
---|---|
[CS 기초 스터디] 9주차 회의록 (0) | 2023.01.06 |
[CS 기초 스터디] 7주차 회의록 (0) | 2023.01.05 |
[CS 기초 스터디] 6주차 회의록 (0) | 2023.01.05 |
[CS 기초 스터디] 5주차 회의록 (1) | 2023.01.05 |
댓글