본문 바로가기

개발137

TCP 재전송 기능 CH4-07. TCP 재전송 기능 TCP는 신뢰성 프로토콜 무엇인가를 확실히 전송했다는 보장이 있으려면? 재전송 기반의 오류제어 : 잘못 전송된 경우 재전송 흐름 제어 : 받을 수 있을 만큼만 받기 혼잡 제어 : 보낼 수 있는 상황에서만 보내기 잘못 전송 된 경우(패킷이 유실된 경우)에 언제 잘못 되었음을 인지할까? 중복된 ACK 세그먼트를 수신 했을 때 → 손실이 난 부분 에서는 호스트 B는 n+1 세그먼트를 받길 예상하고있다. 그래서 손실을 알리기 위해 중복된 세그먼트를 다시 전송 타임아웃이 발생했을 때 → 재전송 타이머으로 알 수 있다. → 액티브 오픈 호스트에서 세그먼트 전송 할때 타이머를 시작하고 패시브 오픈 호스트에서 중간에 유실되서 못받아서 응답시간이 길어지면 타이머가 끝나서 타임아웃이 발생.. 2024. 1. 30.
TCP 상태 CH4-06. TCP 상태 TCP는 연결형 프로토콜과 동시에 stateful 프로토콜 : 상태를 유지하는 프로토 상태 : 현재 어떤 연결 상태인지 나타냄 현재 연결 상태를 나타내기 위해 다양한 상태 활용 UDP는 stateless 프로토콜 : 상태를 유지하지 않는다 CLOSED : 아무런 연결이 없는 상태 LISTEN, SYN-SENT, SYN-RECEIVED : 연결 수립 도중 사용되는 상태 LISTEN : SYN 세그먼트를 기다리는 상태(서버 호스트) SYN-SENT : SYN 세그먼트를 보낸 뒤 SYN + ACK 세그먼트 대기 SYN-RECEIVED : SYN + ACK 세그먼트를 보낸 뒤 그,에 대한 ACK 대기 ESTABLISHED : 데이터 송수신이 가능한 상태, 연결 되어 있는 상태, 3 W.. 2024. 1. 30.
TCP 연결 CH4-05. TCP 연결 TCP는 연결형 프로토콜 연결 설정 → 3 way handshake : 연결 수립 과정 데이터 송수신 연결 종료 호스트 A → 엑티브 오픈 호스트 : 연결을 처음 시작하는 호스트 호스트 B → 패시브 오픈 호스트 : 연결 요청을 수락하는 호스트 3 way handshake 과정 연결 시작을 위해 엑티브 오픈 호스트에서 패시브 오픈 호스트로 SYN 세그먼트 전송 패시브는 확인과 연결 시작을 위해 SYN + ACK 세그먼트를 전송 액티브는 확인의 의미로 ACK 세그먼트 전송 액티브 클로즈 호스트 : 처음 연결 종료 요청하는 호스트 패시브 클로즈 호스트 : 연결 종료 요청을 받는 호스트 연결 종료 과정 액티브 클로즈 호스트에서 연결을 끊는 다는 의미인 FIN 세그먼트를 패시브 클로즈.. 2024. 1. 30.
TCP와 UDP CH4-03. TCP와 UDP MSS : TCP 세그먼트로 보낼 수 있는 최대 크기 TCP 세그먼트 구조 출발지, 목적지 포트 : 세그먼트 전송을 위해서 포함 순서 번호 : 송수신 되는 세그먼트 데이터 첫 바이트에 부여되는 번호, 누락되는 세그먼트가 없기 위해서 순서대로 보내기 위해 붙인다. 확인 응답 번호 : 순서 번호에 대한 응답(다음으로 수신 받길 기대하는 바이트 번호), 수신 확인 및 다음에 보내야 할 바이트를 알 수 있다.(Acknowledgement) 제어 비트 ACK : 세그먼트 승인을 나타내는 비트 SYN : 연결 수립을 위한 비트 , 연결 지향형(TCP) FIN : 연결을 끝내기 위한 비트, 연결 지향형(TCP) RST : 연결을 리셋하기 위한 비트 윈도우 : 수신지 윈도우 크기, 한 번.. 2024. 1. 30.
포트 CH4-01. 포트 전송 계층의 역할 응용 계층의 어플리케이션 프로세스 식별 → port를 통해서 네트워크 계층의 신뢰성/연결성 확립 , IP의 한계 극복(비 신뢰성, 비 연결성) 포트 : 애플리케이션 프로세스를 식별 해주는 고유한 문자열(패킷이 어느 프로세스로 가야할 지 알려주는 번호) 포트 번호는 16비트로 표현 가능(65536개) 포트 범위 : 0번 부터 65535번 까지 잘 알려진 포트 : 0~1023 등록된 포트, : 1024~49151, 잘 알려진 포트에 비해서는 덜 범용적이지만 흔히 사용되는 애플리케이션 동적 포트 : 49152~65535, 사용자가 자유롭게 할당 가능한 포트 서버는 일반저긍로 잘 알려진 포트와 등록된 포트로 동작 클라이언트는 일반적으로 동적 포트로 동작 NAT : 공인 IP.. 2024. 1. 30.
라우팅 CH3.07. 라우팅 네트워크 계층 장비 - 라우터 라우팅 : 패킷이 이동할 최적 경로 설정, 해당 경로로 패킷 이동 라우팅 프로토콜 : 라우팅을 수행하는 방법 홉 : 라우터와 라우터 간의 패킷 이동 과정 홉 바이 홉 라우팅 : 최종적인 호스트 까지 패킷을 한 홉씩 건너가며 전달하는 과정 디폴트 게이트 웨이 : 같은 네트워크(LAN, 사설 네트워크)내의 호스트가 가장 먼저 인터넷에 뻗어나가기 위해 거치는 호스트 라우팅 테이블 특정 목적지까지 도달하기 위한 정보를 명시하는 표와 같은 정보 대표적인 정보 : 목적지 주소, 서브넷 마스크, 게이트 웨이(다음 홉 위치), 인터페이스(내보낼 곳), 메트릭(경로 선택에 따른 비용) 롱기스트 프리픽스 매치 : 여러 라우팅 테이블 항목과 일치할 경우 가장 길게 일치하는.. 2024. 1. 30.
IP 주소의 분류 CH3.06. IP 주소의 분류 IP 주소는 고유한가? 그렇기도 하고 아니기도 하다 공인 IP 주소 : 인터넷 사용할 때 사용하는 고유한 주소 사설 IP 주소 : 사설 네트워크 내에서 사용하는 고유하지 않은 주소 NAT : 공인 IP 주소와 사설 IP 주소 간의 변환 기능 ( 공유기) 하나의 공인 IP 주소를 여러 사설 IP 주소가 공유 가능 IP 주소 부족 문제 해결 정적 IP 주소와 동적 IP 주소 IP 주소의 할당 방법 : 정적 할당과 동적 할당 정적 IP 주소 : 정적 할당된 IP 주소 (고정) → IP 주소 부여 방식을 직접 할당하는 방식 동적 IP 주소 : 동적 할당된 IP 주소 (유동적) → DHCP 프로토콜을 사용해서 자동으로 IP를 할당 받을 수 있다. DHCP 동적 IP 주소를 할당하기.. 2024. 1. 30.
IP 주소 CH3.05. IP 주소 IP 주소의 구성 : 네트워크 주소(네트워크 식별 정보), 호스트 주소(호스트 식별 정보) MAC 주소의 구성 : 제조사 번호, 일련 번호(비트 수 24/24 고정) IP 주소와 MAC 주소의 차이 MAC은 주소 크기가 고정, IP는 고정되어있지 않다(유동적) → 네트워크를 줄이면 호스트를 더 많이 할당 가능, 네트워크를 늘리면 호스트를 더 적게 할당해서 네트워크 증가 가능 클래스 풀 주소 체계 : 주소를 네트워크 주소와 호스트 주소로 나눠서 관리 하는 체계, 클래스라고 하는 정형화된 크기의 클래스로 네트워크를 나눠서 사용 호스트 주소부가 0으로 이루어져 있으면 네트워크 주소를 나타내기 위한 특별한 주소 호스트 할당 불가, 1로 이루어져 있으면 브로드캐스트 주소를 보여주고 호스트.. 2024. 1. 30.