groom 쿠버네티스 수업 - 3일차

박경현·2022년 8월 3일
0

오늘의 핵심
컴퓨터(HOST)는 절대 인터넷과 직접 연결 할 수 없다!!!

IP Address

네트워크에 연결된 컴퓨터를 식별하기 위한 논리적인 주소

IPv4- 10진수 4자리로 표현!
IPv6 - 16진수 8자리로 표현

IP주소는 변경 될수도 있음 -> 
IPv4는 약 42억개인데 이거 거의 고갈직전,,, 

IPv4와 IPv6를 사용하는 애들끼리는 통신이 안됨! -> 주소체계가 달라서 식별을 못한다!

네트워크 연결 방식에 따른 구분

유선네트워크 - 이더넷(ethernet)
무선네트워크 - 무선 LAN

IP = 네트워크ID + 서브넷 ID + Host ID

네트워크 ID - 네트워크 식별
Host ID -  호스트식별, 호스트는 네트워크에 연결된 개별 컴퓨터

기본적으로 LAN이라는 소규모 네트워크에 연결된 개별 컴퓨터
네트워크 ID크기에 따라서 해당 네트워크에 연결 가능한 호스트 개수가 결정된다!!

꼭 많이 있다고 좋은건 아님 -> 관리하기 빡셈
인터넷은 네트워크의 집합일 뿐이다!! -> 컴퓨터 한대가 바로 인터넷에 연결되는건 불가능!!

IP관련 용어 정리

옥텟이 기본단위 -> 1바이트를 옥텟이라함
inbound - 네트워크 외부에서 내부로 데이터가 전송되는 것 - 
	수신(receive) —> 이게 중요!!
	보안을 설정할때도 중요 -> !!

outbound - 네트워크 내부에서 외부로 데이터가 전송되는것 - 
	송신(send)
	나가는것이어서 보안이 크게 안 중요

IP address 표기법
	전통적인 표기법. - 192.168.0.10 그냥 숫자로 전부 적는거 
    
   
	CIDR 표기법 
	192.168.0.0/24 -> classless inter-domain routing)

		10.88.135.144/28은 앞에 28개 비트가 네트워크ID + 서브넷ID로 채워진거!! 
        즉 뒤에 0000 ~ 1111 까지가  Host ID로 사용할 수 있다!
        실제로 맨 처음과 맨 뒤는 예약번호라 쓸수 없긴함!!!!

서브넷 마스크

  • 네트워크 ID를 분리하기 위한 값 ->IP주소와 bit &를 해버림
    서브넷IP가 어디서부터 어디까지인지 알려주는게 CIDR!!!!!

IPv4 부분망

  • 네트워크 ID + 서브넷 ID + Host ID 가 진짜 IP주소이다!
    서브넷을 설정 해놓은 이유는 각각의 부서에 맞게 그들의 네트워크만 관리 할수있어서

PORT

네트워크 상의 호스트를 식별 하였으면 해당 호스트의 통신 대상 프로그램을 식별 해야한다.

네트워크에 연결된 호스트의 통신 대상 프로그램(프로세스,process)을 식별하는 번호를 포트번호라고함

  • 포트번호는 2 byte크기(0~65525까지 사용가능)
    0~1023번까지는 미리 예약되어있음 ->
    예약번호에 연결된 프로그램은 제공되는 기능이 정해져있다.

    예약된 포트번호
    20번, 21번: FTP -> 거의 활용 안함
    22번: SSH(Secure SHell)
    80번: HTTP(hyper text transport protocol)
    443번: HTTPS(~~ secure)

IP Address와 PORT번호 사용 형식 -> 192.168.10.0:80번 포트에 연결된 프로그램과 통신한다

1024~4999번까지는 예비번호로 사용!!
5000번이상의 포트번호를 임의로 정의하여 사용할 수 있다.
포트하나당 하나의 프로그램연결만 가능!

게이트 웨이

다른 종류의 네트워크와 연결하고자 할때 사용

네트워크 유형

공용 네트워크 (인터넷에 연결된 네트워크, 공인IP address필요)
사설네트워크 (인터넷에 연결되지않은 네트워크, 사설 IP address를 이용하여 호스트 IP address부여)

공용네트워크가 사설안쓰고 전부 공용IP를 쓰는 무식한 경우도 있다!!

서로 다른 네트워크상의 프로토콜을 적절히 변환해 주는 역할
사설네트워크를 인터넷상에 연결할 경우 게이트웨이 사용

통상 해당 IP address호스트 ID 1번 사용

패킷

네트워크상에서 호스트간 주고 받는 하나의 데이터를 일정하게 분할한 스몰 데이터

패킷에 포함된 내용 
1. 	스몰데이터 순서를 알 수 있는 패킷 번호
2.	데이터를 송신하는 호스트IP address와 포트번호 
3. 	수신하는 호스트의 IP address 포트번호

네트워크 데이터 전송방식에 따른 구분

1. 회선 교환방식 -> 1:1 통신방식, 한 호스트가 네트워크를 독점적으로 사용하는 방식, 아날로그

