개발/Network27 DNS CH5-01.DNS 네트워크 상에서 호스트를 특정 지을 수 있는 주소 MAC 주소(물리 주소) IP 주소(논리적 주소) IP/MAC 주소를 모두 알고 있기 어렵다 그리고 IP 주소는 언제든 변경 될 수 있다. DNS는 전화번호부와 유사한 기능을 한다. 사람이 기억하기 쉬운 도메인 이름과 호스트를 특정지을 주소를 매핑 도메인 : 호스트에 부여되는 문자열 이름 계층적 도메인 구조 서브 도메인(하위 도메인) 도메인의 일부인 도메인 EX) naver.com → map.naver.com 각 도메인을 담당하는 도메인 서버 ROOT 네임 서버 TLD 서버 Authoritative DNS 서버 : 찾고자 하는 도메인의 IP 주소를 저장하는 최종 서버 → 찾은 내용을 최종적으로 저장하는 서버 local DNS 서버 : .. 2024. 1. 30. TCP의 혼잡 제어와 흐름 제어 CH4-08. TCP의 혼잡 제어와 흐름 제어 파이프 라이닝 전송에서 송수신 입장에서는 무엇을 고려해야 할까? TCP 흐름 제어 송신 버퍼와 수신 버퍼 송신 버퍼 : 애플리케이션 계층에서 전송할 데이터 임시 저장되는 공간 수신 버퍼 : 네트워크 계층에서 수신할 데이터 임시 저장되는 공간 보낼 수 있는 양과 받을 수 있는 양은 한번에 한계가 있다, 보낼 것은 송신 버퍼에 담겨서 수신 버퍼로 간다. 송신 호스트가 수신 호스트가 처리할 수 잇는 수신 버퍼보다 더 많은 데이터를 전송하면? → 버퍼 오버플로우 : 일부 데이터가 처리 되지 않을 수 있다. TCP 흐름 제어 송신 호스트가 수신 호스트 처리 속도를 고려하며 송수신 속도를 균일하게 맞추는 것 오늘날 TCP 에서의 흐름 제어 → 슬라이딩 윈도우(slidi.. 2024. 1. 30. 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. 이전 1 2 3 4 다음