ㄴ CCNA

3월 7일 (Data의 구조, OSI Layer)

깜자왕 2022. 3. 14. 16:52
반응형

하이퍼바이저 - 가상화를 만들어주는 조종자. 제품마다 존재
서버안에 하이퍼바이저가 있을 시 여러개의 운영체제를 설치 및 관리가능

* Datacenter - 서버 컴퓨터와 네트워크 회선 등을 제공하는 건물이나 시설

클라우드환경 - 내가 필요한 IT인프라를 구축시키는것

---------------------------------------------------------------------------
1. data의 구조
데이터를 생산하는 주체 - 애플리케이션 (카카오톡, HTTP(웹브라우저 등), HTTPs, DNS, TELNET 등)
애플리케이션은 데이터를 활용하기 위해 필요한 것
L3 | L4 | AH(L5,6,7) | Data

* Application Header -> Layer 7
AH의 경우 실제로는 5,6,7 계층을 한 번에 묶어서 활용
AH의 역할 - 애플리케이션의 정보 제공
헤더란? - 데이터에 대한 부가적인 정보를 담기 위한 공간
구조 -> AH | Data |

* TCP/UDP Header -> Layer 4
netstat -na 명령어로 확인가능
ex)
  TCP    192.168.0.84:57563     20.197.71.89:443       ESTABLISHED
  TCP    192.168.0.84:58054     20.198.162.78:443      ESTABLISHED
 -> IP헤더의 뒷부분 57563 등은 포트번호. 이 번호를 통해 어떤 애플리케이션인지 확인할 수 있다.
포트번호가 추가된 구조 -> | TCP 1024 80 | AH | Data |
L4의 역할 - 포트번호를 통해 애플리케이션을 찾아줌

* IP Header -> Layer 3
데이터가 목적지를 알아보기 위한 주소, 즉 단말(Host)를 찾아주는 역할 - IP주소
IP Header를 추가한 구조 -> 송신 IP 수신 IP | TCP 1024 80 | AH | Data |
L3의 역할 - IP 주소를 통해 Host를 찾아줌

* Ethernet Header -> Layer 2
ipconfig /all -> IP주소 및 MAC주소도 확인할 수 있는 명령어
MAC 주소(물리적주소) -> Data통신에서 유무선 시 사용되는 주소
MAC 주소를 추가한 구조 -> | MAC | 송신 IP 수신 IP | TCP 1024 80 | AH | Data |
L2의 역할 - MAC 주소를 통해 Host를 찾아줌
PC가 적은 근거리는 MAC주소로도 통신가능하지만 그 밖은 IP 주소를 통해야 함

2. data 통신에서 각각 Header의 역할
Header는 data가 목적지까지 전달되고 잘 이용될 수 있도록 해주는 것
Header는 L2,L3,L4,AH(L5~L7)가 있다. 각각 Header 확인은 wireshark 이용(http.host==www.~)
또한 각 헤더는 위에 적은 것과 같이 역할이 있고, 적은 것 외에도 다양한 역할이 있다.

*홈페이지에 접속할 시 생기는 단계
1. pc에서 www.me.go.kr을 입력한다면 -> pc는 http application이 아래와 같은 data를 생성
HTTP | get : www.me.go.kr | -> get 명령어를 이용한다.
2. pc에서 L4 헤더를 붙인다.
송신헤더 : L4 랜덤 80 | HTTP | get : www.me.go.kr |
수신헤더 : L4 80 1024 | HTTP | www.me.go.kr 200 ok |
랜덤 -> 1 - 65535 의 범위(실제로는 1024 - 65535)
source 주소 (보내는 사람) ->랜덤
destination 주소 (받는 사람) -> Application에 의해 지정됨(약속)
3. pc에서 L3 헤더를 붙인다.
송신헤더 : L3 송신ip 수신ip | L4 랜덤 80 | HTTP | get : www.me.go.kr |
수신헤더 : L3 수신ip 송신ip | L4 80 랜덤 | HTTP | get : www.me.go.kr |
4. pc에서 L2 헤더를 붙인다.
송신헤더 : L2 수신MAC 송신MAC | L3 송신ip 수신ip | L4 랜덤 80 | HTTP | get : www.me.go.kr |
수신헤더 : L2 송신MAC 수신MAC | L3 수신ip 송신ip | L4 80 랜덤 | HTTP | get : www.me.go.kr |
* L2는 목적지주소가 앞부분에 온다.
5. pc에서 data 출발

3. Data 통신에서 각각의 Header의 주소
L4 : 포트번호 (Source Port : 랜덤, Destination Port : Application에 의해 지정(약속))
L3 : IP주소 (Source IP : 자신의 IP, Destination IP : 목적지 IP(DNS)) *nslookup으로 상대ip 확인가능
IP -> 계획에 의해 관리자가 지정. DHCP로 동적할당
L2 : MAC 주소 (Source MAC : 자신 MAC, Destination MAC : 목적지 MAC)
MAC -> NIC 제조사가 지정(기본적으론 변경x)

