[네트워크] 3-way Handshake
·
네트워크
TCP 연결은 어떻게 수립되는가 – 3-way Handshake 정리TCP는 신뢰성 있는 데이터 전송을 위해 연결 수립 전, 통신 쌍방 간 협상을 거치는 절차를 수행합니다.이를 3-way handshake 라고 부릅니다. 이름 그대로 3번의 패킷 교환을 통해 연결이 설정됩니다. 전체 흐름 요약1단계: 클라이언트 → 서버로 SYN 전송클라이언트는 연결을 요청하기 위해 SYN 플래그가 설정된 세그먼트를 서버에 전송합니다.이때 클라이언트는 CLOSED 상태에서 SYN-SENT 상태로 전환됩니다.이 요청에는 클라이언트의 초기 시퀀스 번호(ISN, Initial Sequence Number)가 포함됩니다. 2단계: 서버 → 클라이언트로 SYN-ACK 응답서버는 LISTEN 상태에서 클라이언트의 SYN을 수신하고..
[네트워크] 4-way Handshake
·
네트워크
4-way Handshake TCP 연결은 시작할 때도 복잡하지만, 끊을 때도 그만큼 절차가 필요합니다. 단순히 “연결 끊자” 하고 바로 종료되는 게 아니라, 양쪽이 모두 종료 의사를 밝히고, 이를 서로 확인하는 절차가 필요하죠. 바로 이것이 4-way handshake입니다. 4-way Handshake 과정1단계: 클라이언트가 먼저 연결 종료 요청애플리케이션이 더 이상 데이터를 보낼 필요가 없어지면, 클라이언트는 운영체제에게 "연결을 닫자"고 요청합니다. 그러면 클라이언트는 TCP 레벨에서 FIN 패킷을 서버에 전송합니다. 이 시점부터 클라이언트는 FIN-WAIT-1이라는 상태에 들어갑니다. 말 그대로 "FIN을 보냈고, 상대방의 반응을 기다리는" 상태죠.서버는 이 FIN 패킷을 받고 "알았어"라는..
[네트워크] TCP Taehoe VS TCP Reno
·
네트워크/컴퓨터네트워크
TCP의 혼잡 제어 방식의 발전TCP의 제어 방법에는 수신자의 버퍼가 넘치지 않도록 데이터의 전송을 조절하는 **흐름 제어(Flow Control)**와 네트워크 혼잡에 따라 데이터의 양을 조절하는 혼잡 제어(Congestion Control) 등이 있습니다. 먼저 TCP의 특징에 대해서 알아봅시다모든 프로세스가 전송자와 수신자가 될 수 있습니다송신하는 측과 연결을 먼저 한 후 통신합니다전송자는 수신자가 받을 수 있는 데이터 양을 초과해서 보내지 않습니다 TCP는 애초에 하나의 모델만 존재했을까요?TCP는 처음부터 하나의 모델만 존재했던 것이 아니라, 네트워크 환경과 요구사항에 따라 여러 혼잡 제어 알고리즘이 개발되었습니다. 초기 TCP 구현에서는 혼잡 제어 기능이 없었지만, 1980년대 후반부터 혼잡 ..
[네트워크] IPv4와 IPv6 그리고 체크섬
·
네트워크/컴퓨터네트워크
IPv4의 등장 배경과 문제점IPv4의 탄생IPv4는 1981년에 처음 정의되었으며, 인터넷이 대중화되기 전이었기 때문에 43억 개의 주소로도 충분할 것이라 예상되었습니다.그러나 1990년대 후반부터 인터넷 사용이 폭발적으로 증가하면서 IPv4 주소가 부족해지는 문제가 발생했습니다.IPv4란?IPv4는 32비트 주소 체계로, 약 43억 개(2³²)의 주소를 가질 수 있습니다.IP 주소는 8비트 단위로 4개로 나뉘며, 점(.)으로 구분됩니다.예를 들어:192.168.1.1하지만 인터넷 사용자 수가 급증하면서 IPv4 주소가 부족해졌고, 이를 해결하기 위해 NAT(Network Address Translation), 서브넷팅 등의 기술이 사용되고 있습니다.IPv4의 문제점주소 부족 문제 → NAT 사용 증가..
[네트워크] MTU와 MSS
·
네트워크/컴퓨터네트워크
MTU와 MSS는 각 계층에서 통과할 수 있는 데이터의 최대 크기를 뜻한다.아래 사진처럼 트럭(데이터)의 높이가 정해진 터널(계층)의 높이보다 크다면 트럭(데이터)은 통과할 수 없다. MTU (Maximum Transmission Unit)정의: 네트워크에서 전송할 수 있는 최대 패킷 크기(바이트 단위).기본 값: 이더넷에서는 1,500바이트.포함 항목: IP 헤더 + TCP/UDP 헤더 + 데이터.MTU보다 큰 데이터 전송 시: 패킷을 여러 개로 나누는 패킷 단편화(fragmentation) 발생.MSS (Maximum Segment Size)정의: TCP에서 한 번에 보낼 수 있는 최대 데이터 크기(바이트 단위).계산 공식MTU가 1,500바이트인 경우,IP 헤더(20B) + TCP 헤더(20B) →..
[HTTP 완벽 가이드] 10. HTTP/2.0
·
네트워크/HTTP 완벽 가이드
HTTP/2.0에서 회전 지연(RTT, Round Trip Time) 회피 방법HTTP/2.0은 스트림(Stream) 개념을 추가하고, 헤더 압축(HPACK) 및 서버 푸시(Server Push) 기능을 통해 HTTP/1.1에서 발생하는 회전 지연(RTT) 문제를 효과적으로 해결하였다. 1. 스트림(Stream)과 다중화(Multiplexing)스트림이란?HTTP/2.0에서는 하나의 TCP 커넥션 내에서 여러 개의 요청과 응답을 동시에 주고받을 수 있도록 스트림(Stream) 개념을 도입했다.각 스트림은 고유한 번호(31비트 부호 없는 정수) 를 가지며, 한 번 사용한 스트림 번호는 재사용할 수 없다.스트림에는 우선순위(priority) 를 설정할 수 있지만, 이는 필수 사항이 아니다.다중화(Multip..
[HTTP 완벽 가이드] 01. HTTP 개관
·
네트워크/HTTP 완벽 가이드
HTTPHypertext Transfer Protocol이며, 인터넷의 멀티 미디어 배달부HTTP는 신뢰성 있는 프로토콜을 사용하기에 데이터가 전송 중 손상되거나 꼬이지않았음을 보장한다. 웹 클라이언트와 서버리소스정적 리소스: 예시로 텍스트 파일, HTML 파일, JPEG 이미지 파일, AVI 동영상 파일 등이 존재한다.동적 리소스: 사용자, 요청 정보, 시간대에 달라지는 콘텐츠, 정적인 컨텐츠의 반대 미디어 타입MIME 타입(MultiPurpose Internet Mail Extensions)HTTP 객체 데이터에 MIME 타입을 붙이는데 이를 통해 브라우저는 다룰 수 있는 객체인지 판단한다.MIME 타입은 사선으로 구분된 주 타입과 부 타입으로 이루어진 문자열 라벨이다: {주 타입}/{부 타입}아래 ..
개발자 성현
'네트워크' 카테고리의 글 목록