TCP/IP
OSI 모델 7계층을 4계층으로 바꾼 모델을 TCP/IP 모델이라고 한다.
인터넷에서 표준으로 사용되고 있는 네트워크 프로토콜(규칙)을 의미한다. TCP/IP는 IP(Internet Protocol)을 중심으로 한 여러 프로토콜의 집합체로, TCP/IP 5계층 혹은 TCP/IP 4계층(링크계층과 물리계층을 하나의 계층으로 보는 경우)으로 불린다.
TCP
- 신뢰성 있는 패킷 전달을 지원
- IP 프로토콜을 이용해 전달된 패킷의 신뢰성을 보장
- 신뢰성, 연결지향 프로토콜
- 데이터의 안전한 도착을 확인
- 연결 설정과 해제 과정이 존재
- 포트 번호 사용
IP
- 라우터간 이동을 통해 호스트를 찾아가는 역할 담당
- 타겟 서버에 패킷 전달 담당
- 비신뢰성, 비연결형 프로토콜
- best-effort 방식
TCP/IP 5계층
TCP/IP 5 계층은 네트워크의 기본 구조를 5개의 계층으로 나눠서 표준화한 것이다. 네트워크를 이용한 통신은 서로 다른 역할을 갖고 있는 5개의 계층을 통해 일어난다.
애플리케이션 계층(Application Layer, L5)
네트워크 애플리케이션과 애플리케이션 계층 프로토콜이 있는 곳이다. HTTP, SMTP, FTP와 같은 많은 프로토콜을 포함한다. 도메인 주소를 32비트 네트워크 주소로 변환하는 기능을 위한 DNS(Domain Name Server)를 지원한다.
트랜스포트 계층(Transport Layer, L4)
네트워크 계층에서 보내온 데이터 정렬, 오류 정정 등을 수행하고 신뢰할 수 있는 통신을 확보한다. TCP/UDP 같은 프로토콜이 이 계층에 위치한다.
네트워크 계층(Network Layer/IP Layer, L3)
다른 네트워크에 있는 목적지에 데이터를 전송하는 역할을 수행한다. 즉, 네트워크 간의 통신을 가능하게 해주는 역할을 수행한다. 이를 위해, 라우터(router) 장비와 IP 프로토콜(오직 하나만 존재), 라우팅 프로토콜이 사용된다. 라우터는 다른 네트워크와 통신하기 위해 경로를 설정하고 논리주소를 결정하는 역할을 수행한다.(경로설정)
링크 계층(Data Link Layer, L2)
네트워크 기기 간 데이터 전송 및 물리 주소를 결정하는 역할을 수행한다. 주로 건물이나 특정 지역을 범위로 하는 네트워크인 랜(LAN)에서 데이터를 정상적으로 주고받기 위해 필요한 계층이다. 데이터 링크 계층에서는 일반적으로 이더넷(Ethernet) 프로토콜이 사용되며, 스위치(switch) 같은 장치가 사용된다.
물리 계층(Physical Layer, L1)
물리적인 연결과 전기 신호 변환/제어를 담당하여, 이진 데이터를 전기 신호로 변환한다. 또한 컴퓨터와 네트워크 장비를 물리적으로 연결하여, 하나의 노드에서 다른 노드로 비트를 이동시키는 역할을 수행한다. 물리 계층의 프로토콜들은 링크(실제 전송매체 ex.광케이블)에 의존한다.
데이터 송신
- 응용 계층에서 요청 데이터가 만들어진다. 애플리케이션 계층 패킷을 메시지(message)라고 한다.
- 전송 계층에서 신뢰할 수 있는 통신을 구현하기 위한 헤더를 데이터에 붙인다. 이렇게 만들어진 트랜스포트 계층 패킷을 세그먼트(segment)라고 한다.
- 네트워크 계층에서 다른 네트워크와 통신하기 위한 헤더를 세그먼트에 붙인다. 이렇게 만들어진 네트워크 계층의 패킷을 데이터그램(datagram)이라 한다.
- 데이터 링크 계층에서 물리적인 통신 채널을 열기 위해 패킷에 헤더와 트레일러를 붙인다. 여기서 트레일러는 데이터를 전달할 때 데이터 끝부분에 붙이는 정보로, 주로 에러 검출에 쓰인다. 이렇게 만들어진 링크 계층 패킷을 프레임(frame)이라 한다.
- 이렇게 만들어진 프레임을 최종적으로 물리 계층에서 0, 1의 비트로 구성된 전기 신호로 변환해 수신 컴퓨터 쪽에 전송한다.
데이터 수신
데이터를 수신할 땐 반대로 헤더를 차례대로 제거하면서 데이터를 전달하는 역캡슐화가 발생한다.
'Computer Science > Network' 카테고리의 다른 글
캡슐화와 역캡슐화란? (0) | 2024.02.25 |
---|---|
HTTP와 HTTPs, REST API와 RESTful API 란? (0) | 2023.01.13 |
IP, DNS, Port(포트), Server(서버) 란? (0) | 2023.01.13 |