🍕 개요
오늘도 나머지 컴퓨터 네트워크 정리를 하게 되었다......... 끝나지 않는 컴네... 수업 열심히 들어도 잘 모르겠어서 꼬옥 정리하는 시간을 가져야 할 것 같다. 어려웡... 갈수록 정신 나갈 것 같음 컴퓨터 네트워크에게 혼나기
NAT
- 사설 IP 주소와 공인 IP 주소를 매핑해주는 주소 번역 기술
- 내부 망 (사설 망) 과 인터넷 망 사이에 위치한다.
- ip address 는 interface 에 부여된다. (host, device 아님)
NAT traversal problem
- NAT 투과 기술
- 인터넷 망의 전화기가 사설 망의 전화기로 통화를 요청하면 매핑 테이블이 없기 떄문에 방화벽을 투과할 수 없다.
- 사설 망의 호스트가 먼저 패킷을 보내는 경우 (클라이언트일 경우) 패킷이 local 네트워크 내부에서 외부로 나가면서 NAT translation table 에 표시를 하고 가므로 나중에 돌아올 때도 참고 가능하다. 하지만 local 네트워크 내의 호스트가 서버일 경우 외부 네트워크에서 local 네트워크로 패킷이 들어오게 된다. 이 경우 NAT translation table 에 아무 정보가 없으므로 local 네트워크 내의 어느 host 에게 패킷을 줘야할 지 불분명하다
- 해결 방법
- 직접 지정 : NAT 라우터의 설정에서 직접 수동으로 포트 번호와 host 를 매핑해준다.
- UPnP : UPnP 의 internet gateway protocol (IGP) 를 활용한다. IGP 를 통해 자동으로 호스트와 NAT 라우터를 관리해준다.
- relay 서버 활용 : local 네트워크 외부에 relay 서버를 활용하여 미리 매핑 정보를 업로드한다.
- ICMP 프로토콜 : Internet Control Message Protocol : 네트워크 레벨에서 문제가 생겼을 경우 이를 보고해주는데 사용되는 프로토콜이다. 주로 IP datagram 에 캡슐화 되어 전달된다.
IPv6
- 기존 32-bit IPv4 IP adress 가 모두 사용되어서 128-bit 주소 체계를 사용하고자 함
- 달라진 점
- header 의 크기를 40-byte 로 고정하여 더 빠르게 processing/forwarding 되도록 함
- header 에 flow 라는 개념을 도입함. (중요도가 높은 traffic 을 다른 데이터 보다 먼저 빠르게 처리하기 위함)
Tunneling
- IPv6 와 IPv4 가 호환이 되어야 함
Generalized forwarding : match plus action
- destination-based forwarding : dest. IP address 기반으로 forwarding 만 가능
- generalized forwarding : 모든 header field 사용, forwarding 뿐만 아니라 drop/copy/modify/log 와 같은 다양한 action 가능
OpenFlow
- SDN 과 관련이 있다.
- control plane (traffic 을 전송할 위치를 정하는 intelligence) 을 data plane 과 분리하여 SDN 구현을 가능하게 하는 통신 protocol 이다.
- routing
- 네트워크 관리
- forwarding → data plane (한 router 에서 어떤 input, 어떤 output)
- routing → control plane (경로 선정)
per-router control (traditional)
- 각각의 router 에 control plane 구현
- router 상태의 일관성이 떨어짐 inconsistent
- 끊어지면 router 간 연락이 늦어짐
logically centralized control (SDN)
- software defined networking
- 하나의 topology (네트워크 구성 방식) 를 가지고 page table 을 생성함
- 서버 하나로도 가능하지만 여러 개 쓰는 이유는 성능과 안성성 때문
Routing protocols
- determine “good” paths
- least cost, fastest, least congested
- path : 여러 개의 router 를 거쳐서 주어진 source host 와 final destinatinon host 까지
- routing 는 신경 써야할 (해결 해야할) 중요한 문제 top-10 (ex.coongestion)
Graph abstraction : link costs
- weight : good 의 기준
Routing algorithm classification
- global : 모든 link, node 에 대한 정보를 가졌다는 가정 하에 경로 설정하는 algorithm
- “link state” algorithms
- decentralized : 정보가 분산되어 있고 local 한 정보를 neighbor 끼리 주고 받는 algorithm
- “distance vector” algorithms
- 가지고 있는 information 이 얼마나 되는가?
- static : 많이 안 바뀌기 때문에 routing table 한 번만 작성하면 끝
- dynamic : 자주 바뀌니까 주기적으로 업데이트 해주거나 …in response to link cost changes
Dijkstra’s link-state routing algorithm (ppt p.16~ 확인하기)
- centralized
- 망 구성 방식
- 모든 node 에게 정보 주고 모든 노드는 같은 정보를 가지고 있음
- link state 방송함 내 정보를 전역에 공유
- 하나의 노드 (”source”) 에서 다른 모든 노드에게 가는 가장 성능이 좋은 paths 를 계산함
- forwarding table 를 위해
- interative(반복적)
N’ : N개의 destination 에 대해서 loop
algorithm complexity
- n nodes
message complexity
Dijkstra’s algorithm : oscillations possible (p.21 예시 보기)
- costs 를 설정할 때 traffic volume 에 의존해서 매순간 cost 가 달라진다면 route oscillations 가 발생할 수 있다.
Distance vector algorithm (p.24 예시 보기)
- Bellman-Ford (BF) 방정식이 베이스이다 (dynamix programming)
- 각 노드는
- wait (local link 가 바뀔 때, 이웃에게 메세지가 왔을 때)
- recompute
- notify
- interative, asynchronous (반복적이고 비동기적)
- distributed, self-stopping
- 각 노드는 이웃들에게 오직 DV 변경사항이 있을 때만 알려야 한다.
- 변경이 없으면 stop 한다.
Distance vector : example (p.27) 시험에 나옴
Distance vector : state information diffusion
- 아주 옛날의 정보가 시간이 지나고 오히려 더 큰 영향력을 미치게 됨
Distance vector : link cost changes
- good news (cost 가 적어졌을 때)
- 2 step 만에 distance vector 가 안정화
- bad news (cost 가 커졌을 때)
- count-to-infinity problem
Comparison of LS and DV algorithms
- message complexity
- LS : n routers, O(n2) message sent
- DV : 메세지가 얼마나 올지 알 수 없음 (수렴 시간이 다양함)
- speed of convergence
- LS : O(n2) algorithm, O(n2) message
- 메세지를 받고 모든 topology 에 대해 알 수 있음
- 매순간 cost 가 달라지는 oscillations 발생 가능
- DV : 수렴 시간이 다양함
- 안정화 되는 동안에 routing loops 를 가질 수도 있음
- count-to-infinity problem 발생 가능
- LS : O(n2) algorithm, O(n2) message
- robustness (견고성)
- LS > DV
- 얼마나 에러나 취약점에 강한가?
- LS : router 가 incorrect link cost 를 알려줄 수도 있음
- 하지만 link 하나에만 해당하기 때문에 table 하나만 잘못됨
- DV : router 가 incorrect path 를 알려줄 수도 있음
- path 전체가 잘못됨 : black-holing
- LS (link state)
- DS (distance vector)
intra-ISP routing : OSPF
- 우리가 지금까지 공부한 routing 은 이상화된 상태
- 아주 많은 destinations 저장할 수 없고 routing table 은 link 를 넘치게 함
- 네트워크들은 관리(admininistrative autonomy) 필요로 함
Autonomous Systems (AS)
- a.k.a domains
intra-AS (intra-domain)
most common
- RIP (Routing Information Protocol)
- EIGRP (Enhanced Interior Gateway Routing Protocol)
- OSPF (Open Shortest Path First)
inter-AS (inter-domain)
OSPF (Open Shortest Path First)
- open
- class link state
🍕 정리
시험이 2 주도 안 남은 지금... 날이 갈수록 멍청해지고 있다... 왜인지...모르겠음...
'주제 업슴' 카테고리의 다른 글
[빅데이터 최신 기술] ADHD 관련 텍스트 마이닝: 키워드 네트워크와 감정 흐름 기반 분석 - 1 (0) | 2025.03.26 |
---|---|
Jest 로 프론트엔드 테스트 코드 작성하기 (0) | 2025.02.18 |
Git 브랜치 전략 (0) | 2024.07.07 |
[모각코] 컴퓨터 네트워크 혼내주기 🍕 (2) | 2024.05.22 |
스크롤에 반응하는 목차 하이라이트 만들기 (0) | 2024.03.20 |