[CJ Olivenetworks - Cloud Wave] Day 1 - Network / Server
TCP / IP 4계층 in Cloud ComputingPermalink
클라우드 환경 학습에 있어서 상대적으로 중요한 계층 ?
네트워크 전송 시의 데이터 표준 : OSI 7계층 (이론 상의 모습)
OSI 7층 이론 실제 사용시의 인터넷 표준 : TCP/IP 4계층 (실제 구현 모습)
TCP/IP 4계층 중 클라우드 환경에서 상대적으로 중요한 3계층
- Application(응용)
- Transport(전송)
- Internet(인터넷)
- TCP / UDP 프로토콜에서 어떤 시스템에 접근할 지 선택하는 방법
- 바로 포트번호 (Port number) 를 사용하는 것.
- Well-Known Port (잘 알려진 포트번호)
- 가장 범용적인 TCP/IP 어플리케이션이 사용하는 포트번호
- port number : 0 ~ 1023
- 예)
- (TCP)HTTP - 80
- FTP - 21
- (UDP)DNS - 53
- Registered Port (등록된 포트번호)
- TCP/IP 를 사용하는 대부분의 어플리케이션이 사용할 수 있는 포트번호.
- port number : 1024 ~ 49151
- Dynamic Port (동적 포트번호)
- 누구나 등록없이 사용할 수 있는 포트번호 -> 사설 프로토콜에 적합.
- port number : 49152 ~ 65535
- 전송 과정
- 전송하고자 하는 Data를 OSI 7계층을 통해 적절한 목적지 위치의 정보를 담는다.
- 이후 전송 과정 중 거치게 되는 여러 장비(스위치, 라우터… 등)에서 정보를 처리함으로서 목적지로 해당 Data가 온전히 전송될 수 있도록 도와준다.
- 라우터(Router) : 3계층 장비
- 3계층 까지의 정보를 읽을 수 있다.
- 스위치(Switch) : 2계층 장비
- 2계층 까지의 정보를 담을 수 있다.
- 예) https://www.naver.com 접속 시도하는 경우
- DNS 동작 -> 목적지인 네이버의 서버주소 (IP주소)로 변환 (https://x.x.x.x)
- https는 TCP 443 포트 번호를 사용
- (참고) 각 계층 별 가지고 있는 주요한 정보
- Layer 7 : SSH, TELNET, DNS, FTP, HTTP
- Layer 4 : TCP / UDP 및 포트번호(고정)
- Layer 3 : IP 주소 (사용자의 입력에 따라 변화)
Layer 4 이후의 계층을 이용하는 프로토콜부터 포트번호를 사용. -> Layer 3 이하의 프로토콜은 포트번호가 존재하지 않는 것에 유의하자.
서비스에 접속하기 위해 필요한 정보
1. IP 주소 : 사용자가 원하는 서비스의 IP주소를 선택.
2. TCP / UDP, 포트 번호 : 1, 3번에 의해 자동 선택됨
3. 서비스 프로토콜 : 사용자가 원하는 것을 선택
IP 주소 (Class)Permalink
< IP 주소 >
- Class 개념
- Subnet mask, Prefix를 알아보자.
IP 주소의 구성 - Class
- 간단한 IP 주소의 개념
- IP 주소는 32자리의 이진수로 구성되었고, 십진수로 표현됨.
- 예) http://140.175.229.203 (= 10010110.10101111.11100101.11001011)
- 하나의 Network 안의 IP들은 같은 네트워크 영역을 가지는 동시에 서로 다른 호스트 영역을 가져야 통신이 가능.
- IP 주소는 32자리의 이진수로 구성되었고, 십진수로 표현됨.
- IP 주소의 Class 개념 - A / B / C class
- A class
- IP 주소의 첫 8bit만 Network 주소로 사용.
- 나머지 24 bit는 호스트 주소로 사용.
- 최소 00000001 -> 1 (1.0.0.0)
- 최대 01111110 -> 126 (126.0.0.0)
- 자기 자신의 주소를 나타내는 127은 제외된다.
- IP 주소가 1 ~ 126 사이로 시작한다면 A class 라고 생각하면 된다.
- 호스트 주소의 생성 가능 경우의 수는 2^24(첫 8bit 이후의 24bit) - 2이다.
- -2 를 한 이유는 아래와 같다.
- 각 8bit가 모두 0인 경우 = 네트워크 주소로 사용
- 각 8bit가 모두 1인 경우 = 브로드캐스트 주소로 사용
- B class
- 위의 A class 와 같은 logic / 개념
- IP 주소가 128 ~ 191 사이로 시작.
- C class
- 위의 A class 와 같은 logic / 개념
- IP 주소가 192 ~ 223 사이로 시작.
- A class
- 같은 네트워크 (동일 네트워크) : 네트워크 주소(Network ID) 가 같은 네트워크
-> 스위치 등 타 장비의 도움없이 서로 통신이 가능한 네트워크.- Subnet Mask : IP 주소에서 어디까지가 Network ID인지 판별하기 위한 도구. (255.255.x.x)
- Subnet Mask 가 같으면 동일 네트워크이다.
- prefix : 네트워크의 비트 개수
- 255.255.255.0 -> 1비트가 총 24개 (1바이트 마다 점으로 구분 == 255는 2진수로 11111111)
- 따라서 위 IP주소를 prefix로 변환 시, 255.255.255.0/24 으로 나타낸다.
- 보통 /16 을 많이 사용. (172.16.0.0/16)
- 만약 Subnet Mask 도, prefix 도 없다면 각 클래스(A, B, C) 의 범위에 따라 prefix로 default 값이 설정되어 있는 것.
- ex) 172.16.2.2 -> B Class에 해당(128 <= 172 <= 191) -> /16 의 prefix가 default로 부여.
- ex) 10.1.1.1 -> A Class에 해당(1 <= 10 <= 126) -> /8 의 prefix가 default로 부여.
- 위처럼 다른 네트워크 (네트워크 ID가 다름 -> 172.16. != 10.)를 가진 시스템과 통신하려면, L3 장비인 라우터 이상을 필요로 한다. (L2 장비 불가)
- L2 장비 -> Switch : MAC 주소만 읽기 가능하며, IP 주소는 읽지 못하는 장비
- L3 장비 -> Router(Routing Table)
- 라우팅 테이블에 정보가 없으면 통신 불가. (출발지, 목적지, Gateway, Port.. etc)
- 정보가 없을 시 Default Gateway를 설정하여 특정 외부로 무조건 보냄으로서 통신을 가능하게 할 수 있음.
공인 IP - 유일한 주소
사설 IP - 중복 가능한 주소 (인터넷 불가 : 유일하지 않은 주소이므로)사설 IP 대역 목록 (VPC 가상네트워크 구축 시 사용하는 네트워크)
- 시작 IP
10. ~
172.16. ~
192.168. ~
169.254. ~
- IP 주소 자동 할당 과정에서 자동 할당 받기 실패 시 설정되는 주소. 내부 통신은 가능, 외부와 통신 불가
L3 이상의 장비에는 모두 routing table과 해당 정보가 존재한다. 해당 정보가 정확한 정보를 담고 있어야 비로소 통신이 가능하게 된다.
요약 및 정리Permalink
- 원격 시스템 간의 통신 원리 (유 / 무선 차이는 없다. 그 형태만 다를 뿐)
- L2, L3 장비의 동작 원리, 과정 및 그 내용
- 시스템 간의 통신 방식
- IP주소
- 서버에서 제공하는 서비스의 종류 (TELNET.. 등)
- 서버에서 제공하는 서비스의 종류에 대응하는 클라이언트 프로그램 및 포트번호 (Well-Known Port Number를 사용하지 않을 시)
- 서버 : HTTP TCP 80, 클라이언트 : 웹 브라우저
- 서버 : SSH TCP 22, 클라이언트 : SSH 클라이언트
- 서버 : FTP 21, 클라이언트 : FTP 클라이언트
- 위와 같이 Well Known Port가 아닌 직접 설정한 Port Number를 사용 시
해당 Port Number를 클라이언트 프로그램에서 추가적으로 설정해주어야 한다. - ex) 서버 : TCP 2222 / 클라이언트 : SSH -p 2222 x.x.x.x
- 위와 같이 Well Known Port가 아닌 직접 설정한 Port Number를 사용 시
- 서버에서 TELNET 서비스가 동작한다 -> TCP 23 포트가 LISTENING 중
- 시스템 간의 통신 방식
- L4 ~ L7 : 목적지 시스템 내에서 데이터를 처리하기 위한 장비 / 정보
- IP 주소 : 네트워크 비트를 사용하여 IP 주소 내에서 네트워크 주소의 범위를 알 수 있음.
네트워크 비트란?
- 과거 : subnet mask (ex. 255.255.255.x -> 24 비트까지가 네트워크 주소)
-
현재 : prefix (ex. 192.168.0.0/16 -> 16 비트까지가 네트워크 주소)
- 네트워크 비트가 설정 되어있지 않은 경우
- 네트워크 비트가 default로 설정된 것. -> 아래와 같이 Class 단위로 설정된다.
- A class (1 ~ 126):
/8
의 prefix를 가진다. - B class (128 ~ 191):
/16
의 prefix를 가진다. - C class (192 ~ 223):
24
의 prefix를 가진다.
- A class (1 ~ 126):
- 네트워크 비트가 default로 설정된 것. -> 아래와 같이 Class 단위로 설정된다.
- 같은 네트워크 (동일 네트워크)인 경우 L2 장비 (Switch)만 사용하여 서로 통신이 가능하다.
- (예)
172.16.1.100
/172.16.2.100
/192.168.100.100
- 172 대역은 B class 이므로 default로 설정된 네트워크 비트는
/16
이다. - 172.16. 과 172.16. 은 같으므로 두 네트워크는 동일 네트워크이다.
- 따라서 위 두 네트워크는 L2 장비(Switch)만 사용해도 통신이 가능하다.
- 하지만
192.168.100.100
과 같은 주소는 C class에 포함되므로 다른 네트워크. - L3 이상의 장비가 있어야 172.~ 대역의 네트워크와 통신이 가능해짐.
- 하지만
- 172 대역은 B class 이므로 default로 설정된 네트워크 비트는
- (예)
- [AWS] VPC (Virtual Private Cloud)
- 2개 이상의 VPC 연결 시에는 peering 이라는 서비스 만으로 가능.
- 3개 이상의 VPC 연결 시에는 TGW(Transit Gateway : 가상의 라우터) 라는 장비를 사용.
- 해당 장비의 Routing Table을 통해 연결이 가능해짐.
[부가 프로그램] WireShark - OSI 7계층 변환 과정 확인Permalink
WireShark ?
- OSI 7계층 변환 과정을 Capture 해서 확인할 수 있는 분석 프로그램.
- port number : 1 ~ 65535 까지 존재.
- 1 ~ 1023 : Well-Known port number
- Client Port number : 1024 ~ 65535 (Well-Known Port number 을 제외, random 지정)
WireShark 동작 모습
간단한 추가 정보Permalink
- 방화벽 : IP 주소, TCP / UDP 포트번호를 사용하여 트래픽을 제어
- Ping (ICMP 사용) : 핑의 응답 여부에 따라 해당 네트워크의 동작 여부를 판단.
허용 가능한 만큼의 학습 내용을 복습 겸 이곳에 포스팅 해보려고 합니다.
긴 글 읽어주셔서 감사합니다. 포스팅을 마칩니다.
Task ListsPermalink
- TCP / IP 4계층 in Cloud Computing
- IP 주소 (Class)
- 요약 및 정리
- [부가 프로그램] WireShark - OSI 7계층 변환 과정 확인
- 간단한 추가 정보
Comments