- 멀리 있는 컴퓨터끼리 데이터를 주고받는 과정 -
# IPv4 프로토콜
1. IPv4가 하는 일
- 네트워크 상에서 데이터를 교환하기 위한 프로토콜
- 데이터가 정확하게 전달될 것을 보장하지 않는다.
- 중복된 패킷을 전달하거나 패킷의 순서를 잘못 전달할 가능성도 있다.(악의적으로 이용되면 DoS 공격이 됨)
- 데이터의 정확하고 순차적인 전달은 그보다 상위 프로토콜인 TCP에서 보장한다.
2. IPv4의 구조
- Version : IPv4의 Version 정보가 들어간다. => 4, 4bit
- IHL : 헤더의 길이가 들어가는데 4bit 크기이므로 표현할 수 있는 숫자가 15가 최대이다 그러므로 최대 길이를 4로 나눠서 들어가게 된다.
- TOS : 지금은 쓰이지가 않아서 0으로 비워둔다. 원래는 데이터를 주고받는 형식의 값이 들어갔었다.
- Total Length : 헤더의 길이를 말하는게 아닌 페이로드 까지 합쳐진 길이를 말한다.(전체의 길이)
- identification, IP Flags, Fragment Offset : 한세트라고 보면 편하다. 데이터를 큰것을 보낼때 쪼개진 값을 알아볼수 있게 하는 것이다.
* identification : 하나의 데이터가 잘게 쪼개졌을때 하나씩 보낸 값이다.(잘개 쪼개진 패킷들에게 공통된 ID를 부여)
* IP Flags : 총 3Bit로 이루어져 있으며 첫번째 값은 쓰지 않는다, 두번째 값은 보내는 사람이 데이터를 안쪼개고 보내는걸 명시하는 부분이다(거의 안쓴다 쪼개지않으면 값이 보내지지 않기 때문이다.),세번째 값은 조각화가 이루어졌다는 걸 명시하는 부분이다.
* Fragment Offset : 쪼개진 패킷들의 순서를 명시해준다. 맨 처음 시작부분 기준으로 얼마만큼 떨어져 있는지 셋팅한다.
- Time To Live (TTL) : 패킷이 생존할 수 있는 시간을 지정한다.(받는 네트워크장비들이 오류로 인해 패킷이 쌓여 안좋은상황을 대비하는데(생존 시간을 지정함으로써 패킷이 쌓이는것을 방지)쓰인다.), 상대방 네트워크 장비의 운영체제를 알 수 있다.
- Protocol : 상위 프로토콜Type이 무엇인지 알려준다.
- Header Checksum : 앞에 있는 값들이 오류가 있는지 없는지 확인해주는 부분이다.
# ICMP 프로토콜
1. ICMP가 하는 일
- ICMP(Internet Control Message Protocol, 인터넷 제어 메시지 프로토콜)
- 네트워크 컴퓨터 위에서 돌아가는 운영체제에서 오류 메시지를 전송 받는 데 주로 쓰인다.
- 프로토콜 구조의 Type과 Code를 통해 오류 메시지를 전송 받는다.
- 특정 대상과 내가 통신이 잘되는지 확인해준다.
2. ICMP의 구조
- Type(대분류) : 타입의 종류는 30번까지 많이 있는데 주로 쓰이는 5개가 있다.
* 0. Echo Reply, 8. Echo : 통신에 기본적인 것, 0번이 응답 8번이 요청
* 3. Destination Unreachable, 11. Time Exceded : 무엇인가 오류가 났을때, 3번은 목적지 까지 도착하지 못한것(경로상의 문제), 11번은 목적지까지 갔지만 응답이 없는경우(상대방의 문제, 크게 방화벽의 문제가 있다.)
* 5. Redirect : 보안상, 남의 데이터를 수정할수 있는것인데 보안상 중요하다.
- Code : 소분류
- Checksum : 앞에 헤더들이 잘못된점이 있는지 확인한다.
# 라우팅 테이블
- 어디로 보내야 하는지 설정이 되어있다.
'네트워크' 카테고리의 다른 글
ARP프로토콜(3계층) (0) | 2022.06.10 |
---|---|
네트워크의 3계층 (0) | 2022.06.03 |
네트워크의 2계층 (0) | 2022.06.02 |
네트워크 모델 (0) | 2022.06.02 |
네트워크란 무엇인가? (0) | 2022.06.01 |