★ Network의 이해
▶ Network 용어 정리
용어 | 설명 |
network | 네트워크 망 |
MAN | (Local Area Netwok) 지역 Netwok |
internet | LAN과 LAN의 통신 |
protocol | 이기종간의 통신을 위한 약속 |
top/iP | protocol의 한 종류로서 tenet, ftp, mall등 가장많이 사용 |
gateway | 다른 network와 통신을 위한 관문 louter |
ip | 통신을 하기 위해 각각컴퓨터에 부여된 주소 (*자동차 번호판과 같은 식별자) |
DHCP | IP 주소를 동적으로 할당받는 프로토콜입니다. 유동 IP |
DNS | 인터넷 상에서 도메인 이름과 IP 주소를 매핑하는 시스템 |
Domain | LAN의 이름 |
서브넷 마스크 | IP 주소의 네트워크 ID와 호스트 ID를 나누는 구분자 |
Hostname | LAN에서 다른 host들과 구분하기 위한 이름 |
network 주소 | LAN의 대표ip (어떤 Lan을 통칭할 때 대표P) -가장 작은 번호 |
BoradCast | LAN내의 모든 host들이 듣는 특별한 주소 - 가장 큰 번호 |
ONS | (Domain Name System) Domain > ip로 변경해주는 시스템 |
netmask | 내부망과 외부망을 구분하는 값. LAN의 크기를 결정하는 값. |
ICMP | (Internet Control Message Protocol) host서버와 Internet Gete Way사이에서 메시지를 제어하고 에려를 알려주는 protocol. RFC792에 의해 정의됨. ping 명령이 사용 |
설정 명령어 | nmtui |
● ipconfig/all 명령어를 통해서 자세한 ip를 볼 수 있다.
호스트 이름 | 현재 사용 중인 컴퓨터의 이름 |
기본 DNS 접미사 | 네트워크 연결에 사용하는 DNS 서버의 접미사 |
물리적 주소 | 네트워크 어댑터의 물리적 MAC(Media Access Control) 주소 |
IPv4 주소 | IPv4 주소 정보(할당되지 않은 경우에는 "IP 주소가 없습니다" 출력) |
서브넷 마스크 | 현재 사용 중인 서브넷 마스크 |
기본 게이트웨이 | 현재 사용 중인 기본 게이트웨이 주소 |
DHCP 사용 중 | DHCP 서버를 통해 주소를 동적으로 할당받고 있는지 여부 |
DNS 서버 | 현재 사용 중인 DNS 서버 주소 |
● ping, tracert, nmap 명령어를 통해서 통신 응답을 확인해 볼 수 있다.
[패키지 설치]
ai inetutils-traceroute
ai nmap
[bash 명령어 설정]
alias ping='ping -c3'
alias ai='apt list --installed | grep
//vi ~/.bahrc 편집기에서 수정
alias h='history'
alias l='ls -AlF'
alias ll='ls -l'
alias ping='ping -c3'
alias c='clear'
alias cp='cp -i'
alias mv='mv -i'
alias df='df -h'
alias du='du -sh'
alias li='ls -Ali'
alias lh='ls -Alh'
alias pq='ps -ef | grep'
alias ai='apt -y install'
alias aq='apt list --installed | grep '
alias ac='apt list --installed | wc -l'
ping 명령어를 통해 나의 고유 ip에 통신 응답을 보내보았다.
tracert 명령어를 통해서 IP가 주소에 도달하는 패킷을 추척해보았다.
nmap 명령어를 통해 naver.com의 열린 port num 을 확인해보았다.
[열린포트num]
80
443
실습결과 443 포트는 열려있어 포트로 접속이 가능했지만,
80포트는 자동으로 443 주소로 연결되게 설정이 되어있는 듯 했다.
Linux 에서는 ifconfig를 통해서 windows와 동일하게 확인해볼 수 있다.
★ 서버와 클라이언트 (포트 Num)
▶ 서버와 클라이언트, Port Num
● Server [web,mail,ftp,dns..] <- Client[broswer,Putty..]
브라우저가 접속 할 때는 http :80, https : 443
Putty가 접속 할 때는 ssh22
● 표준 포트
Port | Num |
DNS | 53 |
HTTP | 80 |
HTTPS | 443 |
FTP | 21 |
Smtp | 25 |
POP3 | 110 |
Domain | 53 |
Tomcat | 8000/8080 |
Mysql | 3306 |
● 포트 번호 확인하기
1. root 계정에서 cd /etc
2. ls 로 services 파일이 있는지 확인.
3. cat services 로 파일을 열어서 Port num을 확인하면된다.
★ 서버와 클라이언트 Netmask
▶ 서버와 클라이언트 Netmask
● Netmask에 앞서, 2진수와 10진수 개념 이해하기
- 2^0 = 1 (2진수: 1, 10진수: 1)
- 2^1 = 2 (2진수: 10, 10진수: 2)
- 2^2 = 4 (2진수: 100, 10진수: 4)
- 2^3 = 8 (2진수: 1000, 10진수: 8)
- 2^4 = 16 (2진수: 10000, 10진수: 16)
- 2^5 = 32 (2진수: 100000, 10진수: 32)
- 2^6 = 64 (2진수: 1000000, 10진수: 64)
- 2^7 = 128 (2진수: 10000000, 10진수: 128)
- 2^8 = 256 (2진수: 100000000, 10진수: 256)
● 네트워크 Netmask, Broadcast
Class | Netmask | 설명 |
클래스 A | 255.0.0.0 또는 /8 | 첫 번째 바이트는 네트워크용이고 3바이트는 호스트용 |
클래스 B | 255.255.0.0 또는 /16 | 처음 2바이트는 네트워크용이고 2바이트는 호스트용 |
클래스 C | 255.255.255.0 또는 /24 | 처음 3바이트는 네트워크용이고 1바이트는 호스트용 |
network IP 는 시작이되는 IP로, 0으로 끝나는 IP.
Broadcast는 끝이 되는 IP로, 255가 끝인 IP.
Network IP와 Broadcast는 하나의 네트워크 마다 반드시 1개씩 존재해야한다.
[예시]
[1] 255.255.255.0/24
[2] 255.255.255.128/25
[3] 255.255.255.192/26
[4] 255.255.255.224/27
[쉬운이해]
클래스 C 255.255.255.0 를 표현하면 다음과 같다.
① 11111111 ②11111111③11111111 ④00000000
[1] 255.255.255.0/24
① 에서 숫자 '1'은 2의 1승이라고 생각하면 된다.
숫자 '1'은 8개가 존재한다. 그러므로 2의 8승이 되며, 255가 된다.
만약, [1111 1100] 이라면 2의 6승이고 [1111 0000] 이라면 2의 4승이 된다.
2의 8승은 3개가 있으므로,
8비트 x 3 = 24비트가 된다.
[2] 255.255.255.128/25
225.255.255.128/25 를 표현해보자.
앞서서 network IP는 처음 시작하는 IP라고 하였다.
그런데 0이 아니라 128로 시작했다는 것은
서브셋팅을 통해 IP를 반으로 나누었다는 것이다.
앞서서 시작한 1번 IP의 Brodcast가 127로 끝났다는 것이 된다.
또한 1번 IP의 network는 0으로 시작하여 127로 끝났다는 것은
128개의 IP를 가지고 있다는 것이고 이는 2의 7승이 된다.
이를 아까처럼 표현해보면
① 11111111 ②11111111③11111111 ④1000 0000
이렇게 표현해볼 수 있다.
즉 1의 갯수가 1개 늘어났기 때문에 24비트에서 +1로 25비트가 된 것이다.
[3] 255.255.255.192/26
마찬가지로 255.255.255.192/26 를 표현해보면,
네트워크 4개의 서브넷으로 나눴다는 것을 알 수 있다.
255/4 = 64. 마지막 4번째 네트워크는 64+64+64=192로 시작하게된다.
이를 아까처럼 표현해보면
① 11111111 ②11111111③11111111 ④1100 0000
이렇게 표현해볼 수 있다.
4번에서 2의 7승과 2의 6승을 더한 값이기 때문에
128+64 = 192가 된다.
즉 1의 갯수가 다시 또 1개 늘어났기 때문에 25비트에서 +1로 26비트가 된 것이다.
● AND 연산의 원리
AND 연산은 두 비트가 모두 1일 때 결과가 1이 되는 이진 논리 연산이다. 두 비트 중 하나라도 0이면 결과는 0이 되며, AND 연산은 다음과 같은 진리표로 나타낼 수 있다.
A | B | A AND B
--+---+--------
0 | 0 | 0
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1
[예제]
두 이진수 A = 1100과 B = 1010의 AND 연산을 수행
1100
1010
------ (AND 연산)
1000
각 자릿수별로 AND 연산을 수행한 결과는 1000
[예제]
AND 연산은 IP 주소와 서브넷 마스크를 결합하여 네트워크 주소를 찾는 데 사용된다.
예를 들어 IP 주소가 192.168.1.10이고 서브넷 마스크가 255.255.255.0일 경우:
IP 주소: 11000000.10101000.00000001.00001010 (192.168.1.10)
서브넷 마스크: 11111111.11111111.11111111.00000000 (255.255.255.0)
--------------------------------------------------- (AND 연산)
네트워크 주소: 11000000.10101000.00000001.00000000 (192.168.1.0)
AND 연산을 통해 네트워크 주소인 192.168.1.0을 찾을 수 있다.
[예제]
255.255.255.128 --> 11111111.11111111.11111111.10000000 200.100.100.190 --> 11001000.01100100.01100100.10111110
이 두 이진수에 AND 연산을 적용하면 다음과 같다:
11111111.11111111.11111111.10000000 (255.255.255.128) 11001000.01100100.01100100.10111110 (200.100.100.190) ----------------------------------- (AND 연산) 11001000.01100100.01100100.10000000 (200.100.100.128)
따라서, 255.255.255.128과 200.100.100.190의 AND 연산 결과는 200.100.100.128