네트워크에서 통신에서 일어나는 7단계의 과정 을 말한다.
- 계층을 분리함으로서 각 계층은 독립적인 역할을 할 수 있다.
- 역할이 분리되면서 문제 발생시 문제의 현상을 보았을 때 어떤 계층에 문제가 생겼는지도 파악이 가능 하다.
- 각 계층은 하위계층을 사용하고 현계층의 기능을 포함하여 상위 계층에 제공한다.
(그래서 계층구조는 위에서 바라보았을 때 아래층이 안보이는 구조라 볼 수 있다)- 따라서 최상위 계층만 보면 그 아래계층을 모두 포함하고 있다.
실제로는
OSI 7 Layer model이 아닌
TCP/IP가 산업계의 표준이다 !!
Network
설계 기반은OSI 7 Layer
를 참조 한다. 이는OSI 7 Layer
가 개념적으로 TCP/IP model 보다 우수하기 때문이다. 그럼에도 불구하고 TCP/IP가 산업계의 표준이 될 수 있던 결정적 이유는 TCP/IP Model 이 OSI 7 Layer보다 빨리 발표 되었기 때문이다. 이기종간 통신 프로토콜이 최대한 빨리 필요했던 미국방성에서 TCP/IP를 공식적으로 사용했고 이를 근간으로 네트워크가 발전되어왔다.
우선, TCP/IP 모델은 4 Layer 버전도 있지만 현재는 Updated 된 5 Layer 가 널리 사용 된다.
- 두 모델 모두 계층형 이다.
- TCP/IP Model 은 OSI Model 보다 먼저 개발되었다.
Session
과Presentation
2개의 계층은 TCP/IP Model 의Application
에 속해있다
- TCP/IP는 인터넷 개발 이후 계속 표준화되어 신뢰성이 우수하다.
- OSI Model는 표준이 되기는 하지만
실질적으로 구현되는 예가 거의 없어신뢰성이 저하 되어있다.
- OSI Model 은 Reference 의 가치가 있다.
- OSI Model은 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용된다.
- 실질적인 통신 자체는 TCP/IP Model 을 사용한다.
이 글에서는 실질적인 통신을 다루는
TCP/IP Updated Model
을 다루겠습니다.
Application
통일
- 주로 전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송하게 됩니다. 데이터는 0과 1의 비트열, 즉 On, Off의 전기적 신호 상태 로 이루어져있습니다.
- 이 계층은 단지 데이터를 전달하기만 합니다. 어떤 에러가 있는지 등 그런 기능에는 전혀 관여하지 않습니다.
-> 케이블, 리피터, 허브를 통해 데이터를 전송합니다.
PHY 칩
1계층 모듈은 하드웨어적으로 구현되어 있다.
- 물리 주소인 MAC주소 가 이 계층에 해당한다.
- 전송 단위는 Frame 이다.
- 네트워크계층에서 정보를 받아 주소와 제어정보를 헤더와 트레일러에 추가 한다.
- 데이터의 앞뒤에 특정한 비트열을 붙인다 (framing)
-> 속한 장비로는 브릿지와 스위치가 있습니다(공유기
는 이 곳에 속하기도 또L3
에 속하기도 한다)
LAN 카드
2계층 모듈 또한 하드웨어적으로 구현되어 있다.
사실 스위치는 2계층 말고도 계층에 따른 스위치가 존재한다.
Network switch 는 네트워크 단위들을 연결하는 통신 장비로서 허브보다 전송 속도가 개선된 것이다.
간단히 스위치라고 불리며 , 스위칭 허브 , 포트 스위치 허브 라고도 한다.
L 2 스위치
- MAC address 를 참조하여 스위치
L 3 스위치
- IP 주소를 참조하여 스위치
L 4 스위치
- 3~4 Layer 에 속하는 장비로 IP 주소, TCP/UDP 포트 정보를 참조하여 스위치
L 5 스위치
(혹은 L7스위치)
- 3~5 Layer 에 속하는 장비로 IP 주소 , TCP/UDP 포트 정보, 패킷 내용까지 참조하여 스위치
- L2 스위치 : 동일 네트워크 간의 연결 만 가능
- L3 스위치 : 서로 다른 네트워크간의 연결이 가능
- L4 스위치 : 서버나 네트워크 간의 로드밸런싱 용도
- L5 스위치(L7스위치) : 데이터 안의 실제 내용을 기반으로 한 로드밸런싱
많은 네트워크들의 연결로 이루어지는 inter_network 속에서
IP주소
( 논리적 주소 )를 이용해 길을 찾고(routing
), 자신 다음의 라우터에게 패킷을 넘겨주며(forawrding
) 인터넷이 가능하게 만드는 계층이다. 이 계층에서 가장 중요한 기능은 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(routing
)이다.
- 전송 단위는 Packet이다.
- 이 계층의 대표적인 장비는 라우터, L3 Switch, IP 공유기 등이다.
노드는 대형 네트워크에서는 장치나 데이터 지점(data point)을 의미한다.
개인용 컴퓨터, 휴대전화, 프린터와 같은 정보처리 장치들이 노드이다.
인터넷에서 노드를 정의할 때 노드는 IP 주소를 보유한 어떠한 것도 될 수 있다.
노드는 더 커다란 자료 구조의 일부분 하나 하나를 의미할 수 있는데
이를테면 연결 리스트라든지 트리 자료 구조를 들 수 있다.
라우터는 데이터의 목적지가 정해지면 해당 목적지까지 어떤 경로로 가는 것이 효율적인지 파악한다. 또한 경로를 결정하기 앞서, 원하는 네트워크를 식별하기 위한 목적지의 주소 정보인 IP 주소를 확인하는데, 목적지 IP 주소까지 어떤 경로를 거쳐 데이터를 보낼지 결정하는 것을 라우팅이라고 한다.
실제 우리 실생활에서 가장 쉽게 볼 수 있는 라우팅 장비가 공유기이다. 공유기가 라우터라는 말은 아니지만 라우터의 NAT 라는 기능을 활성화 시킨 것이다. 공유기는 하나의 외부 통신선에서 들어오는 요청을 사설망에 연결되어있는 컴퓨터에게 전달해주는 역할을 한다.
NAT( Network Address Translation : 네트워크 주소 변환 )의 과정은,
[공유기2의 IP→공유기2의 게이트웨이 →공유기1의 IP]→[공유기1의 게이트웨이 →공인IP]
운영체제(OS)의 커널에 소프트웨어적으로 구현되어있다.
종단간(end-to-end) 통신
을 활성화하기 위한 계층이다. 송신자와 수신자 간(end-to-end)의 신뢰성있고 효율적인 데이터를 전송하기 위해 오류검출 및 복구, 흐름제어와 중복검사 등을 관리한다. 데이터 전송을 위해서Port 번호
가 사용되며 보통TCP
를 이용한다. 만약 데이터가 왔다면 4계층에서 해당 데이터를 하나로 합쳐서 5계층에 던져 준다.
TCP
는 연결시3-way hanshaking
방식으로 목적지와 상호 패킷을 교환하여 연결하며 연결을 종료할 때 는4-way hanshaking
방식을 사용한다. ( TCP 와 UDP는 나중에 더 알아보자 )
패킷 생성 및 전송 계층
대표적 프로토콜 TCP
, UDP
전송 단위는 Segment
를 사용하며 주소는 Port
를 사용
전체 메시지를 발신지 대 목적지 ( end-to-end
)간 제어와 에러를 관리 한다.
end-to-end
전송은 단순히 한 컴퓨터에서 다음 컴퓨터로의 전달이 아니라, 송신 컴퓨터
의 응용프로그램(프로세스)에서 최종 수신 컴퓨터
의 응용프로그램(프로세스) 으로의 전달 을 의미
운영체제(OS)의 커널에 소프트웨어적으로 구현되어있다.
OSI 7 Layer
에서 Session, Presentation, Application Layer 에 해당한다. 사용자(Client) 와 가장 가까운 계층 으로 사용자가 소프트웨어 application과 소통할 수 있게 해준다클라이언트가 데이터를 요청할 때는 GET, POST, PATCH, DELETE 등 HTTP 메서드, 네트워크 상 자원의 위치를 나타내는 정보인 URL 그리고 사용하는 HTTP 버젼 정보와 함께 정보를 요청한다. 그 외에도 클라이언트가 서버에 요청하는 정보가 메일, 파일 등이면 각각 SMTP 프로토콜, FTP 프로토콜이 사용된다.
계층 간 데이터를 주고 받는 과정에서
캡슐화
와역캡슐화
가 발생한다.
Application
→Transport
→Network
→Data Link
순으로 전달 된다. 이 때 계층 별로 헤더의 형태로 추가적 정보가 생성 된다. 헤더, 트레일러 같은 데이터를 추가해 나가는 과정 을캡슐화
라고 하며 헤더, 트레일러 부분을 차례대로 제거하며 데이터를 전달 받는 과정 을역캡슐화
라고 한다.