7 IP 프로토콜의 이해 학습 목표 네트워크 계층의 필요성과 역할을 이해한다. 라우팅 기능을 이해하고 관련 프로토콜을 알아본다. 혼잡 제어 기능을 이해한다. IP 프로토콜 헤더의 역할을 이해한다. 7 IP 프로토콜의 이해
1절. 네트워크 계층의 기능 기본 기능: 송수신 호스트 사이의 패킷 전달 경로를 설정 네트워크 계층의 주요 기능: 라우팅, 혼잡 제어, 패킷의 분할과 병합 라우팅 라우팅: 송수신 호스트 사이의 패킷 전달 경로를 선택,연결하는 과정 라우팅 테이블: 네트워크 구성 형태에 관한 정보를 관리, 라우팅할 때 참조 혼잡 제어 혼잡: 네트워크에 패킷 수가 과도하게 증가되는 현상 혼잡 제어: 혼잡의 발생을 예방하거나 제거하는 기능 패킷의 분할과 병합 상위 계층에서 내려온 데이터는 하위 계층인 MAC 계층의 프레임 구조에 정의된 형식으로 캡슐화 되어야 함 송신 호스트에서는 전송 전에 전송로에 적절한 크기로 데이터를 분할하고 수신 호스트는 분할되어 수신한 데이터를 다시 병합함
1절. 네트워크 계층의 기능 서비스의 종류 연결형, 비연결형 서비스 [그림 7-1] 연결형(CO, Connection Oriented): 데이터 전송 전에 데이터의 전송 경로를 미리 연결 비연결형(CL, Connection-Less): 데이터의 전송 경로를 사전에 결정하지 않고 패킷 단위로 전송
1절. 네트워크 계층의 기능 서비스의 종류 비연결형 서비스 연결형 서비스 패킷의 전달 순서 패킷 분실 가능성 인터넷 환경의 예 패킷이 서로 다른 경로로 전송되므로 도착 순서가 일정하지 않음 상위 계층에서 순서를 재조정해야 함 패킷 분실 가능성 패킷의 100% 도착을 보장하지 않음 상위 계층에서 패킷 분실 오류를 복구해야 함 인터넷 환경의 예 IP: 네트워크 계층의 기능을 지원하는 비연결형 프로토콜 UDP: 전송 계층의 기능을 지원하는 비연결형 프로토콜 연결형 서비스 상대적으로 신뢰성이 높음 TCP: 전송 계층의 기능을 지원하는 연결형 프로토콜
1절. 네트워크 계층의 기능 라우팅 정적/동적 라우팅 HELLO/ECHO 패킷 패킷의 전송 경로를 지정 전송 경로 결정시 고려 사항 공평 원칙: 다른 패킷의 우선 처리를 위해 다른 패킷이 손해를 보면 안됨 효율 원칙: 전체 네트워크의 효율성에 대해 고려해야 함 정적/동적 라우팅 정적 라우팅 패킷 전송이 이루어지기 전에 경로 정보를 라우터가 미리 저장하여 중개 단점: 경로 정보의 갱신이 어려우므로, 네트워크 변화/네트워크 혼잡도 대처 부족 동적 라우팅 라우터의 경로 정보가 네트워크 상황에 따라 적절히 조절됨 단점: 경로 정보의 수집과 관리로 인한 성능 저하 HELLO/ECHO 패킷 HELLO: 주변 라우터에 HELLO 패킷을 보내어 주변 경로 정보를 파악하는 용도 ECHO: 라우터 사이의 전송 지연 시간을 측정하는 용도
1절. 네트워크 계층의 기능 라우팅 라우팅 테이블 [그림 7-2] 라우터가 패킷의 적절한 경로를 찾기 위한 가장 기본적인 도구 필수 정보: 목적지 호스트, 다음 홉 목적지 호스트: 패킷의 최종 목적지가 되는 호스트 주소 다음 홉: 목적지 호스트까지 패킷을 전달하기 위한 인접 경로
1절. 네트워크 계층의 기능 혼잡 제어 혼잡: 네트워크에 존재하는 패킷의 수가 급격히 증가하여 네트워크 성능이 급격히 악화되는 현상 혼잡 제어: 혼잡 문제를 해결하기 위한 방안 혼잡 제어 / 흐름 제어 [그림 7-3] 혼잡 제어: 네트워크에서의 전송 능력 문제 흐름 제어: 송수신 호스트 사이의 전송 속도 문제
2절. 라우팅 간단한 라우팅 프로토콜 최단 경로 라우팅 [그림 7-6] 네트워크에서의 거리 기준: 중간에 위치하는 라우터의 수 (홉의 수) 최단 경로 라우팅 [그림 7-6] 패킷이 중개 과정에서 거치는 라우터의 수가 최소화되도록 라우팅 호스트 a -> 호스트 d: 라우터 b 혹은 라우터 c 호스트 a -> 호스트 g: 라우터 c
2절. 라우팅 간단한 라우팅 프로토콜 거리 벡터 프로토콜 플러딩 출력 가능한 모든 경로로 패킷을 복사하여 중개 패킷이 무한히 만들어질 수 있으므로 생존 시간으로 제한 특별한 목적으로만 사용 거리 벡터 프로토콜 누가: 이웃하게 직접 연결된 라우터 간에 라우팅 정보를 교환 무엇을: 각 라우터에서 개별 네트워크까지 패킷을 전송하는데 걸리는 거리 정보 필수 정보 링크 벡터: 이웃하게 직접 연결된 네트워크에 대한 연결 정보 거리 벡터: 전체 개별 네트워크에 대한 거리 정보 다음 홉 벡터: 개별 네트워크로 가기 위한 다음 홉(라우터) 정보
2절. 라우팅 거리 벡터 프로토콜 A B C D 거리 벡터 거리 벡터 D(x) = [거리(1), 거리(2), …. 거리(N)] [그림 7-7]의 예 D(R1) = [거리(Net.1)=1 거리(Net.2)=1, 거리(Net.3)=2, 거리(Net.4)=2, 거리(Net.5)=2] Net3/2, Net2/1 Net3/1 A Net1 B Net2 C Net3 D Net1/1 Net1/2, Net2/1 A/2, B21
2절. 라우팅 거리 벡터 프로토콜 다음 홉 벡터 다음 홉 벡터 H(x) = [홉(1), 홉(2), …. 홉(N)] [그림 7-7]의 예 H(R1) = [다음 홉(Net.1)=- 다음 홉(Net.2)=-, 다음 홉(Net.3)=R4, 다음 홉(Net.4)=R3, 다음 홉(Net.5)=R6]
2절. 라우팅 거리 벡터 프로토콜 RIP 거리 벡터 프로토콜을 사용하는 내부 라우팅 프로토콜 UDP 프로토콜을 사용 라우팅 테이블 적용(데이터 업 데이트) 원리 거리 벡터 정보가 새로운 네트워크 주소이면 적용 목적지까지의 지역이 더 적으면 기존 경로를 대체 거리 벡터 정보가 입력되면 등록 정보를 수정
2절. 라우팅 거리 벡터 프로토콜 RIP 라우터 1의 라우팅 테이블 새로 입력된 거리 벡터 정보 목적지 Net.4: 다음 홉 R4 개선의 여지가 있음 새로 입력된 거리 벡터 정보 R2 = [1, 2, 2, 1, 2] R3 = [2, 1, 2, 1, 2] R4 = [2, 1, 1, 2, 2] R5 = [2, 1, 2, 2, 1]
2절. 라우팅 링크 상태 프로토콜 거리 벡터 프로토콜과 반대의 원리로 동작 누가: 네트워크에 연결된 모든 라우터간에 라우팅 정보를 교환 무엇을: 개별 라우터에서 주변 라우터까지 패킷을 전송하는데 걸리는 거리 정보 정보 전달 시점의 차이 거리 벡터: 주기적으로 전달 링크 상태: 주변 상황에 변화가 생기는 경우에만 전달 플러딩 방식을 사용해서 네트워크에 연결된 모든 라우터에게 정보 전달 OSPF 프로토콜
2절. 라우팅 외부 라우팅 프로토콜 전남대 네트워크 R R R R R 광주대 네트워크 R R 조선대 네트웍 R R R R R 내부 라우팅 프로토콜 거리 벡터 방식을 사용하는 RIP 링크 상태 방식을 사용하는 OSPF 경로 벡터 프로토콜: 단순히 연결이 가능한지에 대한 정보만 제공 BGP(Border Gateway Pro) TCP 프로토콜을 사용 전남대 네트워크 R R R R R 광주대 네트워크 R R 조선대 네트웍 R R R R R R R R R
3절. IP 프로토콜 IP 헤더 비연결형 서비스를 제공 패킷을 분할/병합하는 기능을 수행 헤더 체크섬만 제공 Best Effort 방식의 전송 기능 IP 헤더
3절. IP 프로토콜 IP 헤더 Service Type [표 7-3] 패킷 분할 Identification 분할되지 않은 패킷: 값을 순차적으로 증가 분할된 패킷: 동일한 번호 부여 DF(Don’t Fragment): 패킷 분할 금지 MF(More Fragment) 분할된 패킷의 처음과 중간: 1 분할된 패킷의 마지막: 0 Fragment Offset 분할되기 전 데이터에서의 상대적인 위치 정보 8 바이트의 배수로 지정
3절. IP 프로토콜 IP 헤더 주소 관련 필드 Source Address: 송신 호스트의 IP 주소 Destination Address: 수신 호스트의 IP 주소 IP 주소 체계 [그림 7-10]
3절. IP 프로토콜 IP 헤더 기타 필드 Version Number: 버전 4 (IPv4) Header Length: 헤더 길이를 32 비트 단위로 표시 Packet Length: 헤더를 포함한 패킷의 전체 길이 Time To Live(TTL) 패킷의 생존 시간 라우터를 거칠 때마다 1씩 감소되며, 0이 되면 네트워크에서 강제로 제거 Transport Protocol: 상위 계층 프로토콜 Header Checksum: 헤더 오류 검출 Options Padding
3절. IP 프로토콜 패킷의 분할 분할의 필요성 [그림 7-11]
3절. IP 프로토콜 패킷의 분할 분할의 예 [그림 7-12] IP 헤더를 제외한 전송 데이터의 크기: 380 바이트 패킷의 최대 크기: 128 바이트