네트워크 레이어

강한친구·2022년 11월 29일
0

컴퓨터 네트워크

목록 보기
16/19

네트워크 레이어 : 인터넷

라우터들 간의 정보를 주고받아서 테이블을 만드는 라우팅 프로토콜들이 존재한다. 이 밖에도 IP 프로토콜, ICMP 프로콜이 있다.
인터넷 프로토콜의 헤더모양은 다음과 같다.

  1. Ver : 아이피 버전을 알려줌
  2. Head len : 옵션까지해서 총 길이를 알려줌
  3. Type of service : 8비트짜리인데 이중 2비트는 마킹되는 필드(ECN RED), 나머지 6비트는 priority
  4. Length : 전체 데이터그램 길이 65000바이트까지 가능하지만 일반적으로 1500바이트 제한
  5. TTL : 좀비패킷 방지용 시한폭탄 라우터 거칠떄마다 1씩 내려서 0에서 죽여버림
  6. Upper layer : 트랜스포트 계층에서 뭘 쓰는지 표기함 udp tcp
  7. Header checksum : 헤더 체크섬
  8. Fragment offset : 프래그먼테이션 당한걸 복구할떄 씀 하지만 이는 라우터에 부담되는 기능이라 결국 6 버전에서는 삭제되었음 소스가 ICMP 프로토콜의 도움을 받아서 알아서 작게 만들어서 보내는데 v4에선 아직 그없
    나눠지면 목적지 노드에서 다시 조합을 하는데, 무슨 정보가 필요할까? 우선 오다가 나눠졌다는걸 알려야한다. 그리고 순서를 알게해주는 정보가 필요하다. 어떤 패킷이 마지막인지 알려줘야한다. Fragment offset은 처음부터 얼만큼 떨어졌는지 알려주는 기능이다. 즉 순서를 알려준다. Flag는 1비트가 이게 마지막인지 아닌지 마킹을 해준다. 나머지 2비트는 소스가 절대 fragment하지말라고 표기할 수 있다.
  9. 소스라우팅 : 소스가 dest ip에 주소를 나열하면 소스는 무조건 그 주소를 거쳐서 가야한다.
    이에 기본적으로 TCP와 IP가 필요하다.

IP 어드레싱

IP는 인터페이스당 받는 주소이다. 꼭 하나의 기계의 하나만 들어갈 필요가 없다.
V6는 128비트를 가지고있다.

서브넷

라우터를 거쳐가지 않는 부분들이고 서브넷파트는 동일한 주소부분을 가져야한다.

서브넷 마스크

내가 받은 어드레스 32비트의 바이너리 주소를 서브넷 마스크와 and 연산해서 나오는 부분이 서브넷 파트고 0이 되는 부분들은 호스트 파트가 된다.

223.1.3.0/24
서브넷 파트와 호스트 파트를 구분해주는 부분이 뒤에 숫자이다. 즉 앞의 24비트가 네트워크 주소라는 뜻이다.

즉, 인터페이스가 끊어졌을 때 만들어지는 각각의 섬들이 바로 서브넷이다.

CIDR

아이피 주소의 클래스별 분류는 8비트단위로 나눠서 낭비가 심했다
따라서 아예 비트단위로 쪼개서 classless로 하자는 방식이다.
서브넷 포션을 어느 길이든 가능하도록 해서 어드레스를 표현 할 때 a.b.c.d/x로 쓰는것이다.
X는 서브넷 포션을 나타낸다.

예를들어 192.172.52.0/18 이라고 하면
11000000.01001000.00||110100.00000000/18

여기서 네트워크는 ||부분이다

이를 다시 바꿔보면 허수부분은 잘라내고 192.72 까지가 실제 네트워크 주소가 되는것이다.
이제 남은 호스트 부분, 즉 2^14개를 나눠서 쓰는 것이 서브네팅이고 네트워크 분산 기술이다.

0개의 댓글