본문으로 바로가기

Internet Layer (TCP/IP)

category MLOps/Network 2022. 1. 6. 18:54

TCP/IP

4. Application

3. Transport

2. Internet

1. Network Interface


Internet Layer

- IP address (식별자 정보)를 바탕으로 데이터를 전달할 수 있는 체계를 제공하는 역할


Router

- 네트워크 장비로 네트워크 간의 연결하는 역할을 함

- Routing: 목적지까지 전달하기 위해 다음 네트워크의 경로를 찾는 연쇄적인 과정

- 연결된 네트워크 개수만큼의 IP address를 가짐

 

1. Routing table

- 라우터 내부에 저장된 정보로 목적지 호스트가 속한 네트워크 정보와 도달하기 위해 경유해야 하는 라우터의 정보 보유

- 정적 라우팅: 관리자가 수동으로 설정

- 동적 라우팅: 자동으로 경로 정보를 수집한 후 라우팅 테이블에 설정

- Default router: 많은 정보를 가지고 있는 정적 설정된 라우터

 

2. 동적 라우팅 알고리즘

- Routing Information Protocol (RIP): 목적지까지의 거리 (hop; 경유하는 라우터 개수)가 짧은 경로 선택 (LAN에 주로 사용)

- Open Shortest Path First (OSPF): 통신 상태 정보를 map으로 관리하며 경로 선택 (복잡하고 변화 많을때 사용; 자율 시스템(AS))

- Border Gateway Protocol (BGP): 경로의 거리와 경유하는 AS 정보도 포함하여 정보를 만듬


Internet Protocol Version 4 (IPv4)

- 32 bit IP address (2진수인 32 bit IP address를 알아보기 쉽게 8 bit씩 나눠 10진수로 변환하여 표기)

 

1. IPv4 헤더의 구조

출처:http://www.ktword.co.kr/test/view/view.php?m_temp1=1859

- Version: IPv4에서는 4

- IP Header Length (IHL): IP 헤더의 길이

- Type of Service (TOS): QoS(Quality of Service)를 위한 필드 (패킷의 우선순위 결정)

- Total Packet length: IP 패킷 전체의 길이

Identifier, flags, fragment offset: 데이터가 분할된 경우 사용 

- Time to Live: 패킷의 생존 기간

- Protocol ID: transport layer의 어느 protocol에 전달할지 판단하는 정보

 

2. 데이터 분할 및 복원 (Identifier, flags, fragment offset)

- Maximum Transmission Unit (MTU): 경로 상태에 따라 MTU보다 작은 크기의 패킷을 만들도록 설정

- Identifier: 같은 데이터인지 식별하기 위한 16 bit 숫자 (분활된 단편들은 동일한 identification을 가짐)

- Flags (DF; Don't Fragmentation): IP 패킷의 단편화 여부를 결정하는 flag (0: yes or 1: no)

- Flags (MF; More Fragmentation): 단편 조각이 더 존재하는지 여부를 나타내는 flag (0: no more or 1: yes)

- Fragment Offset: 원래 데이터의 위치 값을 표현하는 13 bit 숫자


Internet Protocol Version 6 (IPv6)

- IPv4의 32bit address 고갈 방지를 위해 보급

- 128 bit IP address

- 라우터에서 데이터를 분할하지 않는 방식으로 사양이 만들어져 분할 관련 필드는 옵션

- IPv4와 호환되지 않아 dual stack (두 개 모두 할당), tunneling (IPv4 네트워크를 지나갈때 IPv4 패킷 안에 IPv6 패킷 추가)

1. IPv6 헤더의 구조

출처: http://www.ktword.co.kr/test/view/view.php?nav=2&no=5184&sh=ipv6+header

- Traffic Class: 패킷의 우선순위 결정

- Payload length: 데이터 부분의 길이

- Hop limit: IPv4의 Time to Live와 동일


IP address

- IP address는 Network ID와 Host portion ID로 나뉨

ex) 192.168.1.100 -> 192.168.1 (network), .100 (host)

- router는 송신지 IP address의 network ID를 보고 송신할 목적지가 같은 네트워크 안에 있는지 다른 네트워크에 있는지 판단

-> 각각의 네트워크는 라우터와 같은 장비를 사용하지 않으면 서로 연결되지 않음

