인터넷 계층의 역할
네트워크 인터페이스 계층과 협력하여 다른 컴퓨터에게 데이터를 전달
송신지, 수신지의 컴퓨터는 IP 어드레스로 식별할 수 있다.
패킷에 송신지 IP와 수신지 IP가 들어있다.
라우터 (router): 데이터를 목적지까지 전달하기 위한 네트워크 장비
라우팅 (routing): 라우터가 목적지의 경로를 찾아 나가는 과정
IP 어드레스 ( IP address )
IP 어드레스는 네트워크 부와 호스트 부로 구성되어 있다
EX ) 192.168.1.100
여기서 192.168.1 은 네트워크 부 / 100 은 호스트 부.
같은 네트워크 끼리는 네트워크 부가 다 같다.
인터넷 보급이 급속도로 확산되어 IP 어드레스가 점점 줄어들고 있다
IP 어드레스의 고갈을 방지하기 위한 대안으로 2가지로 나누는 기법을 사용한다
프라이빗 어드레스(private address) / 퍼블릭 어드레스(public address)
프라이빗 어드레스
사설 IP라고도 불리며, 사무실이나 가정 내에서만 사용 가능한 IP 어드레스
소속 네트워크 내부에서만 사용되고 외부에선 해당 IP 어드레스로 접근 불가능해서 클라이언트 역할하는 컴퓨터만 주로 사용.
퍼블릭 어드레스
공개 IP. 인터넷에서 사용 가능한 IP 어드레스
외부에서도 접근이 가능하여 서버 역할을 하는 컴퓨터가 주로 사용.
ICANN이나 KRNIC 같은 단체가 관리하고 있다
또 다른 방법으론 IPv4보다 주소체계가 확장된 IPv6의 도입이 가속화
IPv4 (Internet Protocol Version 4): 네트워크에 연결된 컴퓨터를 식별하기 위해 32비트의 IP 어드레스로 구성
알아보기 쉽게 8비트씩 4개 단위로 끊고 10진수로 변환하여 표기한 것.
IPv4 헤더
버전 [IPv4버전에서는 4 / IPv6에선 6 ] |
헤더 길이 | 서비스 타입 |
패킷 길이 |
식별자 | 분할 플래그 | 프래그먼트 옵셋 | |
생존기간 ( TTL ) | 프로토콜 | 헤더 체크섬 | |
송신지 IP 어드레스 | |||
수신지 IP 어드레스 | |||
옵션 설정 | 패딩 | ||
TCP나 UDP의 헤더 | |||
데이터 본체 |
생존 기간 (TTL, Time To Live) : 통신 경로를 찾지 못해 패킷이 제대로 전달되지 않는 경우에 네트워크 안을 계속 돌게 되면 네트워크가 혼잡해지는데 이걸 방지하기 위한 설정
MTU (Maximum Transmission Unit) : 한 번에 전송할 수 있는 데이터 크기.
MTU 값에 따라 패킷을 분할해서 전송하는 기능이 구현되어 있음.
라우터의 작업부하가 높아지거나 분할된 패킷 중의 일부가 유실되면 복원이 어렵다는 단점을 갖고 있는데 처음부터 MTU보다 작은 크기의 패킷을 만드는 경우도 있다.
IPv6 헤더
버전 [IPv4버전에서는 4 / IPv6에선 6 ] |
트래픽 클래스 [ 패킷의 우선순위를 결정 ] |
플로우 레이블 |
페이로드의 길이 | 다음 헤더 | 홉 리미트 [생존기간 TTL과 같은 기능] |
송신지 IP 어드레스 | ||
수신지 IP 어드레스 | ||
확장 헤더 | ||
TCP나 UDP의 헤더 | ||
데이터 본체 |
IPv4는 애당초 라우터에서 데이터를 분할하지 않는 방식으로 만들어져 분할 관련 필드는 옵션으로 되어 있다.
라우팅 프로토콜 (routing protocol) : 라우터끼리 누구랑 연결되어 있는지 정보를 교환한 후 경로 정보를 만든다
자율시스템 ( AS, Autonomous System) : 인터넷 서비스 제공자가 사용하는 규모가 큰 네트워크에서는 몇 개의 네트워크를 하나로 묶은 단위.
AS와 같이 큰 덩어리의 접속 경로 단위로 이동하면 멀리 있는 컴퓨터와도 더 빠른 속도로 통신가능.
라우팅 프로토콜은 경로를 찾는 방식에 따라 크게 거리 벡터형과 링크 상태형. 두가지로 많이 사용된다
거리 벡터형
RIP(Routing Information Protocol) 프로토콜이 사용하는 방식. 목적지까지의 거리를 살펴보고 짧은 경로를 선택하는 방식.
LAN 네트워크에 적합
링크 상태형
OSFP(Open Shortest Path First) 프로토콜이 사용하는 방식. 네트워크의 통신 정보를 맵으로 관리하면서 상태가 가장 좋은 경로를 선택하는 방식. 복잡하고 변화가 잦은 네트워크 구성에 적합.
AS안에서는 주로 링크 상태형인 OSFP를 사용.
AS끼리는 경로 벡터형인 BGP(Border Gateway Protocol)을 사용
ICMP (Internet Control Message Protocol) 프로토콜은 데이터 전송 중에 문제가 생길 경우 장애 상황을 통보하기위해 사용
ICMP 헤더
IP 헤더 | ||
타입 | 코드 | 체크섬 |
데이터 |
라우터 요청 메시지 : 장비가 네트워크에 연결될 때 라우터를 찾기 위해 보내는 메시지
라우터 광고 메시지 : 라우터 정보 요청에 대한 응답으로 라우터 정보를 보내는 메시지
네트워크 어드레스 변환 (NAT, Network Address Translation)
IP 어드레스를 변환했다는 것을 기억해둔다.
프라이빗 IP 어드레스와 퍼블릭 IP 어드레스 간의 변환 외에도 IPv4와 IPv6 간의 변환에도 응용
NAT제약 사항
내부의 여러 호스트가 공교롭게 같은 포트 번호를 사용하고 있다면 라우터는 이 요청에 대한 응답을 어느 호스트에게 되돌려 보내야 하는지 포트만 보고는 판단불가
외부에서 온 데이터를 전달하지 못함
위의 제약 사항같은 포트 충돌을 막기 위해 만들어진 방식이 네트워크 어드레스 포트 변환(NAPT, Network Adderess Port Translation). IP 어드레스뿐만 아니라 포트 번호도 함께 변환함.
포트 포워딩 (port forwarding) : 라우터의 특정 포트 번호로 통신이 들어오면 내부의 특정 서버에 전달되도록 설정.
IP 어드레스와 호스트명의 정보를 관리하기 위해 DNS(Domain Naim System)와 도메인명이 만들어졌다.
www = 호스트명
sample.co.kr = 도메인명
엄밀히 말하면 URL에서 호스트명을 제외한 부분이 도메인명이지만, 호스트명을 포함한 전체를 도메인명으로 부르기도 한다
DHCP (Dynamic Host Configuration Protocol) : 네트워크의 호스트들에 대해 IP 어드레스를 할당하고 중복되지 않게 관리해주는 작업을 자동으로 해준다.
'CS' 카테고리의 다른 글
TCP/IP - 트랜스포트 계층 (0) | 2023.08.23 |
---|---|
TCP/IP - 네트워크 서비스와 애플리케이션 계층 (0) | 2023.08.23 |
TCP/IP - 컴퓨터 네트워크 (0) | 2023.08.22 |