⭐TCP/IP(Transmission Control Protocol/Internet Protocol) 4 계층 모델
네트워크에서 사용되는 통신 프로토콜의 집합
계층들은 프로토콜의 네트워킹 범위에 따라 네 개의 추상화 계층으로 구성
1. 계층 구조?
계층이 나뉘어져 있는 이유
특정 계층이 변경되었을 때 다른 계층이 영향을 받지 않도록 유연하게 설계됨
✨애플리케이션 계층 (application)
FTP, HTTP, SSH, SMTP, DNS 등 응용 프로그램이 사용되는 프로토콜 계층
웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공하는 층
- FTP
장치와 장치 간의 파일을 전송하는 데 사용되는 표준 통신 프로토콜
- SSH
보안되지 않은 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜
- HTTP
World Wide Web을 위한 데이터 통신의 기초이자 웹 사이트를 이용하는 데 쓰는 프로토콜
- SMTP
전자 메일 전송을 위한 인터넷 표준 통신 프로토콜
- DNS
도메인 이름과 IP 주소를 매핑해주는 서버
✨전송 계층 (transport)
송신자와 수신자를 연결하는 통신 서비스를 제공
연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어를 제공
애플리케이션과 인터넷 계층 사이의 데이터가 전달될 때 중계 역할 ex) TCP, UDP
TCP
- 패킷 사이의 순서를 보장
- 연결지향 프로토콜을 사용
- 신뢰성을 구축해서 수신 여부를 확인
- ‘가상회선 패킷 교환 방식’ 사용
*가상회선 패킷 교환 방식 : 각 패킷에는 가상회선 식별자가 포함되며 모든 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 ‘순서대로’ 도착하는 방식
UDP
- 순서를 보장하지 않음
- 수신 여부를 확인하지 않음
- 단순히 데이터만 주는 ‘데이터그램 패킷 교환 방식’ 사용
*데이터그램 패킷 교환 방식 : 패킷이 독립적으로 이동하며 최적의 경로를 선택하여 가는데, 하나의 메시지에서 분할된 여러 패킷은 서로 다른 경로로 전송될 수 있어 도착한 ‘순서가 다를 수’ 있는 방식
TCP 연결 성립 과정
TCP는 신뢰성을 확보할 때 ‘3-웨이 핸드셰이크(3-way handshake)’라는 작업을 진행
1. SYN 단계 : 클라이언트는 서버에 클라이언트의 ISN(새로운 TCP 연결의 첫 번째 패킷에 할당된 임의의 시퀀스 번호)을 담아 SYN을 보냄
2. SYN + ACK 단계 : 서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 보내며 승인번호로 클라이언트의 ISN + 1을 보
3. ACK 단계 : 클라이언트는 서버의 ISN + 1 한 값인 승인번호를 담아 ACK를 서버에 보냄
이 과정 이후 신뢰성이 구축되고, 데이터 전송을 시작
(TCP: 이 과정이 있기 때문에 신뢰성이 있는 계층, UDP: 이 과정이 없기 때문에 신뢰성이 없는 계층)
TCP 연결 해제 과정
TCP가 연결을 해제할 때는 4-웨이 핸드셰이크(4-way handshake) 과정이 발생
1. 클라이언트가 연결을 닫으려고 할 때 FIN으로 설정된 세그먼트를 보냄
클라이언트는 FIN_WAIT_1 상태로 들어가고 서버의 응답을 기다림
2. 서버는 클라이언트로 ACK라는 승인 세그먼트를 보내고 CLOSE_WAIT 상태에 들어감
클라이언트가 세그먼트를 받으면 FIN_WAIT_2 상태에 들어감
3. 서버는 ACK를 보내고 일정 시간 이후에 클라이언트에 FIN이라는 세그먼트를 보냄
4. 클라이언트는 TIME_WAIT 상태가 되고 다시 서버로 ACK를 보내서 서버는 CLOSED 상태가 됨
이후 클라이언트는 어느 정도의 시간을 대기한 후 연결이 닫히고 클라이언트와 서버의 모든 자원의 연결이 해제됨
*TIME_WAIT
소켓이 바로 소멸되지 않고 일정 시간 유지되는 상태를 말하며 지연 패킷 등의 문제점을 해결하는 데 쓰임
데이터 정확성과 일관성을 유지하려는 "데이터 무결성"을 위함
✨인터넷 계층 (internet)
장치로부터 받은 네트워크 패킷을 IP 주소로 지정된 목적지로 전송하기 위해 사용되는 계층
ex) IP, ARP, ICMP 등
패킷을 수신해야 할 상대의 주소를 지정하여 데이터를 전달
상대방이 제대로 받았는지에 대해 보장하지 않는 비연결형적인 특징
✨링크 계층
== 네트워크 접근 계층
전선, 광섬유, 무선 등으로 실질적으로 데이터를 전달하고 장치 간에 신호를 주고받는 ‘규칙’을 정하는 계층
이를 물리 계층과 데이터 링크 계층으로 나누기도 함
물리 계층 : 무선 LAN과 유선 LAN을 통해 0과 1로 이루어진 데이터를 보내는 계층
데이터 링크 계층 : ‘이더넷 프레임’을 통해 에러 확인, 흐름 제어, 접근 제어를 담당하는 계층
유선 LAN(IEEE802.3)
- 유선 LAN을 이루는 이더넷은 IEEE802.3이라는 프로토콜을 따르며 전이중화 통신을 씀
*전이중화 통신(full duplex) : 양쪽 장치가 동시에 송수신할 수 있는 방식
- TP케이블(트위스트 페어 케이블 : 여덟 개의 구리선을 두 개씩 꼬아 만듦), 광섬유 케이블을 대표적으로 사용
*트위스트 페어 케이블 : 여덟개의 구리선을 두개씩 꼬아 만듦
*광섬유 케이블 : 레이저를 이용해 통신, 장거리 및 고속 통신이 가능, 100 Gbps의 데이터를 전송
무선 LAN(IEEE802.11)
- 무선 LAN 장치는 수신과 송신에 같은 채널을 사용하기 때문에 반이중화 통신을 사용
*반이중화 통신(half duplex) : 양쪽 장치는 서로 통신할 수 있지만, 동시에는 통신할 수 없으며 한 번에 한 방향만 통신할 수 있는 방식
- 비유도 매체인 공기에 주파수를 쏘아 무선 통신망을 구축하는데, 주파수 대역은 2.4 GHz 대역 또는 5 GHz 대역 중 하나구축
*2.4 GHz : 장애물에 강한 특성을 가지고 있지만 전자레인지, 무선 등 전파 간섭이 일어나는 경우가 많고
*5 GHz 대역 : 사용할 수 있는 채널 수도 많고 동시에 사용할 수 있음
- ex ) 와이파이(wifi) : 전자기기들이 무선 LAN 신호에 연결할 수 있게 하는 기술,
BSS(Basic Service Set) : 기본 서비스 집합을 의미. 단순 공유기를 통해 네트워크에 접속하는 것이 아닌 동일 BSS 내에 있는 AP들과 장치들이 서로 통신이 가능한 구조,
ESS(Extended Service Set) : 하나 이상의 연결된 BSS 그룹
이더넷 프레임
데이터 링크 계층은 이더넷 프레임을 통해 전달받은 데이터의 에러를 검출하고 캡슐화함
• Preamble: 이더넷 프레임이 시작임을 알림
• SFD(Start Frame Delimiter): 다음 바이트부터 MAC 주소 필드가 시작됨을 알림
• DMAC, SMAC: 수신, 송신 MAC 주소
• EtherType: 데이터 계층 위의 계층인 IP 프로토콜을 정의 ex) IPv4 또는 IPv6
• Payload: 전달받은 데이터
• CRC: 에러 확인 비트
계층 간 데이터 송수신 과정
캡슐화 과정
1. 애플리케이션 계층의 (데이터)
2. 전송계층에서 세그먼트 또는 데이터그램화 (TCP(L4) 헤더 + 데이터)
3. 인터넷 계층에서 패킷화 (IP(L3) + TCP(L4)헤더 + 데이터)
4. 링크 계층에서 프레임화 (프레임헤더 + IP(L3) + TCP(L4)헤더 + 데이터 + 프레임 트레일러)
비캡슐화 과정
1. 링크 계층 (프레임헤더 + IP(L3) + TCP(L4)헤더 + 데이터 + 프레임 트레일러)
2. 인터넷 계층에서 패킷화 (IP(L3) + TCP(L4)헤더 + 데이터)
3. 전송계층에서 세그먼트 또는 데이터그램화 (TCP(L4)헤더 + 데이터)
4. 애플리케이션 계층에서 메세지화 (데이터)
2. PDU (Protocol Data Unit)?
네트워크의 어떠한 계층에서 계층으로 데이터가 전달될 때 한 덩어리의 단위
PDU의 명칭
• 애플리케이션 계층: 메시지
• 전송 계층: 세그먼트(TCP), 데이터그램(UDP)
• 인터넷 계층: 패킷
• 링크 계층: 프레임(데이터 링크 계층), 비트(물리 계층)
'CS 전공지식 > 네트워크' 카테고리의 다른 글
5. HTTP (0) | 2023.07.26 |
---|---|
4. IP 주소 (0) | 2023.07.26 |
3. 네트워크 기기 (0) | 2023.07.19 |
1. 네트워크의 기초 (0) | 2023.07.19 |