4. Layer별 주소 상세
MAC주소 - L2에서 사용하는 주소.
상대방의 MAC주소(16진수,48bit)를 알아오는법 : ARP 이용
arp : 통신 전 브로드캐스트로 전송한 뒤 목적MAC주소만 응답이 오면 그것을 통해 상대 MAC주소를 알아내는 것.
arp -a 명령어를 통해서 arp 테이블 확인가능
ARP request는 L2 헤더는 붙이지만 L3,L4 헤더를 붙이지 않는다. ARP는 AH안에 있음.
ARP request의 L2 헤더의 dst MAC은 FFFF.FFFF.FFFF로 보냄(브로드캐스트)
ARP Reply를 요구하며 Reply를 통해 arp 테이블이 생성됨
* 질문1. ARP가 필요한 이유는? -> L2 헤더를 만들기 위해 목적지 IP에 대한 MAC주소를 알아내기 위해
* 질문2. ARP Request의 dst MAC은? -> ARP Request의 L2 목적지 MAC은 알지 못하기에 브로드캐스트 FFFF.FFFF.FFFF를 사용
* 질문3. ARP Table의 역할은? -> 알아낸 상대의 MAC주소를 기록. 그 후 추후 데이터 송신시 arp 테이블을 참고해 목적지 MAC주소가 있는지 우선 확인
arp -d로 테이블 삭제 가능

IP주소 - L3에서 사용하는 주소.
IP주소(IPv4)는 10진수로 8비트씩 32bit표기. 4개 부분으로 구성되므로 1개 부분은 최대 1111 1111로써 255까지 쓸 수 있는것
1.0.0.0 ~ 255.255.255.255 (43억개)
iana(국제기구) -> KISA(국내) -> KT, LGU, SKB 순으로 빌려옴
IP주소(IPv6)은 무한대로 존재하며 128bit
IP 주소 구조 : Network 부분 + Host 부분, 서브넷마스크를 기준으로 분리
ex) 192.168.0.8 255.255.0.0 인 경우 서브넷마스크 255부분이 네트워크부분이며 네트워크부분 작성 시는 192.168.0.0(host 부분은 0으로 표기)
* 규칙 : 스위치에 연결된 host들의 network 부분은 일치해야 한다.
* 규칙 : 라우터에 연결된 host들의 network 부분은 상이해야 한다.

* 예제 : 172.16.1.1 255.255.255.0의 IP를 사용하는 host의 network 주소는? -> 172.16.1.0
* 예제 : 위 IP가 속해있는 스위치에 연결된 단말은 최대 몇대까지 사용가능? -> 네트워크주소와 브로드캐스트주소 제외한 254개
* 예제 : 172.16.1.1 255.255.0.0의 IP가 속해있는 스위치에 연결된 단말은 최대 몇대까지 ? -> 172.16.0.1 ~ 172.16.255.254 로 총 65534(2^8 -2)
-----------------------------------------------------------------------------------------------------------
LAB 02 (현재 ip주소 -> 192.168.0.84 255.255.255.0)
1. 현재 사용하고 있는 IP주소의 서브넷마스크 주소는? -> 255.255.255.0
2. 현재 사용하고 있는 IP주소의 네트워크 주소는? -> 192.168.0.0
3. 현재 사용하고 있는 IP주소의 브로드캐스트 주소는? -> 192.168.0.255 /32
4. 현재 사용하고 있는 IP주소와 동일한 네트워크에서 사용할 수 있는 IP의 범위와 개수는? -> 192.168.0.1 ~ 192.168.0.254 로 총 254개 (2^n -2)
------------------------------------------------------------------------------------------------------------
LAB 03
1. pc1에서 ping 1.1.1.2(서버)로 ICMP Request 보냄
L2헤더는 못붙임. | L3 1.1.1.1 1.1.1.2 | icmp | 1.1.1.2는 응답하라 |
2. pc1은 arp 테이블을 보니 1.1.1.2에 대한 MAC정보가 없음
3. pc1은 1.1.1.2에 대한 ARP Request를 보냄
| ffff.ffff.ffff aaaa.aaaa.aaaa | 1.1.1.2의 MAC은 무엇? |
4. pc2는 ARP Request를 받지만 폐기
5. 서버는 Request를 받고 arp table을 생성하고 ARP Reply로 응답
aaaa.aaaa.aaaa BBBB.BBBB.BBBB | ARP Reply | 1.1.1.2의 MAC은 B이다 |
6. pc1은 ARP Reply를 수신후 arp table을 생성한다. 그 후 기존 대기하고 있던 ICMP data를 완성하고 송신
BBBB.BBBB.BBBB aaaa.aaaa.aaaa | L3 1.1.1.1 1.1.1.2 | icmp | 1.1.1.2는 응답하라 |