컴퓨터 네트워크에 대해 제대로 이해하기 위해
네트워크의 기본 구조를 나타내는
OSI 7 계층에 대한 공부가
먼저라는 생각이 들었다.
해당 주제에 한번 제대로 정리를 해보면
이해가 더 잘될것 같아 주제를 선정했다.
국제표준화기구(ISO)가 1977년에 정의한 국제 통신 표준 규약이며,
네트워크의 기본 구조를 7계층으로 나눠 표준화한 통신 규약으로
현재 모든 통신의 기반이 되는 내용이다.
단계를 나눔으로써 통신이 일어나는 과정을
단계별로 파악할 수 있게 된다.
나눈 7단계 중 특정 한 곳에 통신 오류가 발생하면,
다른 부분을 건드리지 않고
오류가 발생한 단계만 고치면 된다.
현재 인터넷에서 컴퓨터들이
데이터를 주고 받는데 사용되는 프로토콜이다.
인터넷 개발 이후 계속 표준화가 되어 신뢰성이 매우 우수하며,
OSI 7계층 대신 실질적으로 쓰이는 프로토콜이다.
OSI 7 계층 : 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용된다.
TCP/IP 4 계층 : 실질적인 통신을 할 때 사용된다.
해당 계층에서는 전기적, 기계적, 기능적인 특성을 이용하여
통신 케이블로 데이터를 전송하게 된다.
해당 계층의 통신 단위는 비트이기에
모든 파일과 프로그램은 1과 0으로만
통신이 이루어진다.
해당 단계에서는 단지 데이터만 전달할 뿐,
전송하려는 데이터가 무엇인지, 어떤 에러가 있는지 등에는
전혀 신경쓰지 않는다.
말 그대로 데이터를 전달하기만 한다.
Ex) 통신 케이블, 리피터, 허브
해결하려 한 문제 : 옆에 있는 컴퓨터와의 연결
데이터 전달 시
데이터 수신 시
1계층의 기술만으로는
여러개의 컴퓨터가 통신을 할 수가 없다.
만약 다른 컴퓨터와 통신을 하고 싶다면
연결을 원하는 컴퓨터와 케이블을 연결해야 한다.
그러면 특정 컴퓨터와 연결하고 싶은 컴퓨터가 4대라면
4개의 케이블을 연결해야 한다.
⇒ 매우 비효율적이다.
그렇기에 같은 네트워크에 존재하는 여러 대의 컴퓨터가
통신을 할 수 있게 하는 계층이 2계층이다.
Ex) 브리지, 스위치
2계층은 안전하게 정보의 전달을 도와주는
조력자 역할을 하며
MAC 주소를 가지고 통신을 한다.
해당 계층의 전송 단위는 프레임이라고 하며
데이터 링크 계층은 Point to Point간
신뢰성있는 전송을 보장하는 계층이다.
물리 계층에서 발생할 수 있는 오류를 찾고,
수정하는데 필요한 기능적, 절차적 수단을 제공한다.
해결하려 한 문제 : 같은 네트워크 상의 여러개의 컴퓨터와의 연결
데이터 전달 시
데이터 수신 시
데이터를 목적지까지
가장 안전하게 빠르게 전달하는 기능이며
라우팅이라고 불린다.
데이터를 연결하는 다른 네트워크를 통해 전달함으로써
인터넷을 가능하게 하는 주요 계층이다.
해당 단계의 프로토콜의 종류도 다양하고,
라우팅하는 기술도 다양하다.
Ex) 라우터
해당 계층의 주 역할 : 경로를 선택하고 → 주소를 정하고 → 경로에 따라 패킷을 전달
IP 계층
IP 프로토콜
해결하려 한 문제 : 다른 네트워크에 존재하는 여러개의 컴퓨터와의 연결, 즉 인터넷 상 모든 컴퓨터와의 연결
데이터 전달 시
데이터 수신 시
통신을 활성화하기 위한 계층이며
TCP/UDP 프로토콜로 이뤄져있고,
포트를 열어 프로그램들의 전송을 가능하게 한다.
특정 데이터가 도착하면 4계층에서는 데이터를 하나로 합쳐 5계층에 전송한다.
오류제어 및 흐름제어를 담당하며,
전송 계층은 양 끝단에
사용자들이 신뢰성있는 데이터를 주고받게 해준다.
이에 대한 장점으로
상위 계층들이 데이터 전달의 유효성이나 효율성을
신경쓰지 않아도 된다.
TCP 프로토콜 (Transmission Control Protocol)의 특징
UDP 프로토콜 (User Datagram Protocol)의 특징
해결하려 한 문제 : 포트 번호를 활용하여 특정 컴퓨터의 프로세스에 원하는 데이터를 전달
데이터 전달 시
데이터 수신 시
데이터가 통신하기 위한
논리적인 연결을 담당하는 계층
해당 계층에는
세션 설정, 유지, 종료, 복구의 기능이 존재한다.
세션 복구는 매우 유용한 기능이며,
특정 데이터를 전송하는 도중 네트워크가 끊기게 되면,
끊겼던 구간에서 다시 데이터 전송을 가능케 하는 기능이다.
Ex) 200MB를 20MB마다 체크포인트를 설정한 경우
- 67MB을 전송하다가 연결이 끊김
- 다시 연결 후, 처음부터 다시 시작하는 것이 아닌, 60MB부터 세션을 재개한다.
데이터의
변환, 압축, 암호화가 이루어지는 계층이며,
MIME 인코딩, 암호화와 같은 동작이 이루어진다.
응용 서비스를 사용하여
응용 서비스를 수행하는 계층이다.
HTTP, FTP, SMTP, POP3, IMAP, Telnet과 같은 프로토콜이 존재한다.
HTTP 프로토콜
데이터 전달 시
데이터 수신 시
데이터 전달 시
1. 특정 데이터에 대해 선택한 응용 서비스에 필요한 추가 정보를 추가함
2. 목적지 프로세스의 포트 번호를 추가
3. 데이터에 IP주소를 합쳐 패킷의 형태로 생성
4. 프레이밍(Framing)을 통해 물리적 주소인 MAC 주소를 부여
5. 데이터를 전송하는 곳에서는 0과 1로 나열된 데이터를 먼저 아날로그 신호로 바꿔 전송
데이터 수신 시
1. 데이터를 수신받는 곳에서는 들어온 아날로그 신호를 0과 1로 나열된 데이터로 해석
2. 프레이밍(Framing)을 통해 추가된 물리적 주소인 MAC 주소를 제거
3. 패킷의 형태에서 IP주소를 제거
4. 목적지 프로세스의 포트 번호를 제거
5. 특정 데이터에 대해 선택한 응용 서비스에 필요한 추가 정보를 제거함
네트워크의 구조에 대해
제대로 알아볼 수 있었다.
해당 구조를 생각하기 위해
많은 시간과 노력이
투자되었음을 느낄 수 있었다.
수동님 벨로그 글 퀄리티가 점점 좋아지네요 👍🏻👍🏻