hyewon_e 2020. 1. 6. 04:00

통신이 간단할때는 하나의 프로토콜이 가능하지만 통신이 복잡할 때는 각 계층마다 프로토콜이 필요하며

"프로토콜 계층화" 로 서로다른 계층간에 임무를 나눌 수 있다.

 

프로토콜 계층화는 여러개의 작고 단순한 작업들로 나눌 수 있게 해준다.

예를 들어 3개의 기계가 하는 일을 모두 할 수 있는 하나의 기계를 이용한다면 

고장시에 전체 기기를 바꿔야 하는 일이 생길 수 있다. 

 

따라서 계층화를 한다면 "모듈성" 을 갖기 때문에 효율적이다.

 

 

프로토콜 계층화 중 장점

 - 서비스들을 구현으로 부터 분리

 - 통신은 두 종단 시스템에서만 일어나지 안흔다

 - 비용이 싸다

 

단점 -> 상위, 하위계층 각각에 서비스 제공을 해야함

 

 

원칙 1 : 양방향 통신을 원한다면 각 계층이 각 방향으로 한자리씩 상반되는 두가지 작업을 수행해야 한다.

원칙 2 : 양측의 각 계층에 있는 객체는 서로 동일 해야 한다.

 

2.1 TCP/IP 프로토콜 그룹

현재의 인터넷에서 사용하는 프로토콜 그룹이다

상호작용하는 모듈로 이루어진 계층적 프로토콜이다.

각 모듈은 특정한 기능을 제공한다.

 

계층적 : 각 상위계층은 적어도 1개의 하위계층 프로토콜으로 부터 제공되는 서비스들의 지원을 받는다는 의미

 

2.2.1 계층적 구조 

 - 라우터는 3개의 계층과 관련된다.

 - 라우터가 오직 라우팅에서만 이용된다면 전송층과 응용층을 갖지 않는다

 - 라우터가 n개의 링크와 연결되어 있으면 n개의 물리층, 링크층과 관련이 있다.

 

2.2.2 TCP/IP 프로토콜 그룹 계층

 

논리적 연결을 사용하는 것 -> 우리가 각 계층의 의무에 대해 생각하는 것을 쉽게 해준다.

응용, 전송 네트워크 층의 의무는 "종단 대 종단"이다.

 

데이터링크층, 물리층의 의무는 "-대-홉"이다.

홉 : host 두 홉 사이으 링크가 그 객체를 변화시키지 않는다.

 

최상위 3계층의 의무를 갖는 영역은  "인터넷"

그 아래 두 계층의 의무 영역은 "링크" 

 

2.2.3 각 계층별 설명

1. 물리층

 - TCP/IP 에서 최하위 계층

 - 프레임의 각 비트들을 링크 건너편으로 전달

 - 전송매체(케이블, 공기)에 의해 연결

 - 비트전송하지 않으며 전기, 광학 신호를 전송함

 - 동적호스트설정프로토콜 (DHCP , Dynimic Host Configuration Protocol)

 - 주소변환프로토콜 (ARP, Adress Resolution Protocol)

 

2. 데이터링크층

 - 라우터들은 최상위 링크를 선택할 책임이 있다

 - 전송할 링크가 라우터에 의해 정해지면 그 링크로 가야한다

 - 그 링크는 링크층 스위치를 가진 유무선LAN, 유무선WAN 이다.

 - 데이터링크층은 데이터그램을 받아서 프래임화 하여 "캡슐화" 한다.

 

3. 네트워크 층

 - 발신지 컴퓨터, 목적지 컴퓨터 사이를 연결한다

 - 호스트 - 대 - 호스트 이다.

 - 작업 분리를 위해 사용

 - 데이터그램이라는 패킷의 형식을 정의하는 인터넷프로토콜(IP)를 포함한다

 - IP : 흐름제어, 오류제어, 혼잡제어 서비스를 제공하지 않는 비연결형 프로토콜

 - 일대일, 다대다 라우팅 프로토콜 포함

 - ICMP, Internet Control Massage Protocol

 - IGMP, Internet Group Management Protocol

 

4. 전송층

