일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 형변환
- http
- 웹스토리지 사용법
- 파비콘에러
- 생성자
- 상속
- 다운캐스팅
- java기초
- 웹동작방식
- 0으로변환
- 스프링부트
- 한번에insert하기
- 오버라이딩
- 메소드
- 레포지토리설계
- Git
- static
- qclass
- 기초
- 스프링시큐리티
- 코린이
- JPA
- 네트워크
- 업캐스팅
- java
- git commit취소
- 엔티티설계
- MySQL
- 프로젝트
- 자바
- Today
- Total
딱콩이의 봄
IP(Internet Protocol) 본문
IP Header

time to live : 패킷이 영원히 살아남는 것을 방지하기 위함
upper layer : TCP, UDP 등 전송해야하는 프로토콜이 무엇인지 파악하기 위함
Flag 와 fragment offset
각 네트워크 라인은 MTU가 존재하여 전송할 수 있는 사이즈가 제한되어 있다. 따라서 사이즈가 큰 프레임은 쪼개서 전송되고 최종 목적지에서 이를 하나로 합쳐야 한다.
이 합치는 작업을 위해 존재하는 영역이 Flag 와 fragment offset이다.

사용예

가정
- 4000byte 크기의 데이터를 전송
- MTU 크기가 1500bytes
1.flag에는 마지막 조각인지 확인하기 위한 값을 입력한다.
- 001 MF(More fragment) : 뒤에 분할된 데이터가 있다는 뜻
- 010 DF (dont flagment) : 데이터를 분할하면 안된다는 뜻
2. fragment offset(13bit) 에는 잘리기전에 존재했던 위치를 입력한다.
- 1500 바이트 짜리 정보는 flag001 offset 0
- 500 바이트 짜리 정보는 flag000 offset1500
IP의 계층화

IP 주소는 네트워트 주소(network ID) 24bit + 호스트 ID 8bit로 구성되는데 이 둘의 길이는 호스트의 ID 개수의 필요에 따라 나뉩니다.
예를 들어 우리 학교 같은 경우는 학교가 아주 작기 때문에 8비트 정도의 호스트ID 개수면 충분하지만, 아주 큰 기업 같은 경우는 24비트 정도는 필요할 것 입니다. 이를 제외한 나머지는 네트워크 주소가 차지하게 됩니다.
Subnets(서브넷)
하나의 네트워크가 분할되어 나눠진 작은 네트워크
클래스 단위로 네트워크를 분류하다보니, 어떤 기업에서는 적은 양의 호스트 주소가 필요한데 , B Class 네트워크를 할당 받아서 IP 주소에 여유가 생기게 되고, 어떤 기업에서는 많은 양의 호스트 주소가 필요한데, C Class 네트워크를 할당받아 IP주소가 부족해지는 현상이 생기게 됩니다.
따라서 클래스로만 네트워크를 분류하는 것은 비효율적이라는 결론이 나오게되고, 좀 더 적절한 단위로 네트워크를 분할해야할 필요성이 생기게 됨으로 서브넷 개념이 등장하게 됩니다.
서브넷 마스크
모든 IPv4 주소에는 네트워크ID와 호스트ID를 구분하기 위한 것으로, IPv4와 같은 형식이며 2진수로의 1로 표기된 부분이 네트워크ID, 0은 호스트ID를 말합니다.

해당 그림은 몇 개의 서브넷으로 구성되는걸까요?
6개 입니다. 라우터에서 하나의 인터페이스가 하나의 서브넷을 형성하므로 R1,R2,R3가 독자적으로 각각 서브넷 1개씩 구성하고
R1,R2,R3가 서로 공유하는 서브넷이 3개 (R1-R2, R2-R3, R3-R1)가 있으므로 3 + 3 으로 총 6개가 있습니다.
'개발 > 네트워크' 카테고리의 다른 글
클라우드란? (0) | 2022.12.03 |
---|---|
데드락(Dead Lock) (0) | 2022.09.16 |
네트워크 계층 (0) | 2022.09.14 |
텍스트 파일 vs 바이너리 파일 (0) | 2022.08.31 |
GET, POST (0) | 2022.08.31 |