-
Computer Network 4_2 : Network Layer_inside a router, IPv4, NATComputer Network/4장 Network layer 2022. 11. 2. 12:21
IP : protocol
(IPv4)
- header의 길이가 고정되어 있지 않음, option에 따라 달라질 수 있음
잘 안쓰이긴 해서 보통 20bytes
- fragmentation은 데이터를 쪼개는 것, identifier는 어떤 데이터인지, offset 쪼개진 조각들의 순서
- TimeToLive: max hop을 정해 그것보다 넘으면 버림
- checksum field : 해당 datagram에 error가 있는지, header에 error가 있는지, 근데 ttl값이 router마다 바뀌니까 계속 바꿔줘야 해서 불필요해짐 → IPv6에서 빠짐
IP addressing
interface : host와 router사이의 link, 이 각각의 interface엔 ip address가 할당돼 있음
하늘색 영역은 각각의 subnet : router없이 host끼리 연결됨,
각각의 subnet에는 공통된 address가 있음. ex)223.1.1 + host를 구분하기 위해 뒤에 address가 더 붙음,
subnet address는 보통 앞의 3bytes를 사용하기 떄문에 24bits 필요
→subnet mask : 223.1.1.0/24 나머지 32-24=8bits는 host에게 할당
host들의 연결은 각각 switch나 공유기 등으로 연결됨
IP addressing : CIDR
address format : a.b.c.d/x
위의 예는 host가 9bits를 사용
ip주소에 대한 할당 2가지 질문
→ 와이파이 같은 연결을 할 때 자동으로 ip 할당되는 방식 : DHCP
DHCP protocol
DHCP discover : 기기가 먼저 server를 찾을 때 사용
DHCP offer : server가 기기에 IP할당 해 줄 떄 사용
위 둘은 경험이 있으면 생략가능
DHCP request : 기기가 여러 개의 offer msg를 받았을 때 하나의 server에 request msg를 보냄
DHCP ack : 기기가 request msg를 보내면 server가 ack msg를 보냄
o 만약 기기가 한 subnet에서 연결을 요청했을 때 해당하는 subnet에 DHCP server가 없어도 router가 다른 subnet의 server로 forwarding을 시켜줌
- 초반 dest address는 아직 할당받기 전이기 때문에 broadcast address로 보냄
- offer msg에 ip address와 lifetime을 받음
- 받은 client는 사용하겠다는 request msg를 보내는데 아직 할당받기 전이라 src address는 0000임
- server에서 ack msg를 받아 할당받은 ip address를 사용
DHCP는 app layer protocol이라 capsulation, decapsulation이 필요
ISP는 여러 곳의 subnet에서 ISP가 자신임을 알려야 해서 자신의 address를 subnet이 공통의 address로 갖게함.
subnet mask가 20(ISP-Subnet)→23(Subnet-Host)
ISP 는 외부 internet과 자신의 address만으로 소통함
그래서 모든 subnet의 address를 주지 않아도 돼서 효율적임
만약, 서브넷이 ISP를 바꾼다면 2개의 ISP 주소가 겹치기 때문에 router가 longest prefix 방식으로 결정해서 보냄
근데 이제 IPv4에서 사용할 수 있는 주소의 범위를 벗어났음
→IPv6, NAT
NAT : network address translation
NAT는 router가 하나의 ip address를 갖고 여러 개의 host가 묶인 subnet에서 구분해서 전달해줌 → 외부와의 소통은 router만 한다는 것(마치 ISP같이)
장점
1. host의 ip가 바껴도 외부는 host ip를 모르기 때문에 상관x
2. ISP가 바껴도 상관x
3. host 자신의 ip를 직접 보내지 않기에 보안적으로 괜찮음
이 방식에서 router가 하는 3가지 work
outgoing datagrams : host에서 외부와 networking시 router가 중간에서 host의 ip address를 자신의 address로 변경해줌
remember : host의 ip address를, networking시 사용한 port num를 기억해놓음
incoming datagrams : 외부에서 자신에게 온 datagram을 기억해놓은 host의 ip address와 port num로 구분함
'Computer Network > 4장 Network layer' 카테고리의 다른 글
Computer Network 4_1 : Network Layer_inside a router (0) 2022.10.27