1. 네트워크 개념 및 용어 정리
리눅스 뿐만 아니라 네트워크에서 사용되는 주요한 용어들을 정리해 보았습니다.
network | 망으로 연결된 |
LAN | Local Area Network, 비교적 소규모의(지역) 네트워크 |
internet | LAN과 LAN 과의 통신 |
protocol | 이기종(다른 기종들) 간의 통신을 위한 약속, 규약 |
tcp/ip | protocol 의 한 종류, telnet, ftp, mail등 가장 많이 사용 |
ip | 통신을 하기 위해 각각 컴퓨터에 부여된 주소 |
gateway | 특정 장비는 아님, 데이터를 어디로 전송할지 나타 |
hub | OSI 7계층에서 1계층 물리계층을 지원 |
switch | OSI 7계층에서 2,4 계층을 지원, 같은 네트워크에서 패킷 전송 |
router | OSI 7계층에서 3계층 네트워크 계층을 지원, 다른 네트워크로 패킷 전송 |
domain | LAN의 이름 |
Hostname | LAN에서 다른 host들과 구분하기 위한 이름 |
network 주소 | LAN의 대표 ip |
BroadCast | LAN내의 모든 host들이 듣는 특별한 주소 |
DNS | Domain Name System, Domain -> ip 주소로 변경해주는 시스템 |
netmask | 내부망과 외부망을 구분하는 값, LAN의 크기를 결정하는 값 |
주요 프로토콜 정리
http : 80
https : 8080
mysql : 3306
SSH : 22 (PuTTY)
ftp : 21
smtp : 25
pop3 : 110
다음으로 리눅스에서 사용되는 다른 명령어들을 확인해봅시다.
1.1) ifconfig : 현재 네트워크 상태 확인 , $ip a, $ip addr 의 명령어로도 사용가능
$ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet ... netmask 255.255.255.0 broadcast 10.0.2.255 # ipv4주소, netmask 주소 확인
inet6 :::::prefixlen 64 scopeid 0x20<link> # ipv6 주소 확인
ether ::::: txqueuelen 1000 (Ethernet) # MAC 주소 확인
RX packets 34035 bytes 51060907 (51.0 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3811 bytes 261969 (261.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 104 bytes 8529 (8.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 104 bytes 8529 (8.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2) route : 현재 설정된 routing table 조회
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 100 0 0 enp0s3
... 0.0.0.0 255.255.255.0 U 100 0 0 enp0s3 #...에 ip 조회가능
_gateway 0.0.0.0 255.255.255.255 UH 100 0 0 enp0s3
kns.kornet.net _gateway 255.255.255.255 UGH 100 0 0 enp0s3
kns2.kornet.net _gateway 255.255.255.255 UGH 100 0 0 enp0s3
3) ping : ping 조회
Packet Internet grooper (PING), 조회하고자 하는 ip로 패킷을 보낸후 잘 동작하는지 확인한다.
$ping google.com # google.com의 PING을 조회
PING google.com (142.250.76.142) 56(84) bytes of data. #google의 IP
64 bytes from kix07s06-in-f14.1e100.net (142.250.76.142): icmp_seq=1 ttl=113 time=36.0 ms
64 bytes from kix07s06-in-f14.1e100.net (142.250.76.142): icmp_seq=2 ttl=113 time=35.0 ms
64 bytes from kix07s06-in-f14.1e100.net (142.250.76.142): icmp_seq=3 ttl=113 time=35.2 ms
--- google.com ping statistics --- # 전송결과 확인
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 34.964/35.395/35.994/0.436 ms
$ping -c 3 # 보내는 갯수를 3개로 설정
$ping -i 4 # 보내는 간격을 4초로 설정, 기본 : 1초
$ping -s 3000 # 보내는 Packet의 크기를 재지정, byte단위로 최대 65507까지 가능
2. IPv4, IPv6
ipv4이란 인터넷 프로토콜의 4번째 버전으로 전세계적으로 사용된 첫번째 인터넷 프로토콜 입니다.
주소의 형식은 다음과 같습니다.
000.000.000.000 으로 3자리씩(2^3=8비트) 4부분(필드), 총 12자리(32비트) 로 이루어져 있으며 . 으로 구분됩니다.
각 부분은 0~255까지 표현 가능하며 2^8 = 256개씩 4개 총 2^32 = 42.9억개의 주소를 할당 할 수 있습니다.
하지만 전세계 모든 사람들이 주소를 한 개씩만 주소를 할당받는다고 가정해도 불가능이 주소체계는 늘어나는 인터넷 기기들로 인해 2011년경 신규 할당을 중지하게 됩니다. 이를 위해 더 개선된 프로토콜이 바로 IPv6입니다.
3. 공인(외부) IP vs 사설(내부) IP , 고정IP vs 유동 IP
국가간 협약으로 각 국가에서는 인터넷 서비스 제공업체 (ISP) (ex. SKB, KT) 에게 IP를 할당해주고 각 ISP에서는 IP를 지정해서 이용할 수 있게 해주는데 이 지정받은 IP를 공인 IP라고 합니다.
ISP는 사용자에게 IP를 할당해주고 이를 통해 사업을 합니다. 하지만 ISP가 확보한 IP를 모든 사용자들에게 IP를 고정하여 할당 해준다면 다른 사용자들을 유치하지 못하게 됩니다. 따라서 ISP에서는 각 사용자들의 인터넷 접속기간을 지정해 주고 고정적이지 않은 IP를 제공해 줍니다.이를 유동 IP라고 합니다. 유동 IP는 IP 지정해서 접속할 수 없다는 단점이 있으나 고정IP에 비해 요금이 저렴하다는 장점이 있습니다.
외부로 연결하는 공인 IP는 외부로 연결할 때만 필요하지 내부망에서는 IP가 모든 사용자들마다 유일할 필요는 없습니다. 따라서 내부적으로 IP를 사용하기위해 사용하는 내부(사설) IP가 별도로 존재하게 됩니다.
4. 내부(사설) IP
내부IP는 같은 네트워크 안에서 유일한 IP 입니다. 따라서 나름의 규칙도 존재합니다
ipv4형식과 비슷하게 각 부분(필드)은 0~255까지 이루어져 있습니다.
사설(내부) ip_class의 구분 방법은 다음과 같이 3가지 주소 대역으로 이루어져 있습니다.
이 IP 대역 이외에는 공인 IP입니다.
- Class A : 10.0.0.0 ~ 10.255.255.255 -> 2^7 개 생성 가능
- Class B : 172.16.0.0 ~ 172.31.255.255 -> 2^14 개 생성 가능
- Class C : 192.168.0.0 ~ 192.168.255.255 -> 2^21개 생성 가능
내부망과 외부망을 구분하는 방법은 다음 포스팅으로 정리해 두었습니다.
2023.05.01 - [TIL] - [리눅스] netmask, 내부망 외부망 구분하기 6일차 -2
'TIL' 카테고리의 다른 글
[리눅스] DNS 개념 및 네임서버 설정 2주 7일차-1 (2) | 2023.05.02 |
---|---|
[리눅스] netmask, 내부망 외부망 구분하기 6일차 -2 (0) | 2023.05.01 |
[리눅스] 사용자 용량 파티션 5일차 -1 (0) | 2023.04.28 |
[리눅스] Ubuntu Sever, 패키지 설치 4일차-2 (0) | 2023.04.27 |
[리눅스] Linux 프로세스 관리, 파티션 설정 4일차-1 (1) | 2023.04.27 |