2024. 5. 16. 22:58ㆍ대학교/정보통신
IP는 인터넷을 사용하기 위한 인터넷 프로토콜이다.
흐음. 의견을 종합해보자면, IP는 인터넷을 사용하기 위한 (주소와 라우팅 과정을 위한) 프로토콜 , 비신뢰성과 비연결지향성을 가지고 있다고 한다.
내가 보낸다면 보내는거야! 너는 알아서 해 이런 느낌. 서로간의 연결을 확인하지 않으니 보장할 수 없는 통신, 신뢰할 수 없는 통신이다. 또한 패킷의 순서를 보장하지 않는다.
RFC 791: Internet Protocol
datatracker.ietf.org
이것은 IP에 대한 공식 문서! 영어를 못하니 나는 패스하겠다.
IP는 버전이 두 가지가 있다. 현재 IPv4와 IPv6두가지가 사용되고있다.
그리고 IP를 사용하기 위해 주소라는 개념이 존재한다. 각 버전마다 주소가 다르다.
MAC 주소는 물리적 주소, 기기의 주소이고 IP 주소는 논리적 주소, 호스트에 할당된 주소이다.
물리적 주소는 택배로 보자면 이름같은것이고(식별자) 논리적 주소는 수신지(위치)에 해당하는것이다.
MAC 주소만 사용시 문제가 발생한다. 기기에 할당된 주소이고, 네트워크에서 경로를 찾기에 부담된다.(MAC은 기기니까 모든 기기를 알아야 한다?)
하지만 IP 주소는 이와 달라서 경로를 찾는, 라우팅 과정에 적합하다.
IPv4버전의 주소는 우리가 많이 쓰고 있는 주소이다.
8비트씩 4개로 32비트다.이 8비트를 '옥텟' 이라고 한다.
옥텟마다 점(.)으로 구분된다
IPv4 주소는 우리가 사용하는 10진수 체계로 사용된다. 8비트는 2의 8승 - 1이니, 255이다.
범위는 0.0.0.0부터 255(8비트).255 (8비트) .255 (8비트) .255 (8비트) 까지인것이다.
IP주소에 대해 더 알아야 할것이 있지만 여기서는 다른 주제에 대해 더 알아보도록 하겠다.
패킷은 데이터의 쪼가리, 데이터의 일부에다가 각종 정보를 포장한것.
IPv4패킷은 이러하다.
음... 한국말로 바꿔보면?
이러하다.
간단한 용어부터 알고 가자.
1. MTU는 한번에 전송 가능한 IP 패킷의 최대 크기이다. (Maximum Transmission Unit)
2.패킷을 전송하기 전 MTU가 넘어가지 않도록 패킷을 분할한다. 이를 '단편화' 라고 한다.
MTU는 종단간만 관련있는게 아니라 거치는 모든 경로(라우터)까지 관련있다.
https://www.cloudflare.com/ko-kr/learning/network-layer/what-is-mtu/
패킷들은 분할이 되든 분할이 되지 않든 언제나 순서대로 수신되지 않는다. 패킷 교환 방식을 사용하기 때문이다.
수신측에서 패킷을 조립하고 정렬해 완성한다.
이제 다시, IPv4 패킷 구조를 보아하면, 식별자라는게 있다. 이 식별자는 패킷에 할당된 번호이다. 패킷이 분할될경우 어떤 메시지인지 확인해 다시 재조합 하기 위해서 식별자를 사용한다. 한 마디로 출신지가 어디냐 이말이다.
플래그는 세개의 비트로 구성된 필드고 (0,0,0) 첫 번째 비트는 고정으로 0이다 예약된 비트이다.
두 번째 비트는 DF(Dont fragmet) 단편화 하지마세요! 이다. 1 활성화, 0은 비활성화이다. 즉 단편화가 가능하다.
마지막 비트는 MF (More Fragment) 단편화된 패킷이 더 있나요? 이다. 1은 쪼개진게 더 있고 0은 이 패킷이 마지막이라는것이다.
그렇다면 만약 MTU보다 커서 분할을 해야 할 상황인데 DF 필드가 활성화 되어있다면?
그것은 오류이다. 패킷을 폐기하고 송신자에게 ICMP프로토콜을 이용해 오류 메시지를 전송한다.
단편화 오프셋은 패킷이 단편화 되기 전 초기 데이터에서 몇 번째로 떨어진 패킷인지 나타낸다.
순서대로 도착하지 않은 패킷들을 구별하기 위해 순서를 나타내기 위해 사용한다.
만약 1500MTU인기기에서 2000byte를 전송해야한다고 할 때, header 20byte + 1480data 하나, header 20byte + 520data 이렇게 단편화가 되는것이다. 1번 패킷의 단편화 오프셋은 당연히 시작이니까? 0번이고, 두번째는 시작부터 1480만큼 왔으니 오프셋은 1480이 되는것이다.
TTL(Time to Live)는 패킷의 수명이다.
패킷에 수명이 없을경우 계속 무의미하게 돌아다닐 수 있다. TTL은 그것을 방지한다.
패킷이 호스트 혹은 라우터에 한번 전달되는것을 홉(Hop)이라고 한다.
홉마다 TTL이 1씩 감소한다. TTL이 0이 될경우 패킷의 수명은 끝나고 송신 호스트에게 ICMP프로토콜 Time Exceeded 메시지가 전송된다.
프로토콜 란에는 상위 계층의 프로토콜 정보가 들어가있다. (전송 계층) TCP UDP 등등이 있다.
'대학교 > 정보통신' 카테고리의 다른 글
IP 주소 Classful, Classless (0) | 2024.05.20 |
---|---|
네트워크 허브 Hub (0) | 2024.05.15 |
이더넷 Ethernet (0) | 2024.05.14 |