일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 배열빈도수
- dbeaver
- 모래시계출력
- 도커권한설정
- 디비버
- 오름차순
- 리눅스환경
- name=springapplication
- 백준
- javax.management.instancenotfoundexception: org.springframework.boot:type=admin
- 유니캐스트
- docker
- instancenotfoundexception
- 리눅스계열
- wan
- 백준1946
- 포트포워딩 안될때
- Decapsulation
- 페이로드
- 배열최소값최대값
- jmx
- springboot
- 포트포워딩
- 네트워크모델
- ubuntu
- SpringApplication
- 배열복사
- 우분투
- 도커
- 브로드캐스트
- Today
- Total
다잘하고싶어
네트워크 모델 본문
OSI 7계층과 TCP/IP 비교
공통점
- 계층적 네트워크 모델
- 계층 간 역할 정의
=> 네트워크를 계층으로 나눠두고 그 계층 당 역할을 배정해뒀다
차이점
- 계층의 수 차이
- OSI 는 역할 기반, TCP/IP 는 프로토콜 기반
- OSI 는 통신 전반에 대한 표준
- TCP/IP는 데이터 전송 기술 특화
=> OSI 는 논리적, TCP/IP는 실무적인 느낌
패킷
= 네트워크를 통해 전달되는 데이터 ( 형식화 된 블록)
- 제어 정보와 사용자 데이터로 이루어지며, 사용자 데이터는 페이로드 라고 한다.
- 누가누구에게, 어떻게, 어떤 데이터를,, 의 정보들이 들어있다.
- 패킷은 여러번 포장된 택배상자로 생각하면 된다.
페이로드 : 실질적으로 보내고자 하는 데이터
주로 헤더가 사용되고, 푸터는 잘 사용되지 않는다.
예를 들어보면
HTTP 프로토콜을 페이로드로 해서 TCP 라는 헤더를 붙인다. ⇒ 하나의 패킷(1)
이 패킷(1)을 페이로드로 해서 IPv4 를 헤더로 붙인다. ⇒ 패킷(2)
이 패킷(2)을 페이로드로 해서 Ethernet 을 헤더로 붙인다 ⇒ 패킷(3)
⇒ 이러한 과정을 캡슐화 (Encapsulation)라고 한다 ( 주로 보낼때 사용 )
⇒ OSI 7계층을 살펴보면 상위계층에서 하위계층으로 내려가면서 패킷을 붙인다.
⇒ 즉 하위계층이 상위계층 앞에 올 수 없다는 뜻!
단, 2-3-3-DATA 형식은 존재할 수 있다. (숫자는 계층을 의미)
데이터를 확인하는 과정 (Decapsulation)
누가 어떤 데이터를 어떻게 보냈는지 확인
2-3-4-DATA 순으로 확인하게 된다
맨 처음 Ethernet 을 확인하면 헤더는 Ethernet 이고 뒤에는 단순히 PAYLOAD 일 뿐이다
각각의 계층별로 패킷을 부르는 이름이 다르다.
(PDU: Protocol Data Unit, 데이터의 단위)
4계층의 PDU = TCP + 데이터 = 세그먼트
3계층의 PDU = IPv4 +(DATA) = 패킷 (용어는 같지만 이전에 언급한 패킷과는 다른 의미)
2계층의 PDU = Ethernet + (DATA) = 프레임
명령프롬프트를 열고 ping 8.8.8.8 을 입력후 통신 프로토콜을 살펴보면
3계층 ICMP
3계층 IPv4
2계층 Ethernet
순서로 데이터가 구성되어 있음을 알 수 있다.
3계층에서도
IP - ICMP
ARP - ICMP 로 구성된다.