Written by
Poogle
on
on
Network 키워드 4 - SSH, Telnet, DNS, 공인/사설IP
SSH, Telnet
- 원격지로 연결을 가능하도록 하는 네트워크 접속 도구
- SSH(Secure Shell)
- 보안을 중요시한 프로토콜 -> 암호화된 형식을 사용, 데이터 기밀성 & 무결성
- 두 원격 호스트 간에 보안 연결을 설정하는데 사용되는 네트워크 프로토콜
- TCP 표준을 통해 포트 22을 사용, 공용 네트워크에서 사용할 수 있음
- 원격 사용자를 인증하기 위해 공개키 암호화를 사용
- Telnet
- 일반 텍스트로 교환, 별도의 암호화 X -> 보안 치명적
- 사용자가 원격 시스템에 로그인하고 가상 터미널을 사용할 수 있지만 인터넷과 같이 신뢰할 수 없는 네트워크를 사용하는 경우 안전X
- TCP 표준을 통해 포트 23을 통해 통신, 보안 수준이 낮아 사설 네트워크에서 사용
DNS(Domain Name Service)
- IP 주소는 전화번호 같은 것, URL 안에 서버명이 아니라 IP 주소를 써도 올바르게 작동하지만 전화번호를 기억하기 어려운 것처럼 숫자를 나열한 IP 주소는 기억하기 어려움 -> URL 안에는 서버의 이름을 쓰자!
- ❓ 그러면 그냥 이름으로만 쓰는 건 어떤가?
- ❌ 실행 효율 떨어짐. IP 주소는 32비트(4 바이트)에 해당하는 개수밖에 없지만 도메인 명은 최대 255바이트나 있음. 그만큼 라우터가 부하되어 데이터를 운반하는 동작에 더 많은 시간이 걸리면서 네트워크의 속도가 느려짐.
- IP 가 변경될 때 매번 알릴필요 없이 이름만 바뀌면 되니까 DDNS
- ⏩ 사람은 이름을 사용하고 라우터는 IP 주소를 사용하자. -> 이름을 알면 IP 주소를 알 수 있고 IP 주소를 알면 이름을 알 수 있다 => DNS
- URL을 IP 주소로 변환하는 서비스
- 웹 브라우저에 URL을 입력하여 접속 → DNS 서버가 IP 주소를 알려줌(만약 해당 서버가 모르면 다른 DNS 서버에 질의해서 알려줌)
- DNS 서버에 조회하기 == DNS 서버에 조회 메시지를 보내고 거기에서 반송되는 응답 메시지 받기 == DNS 서버에 대해 클라이언트로 동작, DNS 클라이언트 == DNS Resolver
- DNS는 서버명과 IP 주소를 대응시키기 위해 가장 많이 사용하지만, 메일 주소와 메일 서버를 대응시키는 것 등 다양한 정보를 이름에 대응해서 등록할 수 있음
IP 주소 class
-
A ~ E
- A: 대규모
- B: 중형
- C: 소규모
- D: 멀티캐스트
- E: 연구 및 특수 용도
공인 IP, 사설 IP
- 공인 / 사설 주소 나눠짐
-
IPv4로 사용할 수 있는 주소의 수가 고갈되고 있음 → 인터넷에 직접 연결되는 컴퓨터나 라우터에는 공인 주소 할당, 회사나 가정에는 사설 할당
- 컴퓨터가 여러 대 있다면 공인 IP 주소는 사용할 수 있는 숫자가 제한되므로 컴퓨터 한 대당 공인 IP 주소를 하나씩 할당하기가 어려움
- 우선 인터넷 서비스 공급자가 제공하는 공인 IP 주소는 라우터에만 할당하고 랜 안에 있는 컴퓨터에는 랜의 네트워크 관리자가 자유롭게 사설 IP 주소를 할당
- 라우터의 DHCP 기능(IP주소를 자동으로 할당하는 프로토콜)을 사용하여 주소를 자동으로 할당
DCHP란?
- 서버가 동적으로 ip주소 할당해주는 프로토콜
- IPv4, IPv6 둘 다 사용
- 장점
- IP 주소 설정의 중앙화된 관리
- Dynamic한 Host 설정
- 끊어짐 없이 아주 매끄러운 IP Host 설정
- Flexibility, Scalability
- 단점
- DHCP Server 이용 불가능하면 → 접근 X
- 새로운 IP주소를 할당 받음 → 내 기기의 이름은 변경 불가능
- UDP 사용
Netmask란?
- 네트워크 주소 부분의 비트를 1로 치환한 것
- IP 주소 &(AND 연산) NetMask ⇒ 네트워크 주소
SubnetMask란?
-
기본 서브넷 마스크: 별개의 서브넷 마스크를 생성하지 않아도 기본적으로 적용 == NetMask (CIDR 이후 subnet mask만 사용하고 있어서 net mask와 subnet mask를 구분하지 않음)
- 서브넷팅(subnetting): 네트워크를 분할하는 것
- 네트워크 자원을 효율적으로 사용하기 위해 한 개의 네트워크를 서브넷 마스크를 이용해 여러 개의 서브넷 네트워크로 분할
- 서브넷(subnet): 분할된 네트워크
- 원래 호스트 ID로 사용하던 비트를 서브넷 ID로 바꾸는 것
- 1 bit씩 확보할 때마다 네트워크 할당 가능 수는 2배로 증가, 호스트 할당 가능 수는 2배로 감소
- IP 주소를 서브넷팅하면 어디까지가 네트워크 ID고 어디부터가 호스트 ID인지 판단하기 어려울 때가 있음 → 서브넷 마스크라는 값을 사용
Broadcast 주소란?
- 네크워크 주소와 브로드캐스트 주소: 컴퓨터나 라우터가 자신의 IP로 사용하면 안 되는 주소
- 네트워크 주소: 호스트 ID가 10진수로 0, 2진수로 00000000
- ex.
192.168.1.**0**
- 전체 네트워크에서 작은 네트워크를 식별하는데 사용
- 호스트ID가 10진수로 0이면 그 네트워크 전체를 대표하는 주소가 되는 것
- ex.
- 브로드캐스트 주소: 호스트 ID가 10진수로 255, 2진수로 11111111
- ex.
192.168.1.**255**
- 네트워크에 있는 컴퓨터나 장비 모두에게 한 번에 데이터를 전송하는데 사용되는 전용 IP 주소
- ex.
참고
강의 - 부스트코스 - 웹 백엔드