<관련 포스팅>
[네트워크 계층 모델] OSI 7계층
[네트워크] TCP/UDP 차이(3, 4-way handshaking)
[네트워크] OSI 7계층 기기(허브, 브리지, 스위치, 라우터)
TCP/IP
정의
- TCP(Transmission Control Protocol)
- 패킷을 정상적으로 받을 수 있도록 하는 프로토콜
- 패킷 전달 여부를 보증하고, 패킷을 송신 순서대로 받게 해줌
- IP(Internet Protocol)
- 패킷 데이터를 특정 목적지 주소로 최대한 빨리 보내는 프로토콜
- 패킷 전달 여부를 보증하지 않으며, 패킷을 보낸 순서와 받는 순서가 다를 수 있음
- TCP/IP
- 두 가지 프로토콜 방식을 조합하여 인터넷 통신을 하는 것
- IP를 사용하여 송신자가 최대한 빠르게 패킷을 전송하면 TCP를 활용해 정상적으로 수신받음
특징
- ARPANET이 개발된 이후 인터넷의 발전 과정에서 대부분의 데이터 통신이 TCP/IP로 이루어짐
- 이를 이용해서 컴퓨터를 연결하는 체계를 이더넷(Ethernet)이라 부름
계층 구조
- 네트워크에서 사용되는 통신 프로토콜의 집합으로, 4개의 추상화 계층으로 구성됨
- 계층 구조는 서로의 영향을 받지 않도록 독립적으로 설계됨
- 다른 계층끼리는 전달 과정을 구체적으로 알 필요가 없어 데이터의 캡슐화와 은닉이 가능
애플리케이션 계층
- 데이터 단위(PDU): Data/Message
- 웹 서비스, 이메일 등 사용자와 가장 가까운 계층으로, 사용자가 SW 애플리케이션과 소통할 수 있게 해줌
- FTP, HTTP, SSH, SMTP, DNS 등의 응용 프로그램이 사용되는 프로토콜 계층
전송 계층
- 데이터 단위: Segment(실질적인 데이터 전송을 위해 일정 크기로 나눈 것)
전송 주소: Port - 통신 노드 간의 연결 제어 및 신뢰성 있는 자료 송수신을 담당
- 역캡슐화 과정에서, 데이터가 목적지 기기까지 정상적으로 도착한 후 전송 계층에서 포트 번호를 사용해 목적지 기기 내 적절한 애플리케이션으로 전달
- 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어, 혼잡 제어를 제공
- 흐름 제어: 보내는 측과 받는 측의 데이터 처리속도 차이를 조절해주는 것(수신 측 버퍼의 오버플로우를 방지)
- 혼잡 제어: 네트워크 내의 패킷 수가 넘치게 증가하지 않도록 방지하는 것
- TCP, UDP 프로토콜을 통해 통신을 활성화
인터넷 계층
- 데이터 단위: Packet
전송 주소: IP - 패킷을 최종 목적지까지 라우팅하는 계층(경로 설정)
- 상대방이 제대로 받았는지에 대해 보장하지 않는 비연결형적인 특징
- 출발지와 목적지의 논리적 주소를 지정하여 데이터를 패킷 단위로 전달
- IP, ARP, ICMP 등이 있음
링크 계층/네트워크 접근 계층
- 데이터 단위: Frame(데이터 전송을 하기 전 패킷 헤더에 MAC 주소와 오류 검출을 위한 부분을 첨부)
전송 주소: MAC - 데이터를 전기 신호로 변환한 뒤, 물리적 주소인 MAC 주소를 사용해 알맞은 기기로 데이터를 전달하는 계층
- 링크 계층을 물리적 계층과 데이터 링크 계층으로 나눠 총 5 계층으로 나누기도 함
- 물리적 계층(Physical Layer): 하드웨어적 측면의 기능을 담당하며, 무선 LAN과 유선 LAN을 통해 0과 1로 이루어진 데이터를 보내는 계층
- 데이터 계층(Data Link Layer): 네트워크 간의 데이터 전송을 담당하며, ‘이더넷 프레임’을 통해 에러 확인, 흐름 제어, 접근 제어를 담당하는 계층
이더넷 프레임
- 데이터 링크 계층은 이더넷 프레임을 통해 전달받은 데이터의 에러를 검출하고 캡슐화하며 다음과 같은 구조를 가짐
계층 간 송수신 과정
- 애플리케이션 계층에서 전송 계층으로 송신자의 요청 값들이 캡슐화 과정을 거쳐 전달
- 해당 서버의 링크 계층으로부터 애플리케이션까지 비캡슐화 과정을 거쳐 데이터가 전송됨
캡슐화 과정
- 상위 계층의 헤더와 데이터를 하위 계층의 데이터 부분에 포함시키고 해당 계층의 헤더를 삽입하는 과정
- 애플리케이션 계층의 데이터가 전송 계층으로 전달되면서 ‘세그먼트’ 또는 ‘데이터그램’화 되며 TCP(L4) 헤더가 붙여짐
- 인터넷 계층으로 가며 IP(L3) 헤더가 붙여지게 되며 ‘패킷’화됨
- 링크 계층으로 전달되며 프레임 헤더와 프레임 트레일러가 붙어 ‘프레임’화가 됨
비캡슐화 과정
- 하위 계층에서 상위 계층으로 가며 각 계층의 헤더 부분을 제거하는 과정
- 링크 계층에서부터 타고 올라오며 프레임화된 데이터는 다시 패킷화를 거쳐 세그먼트, 데이터그램화를 거쳐 메시지화가 됨
- 이후 최종적으로 사용자에게 애플리케이션의 PDU인 메시지로 전달
PDU
- 계층 간에 데이터가 전달될 때 한 덩어리의 단위를 PDU(Protocol Data Unit)이라고 함
- 제어 관련 정보들이 포함된 ‘헤더’, 데이터를 의미하는 ‘페이로드’로 구성되어 있으며 계층마다 부르는 명칭이 다름
- 애플리케이션 계층: 메시지
- 전송 계층: 세그먼트(TCP), 데이터그램(UDP)
- 인터넷 계층: 패킷
- 링크 계층: 프레임(데이터 링크 계층), 비트(물리 계층)
- 비트로 송수신하는 것이 모든 PDU 중 가장 빠르고 효율성이 높음
- 애플리케이션 계층에서는 헤더에 authorization값 등 다른 값을 넣는 확장이 쉽기 때문에 문자열을 기반으로 송수신함
References
'Computer Science > 네트워크' 카테고리의 다른 글
[네트워크] TCP/UDP 차이(3, 4-way handshaking) (0) | 2023.01.25 |
---|---|
[네트워크 계층 모델] OSI 7계층 (0) | 2023.01.24 |
[네트워크 기초] 네트워크 토폴로지(Network Topology) (0) | 2023.01.23 |
[네트워크 기초] 허브, 스위치, 라우터 차이점 (0) | 2023.01.23 |
[네트워크 기초] 네트워크란? 기본 개념 (0) | 2023.01.21 |