[네트워크] 네트워크계층 복습 및 정리
2023. 4. 28. 15:25ㆍCS/네트워크
728x90
//공부 기록용 포스팅입니다. 틀린 부분이 있을 경우 댓글로 알려주시면 감사합니다! 😎
1. IP 주소
- IP 주소체계는 동적으로 옮겨갈 수 있는 주소체계를 갖는다.
- 동일한 IP 주소라도 ISP가 바뀌어 라우팅 체계가 바뀔 수 있기 때문
- 라우팅 테이블은 전 세계의 IP를 커버해야 하는데 모든 IP를 개별 등록하면 엔트리수가 너무 많아진다.
- Classless Inter Domain Routing(CIDR)
- 인터넷상의 데이터 라우팅 효율성을 향상하는 IP 주소 할당 방법
- IP 주소(32bit)는 subnet part와 host part로 구분된다.
- 라우팅시 subnet이 동일하지 않은 컴퓨터는 subnet 단위로 routing
- subnet이 동일한 경우 단말로 routing
= 라우팅 테이블이 아주 크지 않아도 목적지를 찾아갈 수 있다.
- subnet의 조각화
- subnet part와 host part 비트간의 비율을 변경해서 서브넷을 조각화 할 수 있다.
- IP를 여기저기서 분할해서 쓰는 것이 가능하도록 subnet을 계층화시키고 조각화가 가능하도록 만듦
2. 라우팅
- 네트워크에서 경로를 선택하는 프로세스
- 컴퓨터 네트워크는 노드라고 하는 여러 시스템과 이러한 노드를 연결하는 경로 또는 링크로 구성됨
- 라우팅은 미리 정해진 규칙을 사용하여 최상의 경로를 선택하는 프로세스
- 라우팅은 네트워크가 정체 없이 최대한 많은 용량을 사용할 수 있도록 데이터 트래픽을 관리함으로써, 네트워크 장애를 최소화해 줘서 네트워크 통신의 효율성을 높인다.
- 라우팅 유형
- 정적 라우팅: 네트워크 관리자가 정적 테이블을 사용해서 네트워크 경로를 수동으로 구성하고 선택
- 일반적으로 네트워크의 적응성과 유연성을 저하시켜 네트워크 성능을 제한
- 동적 라우팅: 실제 네트워크 조건에 따라 런타임에 라우팅 테이블을 만들고 업데이트
- 소스에서 대상까지 가장 빠른 경로를 찾으려고 시도함
- 트래픽 볼륨, 대역폭, 네트워크 장애 등 변화하는 네트워크 조건에 대응
- 정적 라우팅: 네트워크 관리자가 정적 테이블을 사용해서 네트워크 경로를 수동으로 구성하고 선택
- 라우팅 알고리즘
- 거리 벡터 라우팅(DV Routing): 주변 정보만을 가지고 라우팅
- 모든 라우터가 각각 찾은 최상의 경로 정보를 주기적으로 업데이트해주어야 한다.
- 네트워크의 모든 라우터는 가능한 모든 대상에 대한 최상의 경로에 대한 정보를 찾게 됨
- 링크 상태 라우팅(LS Routing): 전체 네트워크 정보를 가지고 라우팅
- 모든 라우터가 네트워크의 다른 모든 라우터를 검색한다.
- 전체 네트워크의 맵을 만든 다음 데이터 패킷의 최단 경로를 계산
- 거리 벡터 라우팅(DV Routing): 주변 정보만을 가지고 라우팅
3. 라우팅 테이블(= 포워딩 테이블)
- 목적지, 비용, next hop으로 구성
- 목적지 주소를 넣으면 다음 hop에 해당하는 노드를 반환받을 수 있음
- 어떤 IP 주소를 넣더라도 다음 합을 어디로 보내야 할지가 결정되어야 함
- 대체로 비슷한 곳에 있는 IP는 next hop이 같을 것이라 추측해 묶어서 표현하는 subnet 사용
- subnet: IP 여러 개를 묶어서 하나의 엔트리로 생각할 수 있는 개념
- subnet part만 보고 목적지를 판단하겠다.
- 라우팅 테이블의 엔트리를 줄일 수 있다.
- subnet을 대표하는 노드의 IP를 정하는 방법: 라우팅 할 때 subnet part가 더 구체적인 쪽, 긴 쪽이 우선적으로 서브넷을 할당받는다.
4. IP 헤더
- 버전, 헤더 길이, 서비스 타임, 전체 Packet 길이(16 bit)
- 16 bit 패킷 ID, flag, fragment offset
- TTL, upper layer, header checksum
- source IP
- dept IP
- optional
5. IP Fragmentation
- 큰 IP 패킷을 작은 조각으로 쪼개어 전송하는 방법
- 라우터: 서로 다른 링크 레이어를 연결해 주는 역할, 위에는 IP 레이어, 아래에는 양단에 서로 다른 링크 레이어가 위치, 서로 다른 링크 간에 패킷을 보내기 위해 IP Fragmentation 해줌
- IP 헤더 기본 크기: 20 Byte
6. IP 할당: DHCP(Dynamic Host Configuration Protocol)
- UDP 기반 프로토콜, 서버가 네트워크 클라이언트에게 IP 주소를 실시간으로 부여할 수 있도록 하는 것
- broadcast: 모든 노드(DHCP 서버 포함)가 듣도록 하는 IP 주소 255.255.255.255
- UDP 기반
- TTL 세팅해줘야 함
- 네트워크를 사용하지 않을 때에는 IP에 연결되어 있지 않기 때문에 IP를 유동적으로 사용해서 효율을 높일 수 있다.
7. NAT(Network Address Translation)
- 게이트웨이는 Global IP를 가지고 있고, 그 아래에 있는 IP는 local IP를 가지고 있다.
- 그렇기 때문에 LAN 안의 local IP는 해당 LAN 안에서만 유니크하다.
- Global IP를 가진 게이트웨이가 전체 LAN을 대표한다.
- 외부의 서버에 접속할 때에는 local IP가 Global IP로 보이기 때문에 TCP 포트 번호까지 바꿔야 한다.
- NAT에 한해서는 Global IP를 담당하는 NAT 게이트웨이를 지날 때 local IP가 자신의 Global IP로 변함
- Port mapping Table: NAT 영역 밖으로 나갈 때 Port 번호가 변조됨
- EIM
- EDM
한국항공대학교 김철기 교수님의 [컴퓨터 네트워크] 강의 정리입니다. 감사합니다.
https://aws.amazon.com/ko/what-is/routing/
728x90
'CS > 네트워크' 카테고리의 다른 글
[네트워크] 컴퓨터 네트워크(2015) - 김철기 교수님 (0) | 2023.05.02 |
---|---|
[네트워크] 13, 14차시 - 링크계층(1), (2) (0) | 2023.05.02 |
[네트워크] 12차시 - 네트워크계층(2) (0) | 2023.04.27 |
[네트워크] 11차시 - 네트워크계층(1) (0) | 2023.04.25 |
[네트워크] 전송계층 복습 및 정리 (1) | 2023.04.18 |