2. 패킷 교환방식 -> 1:다 통신방식
	요즘 사용방식
	하나의 데이터는 여러 패킷으로 나누어져서 네트워크를 통해 전송되며 수신측에서 전송받은 패킷을 맞추어서 사용
    
	패킷에는 번호가 있다!(순서), 
    각각의 패킷의 경로가 라우팅에 의해서 다르게 이동!!(혼잡피하기위해서)
	수신측에서는 패킷번호대로 조립을 함!, 
    패킷의 사이즈는 동일이 일반적!!!
    패킷의 사이즈는 프로토콜에 의해서 이미 정해짐

ping <패킷전송테스트 IP address>

실험 -> cmd에 ping 8.8.8.8 입력

결과 -> .8.8.8의 응답: 바이트=32 시간=40ms TTL=111(이건 네트워크내 패킷소멸)

알게 된 내용 -
1. 패킷을 보내고 받는 속도를 높이는건 cpu와 상관이없다!

2.네트워크 속도가 빠르면 -> 패킷도 빠르게 전송할수있다!! - 무한정속도 올릴수없다

3. 대역폭이라는게 있으면 하나의 주파수에서 동시에 사용할수있는 네트워크 용량
대역폭이 넓을 수록 빨라짐!! - 병목현상이 줄어들어서,

다이렉트 전송이 가장 좋지만 이건 의미없긴함

라우터

인터넷에 연결된 호스트간 통신을 수행할 때 패킷을 전송할 경로를 탐색하고 실제 해당경로를 이용하여 패킷 전송역할

라우터는 내부에 라우팅 테이블이라는 테이블에 경로 정보를 가지고 있다.
네트워크에 한개씩 달려있음!

네트워크 프로토콜 스택 - (TCP/IP)

네트워크를 구성하고 인터넷을통해 전송하기 위한 패킷을 구성하고
전송 또는 수신하기 위한 과정을 o/s내부에 스택구조로 단계적으로 구성된 네트워크를 위한 S/W구성

TCP/IP(Transmission Control Protocol/ internet protocol)

	현재 인터넷을 사용하는 네트워크에서 기본으로 사용하는 네트워크 프로토콜 스택
	windows, linux,macos에는 TCP/IP를 포함하고 있다
	
	TCP/IP는 4계층 구조를 가지고 있다.
    
		1. Application layer
			어플리케이션에서 통신을 수행할 때 적용할 protocol
			HTTP/ HTTPS : web(웹 브라우저)을 사용하기 위한 기본 프로토콜
			SSH: 보안이 적용된 원격 shell접속을 위한 프로토콜
			FTP: 원결 파일 전송을 위한 프로토콜
			SMTP: 메일전송을 위한 프로토콜
			POP3: 메일 수신을 위한 프로토콜
			
			사용자 프로토콜: 소켓을 이용한 프로그램을 개발한것을 보낼때
		2. Transport Layer
			port 번호를 결정 -> 어떤 프로그램에 전송할 것이다., TCP인지 UDP인지는 정해줌!
			TCP - 일대일 통신, 항상 연결상태를 유지!!! ,패킷을 전송하고 응답이 없으면 다시 패킷을 전송한다.
			(http프로토콜은 tcp기반프로토콜이지만 연결상태를 항상 유지하지않는다-> )
			통상 3번의 패킷 교환을 통해 하나의 패킷전송을 완료한다, 패킷전송 신뢰성이 높지만 속도가 느림
				(three hand shaking)
			UDP(User Datagram Protocol) - 보내고 확인 안하는 애, 1:1 1:다(브로드캐스트) 다:다(멀티캐스트) 통신,  신뢰성떨어지지만 속도빠름, 스트리밍서비스

		3. Internet Layer
			IP address 결정
			IP(internet protocol) - 
			ICMP(ping이 사용하는 프로토콜) - 그냥 테스트 패킷 보내는거
            
		4. Network Access Layer
			실제 패킷 전송 / 수신
			NIC를 사용하는 공간 - 실제 물리적인 네트워크에 패킷 전송 및 수신
			NIC를 식별할 MAC address가 부여

OSI 계층 모델이랑은 다름!! -> 네트워크 프로토콜스택이긴 한데 7계층임 복잡해브러~, 이거 절대안씀!!

물어본 질문들

Q: 네트워크ID가 4바이트가 안되는 이유는 그렇게 될시 호스트ID를 적을수가 없어서 그런건가요?
A: 맞음, 네트워크 ID보다 Host ID가 더 중요!!

Q: 사설 IP는 회사사람끼리 쓸수있나요? A: 회사같은 소규모에서 사용가능!!

Q: 사설IP도 예약된 번호는 못쓰나요? A: 쓰게 되면 충돌일어남

Q:사설 IP를 C클래스로 설정한뒤에 네트워크 확장할수있나요? A: 네트워크를 차라리 하나 더만들고 둘이 연결해라!

셀프 피드백

컴퓨터 네트워크에 대해 배웠는데 작년에 좀 더 네트워크 수업 열심히 들을껄,,,
이라는 후회가 남네 ㅋㅋㅋ 

그래도 질문과 직접 모르는 부분 찾아보며 대충 안다고 넘어가지 않고 이해하게 되었다.

profile
SW로 문제를 해결하려는 열정만 있는 대학생

0개의 댓글