먼저 이 둘에 대해 알아보기 전에 패킷, 그리고 프로토콜에 대해서 알아보자.
패킷?
패킷은 네트워크에 접속되어 있는 컴퓨터끼리 통신을 통해 주고받는 데이터 단위를 의미한다.
프로토콜?
교수님 말씀에 의하면 "아, 나는 그 사람과 프로토콜이 좀 안 통해" 라는 말을 자주 쓴다고 한다.(..?)
암튼 프로토콜이란 서로 떨어져 있는 컴퓨터끼리 통신을 수행하기 위한 약속을 말하며, 일종의 통신 규약이다.
프로토콜에는 아래와 같은 사항들이 들어간다.
구문 -- 데이터의 구조나 형식 ex. 서브넷 마스크
의미 -- 비트들의 영역별 의미
타이밍 -- 언제 데이터를 전송할지, 얼마나 빨리 전송할지?
OSI 모델에서 계층구조, 계층 간 인터페이스, 각 계층의 기능
OSI 모델의 가장 큰 특징은 기능들이 구분되어 있다는 것이다. 또한, 각 계층은 바로 아래 계층의 서비스를 요구한다. 제3 계층은 제 2계층에서 제공하는 서비스를 이용하고, 제 4계층에게 서비스를 제공하는 형태이다. 계층 간에는 interface가 존재하여 한 계층이 바로 위 계층에게 제공해야 하는 정보와 서비스를 정의한다.
각 계층에 대해 더 자세히 알아보자!
제 1계층, 물리
인터페이스와 매체의 물리적인 특성에 대해 다룬다.
개별 비트들을 한 노드에서 다음 노드로 전달해야 하는 책임을 가진다.
비트의 표현, 데이터 전송률, 비트의 동기화, 회선 구성, 물리적 접속 상태, 전송 모드 등에 절차들과 기능들을 규정한다.
제 2계층, 데이터 링크층
네트워크층에게 물리층의 오류가 없다는 것을 알려주는 역할을 한다.
프레임 구성, 물리 주소 지정, 흐름 제어/오류 제어/접근 제어 등의 절차들과 기능들을 규정한다.
제 3계층, 네트워크층
각 패킷이 발신지에서 목적지까지 갈 수 있도록 책임진다.
논리 주소(패킷에 송신자-수신자 사이 논리 주소를 포함하는 헤더를 더함) 지정, 경로(라우터, 스위치) 지정 등의 절차들과 기능들을 규정한다.
제 4계층, 전송층
전체 메시지의 프로세스-대-프로세스 전달을 책임진다.
발신지-목적지 레벨에서 세부적인 관계(프로세스)도 신경쓰고, 다양한 제어를 책임진다.
서비스 지점 주소 지정(헤더에 port 주소가 포함됨), 분할과 재조립, 연결 제어/흐름 제어/오류 제어 등을 담당한다.
제 5계층, 세션층
통신 시스템 간 상호 대화를 설정/유지/동기화 한다.
대화 제어 - 두 시스템이 대화하는 것을 허용한다. 두 프로세스 간 통신 허용!
동기화 - 데이터 스트림에 확인점을 추가하는 것을 허용한다. 만약 100단위씩 확인점을 추가한다면, 523쪽 전송 중 문제가 생겼을 때 시스템이 복구된 후 501부터 523까지만 재전송하면 된다.!
제 6계층, 표현층
두 시스템 간 교환되는 정보의 구문(syntax)과 의미(semantic)와 관련 있다.
변환 - 송신자의 표현층은 송신자 의존 형식을, 수신자 표현층은 수신자 의존 형식으로 변경한다.
암호화 - 송신자가 원래의 정보를 다른 형식으로 변환하고 변환된 메시지를 네트워크를 통해 보낸다.
압축 - 텍스트/오디오/비디오 같은 멀티미디어 전송 시 압축하여 보낸다.
제 7계층, 응용 계층
전자 우편, 원격 파일 접속과 전송, 공유된 DB 관리, 분산된 정보 서비스 등 서비스를 제공하고 사용자 인터페이스를 제공한다.
네트워크 가상 터미널, 파일 전송/접근/관리, 전자우편 서비스, 디렉토리 서비스
TCP/IP 포로토콜에서의 각 계층의 기능
간단하게 각 계층에서 사용되는 프로토콜을 요약하면 다음과 같다.
위 그림을 잘 보면, TCP/IP 프로토콜 그룹에는 세션과 표현층이 빠져 있는 것을 볼 수 있다. 이 이유는 간단히 예기하면, TCP/IP는 OSI 모델과는 조금 달리, 각 모듈이 독립적이지 않고, 시스템의 요구에 따라 혼합되고 대응될 수 있도록 설계되어 있다. 따라서 7,6,5가 계층 하나로 묶여 있다.
제 1계층, 물리
물리층의 통신 단위는 비트이다. 물리층의 책임은 비트의 전달을 추가하여 OSI 모델 물리층의 책임과 일치한다.
제 2계층, 데이터 링크층
데이터 링크의 통신 단위는 프레임이라는 패킷이다. 네트워크층으로부터 받은 데이터에 헤더가 더해지고 트레일러가 더해져 캡슐화된 패킷을 의미한다.
이 헤더 안에는 프레임의 발신지와 목적지가 포함되어 있는데, 목적지 주소는 프레임의 정확한 수신자를 규정하는 데에 필요하고, 발신지는 프로토콜에 의해 요구될 수 있는 가능한 응답이나 확인응답을 위해 필요하다.
즉, 물리층 사이의 이동을 위해 서로 다른 형식의 프레임들이 끼워 맞추어지는 과정이라고 보면 된다.
제 3계층, 네트워크층
여기서 IP(인터넷 프로토콜)를 지원하며, 통신단위는 데이터그램이다.
IP는 3개의 지원 프로토콜(ARP, ICMP, IGMP)을 포함한다.
IP
IP는 각기 개별적으로 전송되는 데이터그램(datagram)이라는 패킷 형태로 데이터를 전송한다. 데이터그램은 서로 다른 경로로 전달될 수 있어 순서대로 도착하지 않거나 중복되어 도착할 수 있다. IP는 경로를 기록하지 않고, 일단 목적지에 도착한 데이터그램을 재전송하지도 않는다는 약점이 있다. 하지만 사용자가 주어진 응용에 필요한 기능을 자유롭게 추가할 수 있는 전송기능을 제공하여 최대한의 효율성을 제공한다는 장점이 있다.
ARP
IP 주소를 물리적인 주소로 변환해준다. LAN과 같은 물리적인 네트워크에서 링크상의 각 장치는 네트워크 인터페이스 카드(NIC)의 물리 주소인 로컬 주소에 의해 구분된다. ARP는 인터넷 주소를 알고 있을 때 노드의 물리주소를 찾는 데 사용된다.
ICMP
송신자에게 데이터그램의 문제점을 알려주기 위해 호스트와 게이트웨이가 사용하는 메커니즘으로 조회와 오류보고 메시지를 보낸다.
제 4계층, 전송층
3개의 프로토콜 TCP, UDP, SCTP을 갖는다. 이 셋 모두 하나의 프로세스에서 다른 프로세스로 메시지를 전달하는 기능을 갖는 전송 레벨 프로토콜이다. 통신 단위는 세그먼트, 사용자 데이터그램, 패킷이며 종단-대-종단 통신이 이루어진다.
UDP(사용자 데이터그램 프로토콜)
포트 주소, 검사합 오류 제어, 상위 계층으로부터 받은 데이터의 길이 정보만 추가한다.
TCP(전송 제어 프로토콜)
신뢰성 있는 스트림 전송 프로토콜. 각 전송의 송신 종단에서 TCP는 데이터 스트림 세그먼트라는 작은 단위로 나눈다. 각 세그먼트는 수신된 세그먼트에 대한 확인응답 번호와 함께 수신 후에 순서를 맞추기 위한 순서 번호를 포함하고 있다.
SCTP(스트림 제어 전송 프로토콜)
UDP와 TCP의 장점을 결합한 전송 제어 프로토콜
제 5계층, 응용계층
사용자가 사설 인터넷이나 글로벌 인터넷에 접근하는 것을 허용한다. 전자 우편, 파일 전송, WWW 등 많은 프로토콜이 규정되어 있다. 통신 단위는 메시지이며 종단-대-종단으로 통신된다.
TCP/IP 프로토콜의 4가지 주소
TCP/IP에서는 계층과 관련한 주소를 지정하여 사용한다. 이에 대해 간단히 알아보자!
물리 주소=링크 주소
LAN이나 WAN에서 정의된 노드의 주소이다. 이는 데이터 링크층에 의해 사용되는 프레임에 포함된다.
이 주소의 크기와 형식은 네트워크에 따라 다양하다.
ex) 07:01:02:01:2C:4B
논리 주소=IP주소
현재 인터넷에 연결된 호스트를 유일하게 식별할 수 있는 32비트 주소체계를 사용한다. 인터넷 상의 두 호스트는 동일한 IP 주소를 사용할 수 없다.
ex) 192.168.123.132
포트 주소
프로세스에 할당된 레이블을 의미하며, 주소 길이는 16비트이다.
ex) :80 은 웹사이트 포트를 주로 의미한다.
응용 지정 주소
사용자에게게 친근한 주소를 사용하며, 이들 주소는 보내는 컴퓨터에 의해 대응되는 포트와 논리 주소로 변경된다.
ex) www.amazon.com
'CS > 네트워크' 카테고리의 다른 글
[네트워크] 애플리케이션 계층-4 (0) | 2023.04.21 |
---|---|
[네트워크] 애플리케이션 계층-3 (2) | 2023.04.17 |
[네트워크] 애플리케이션 계층-2 (0) | 2023.04.17 |
[네트워크] 애플리케이션 계층-1 (0) | 2023.04.16 |
[네트워크] 컴퓨터 네트워크와 인터넷 (2) | 2023.04.15 |