-
06. OSI 7계층네트워크 2022. 9. 4. 18:27
2022.09.02 - [네트워크] - 05. 프로토콜OSI 7계층(OSI 7 Layer)
OSI 7계층이란 저번 글에서도 살짝 나왔듯
컴퓨터끼리 통신할 때 일어나는 과정을 계층으로 구분한 것입니다.계층 데이터(Protocol Data Unit) 애플리케이션
계층응용(Application) Data 표현(Presentation) Data 세션(Session) Data
데이터 플로우
계층전송(Transport) Segments 네트워크(Network) Packets 데이터 링크(Data Link) Frames 물리(Physical) Bits
총 7개의 계층으로 나누어져 있으며 물리 계층부터 응용 계층까지 1~7계층으로 되어 있습니다.
물리 ~ 전송(1 ~ 4) 계층을 Data Flow Layer / 하위 계층,
세션 ~ 응용(5 ~ 7) 계층을 Application Layer / 상위 계층으로 나눕니다.
송신 측에서는 7 → 1 계층을 따라 데이터가 캡슐화되고,
수신 측에서는 1 → 7 계층을 따라 데이터가 역캡슐화됩니다.물리 계층
물리 계층에서는 물리적 연결과 관련된 정보를 정의합니다.
주로 전기 신호를 전달하는 데 초점이 맞추어져 있습니다.
데이터를 필터링하거나 에러 감지 등의 역할은 하지 않습니다.데이터를 수신할 때는
전선을 따라 왼쪽과 같은 아날로그 신호가 컴퓨터로 들어오는데,
물리 계층에서 오른쪽의 디지털 신호로 변환하게 됩니다.
데이터를 송신할 때는
반대로 디지털 신호 → 아날로그 신호로 변환합니다.
1계층의 장비로는 케이블, 커넥터, 허브, 리피터, 트랜시버 등이 있습니다.데이터 링크 계층
디지털 전기 신호를 데이터 형태로 변환하고, 주소를 확인하여 정확한 기기로 데이터를 보냅니다.
실질적으로 데이터를 확인할 수 있는 계층이기에 에러를 탐지하고 수정, 재전송하고,
현재 네트워크 망에 수신 측이 어떤 기기인지,
수신 측이 데이터를 받을 수 있는 상태인지 확인하는 Flow Control을 합니다.
2계층의 장비로는 랜 카드, 스위치가 있으며
MAC 주소를 이해하고 수신 측을 식별하게 됩니다.
랜 카드는 고유 MAC 주소를 가지고 있어 데이터의 MAC 주소를 비교하고, 통과시킵니다.
스위치는 여러 기기들이 연결되어, 각각의 MAC 주소를 가지고 일치하는 데이터를 맞는 기기에 전달(포워딩)합니다.네트워크 계층
2계층에서 물리 주소인 MAC 주소를 다뤘다면,
네트워크 계층에서는 IP 주소와 같은 논리적인 주소가 정의됩니다.
MAC 주소와 달리 IP 주소는 사용자가 임의대로 변경해서 사용할 수 있습니다.
3계층에 해당하는 장비로는 라우터가 있습니다.
라우터는 자신이 속한 네트워크와 다른 네트워크를 구분할 수 있고,
다른 네트워크로 데이터를 보낼 수 있습니다.전송 계층
1, 2, 3계층은 신호를 얼마나 정확하게 변환하는지,
또는 정확한 곳에 신호를 전달했는지에 대해 집중되어 있었다면
전송 계층은 데이터를 정상적으로 보낼 수 있도록 검수하는 역할을 합니다.
데이터를 패킷이라는 단위로 쪼개어 보내는데,
쪼개거나 전송 도중에 패킷이 유실되거나 순서가 바뀔 수 있습니다.
그래서 4계층에서는 패킷에 순서를 붙입니다.
보내는 순서를 시퀀스 번호라 하고, 받는 순서를 ack 번호라고 합니다.4계층의 장비로는 로드 밸런서, 방화벽이 있습니다.
이들은 부하를 분산하거나 보안 정책을 수립해 패킷을 통과, 차단하는 기능을 수행합니다.세션 계층
송신 컴퓨터와 수신 컴퓨터의 프로그램, 즉 실제 통신 중인 프로그램의 관계를 유지하거나 끊은 역할을 합니다.
또는 데이터에 오류가 있을 경우 오류가 생긴 부분만 복구, 재전송하기도 합니다.
- 사용자 위주의 논리적인 연결서비스 제공
- 전송모드 결정(반이중, 전이중, 단방향, 병렬, 직렬, 동기, 비동기)
- 대화와 동기를 위한 데이터 교환을 관리(송수신의 동기권제어)
- 토큰(Token:특정서비스 요구권리)
표현 계층
데이터의 형식을 표준 형식으로 바꾸는 역할을 합니다.
응용 계층에서는 다양한 표현 형식이 쓰이는데, 표현 계층에서 표준 형식으로 바꾸어
응용 계층에서 형식 변환에 대한 부담을 덜어줍니다.
인코딩, 디코딩, 암호화 등이 대표적인 데이터 변환입니다.
- 응용계층의 다양한 정보표현 양식을 수용
- 사용자가 이해하는 문장(추상구문)을 전송형태의 구문(전송구문)으로 변환
- 암호화, 데이터 압축 수행
응용 계층
유일하게 유저에게 서비스를 제공하는 계층입니다.
프로세스를 정의하고 서비스를 수행합니다.
네트워크 소프트웨어의 UI나 사용자 입출력 부분을 정의하는 역할을 합니다.
HTTP, SMTP, FTP, Telnet 등 다양한 프로토콜이 있습니다.
캡슐화(Encapsulation) / 역캡슐화(Decapsulation)통신을 하기 위해 각 계층에서 데이터에 알맞은 정보를 추가하는 과정을 캡슐화라 하고,
받은 데이터를 해독, 제거하는 과정을 역캡슐화라 합니다.
캡슐화는 송신 측에서, 역캡슐화는 수신 측에서 일어나는 과정입니다.
캡슐화 - 응용 계층에서 데이터를 표현 계층으로 보냅니다.
- 표현 계층에서 인코딩 형식, 디코딩 형식 등의 정보를 헤더에 담고, 데이터에 붙입니다.
- 표현 계층에서 데이터를 세션 계층으로 보냅니다.
- ...(이후 반복)
각 계층에서 헤더에 표시하는 내용을 간추리면 다음과 같습니다.
- 표현 계층은 전송할 비트 수의 감소를 위해 압축 알고리즘을 사용했다고 표시하는 등
- 세션 계층은 세션 구별번호의 추가 등
- 전송 계층은 패킷 순서번호의 추가 등
- 네트워크 계층은 송수신 주소,가상회선 번호를 추가할 수 있는 등
- 데이터 링크 계층은 프레임 순서번호의 추가 등
- 물리 계층은 에러 제어 비트를 추가하는 등
헤더에 표시하는 내용과 형식은 프로토콜에 따라 달라지지만 두 가지 정보는 공통적으로 반드시 들어가야 합니다.
- 현재 계층에서 정의하는 정보
- 상위 프로토콜 지시자
수신 측에서는 캡슐화의 역순으로 헤더에 담긴 정보를 확인하고, 분해하게 됩니다.
헤더에 담긴 현재 계층의 정보를 확인해서 올바른 목적지로 도착했는지 확인하여,
올바르다면 현재 계층의 헤더는 제거한 후 상위 계층의 프로토콜을 호출합니다.
TCP / IP 모델
OSI 모델은 표준 통신 규약이 없었던 과거에 원활한 컴퓨터 간 통신을 위해
내세운 표준 모델이기 때문에 상당히 이론적이고, 세분화되어 있습니다.
따라서 실용성이 없어 잘 사용되지 않았는데,
OSI 모델 대신 사용되는 모델이 TCP/IP 모델입니다.
TCP/IP 모델은 하드웨어에 구애받지 않기 때문에 기기에 상관없이 통신이 가능하다는 큰 장점이 있습니다.
OSI 모델 TCP/IP 모델 응용(Application) 응용(Application) 표현(Presentation) 세션(Session) 전송(Transport) 전송(Transport) 네트워크(Network) 인터넷(Internet) 데이터 링크(Data Link) 네트워크 액세스(Network Access) 물리(Physical) OSI 모델 계층과 TCP/IP 모델 계층이 완벽히 대응되는 것은 아니지만
대개 위와 같이 구분하곤 합니다.
TCP는 전송 계층의 프로토콜, IP는 네트워크 계층의 프로토콜로
통신을 하기 위해 주로 사용되는 프로토콜입니다.
TCP와 IP는 데이터를 손상없이 정확하게 전달한다는 동일한 목표를 가지기 때문에
TCP/IP처럼 한 명칭으로 불리기도 합니다.
참고
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ttochid1&logNo=10037450926
http://www.ktword.co.kr/test/view/view.php?m_temp1=379
https://www.ibm.com/docs/ko/aix/7.1?topic=management-transmission-control-protocolinternet-protocol
https://nordvpn.com/ko/blog/tcp-ip-protocol/
'네트워크' 카테고리의 다른 글
08. 네트워크 통신 (0) 2022.09.09 07. 네트워크 연결 (0) 2022.09.07 05. 프로토콜 (0) 2022.09.02 04. HTTP (0) 2022.09.02 03. 쿠키와 세션 (0) 2022.09.02 - 사용자 위주의 논리적인 연결서비스 제공