네트워크 빠르게 훑어 보기(1)
카카오 클라우드 스쿨 - 네트워크 빠르게 훑어 보기(1)
네트워크 빠르게 훑어 보기
Django에 들어가기 앞서 필요한 네트워크 지식을 빠르게 훑어 보았습니다.
자료 출처: www.ddarahakit.kro.kr 님(ddarahakit.tistory.com)
ch1. 네트워크
- 여러 컴퓨터가 통신하는 통신망
- 인터넷: 전세계에서 가장 큰 네트워크
분류
- 분류1
- Lan(local)
- Wan(Lan과 Lan을 연결하는 네트워크)
- 분류2
- star형: 중앙에서 연결
- mesh형: 네트워크 장비를 통해 연결, 각 국가 이런 형태로 해저 케이블을 통해 연결됨
- 혼합형: mesh + star, 인터넷
통신방식
- unicast: 1:1, 한 사람과 통신
- multicast: 1:n,
- broadcast: m:n, 불특정 다수에게 통신
ch2. 네트워크 모델
- 네트워크 계층 모델 - TCP/IP(실제), OSI7(이론) 계층
- OSI 중에서 2, 3, 4, 7 계층이 우리한테 아주 중요함
- 2, 3, 4: 다른 컴퓨터를 찾아가기 위한 프로토콜
- 7: 어떤 프로그램에서 쓰는 프로토콜
패킷(packet)
- 네트워크를 통해 전달되는 데이터를 뜻함
- 미트료시카처럼 까도 까도 또 내용물이 나오는 형태
- (Ethernet ( IPv4 ( TCP ( Data ) ) ) )
ch3. 2계층
가까이 있는 컴퓨터끼리 연결할 때!
- 하나의(같은) 네트워크 대역에 존재하는 장비를 연결한다
- MAC 주소 - 2계층에서 사용하는 16진수 물리적 주소, 총 6byte(48비트)
이더넷 프로토콜
- 헤더: Preamble(8byte, 프레임을 보낸다고 알려주는 역할)
- Destination(6byte, 목적지MAC주소)
- Source(6byte, 보내는 쪽의 MAC주소)
- Type(2byte, 이더넷 상단 Data에 대한 type정보)
- Data(이더넷 상단 프로토콜 데이터)
ch4. 3계층(IP주소)
다른 네트워크 대역(멀리 떨어진 네트워크)까지 데이터를 전달하는 일을 담당함
IP주소
- Classful IP
- Class A~E까지 있음
- 낭비가 심했음(지역에 따라서 할당함)
- Classless IP
- 서브넷 마스크를 병용해서 낭비를 줄임
- 네트워크 대역과 할당되는 IP를 구분
- 그럼에도 IP가 부족해지기 시작
- 사설 IP 및 공인 IP
- 현대의 IP주소
- 공인 IP: 인터넷에서 실제로 보이는 IP (WAN IP)
- 사설 IP: 하나의 공인 IP주소를 여러 대의 컴퓨터가 나눠서 쓸 때 필요. 사설 IP는 외부에서 보이지 않는다
- NAT: 공인IP를 사설 IP로 바꿔 줌
- 포트포워딩: 어떤 데이터가 라우터에 들어온 경우, 라우터에 어떤 컴퓨터로 보내줘라 라고 미리 요청을 해 두는 것
- 서브넷팅: 211.100.10.0/24 네트워크를 각 네트워크 당 60개의 호스트가 사용할 수 있는 네트워크 대역으로 쪼개면?
- (참고: /24의 경우 이진수의 몇자리까지 <고정값>으로 두는지에 대한 정의)고정값>
2진수 | 16진수 | 의미 |
---|---|---|
11000000.10101000.00000001.00000000 | 192.168.1.0 | 네트워크 ID(대역) |
11000000.10101000.00000001.11111111 | 192.168.1.255 | 브로드캐스트 주소(사용할 수 없는 주소) |
11111111.11111111.11111111.00000000 | 255.255.255.0 | 서브넷 마스크 |
그 중에서, 192.168.1.1은 네트워크 게이트웨이가 쓰고, 따라서 사용할 수 있는 번호는 192.168.1.2 ~ 192.168.0.254 총 253개이다!
그림으로 보자!
- 하지만 내 가상 머신에서 상대방 가상 머신으로는 핑을 접속할 수 없지!
- 방법은 추후에 알아 볼 예정
- 하지만 내 가상 머신에서 상대방 가상 머신으로는 핑을 접속할 수 없지!
ch5. ARP 프로토콜의 작동
- 송신자는 수신자의 맥주소를 모르는 상황
- 맥주소를 모르니, 모든 PC에 이 IP 주소를 가진 PC의 맥주소를 알려주세요!라고 브로드캐스트를 한다
- 모든 PC들은 이 브로드캐스트를 수신하지만, 해당하지 않는 IP를 가진 PC는 무시한다(버림)
- IP 주소가 일치하는 컴퓨터는 자신의 맥주소를 유니캐스트로 알려준다
- 참고로 ARP 테이블에 통신 했던 컴퓨터의 (MAC포함)정보가 남는다
ch6. 네트워크와 통신 과정
- IP를 통해 ARP(브로드캐스팅)를 요청해서 MAC주소를 전달 받는다(유니캐스트)
- 요청하는 PC는 첫 번째 라우터와 통신, 첫 번째 라우터는 그 다음 라우터와 통신하는 방식으로 순차적으로 MAC 주소를 얻음
ch7. 컴퓨터의 프로그램끼리 통신 과정
- 카톡으로 보냈는데 라인으로 올 수가 있나?? No, 그 원리를 알아 보자
- 4계층 프로토콜
- 특정 프로그램을 찾아 가게 해 주는 것, 정말 대~충 이해하면
- TCP
- 안전한 연결을 지향함
- UDP
- 일방적이고 빠른 연결을 지향함
포트넘버
- 하나의 포트번호는 하나의 프로그램만 쓸 수 있다
- 이 정도는 외우자
- 포트넘버는 의무사항은 아니지만, 그래도 지켜 주자
- 그 외에 일반 사용자가 사용할 수 있는 Dynamic 포트가 있음 (49152~65535)
여기까지 정리
MAC: 가까운 거리의 컴퓨터끼리 사용하는 주소
IP: 멀리 떨어진 네트워크 대역을 찾아가고 거기서 특정 컴퓨터를 찾아갈 때 쓰는 주소
PORT: 컴퓨터까지 찾아가서, 그 컴퓨터에 실행 중인 특정 프로그램을 찾아가는 주소