논리적 연결 : 종단-대-종단 (작업의 분리 때문에)

 - 발신지 호스트의 전송층은 응용층으로 부터 메시지를 받아 전송층 패킷으로 캡슐화 한다.

 - 목적지 호스트의 전송층에 논리적 연결을 통해 전송한다,

 - 즉, 응용층에 서비스 제공을 책임 짐

 - 주로 사용하는 프로토콜 -> 전송제어 프로토콜 (TCP, Transmission Control Protocol)

 - 사용자 데이터 그램 프로토콜 (UDP, User Datagram Protocol)

 - 스트림제어 전송 프로토콜 (SCTP, Stream Control Transpot Protocol)

 

 

5. 응용층

논리적 연결 : 종단-대-종단

 - 메시지 교환 책임

 - 응용층은 통신의 2가지프로세스 사이에 있다.

first process : 요청메시지 전송

second process : 응답 메시지 수신

 

 - 하이퍼 텍스트 전송 프로토콜 (HTTP, Hypertext Transfer Protocol)

전자우편에 사용

www에 접속하기 위한 수단

단순우편전달 프로토콜

 

 - 파일전송 프로토콜 (FTP, File Transfer Protocol)

호스트 -> 호스트 파일전송

 

- 보안 쉘(SSH, Secure Shell - 사이트원격접속)

- 단순망 관리 프로토콜(SNMP, Simple Network Management Protocol)

 

- 인터넷그룹 관리 프로토콜 (IGMP, Internet Group Management Protocol)

인터넷그룹 관리 프로토콜 (IGMP, Internet Group Management Protocol)

 

-도메인 이름 시스템 (DNS, Domain Name System)

컴퓨터의 네트워크 층 주소 찾을때 사용 

 

 

2.2.4 캡슐화, 역캡슐화

계층화에서 가장 중용한 개념 : "캡슐화, 역캡슐화"

 

발신지 호스트 -> 1.응용층 -> 2.전송층 -> 3.네트워크층 -> 4.데이터링크층 -> 5.물리층 

순서대로 내려가면서 캡술화 진행

 

5.물리층-> 4.데이터링크층 -> 3.네트워크층으로 다시 올라감

포워딩 테이블, 라우터를 지나 다시 4.데이터링크층 -> 5.물리층으로 내려감 이때, 역캡술화

 

다시 역으로 올라가면서 역캡술화, 오류검사

5.물리층 -> 4.데이터링크층 -> 3.네트워크층 -> 2.전송층 -> 1.응용층 -> 목적지 호스트

 

1 -> 2 : 메시지 전달

 

2 -> 3 : 페이로드로 메시지를 받고, 전송층(3) 헤더 추가 /  이 결과물을 세그먼트 or 사용자데이터그램 전송층 패킷이라고도 부른다.

 

3 -> 4 : 페이로드로 메시지를 받고 네트워크층 헤더 추가  / 이 결과물은 데이터그램 (네트워크층 패킷) 이것을 데이터링크층으로 보낸다.

 

4 -> 5 : 네트워크 패킷(데이터그램)을 데이터/페이로드로 받는다 / 헤더추가, 프레임(데이터 링크층 매킷) / 물리층으로 전송

 

 

2.2.5  주소지정

 

모든 통신은 발신지, 목적지 주소 2가지가 필요하다

물리층이 주소가 필요없어서 (교환단위 : 비트) 4쌍의 주소만 가진다

 

응용층 : 사이트 이름, 전자우편 주소

전송층 : 포트번호 -> 발산지와 목적지 응용 (= 지역주소)

네트워크층 :  주소는 전역적, 전체 인터넷범위가짐

 

하나의 네트워크주소는 인터넷에 접속하는 장치를 유일하게 정의하는 주소

 

 

데이터링크층 : mac - 지역적으로 한정된 주소 LAN, WAN에서 특정 호스트 또는 라우터 정의

 

2.2.6  다중화 / 역다중화

 

TCP/IP 프로토콜 그룹은 몇몇 계층에서 여러개의 프로토콜을 사용하고 있기 때문에 발신지에서는 다중화, 목적지에서는 역다중화를 할 수 있다.

 

다중화

: 상위계층 프로토콜 부터 오는 여러개의 패킷을 한 계층에서 하나의 프로토콜로 캡슐화 할 수 있는 것

 

역다중화

: 하나의 프로토콜은 역캡슐화를 할 수 있고 패킷을 다음 상위계층 프로토콜로 전공한다 (one by one)