티스토리 뷰

서로 다른 호스트를 연결해 통신하려면 표준화된 연결 방식이 필요하다.
국제 표준 기구 ISO는 서로 다른 시스템 간의 통신을 허용하기 위해 네트워트 프로토콜 개발 지침서인 OSI 모델을 정의하였다.
또 다른 프로토콜 체계로는 TCP/IP 모델이 있다.
TCP/IP 모델은 인터넷 표준 프로토콜로, 계층 구분이 OSI와 다소 차이가 있다.

OSI 모델과 TCP/IP 모델은 서로 유사한 계층구조를 가진다는 점에서 공통점을 가지고 있다.
TCP/IP 모델은 OSI 모델에 비해 상대적으로 계층이 간단하다.



1. 각 계층에 대한 간단한 설명
SSH
Application
TCP/UDP
Transport
IP
Network
ethernet
Data link
Physical

- 왼쪽에는 각 계층에서 사용되는 프로토콜의 예를 적었다.

1. Physical Layer (케이블)
- 물리 계층에서는 물리적 매체를 이용해 비트 스트림을 전기적 신호로 전달한다.

2. Data Link Layer (LAN)
- 데이터 링크 계층에서는 물리적 링크 간의 신뢰성 있는 정보 전송을 할 수 있도록 동기화를 제공한다.
- 상호 통신을 하기 위해 MAC 주소를 할당받는다.
- MAC주소란, 우리나라 국민의 주민등록번호처럼 장치에 할당되는 고유한 이름이다.
--:--:--:--:--:-- 의 형태로, 16개의 16진수로 구성돼있다.
앞쪽의 8개의 16진수는 회사마다 가지는 고유한 번호이며,
뒤쪽의 8개의 16진수는 장치의 고유한 번호다.
윈도우에서 MAC주소를 확인하기 위한 명령어는 ipconfig /all이다.


3. Network Layer
- 네트워크 계층에서는 수신지까지의 최적 경로를 선정한다.
- 네트워크 계층에서 사용되는 프로토콜의 종류로는 IP, IPX가 있다.

4. Transprot Layer
- 전송 계층에서는 경로 설정을 하지 않고, 포트 넘버를 기준으로 세그먼트(PDU)를 전달한다.

5. Application Layer
- 응용 계층에서는, 웹/메일/파일 전송 서비스 등에 대한 사용자 인터페이스를 제공한다.



2. 통신 시 데이터의 흐름

- 그림에서의 Client는 Source, Server는 Destination을 의미한다.
- 송신지에서부터 수신지에 흐르기까지 화살표 방향대로 데이터가 전달된다.
- 각각의 계층은 고유한 기능을 가지고 계층 간에 상호 의존적이다.
- 송신지에서 데이터가 전송될 때, 각 계층의 헤더가 붙어 하위 계층으로 넘어간다.
- 이 때 각 계층의 헤더와 데이터를 합친 것을 PDU(Protocol Data Unit)이라고 부른다.

<송신지>

* 응용계층 -> 전송계층 데이터 전달
* 전송계층 -> 네트워크 계층으로 세그먼트 전달(응용계층의 데이터+ 전송계층의 헤더)
* 네트워크 계층-> 데이터 링크 계층으로 데이터 그램 or 패킷 전달(전송계층의 세그먼트+네트워크 계층의 헤더)
* 데이터링크 -> 물리계층으로 프레임(네트워크 계층의 데이터그램 + 데이터링크 계층의 헤더) 전달

<송신지 -> 수신지>
* 송신지의 물리 계층에서 수신지의 물리 계층으로 전기적 신호를 통해 비트 스트림 전달

<수신지>
* 물리 계층 -> 데이터 링크 계층으로 프레임 전달
* 데이터 링크 계층 -> 네트워크 계층으로 데이터크램 or 패킷 전달
* 네트워크 계층 -> 전송 계층으로 세그먼트 전달
* 전송 계층 -> 응용 계층으로 데이터 전달


3. peer-to-peer 통신
- 송신지에서 수신지까지 데이터를 전달하기 위해서, 각 계층은 수신지와 동등한 계층과 통신한다.
- 데이터 전송 흐름을 계층끼리 따로 생각해보면,
송신지에서 네트워크 계층은 전송 계층으로부터 세그먼트를 받아, 데이터 링크 계층으로 데이터 그램을 전송한다.
수신지에서 네트워크 계층은 데이터 링크 계층으로부터 프레임을 받아, 전송 계층으로 데이터 그램을 보낸다.

즉,
송신지에서 네트워크 계층 : 세그먼트 -> 데이터 그램 -> (프레임)
수신지에서 네트워크 계층 :  프레임 -> 데이터 그램 -> (세그먼트)
이므로
송신지에서 수신지까지 데이터 전달 시, 각 계층은 수신지와 동등한 계층과 통신하는 것이다.



4. PDU(Protocol Data Unit)
- PDU는 앞서 언급했듯, 각 계층의 헤더와 데이터를 결합한 것을 의미하는데, 이는 프로토콜 데이터 단위이다. 즉, OSI 7계층 모델에서 정보처리 단위이다.

계층별 PDU는 다음과 같다.

응용 계층 - 메시지 or 데이터
전송 계층 - 세그먼트(송수신지 포트 번호)
네트워크 계층 - 데이터 그램 or 패킷 (송수신지 IP번호)
데이터 링크 계층 - 프레임(송수신지 MAC 주소)
물리 계층 - 비트


5. Well-known port number
- 전송 계층에서는 포트 번호를 기준으로 세그먼트를 전달한다고 했다.
이 때 포트 번호는 임의대로 설정할 수 있지만, 서버 쪽에 할당되는 포트 넘버는 이미 정해져있다.
이를 Well-Known port number라고 부르는데,  0~1023번까지 프로토콜에 해당하는 포트 넘버가 정해져있다. - 전송 계층 포스팅 시 자세히 언급.

'네트워크' 카테고리의 다른 글

[Web] 0. 웹이란? + 이더넷(LAN)  (0) 2018.07.06
FTP 이론.  (0) 2018.04.10
[Unix/Linux] FTP 서버 실습  (0) 2018.04.10
데몬이란?  (0) 2018.04.10
[네트워크] 네트워크 주소 체계 - IP address 1(서브넷팅)  (3) 2018.03.10
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함