데이터 통신과 네트워크 - Network Layer2

강준호·2021년 11월 18일
0

Internet network layer

라우팅 알고리즘으로 포워딩 테이블을 만듬.
라우팅이란? 각 라우터에서 포워딩 테이블을 가지고 패킷을 전달하는 행위

IP fragmentation, reassembly


MTU = max transfer size

fragmentation

  • 출력 포트에 알맞게 큰 패킷을 쪼개 줘야해.

reassembly

  • 쪼개진 패킷을 final dst에서 다시 합치는것

IP Addressing (중요)

인터페이스에 IP 가 부여됨.
라우터는 멀티플한 인터페이스가 존재, 호스트는 보통 두개의 인터페이스를 갖음.

Subnet

동네라고 표시한게 하나의 서브넷.
IP 주소의 높은 비트는 - 서브넷, 낮은 부분은 - 호스트 주소.


subnet mask: /숫자
(숫자는 서브넷으로 사용되는 비트 수)
Ex) 223.1.1 = 서브넷
0/24 = 서브넷으로 사용되는 24비트

IP Addressing: classful addressing

상위 8비트로 서브넷을 나누면 클래스 A, 16비트는 B, 24비트는 C
클래스 C는(/24) 256-2= 254 호스트 밖에 못써..
근데 또 B는 65634 호스트로 너무 많아
=> 애매..

IP Addressing: CIDR

서브넷을 딱 정하는게 아니라 임의의 길이로 함.
주소 포멧을 a.b.c.d/x 로 표현. ex) 200.23.16.0/23

호스트 주소부분과 서브넷 주소를 variable하게

IP 주소 어떻게 얻어?

하드 코딩(노가다)를 하거나 DHCP로

DHCP(동적 IP)

DHCP 서비스를 하기위해서 서버를 구축.

DHCP 프로토콜

client는 DHCP 서버한테 브로드캐스트 시도.
DHCP는 오퍼 주고, client는 여러개의 오퍼 받을 수 있어.
->그 오퍼중에 가장 자신있는걸로 request 보냄. yiaddrr 써도돼?
-> DHCP ACK (소스 주소랑 broadcast 주소를 알려주면서 쓰라고 함)

NAT

NAT : network address translation

주소를 바꿔주는 역할.


외부에 있는 서버들이랑 통신할때 라우터를 통해서 나갈때는 외부 인터페이스 IP로 바뀜
내부에서는 내수용, 외부에서는 외부용 IP로 바뀜. 그 역또한 같음.

NAT 장점

  • 특정 IP 레인지를 사올 필요 없어. 모든 디바이스의 하나의 IP 사용가능
    -내부 사설 IP 바꿔도 외부에 통보 안해도됨.
  • ISP를 내부 네트워크 주소 안바꾸고 바꿀 수 있음
  • 내부 주소가 보이지 않아서 보안 굳

NAT 순서

  • dst로 통신하고 싶을때 S: 자신 IP를 소스로 하고 포트를 랜덤. D: 포트번호 80하고 웹서버 접속.
  • dst는 그대로 두고, 자신 라우터의 IP주소로 소스주소, 포트번호 바꿔. 자신이 만든 포트넘버와 이전 주소 기록해
  • 나가는 패킷은 source IP, port번호를 새 NAT IP,port로 바꿔줘. 이를 기억하고 있다가 돌아오는 패킷은 다시 원상태로 바꿔줘.

IPv6

아직까지 발전 안한 이유

  • NAT 이 있어서 아직은 집에서 사설 IP로 통신할 수 있거든~
  • flag day(쉬는날)가 없어. => 터널링으로 해야해
    터널링: IPv4를 중간에 패킷을 만들어서 숨기고 전달하고 하는 방식

IPv4와 차이

  • checksum
    프로세싱 스피드를 빠르게 하려고 v6에선 뺐음
  • options
    옵션도 동일하게 v6에서 제외
  • ICMPv6: new version of ICMP
    MTU 지원하지 않아서 쪼개고 복고 안함. 너무 크면 걍 버리고 source한테 다시 만들라함.

용어정리

IP주소

공인 IP 주소

  • 전 세계적으로 고유 주소

사설 IP 주소

  • 고유 X. 공유기가 IP할당해줌.
    ex) 192.168.0.0 ~ 192.168.255.255

0개의 댓글