1. 네트워크 계층의 기능
라우팅
네트워크의 구성 형태에 대한 정보는 라우팅 테이블이라는 기억 장소에 보관
패킷의 전송 경로를 지정하는 라우팅은 네트워크 계층의 가장 중요한 역할
혼잡 제어
네트워크에 패킷 수가 과도하게 증가하는 현상을 혼잡
혼잡 현상을 예방하거나 제거하는 기능을 혼잡 제어
패킷의 분할과 병합
상위 전송 계층에서 송신을 요구한 데이터는 최종적으로
MAC 계층의 프레임 구조에 정의된 형식으로 캡슐화되어 물리적으로 전송
따라서, 전송 계층에서 보낸 데이터가 크면 패킷으로 쪼깨야함
연결형 서비스
가상회선
비연결형 서비스
다이어그램, IP 프로토콜
정적 라우팅
패킷 전송이 이루어지기 전에 경로 정보를 라우터에 미리 저장하여 중개하는 방식
동적 라우팅
경로 정보를 네트워크 상황에 따라 적절하게 변경
HELLO/ECHO 패킷
라우터의 초기화 과정에서 가장 먼저 할 일은 이웃 라우터의 경로 정보를 파악하는 것
즉, HELLO 패킷을 이용해 해당 라우터 간 경로가 이용 가능한지 파악
라우터 사이의 전송 지연 시간을 측정하기 위해 ECHO 패킷 전송
혼잡의 원인
네트워크 용량에 비하여 전송 패킷이 많기 때문
패킷의 도착 순서가 뒤바뀌면 수신 호스트는 패킷을 보관하거나 버릴 수도 있다.
패킷별로 네트워크에 존재할 수 있는 일정한 생존 시간을 지정해 시간을 초과하지 않도록 설계
패킷을 버리면 패킷 재전송 현상 발생해 네트워크 혼잡도 높임
생존시간은 각 라우터를 통과할 때마다 홉 수를 증가시킴
트래픽 성형
송신 호스트가 전송하는 패킷의 발생 빈도가 네트워크에서 예측할 수 있는 전송률로 이루어지게 하는 기능
송신 호스트가 사전에 약속한 트래픽보다 과도한 양의 패킷을 전송하면 네트워크에서 적절히 통제
트래픽 성형과 관련된 알고리즘 중에서 유명한 것이 리키 버킷
혼잡 제거
ECN 패킷 사용
ECN 패킷을 수신한 송신 호스트는 데이터 패킷이 전송되는 경로에서
1) 혼잡 발생 가능성을 인지하였으므로
2) 전송 패킷의 양을 줄인다.
ECN 패킷을 전달받은 송신 호스트는 정해진 비율에 따라 송신 패킷의 양을 줄여서 전송해야 한다.
2. 라우팅 프로토콜
1) 거리 벡터 라우팅 프로토콜
라우터가 자신과 직접 연결된 이웃 라우터와 라우팅 정보를 교환하는 방식
링크 벡터
거리 벡터
다음 홉 벡터
- RIP 프로토콜 (거리 벡터)
내부 라우팅 프로토콜
2) 링크 상태 라우팅 프로토콜
라우터 간의 정보 교환 원리가 거리 벡터 방식과 반대
개별 라우터가 이웃 라이터까지의 거리 정보를 구한 후, 이를 네트워크에 연결된 모든 라우터에 통보
- BGP 프로토콜 (경로 벡터)
외부 라우팅 프로토콜
서로 다른 종류의 자율 시스템에서 동작하는 라우터가 라우팅 정보를 교환할 수 있도록 해줌
이와 같이 종류가 다른 환경에서 동작하는 라우터를 일반적으로 게이트웨이라고 함
3. IP 프로토콜
네트워크 계층의 데이터 전송 프로토콜로 이용되는 IP
호스트 주소 표기, 패킷 분할 관한 기능 제공
단대단 형식의 오류 제어 x, 흐름 제어 x
- 비연결형 서비스
- 패킷 분할/병합 기능
- 데이터 체크섬은 제공하지 않고, 헤더 체크섬만 제공
- Best Effort 원칙에 따른 전송 기능 제공
Best Effort
최선만 다하고, 책임 x
여기서 책임은 상위계층 TCP가
IP 헤더의 구조
Identification(식별자 혹은 구분자)
패킷 분할과 관련된 정보 포함, 패킷 구분자
DF(Don't Fragment)
패킷이 분할되지 않도록 함
값이 1이면 패킷 분할 막음
병합 기능 없을 때 사용
MF(More Fragment)
분할된 패킷 전송할 때, 여러 개의 분할 패킷이 연속해서 전송
값을 1로 지정하여, 분할 패킷 뒤에 계속됨을 표시
Fragment Offset
분할된 패킷의 내용이 원래의 분할 전 데이터에서 위치하는 상대 주소 값
값은 8바이트의 배수
✅ 분할의 예
예) 380Byte 최대 128Byte라면 패킷을 어떻게 쪼갤 것?
Identification 우리는 하나
먼저, 128에서 헤더 20을 빼준다. 128-20=108Byte (실제 저장 가능)
다음으로 108/8 = 13... 이 나오고 13*8=104Byte
Packet Length는 104+ 20(헤더) = 124Byte
마지막 Packet Length는 380 - 104*3 = 68Byte의 여분
68 + 20(헤더) = 88Byte
MF 1 1 1로 분할 패킷 뒤에 계속 이어짐을 표시
0은 마지막 패킷
Fragment Offset
분할된 패킷의 내용이 원래의 분할된 데이터에 위치하는 상대주소값 8의 배수
0 13 26 39
DHCP 프로토콜
IP 주소 부족 등의 사유로 DHCP를 사용하여 자동으로 할당
컴퓨터 킬 때마다 자동으로 ip 주소 할당해 준다.
'🍞 Computer Science' 카테고리의 다른 글
[CS] 자료구조 총정리 (1) | 2024.07.29 |
---|