컴퓨터망
1. 네트워크 레이어에 대해
시험범위가 4단원부터라 여기부터 포스팅하겠다 후후...
일단 네트워크 계층에 따라 하는 일이 다 다른건 알거다!!! application에서 캡슐화를 해
패킷을 초ㅑ초챠챡 구성하고 패킷을 목적지까지 쏜 다음,
받아서 캡슐화를 풀어서 데이터를 받는다.
컴퓨터망에서는 physical,data link 레이어 부분은 패스하고 위의 부분인
network, transport, application 레이어 부분에 대해 공부한다
그럼 시작~~
Introduction
세계를 연결하는 인터넷 네트워크에서... 인터넷을 blur 처리하고 생각해보자
- 메시지가 하나의 응용계층에서 다른 컴퓨터의 응용계층으로 도달한다고 생각할 수 있다
그치만!!!
인터넷은 단일 네트워크가 아니다!
- 위 그림에서 connecting device(
라우터
)는 switch 역할
을 한다
- 패킷이 포트에 도착하면, 패킷은 다른 포트를 통해 다음 스위치로 전송된다.
- 즉,
스위칭
이 연결된 기기에서 일어난다
Switching
- 메시지가 연결 장치에 도착하면, 패킷을 전송해야 하는 출력 포트 중 하나를 선택하기 위해 결정이 내려져야 한다
연결 장치는 포트를 다른 포트에 연결하는 스위치 역할을 한다
Circuit switching
메시지는 패킷으로 나뉘어지지 않고 source에서 목적지로 전달이 된다
- 메시지가 전달되기 전에 메시지의 source와 destination 사이에 물리적 회로(또는 채널)가 설정된다.
- 회로가 설정된 후, 전체 메시지는 source에서 destination으로 변환된다
- 그러면 소스는 전송이 완료되었음을 네트워크에 알릴 수 있으며, 이를 통해 네트워크는 모든 스위치를 열고 링크와 연결 장치를 다른 연결에 사용할 수 있다
- circuit 스위칭은 네트워크 계층에서 구현되지 않았으며, 대부분 물리적 계층에서 사용
Packet switching
메시지는 전달되기 전에 source에서 관리가능한 패킷으로 나뉘어진다
-
오늘날 인터넷의 네트워크 계층은 패킷 switched 네트워크이다
-
상위 계층의 메시지는 관리 가능한 패킷으로 분할되고 각 패킷은 네트워크를 통해 전송
-
메시지의 source는 패킷을 하나씩 보내고 메시지의 destination은 패킷을 하나씩 수신
-
destination은 상위 계층에 메시지를 전달하기 전에, 동일한 메시지에 속하는 모든 패킷이 도착할 때까지 기다린다
Packet Switching
- 네트워크 계층은 패킷 교환 네트워크로 설계
- source의 패킷은 일반적으로 데이터그램이라고 불리는 관리 가능한 패킷으로 분할된다는 것을 의미
- 개별 데이터그램이 source에서 destination으로 전송
- 수신된 데이터그램은 원본 메시지를 재생성하기 전에 destination에서 모아진다
- 인터넷의 패킷 교환 네트워크 계층은 원래 connectionless 서비스로 설계
- 최근에는 connection oriented 서비스로 변경하는 경향
Connectionless service
패킷 switched 네트워크
-
네트워크 계층은 네트워크 계층 프로토콜이 각 패킷을 독립적으로 취급하는 connectionless 서비스를 제공하도록 설계
- 메시지 내의 패킷들은 목적지까지 동일한 경로를 이동하거나 이동하지 않을 수 있다.
-
인터넷이 시작되면 네트워크 계층을 connectionless 서비스로 만들어 단순하게..
- 네트워크 계층은 source로부터 destination으로의 패킷 전달만 담당한다는 생각
-
인터넷을 통과하는 각 패킷은 독립 entity
- 동일한 메시지에 속하는 패킷들 사이에는 관계가 없다
이러한 유형의 네트워크에 있는 스위치를 라우터
라고 한다
라우터 forwarding 프로세스
패킷은 동일한 소스 또는 다른 소스로부터 오는 패킷을 따를 수 있다
- 각 패킷은 헤더에 포함된 정보를 기반으로 라우팅
- destination 주소는 어디로 가야 하는지를 정의
- source 주소는 어디에서 왔는지를 정의
- 이 경우 라우터는 destination 주소만 기준으로 패킷을 라우팅
- source 주소는 패킷이 폐기된 경우 소스로 오류 메시지를 보내는 데 사용될 수 있음
패킷 switched 네트워크에서, forwarding 결정은 패킷의 destination 주소를 기반으로 함
Connection oriented service
연결 지향 서비스
- 메시지에 속하는 모든 패킷 사이에는 관계가 있다.
- 메시지의 모든 데이터그램이 전송되기 전에 경로를 정의하기 위해 가상 연결을 설정
- 연결 설정 후 데이터그램은 동일한 경로를 따를 수 있음
Network layer services
네트워크 계층이 제공하는 서비스에 대해 간략히 논의한다.
대부분 오늘날 인터넷의 지배적인 서비스인 connectionless 서비스에 기초하고 있다.
logical addressing
- 컴퓨터는 네트워크 계층 주소 또는 논리 주소라고 하는 보편적인 식별 시스템이 필요
- 인터넷은 주소 공간을 사용
- 인터넷을 사용해야 하는 각 엔티티에는 고유한 주소가 할당
services provided at the source computer
- source 컴퓨터의 네트워크 계층은 네 가지 서비스를 제공
- 패킷화
- 다음 논리적 주소 찾기
- 다음 물리적(MAC) 주소 찾기
- 필요한 경우 데이터그램 fragmenting
- 네트워크 계층은 상위 계층으로부터 여러 가지 정보를 수신
- 데이터
- 데이터 길이
- logical destination 주소
- 프로토콜 ID
- 서비스 유형 등
- 네트워크 계층은 이러한 정보 조각을 처리
- fragmented 데이터그램과 다음 MAC 주소를 만들고 데이터 링크 계층으로 전달
Packetizing
- 네트워크 계층의 첫 번째 의무는 데이터그램에서 상위 계층으로부터 오는 데이터를 캡슐화하는 것
Finding Logical address of next hop
-
준비된 데이터그램은 패킷의 source 및 destination 주소를 포함한다.
-
데이터그램은 최종 목적지에 도달하기 위해 많은 네트워크를 통과해야 할 수도 있다.
- destination 컴퓨터가 source와 동일한 네트워크에 연결되어 있지 않으면 데이터그램이 다음 라우터에 전달되어야 한다.
- 데이터그램의 소스 및 대상 주소는 다음 hop의 논리적 주소에 대한 정보를 제공하지 않는다
-
source 컴퓨터의 네트워크 계층은 다음 hop의 논리적 주소를 찾기 위해 라우팅 테이블을 참조해야 한다
finding MAC address of next hop
- 네트워크 계층은 실제로 데이터그램을 다음 hop에 전달하지 않는다.
- 데이터 링크 계층은 전송을 수행하기 위해 다음 hop의 MAC 주소가 필요
- MAC 주소를 찾기 위해 네트워크 계층은 다른 테이블을 사용하여 넥스트 홉 논리 주소를 MAC 주소에 매핑
fragmentation
- 이 단계의 데이터그램은 데이터 링크 계층으로 전달될 준비가 되지 않았을 수 있다.
- 대부분의 LAN과 WAN은 프레임(MTU)으로 운반될 데이터의 크기에 제한이 있다
- 네트워크 계층에서 준비된 데이터그램은 그 한계보다 클 수 있다.
- 데이터그램은 데이터 링크 계층으로 전달되기 전에 더 작은 단위로 분할되어야
fragmentation은 데이터그램의 헤더에 있는 정보를 보존해야 한다.
- 즉, 데이터가 단편화될 수 있지만 헤더는 반복되어야 한다.
- 게다가, 전체 데이터그램에서 조각의 위치를 정의하기 위해 헤더에 더 많은 정보를 추가해야 한다.
Services provided at each router
-
라우터는 단일 데이터그램에 관한 두 개의 인터페이스, 즉 incoming 인터페이스와 outcoming 인터페이스와 관련되어 있다.
- 라우터의 네트워크 계층은 두 개의 데이터 링크 계층과 상호 작용할 필요가 있다.
-
네트워크 계층은 수신 인터페이스의 데이터 링크 계층으로부터 데이터그램을 수신하고, 필요한 경우 단편들을 송신 인터페이스의 데이터 링크에 전달하는 역할을 한다.
- 3가지 과정은 source에서 제공과 같이 동일하다
- 단 유효한 데이터 그램인지 판단을 한다
- 데이터그램 헤더가 손상되지 않았으며 데이터그램이 올바른 라우터로 전달되었음을 의미
Services provided at the destination computer
- destination 시스템의 네트워크 계층이 더 단순
- 그러나 대상 컴퓨터는 데이터를 대상으로 전송하기 전에 조각을 조립해야한다
-
각 데이터그램의 유효성을 검사한 후 각 단편에서 데이터를 추출하여 저장
-
모든 파편이 도착하면 데이터가 다시 조립되어 상위 계층으로 전달
-
재구성 타이머도 설정
-
타이머가 만료되면 모든 데이터 조각이 삭제되고 조각난 모든 데이터그램을 다시 보내야 한다는 오류 메시지가 전송
- 모든 조각이 도착하여 조립될 때까지 어떤 데이터 조각도 상위 계층에 전달하지 않기 때문에 조각화의 과정은 상위 계층에 투명하다.
- 데이터그램은 source 컴퓨터뿐만 아니라 라우터에서도 fragmentation 되었을 수 있기 때문에, 재구성 절차는 매우 섬세하고 복잡하다.