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 헤더의 구조
- 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 헤더의 구조
- 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
- 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클래스에서 사용하는 것이 일반적
3. Private IP & Public IP
- Private IP: 사무실이나 가정 내에서만 사용 가능한 IP address로 외부에서 접근이 불가 (다른 네트워크에서 사용해도 문제 없음)
- Public IP: 공개 IP로 인터넷에서 사용 가능한 IP address (주로 서버 역할 컴퓨터가 사용)
4. 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)
- 데이터 전송 중에 문제가 생길 경우 장애 상황 통보를 함
- 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 |