전송계층 : 네트워크 계층과 응용 계층 사이에 위치한다. IP의 한계를 보완하는 전송 계층으로 신뢰할 수 있는 연결형 통신이 가능한 프로토콜(TCP)과 신뢰할 수 없는 비연결형 통신이 가능한 프로토콜(UDP)을 제공한다. 이를 통해 네트워크 계층의 한계를 보완할 수 있고 포트를 통해 응용 계층의 애플리케이션을 식별함으로써 응용 계층과의 연결 다리 역할을 수행한다.
신뢰할 수 없는 통신 : 패킷이 수신지까지 제대로 전송되었다는 보장을 하지 않는 통신 특성. 다른 말로는 최선형 전달(best effort delivery)
비연결형 통신 : 송수신 호스트 간에 사전 연결 수립 작업을 거치지 않는 통신 특성.
포트(Port) : 응용 계층의 애플리케이션 프로세스를 식별하는 정보. 잘 알려진 포트, 등록된 포트, 동적 포트가 있다.
- 잘 알려진 포트 0~1023
- 등록된 포트 1024~49151
- 동적 포트 49152~65535
포트 번호는 일반적으로 IP 주소:포트 번호 형식으로 표기되는 경우가 많다. ex) 192.168.0.15:8000
NAT(Netword Address Translation) : IP 주소를 변환하는 기술
포트기반 NAT인 NAPT(Network Address & Port Translation) : NAT 테이블에 변환될 IP 주소 쌍과 더불어 포트 번호도 함께 기록한다.
포트 포워딩(Port forwarding) : 네트워크 내 특정 호스트에 IP 주소와 포트 번호를 미리 할당, 해당 IP주소:포트 번호로써 해당 호스트에게 패킷을 전달하는 기능. 주로 네트워크 외부에서 네트워크 내부로 통신을 시작할 때, 네트워크 내부의 서버를 외부에서 접속할 수 있도록 접속 정보를 공개하기 위해 자주 사용된다.
ICMP(Internet Control Message Protocol) : IP 패킷의 전송 과정에 대한 피드백 메시지(이하 ICMP 메시지)를 얻기 위해 사용하는 프로토콜. ping은 네트워크 상태를 진단하는 가장 기본적인 명령어, 대표적인 ICMP 기반 명령어. (ICMP의 에코 요청, 에코 응답 메시지를 기반으로 구현됨)
MSS(Maximum Segment Size) : TCP로 전송 가능한 최대 페이로드 크기
TCP 세그먼트 : 송신지 포트, 수신지 포트, 순서 번호, 확인 응답 번호, 제어 비트, 윈도우등의 필드가 있다.
순서 번호 : TCP 세그먼트의 순서를 나타내기 위한 정보
확인 응답 번호 : 수신 호스트가 다음으로 받기를 희망하는 순서 번호
TCP : 쓰리 웨이 핸드셰이크로 연결을 수립한다. CLOSED, ESTABLISHED, LISTEN 등 다양한 상태를 통해 현재 어떤 통신 과정에 있는지를 나타내는 스테이트풀 프로토콜
UDP : 비연결형 통신을 수행하는 신뢰 할 수 없는 프로토콜, 스테이트리스 프로토콜의 일종이다.
UDP 데이터그램 : 송신지 포트, 수신지 포트, UDP 길이, 체크섬 필드가 있다.
RTT : 송신 호스트가 세그먼트를 전송한 뒤 그에 대한 답변을 받는 데까지 걸리는 시간
ARQ : TCP의 재전송 기법. 수신 호스트의 답변(ACK)과 타임아웃 발생을 토대로 문제를 진단하고 문제가 생긴 메시지를 재전송함으로써 신뢰성을 확보한다.
오류 제어를 위한 재전송 기법 : Stop-and-Wait ARQ, Go-Back-N ARQ, Selective Repeat ARQ가 있다.
흐름 제어 : 수신자의 처리 속도를 고려하며 전송하는 방식으로 TCP는 이를 위해 슬라이딩 윈도우를 사용한다.
혼잡 제어 : 네트워크 혼잡도를 판단하고 혼잡한 정도에 따라 전송량을 조절하는 방식, 느린 시작, 혼잡 회피, 빠른 회복등의 알고리즘이 사용될 수 있다.
ECN(Explicit Congestion Notification) 명시적 혼잡 알림 : 혼잡을 회피하기 위해 네트워크 중간 장치(주로 라우터)의 도움을 받는 방법. 수신 호스트의 ACK 세그먼트를 통해 더 빠르게 혼잡 감지, 일반적으로 세 번의 중복된 ACK 세그먼트 수신 이후나 타임아웃 발생 후의 혼잡 제어 방식에 비해 더 빠르다.
✏ 숙제
Chapter4-1 확인 문제 1번
IP와 연결된 통신 특성으로 알맞은 단어는 비연결형 특성입니다. IP는 신뢰할 수 없는 프로토콜이자 비연결형 프로토콜입니다. IP를 통한 패킷 전달은 신뢰성이 없는 통신, 연결을 수립하는 과정이 없는 통신으로 전송 계층이 존재하는 이유와도 직결됩니다.
Chapter4-2 확인 문제 2번
ACK 세그먼트입니다.
송수신 방향 A->B로 호스트 A의 다음 순서 번호, 호스트 B가 전송한 세그먼트에 대한 확인 응답 번호, 1로 설정된 ACK 비트가 세그먼트에 포함되어 있습니다.
✏ 추가 숙제
작업관리자에서 프로세스별 PID 확인해보기
Ctrl + Shift + Esc 단축키로 윈도우 작업 관리자를 열고, 세부정보 탭을 누르면 됩니다.
크롬은 11840, 29228, 17456
디스코드는 33380, 24552, 24584등의 PID를 확인할 수 있었습니다.
PID는 프로세스가 실행될 때마다 새로 부여되므로 고유성을 보장하지만 일시적이라는 사실을 알 수 있었습니다. 따라서 위에 제가 작성한 PID값은 다른 사람의 컴퓨터나, 심지어 제 컴퓨터에서 재부팅 후에도 다른 값으로 나타날 수 있습니다.
'network' 카테고리의 다른 글
[혼공네트] - Chapter 06 실습으로 복습하는 네트워크, Chapter 07 네트워크 심화 (2) | 2025.08.17 |
---|---|
[혼공네트] - Chapter 05 응용 계층 (3) | 2025.08.10 |
[혼공네트] - Chapter 03 네트워크 계층 (0) | 2025.07.20 |
[혼공네트] - Chapter 02 물리 계층과 데이터 링크 계층 (0) | 2025.07.13 |
[혼공네트] - Chapter 01 네트워크 시작하기 (0) | 2025.07.06 |