용어 정리
- Gateway address: 라우터의 IP 주소 (다른 네트워크로 가기 위한 관문)
- Network address: IP 네트워크 자체 주소 (Host ID bit가 모두 0인 주소)
- Broadcast address: 네트워크의 모든 호스트에게 메시지를 보낼 때 사용하는 주소 (Host ID bit가 모두 1인 주소)
- Network Address Translation (NAT): 사설 IP주소와 공인 IP주소를 변환하는 기술
- 0.0.0.0/8: 모든 네트워크 & 특정 네트워크 지정 용도로 사용
- 127.0.0.0/8: 네트워크 통신 점검용
- 169.254.0.0/16: DHCP 서버로부터 IP주소를 자동 할당 받지 못한 경우 OS에 의해 부여되는 IP주소

1. IP address class

출처: http://www.ktword.co.kr/test/view/view.php?nav=2&no=2461&sh=ip+class

- classful: 클래스 단위로 IP 네트워크 관리

- classless: 클래스와 상관없이 IP 네트워크 관리

 

2. Subnet Mask

- 한 개의 네트워크 당 약 1677만 대의 host address를 할당할 수 있는데 실제로 많은  호스트를 하나의 네트워크에 연결하는 경우는 거의 없기 때문에 subnet mask를 사용하여 유연한 할당 가능

ex) AA.B.C.D/HH -> address의 HH bit 만큼이 network ID에 해당

ex2) IPv4에서 HH가 24일 경우, 앞 부분 24bit를 1로 설정

 

- 한계점: 호스트 부가 이미 긴 A, B클래스에서 사용하는 것이 일반적

출처: http://www.ktword.co.kr/test/view/view.php?nav=2&no=961&sh=subnet+mask

3. Private IP & Public IP

- Private IP: 사무실이나 가정 내에서만 사용 가능한 IP address로 외부에서 접근이 불가 (다른 네트워크에서 사용해도 문제 없음)

- Public IP: 공개 IP로 인터넷에서 사용 가능한 IP address (주로 서버 역할 컴퓨터가 사용)

 

4. Subnet Mask 적용 방법

출처: http://www.ktword.co.kr/test/view/view.php?nav=2&no=961&sh=subnet+mask

- 네트워크 수: 2의 제곱 수

- 호스트 수 (노드): 256 / 네트워크 수

(예제1) 211.100.10.0/24 네트워크를 2개의 네트워크로 서브네팅하시오.

211.100.10.0 /24
1101 0011.0110 1000.0000 1010.0000 0000 /24
255.255.255.0
1111 1111.1111 1111.1111 1111.0000 0000

211.100.10.0 /25
1101 0011.0110 1000.0000 1010.0 000 0000 /25
211.100.10.128 /25
1101 0011.0110 1000.0000 1010.1 000 0000 /25
255.255.255.128
1111 1111.1111 1111.1111 1111.1000 0000

211.100.10.0/25
 - IP 주소 범위: 211.100.10.0 ~ 211.100.10.127
 - 브로드캐스트 주소: 211.100.10.127
 - 서브넷 마스크: 255.255.255.128
 - 호스트에 할당 가능한 IP 주소 범위: 211.100.10.1 ~ 211.100.10.126

211.100.10.128/25
 - IP 주소 범위: 211.100.10.128 ~ 211.100.10.255
 - 브로드캐스트 주소: 211.100.10.255
 - 서브넷 마스크: 255.255.255.128
 - 호스트에 할당 가능한 IP 주소 범위: 211.100.10.129 ~ 211.100.10.254

Internet Control Message Protocol (ICMP)

- 데이터 전송 중에 문제가 생길 경우 장애 상황 통보를 함

출처: http://www.ktword.co.kr/test/view/view.php?nav=2&no=94&sh=icmp

- code 11: 시간 초과

- code 10: 장비가 네트워크 연결될 때 라우터를 찾기 위해 보내는 메시지

- code 9: 코드 10번 요청에 대한 응답 메시지


Domain Name System (DNS)

- 서로 다른 컴퓨터를 구분하는 식별자로 IP address와 함께 사용

- DNS 서버에 도메인명으로 IP address 정보를 요청하고 응답 받음

- DNS 서버는 계층 구조로 하위 계층에 대한 정보를 순차적으로 지니고 있음


Dynamic Host Configuration Protocol (DHCP)

- IP address가 중복되지 않도록 자동으로 할당하고 관리하는 프로토콜

'MLOps > Network' 카테고리의 다른 글

Network Interface Layer (TCP/IP)  (0) 2022.01.07
Transport Layer (TCP/IP)  (0) 2022.01.06
Application Layer (TCP/IP)  (0) 2022.01.05
컴퓨터 네트워크  (0) 2022.01.04