학습 한후
OSI 7계층이란?
OSI 7계층으로 나눈 이유는?
MAC 주소란?
DNS란?
MAC 주소와 IP 주소의 차이는?
라우팅이란?
에 대해서 적어보자
OSI 7계층
OSI(open system interconnection) 7계층이란, 통신이 일어난 과정을 7가지 과정으로 나타낸 것.
국제 표준화 기구(ISO)에서 네트워크간 호환을 표준 네트워크 모델 OSI 7계층을 만들었다.
통신을 7가지 과정으로 정함으로써 과정을 단계별로 이해하기 쉬워졌고 특정한 부분에서 발생하는 이상을 빠르게 처리할 수 있게되었다.
네트워크를 만들 때, 이것을 참조해서 만들어라
![](https://velog.velcdn.com/images/parksegun/post/06d0daa7-02fb-4eb1-91f2-0edd2dd53751/image.png)
윗 계층이 동작하기 위해선 아래 계층들이 잘 작동해야 함
1계층, 물리계층 (Physical Layer)
![](https://velog.velcdn.com/images/parksegun/post/f93d5586-a6fd-4516-9004-5923cdbc92ad/image.png)
0,1의 나열을 아날로그 신호로 바꿔서 전송하고 이 아날로그 신호를 다시 0,1의 나열로 해석하는 역할을 물리 계층이합니다.
- 최하위 계층
- 전기적, 기계적, 기능적 틍성을 이용해 데이터 전송
- 비트 단위 통신(0,1)
- 데이터만 전달, 에러는 신경쓰지 않는다.
- 예시) 통신 케이블, 리피터, 허브 등
2계층, 데이터링크 계층(DataLink Layer)
물리 계층으로 받아온 정보들이 안전하고 오류는 없는지를 확인하는 계층으로 직접 연결된 장치와의 통신만을 다룹니다.
- 물리 계층을 통해 송수신 되는 정보의 오류와 흐름을 관리
- 안전한 정보의전달을 수행할 수 있도록 도와주는 역할
- Point-To-Point 간의 데이터 전송
pointToPoint : 두 장치가 서로 직접적으로 연결되어 통신하는 것
- 오류를 찾고 재전송하는 기능
- MAC 주소로 통신하며 프레임 단위로 통신
MAC 주소 : 네트워크 장비에 고유하게 부여되는 물리적 주소
- 예시) 브리지 스위치 등
3계층, 네트워크 계층(Network Layer)
직접 연결되지 않아도 여러 경로를 거쳐서 목적지로 갈 수 있도록 경로를 설정해주고(라우팅) 전달하는 계층
- 데이터를 목적지까지 가장 안전하고 빠르게 전달(라우팅)한다.
라우팅 : 패킷을 보낼때 목적지까지 갈 수 있는 경로를 설정해주는 과정
- 경로(Route)를 선택해서 주소를 정하고 (IP주소) 경로 따라 패킷을 전달합니다.
- 가장 복잡한 계층, 인터넷이 가능하게 하는 계층
- 패킷 단위 통신
- 예시 라우터, L3 스위치 등
4계층, 전송 계층(Transport Layer)
네트워크 계층을 통해서 데이터를 송수신 할 수 있게 되었지만 신뢰성 있는 데이터를 받을 수 있도록 전송 속도를 조절하거나, 오류를 처리해주는 역할을 합니다.
- 신뢰성있는 데이터를 주고받을 수 있도록
- 오류 검출 및 복구, 흐름 제어, 중복검사 등
- 패킷이 유효하지 않다면 재전송
- Port 번호 사용
- TCP, UDP 사용
- TCP : 신뢰성 중점
- 신뢰성을 보장해야 하기에 리소스가 더듦
- Segment 단위 사용
- UDP : 빠른 통신의 중점
- 목적지에 데이터가 도착했는지 신경안씀
- Datagram 단위 사용
- 예시) 스트리밍 서비스
1 ~ 4 계층 까지는 데이터 전달이 중점이였다면, 5계층 부터는 데이터를 송수신 하는 컴퓨터 내의 프로세스들 간의 통신 프로토콜 이라고 할 수 있다.
5계층, 세션 계층(Session Layer)
응용 프로그램 간의 통신을 하기 위한 세션을 운영체제를 통해 확립, 유지, 중단 하는 작업 수행
즉, 응용 프로그램들 간의 접속을 설정, 유지 하고 끊어질 경우 재전송
세션을 이용해서 사용자들이 좀 더 편리해졌다...
- 통신하는 사용자들 동기화
- 사용자 위주의 논리적인 연결 서비스 제공
세션
- 네트워크 환경에서 사용자 또는 컴퓨터들 사이에서의 대화를 위한 연결
- 프로세스들 사이에의 통신이 시작되고 마칠때의 기간
동기화
- 동기 : 통신의 양단에서 서로 동의하는 논리적인 공통처리 지점, 동기점을 설정하기 위해 사용
- 서로의 정보가 같다
- 동기화 이전으로는 서로 완벽하게 통신했다는 것을 의미하고 만약 오류가 발생하면 동기화 했던 지점부터 다시 재전송
6계층, 표현 계층 (Presentation Layer)
7계층에서 넘겨받은 데이터를 Session Layer에서 사용할 수 있는 데이터로 변경.
Session Layer에서 넘겨받은 데이터를 7계층이 이해할 수 있는 데이터 형태로 변경
그 데이터를 안전하게 사용할 수 있도록 암,복호화 진행
즉, 상위, 하위 계층에서 서로의 데이터 표현양식과 무관하게 사용할 수 있도록 환경을 제공
ex) 해당 데이터가 text인지 그림인지 gif 인지 구분
7계층, 응용 계층(application Layer)
사용자와 가장 가까운 층으로 응용 프로세스와 직접 연관되어서 일반 적인 응용 서비스 수행.
ex) 전송된는 메일, 사진 등이 크롬같은 응용프로그램을 통해서 사용자가 직접 확인하는 과정
이때, 각각의 데이터들은 해당되는 프로토콜에 의해 처리됩니다.
예시)
- HTTP : 이 프토토콜은 웹이나 브라우저 같은 응용프로그램에서 데이터를 송수신 할때 사용
- FTP : 파일을 서로 주고 받을 때 사용하는 프로토콜
데이터를 보낼때 7계층 -> 1계층 으로 이동하게됩니다.
이때, 각각의 계층을 지나면서 캡슐화를 진행하게 됩니다. 각각의 계층을 지날때 데이터에 추가적인 정보들을 (Header, Footer)추가해주면서 전달됩니다.
PDU
프로토콜 데이터 단위로서, OSI의 정보처리 단위입니다.
아래 계층으로 갈수록 PDU에는 다양한 프로토콜에 의해 Header, Footer가 더해집니다.
반대로, 정보를 받아서 7계층으로 올라갈때에는 Header,Footer를 분서갛며 올라합니다(디캡슐화)
ex) 2계층의 PDU = 프레임...
총 진행과정
이메일을 보내는 과정으로 예시를 적어보겠습니다.
- Application Layer에서 작성된 메세지는 Presentation Layer로 전달됩니다.
- Presentation Layer에서는 전달 받은 메시지를 데이터로 변화하고 암호화를 수행합니다.이렇게 변경된 데이터는 Session Layer로 보내집니다.
- Session Layer계층에서는 세션의 생성과 유지를 관리
- TransPort Layer에서는 받은 데이터를 나눠서 전송(segment, datagram단위로)하고, 실패시 재전송을 수행
- Network Layer 에서는 ip를 사용해서 라우팅에 필요한 논리 주소를 설정하고 패킷에 대한 라우팅 정보를 삽입합니다.(어디로 어떻게 보낼 것인지)
- DataLink Layer에서는 데이터를 Frame 단위로 나눕니다. 그리고 MAC 주소(실제 물리 주소)로 지정하고 속도 차이를 위해 흐름 제어를 합니다. (물리적으로 연결된 컴퓨터와 컴퓨터 사이 데이터 전송을 담당)
- Physical Layer에서는 데이터를 전기적인 변환(전기신호)을 담당합니다.