모든 개발자들의 구글

Chapter 2. Network Models 본문

Study Material/컴퓨터 네트워크

Chapter 2. Network Models

h_j_u_u_ 2019. 5. 26. 20:13

2가지 model(TCP/IP Protocol, OSI Model) -> 컴퓨터 네트워크 운영을 규정하기위해 개발

2.1 Protocol Layering(계층화)

→ 2가지 원칙

프로토콜

-      sender와 receiver 그리고 모든 중간 장치들이 통신하기위해 따라야하는 규칙

2.1.1 시나리오

1)     첫 번째 시나리오

-      한 계층에서 일어나는 통신

2)     두 번째 시나리오

-      세 개의 계층에서 일어나는 통신

-      세 개의 계층으로 나누어져 있어서 암호화/부호화에 문제 발생 시 두 번째 계층의 기계만 바꾸면 된다 -> 모듈성(독립된 계층들을 의미)

2.1.2 프로토콜 계층화의 원칙(2가지)

1.  양방향 통신을 원할 경우 각 방향에서 레이어들은 두 가지 반대 작업을 수행해야 한다.

2.  양 쪽의 동일한 level의 객체는 서로 동일해야 한다.

2.1.3 논리적 연결

 

2.2 TCP/IP 프로토콜

TCP/IP는 현재 인터넷에서 사용하는 프로토콜 그룹(여러 계층들에서 조직된 프로토콜 집합)이다.

2.2.1 계층적 구조

라우터

-      라우팅을 위해 사용

-      전송층, 응용층에는 X

-      n개의 link와 연결 → n개의 데이터링크층, 물리층 필요(∵ 각각의 link는 자신의 고유한 data link or physical         

       protocol  을 사용)

스위치

-      오직 데이터링크층, 물리층과 관련

-      서로 다른 연결을 갖지만, 같은 link 안에 있어서 1개의 protocol 집합만을 사용

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

Application, Transport, Network Layer

 Packet(데이터 단위)dl router나 link layer switch에 의해 변하지 말아야 함

-      의무: end-to-end

-      의무를 갖는 영역: link

Data-link, Physical Layer

 Packet(made from host)이 오직 router에 의해 변해야함

-      의무: hop-to-hop

-      의무를 갖는 영역: link

2.2.3 각 계층에 대한 설명

① 물리층(Physical Layer)

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

-      논리적 통신 / 물리적 연결

-      두 장치는 전송매체(케이블 or 공기)에 의 해 연결 -> 물리적 연결

-      전송 매체는 비트가 아닌 전기 or 광학 신호를 전송

-      Data-link Layer로부터 받은 비트들이 변환되고 전송 매체를 통해 전송

-      두 물리층 사이의 논리적 단위는 하나의 비트

② 데이터 링크층(Data Link Layer)

-      호스트로부터 목적지까지 데이터그램(Packet)이 전달되는 중첩된 여러 link쌍이 존재

-      router는 최상의 link를 선택할 책임이 있음

-      전송할 다음 link가 router에 의해 결정되면 데이터그램을 받아 해당 링크로 전송할 책임이 있음

-      TCP/IP는 데이터 링크층을 위해 protocol을 정의하지 X → 네트워크층에서의 protocol로 충분

-      데이터그램을 받아서 프레임이라고 하는 패킷으로 캡슐화

③ 네트워크층(Network Layer)

-      발신지, 목적지 컴퓨터 사이의 연결을 생성하는 책임을 가진다.

-      host-to-host

-      host-to-host 통신과 가능한 경로들을 통해 packet을 routing 할 책임

       → 전송층에서 안 하는 이유는?

       a. 서로 다른 계층 간의 작업의 분리

       b. router들은 응용층과 전송층을 필요로 하지 않음

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

-      IP(인터넷 프로토콜) -> 발신지에서 목적지까지 packet을 routing 할 책임이 있음

       → 비연결형 프로토콜

       a. 흐름제어 X

       b. 오류제어 X

       c. 혼잡제어 X

-      unicast, one-to-one, multicast, one-to-many 라우팅 프로토콜 포함

-      라우팅 프로세스를 수행하는 라우터들을 돕기 위해 forwarding table 생성

-      IP 전달과 라우팅 process를 돕는 보조 프로토콜을 갖는다.

       a.     인터넷 제어 메시지 프로토콜(ICMP) – IP가 packet routing 시 생기는 문제 보고

       b.     인터넷 그룹 관리 프로토콜(IGMP) – IP가 multicasting 수행

       c.      동적 호스트 설정 프로토콜(DHCP) – IP가 호스트를 위해 네트워크층 주소 획득하도록

       d.     주소 변환 프로토콜(ARP) – 호스트나 라우터의 링크층 주소 찾음

④ 전송층(Transport Layer)

-      end-to-end(논리적 연결)

-      응용층으로부터 메시지를 받아 전송층 패킷으로 캡슐화

-      목적지 호스트의 전송층에 논리적 연결을 통해 전송(packet을) → 응용층에 서비스를 제공하기 위한 책임이 있음

-      여러 개의 프로토콜 존재

       a.     전송 제어 프로토콜(TCP)

       -      데이터 전송 전 호스트들의 전송층 사이에 논리적 연결을 설정하는 연결지향 프로토콜

       -      흐름 제어(발신지의 송신율과 목적지의 수신율을 맞춤)

       -      오류 제어(오류 없이 도착, 훼손 시 재전송)

       -      혼잡 제어(혼잡으로 인한 datagram의 손실 줄이기 위해)

       b.     사용자 데이터그램 프로토콜(UDP)

       -      논리적 연결 성립이 되지 않은 비연결형 프로토콜

       -      흐름 · 오류 · 혼잡 제어 제공X

       c.      스트립 제어 전송 프로토몰(SCTP)

⑤ 응용층(Application Layer)

-      end-to-end

-      2개의 process 존재, process 간 통신이 응용층의 역할

-      프로토콜

a.     하이퍼 텍스트 전송 프로토콜(HTTP) – 월드 와이드 웹(www)에 전송하기 위한 수단

b.     단순 우편 전달 프로토콜(SMTP)

c.      파일 전송 프로토콜(FTP)

d.     단순 망 관리 프로토콜(SNMP)

e.     도메인 이름 시스템(DNS)

f.      인터넷 그룹 관리 프로토콜(IGMP)

2.2.4 캡슐화와 역캡슐화

-      응용층에서 교환되는 데이터는 메시지

       → 메시지

-      전송층은 페이로드로 메시지를 받음 – 전송층 헤더를 페이로드에 붙임

      → 세그먼트(TCP), 데이터그램(UDP)

-      네트워크층은 네트워크층 헤더를 페이로드에 붙임 – 헤더는 발신지, 목적지 주소와 헤더의 오류 검사, 단편화 정보 포함

      → 데이터그램

-      데이터 링크층은 데이터링크층 헤더를 페이로드에 붙임 – host or router의 링크층 주소를 포함한 헤더

      → 프레임

2.2.5 주소 지정

 

2.3 OSI 모델

Open system

-      기반 구조와 관계없이 서로 다른 시스템 간의 통신을 제공하는 프로토콜의 집합

OSI는 프로토콜이 아닌 모델이다!

Why?

1.      TCP/IP는 많은 전송층 protocol을 가진다.

2.      session, presentation layer에서 언급된 기능이 필요하면 소프트웨어의 한 부분으로 개발되면 된다.

 

 

논리적 연결 - 같은 계층에 있는 2개의 protocol 간

물리적 연결 – physical layer 간