카테고리 없음

[TIL] 모의 면접 준비

WooKGOD 2025. 1. 10. 19:46
반응형

다음주 월요일 오후에 모의면접이 있기에 오늘은 작업은 조금 하고 면접 내용을 읽어보고 준비하기로 했다.

 


 

오늘 학습한 내용

 

IP의 한계 : 비신뢰성, 비연결형 프로토콜

즉, IP를 통한 패킷 전달은 신뢰성이 없어 연결이 수립되지 않은 통신, 수신지까지 제대로 전송되었다는 보장을 하지 않는다는 특징

 

전송계층은 네트워크 계층의 한계를 보완함.

 

1. 전송계층은 연결형 통신

 

TCP라는 전송 프로토콜은 연결하기 전 가상의 회선을 설정하듯이 연결을 수립한다. 송수신 하는 동안은 연결을 유지하고, 송수신이 끝나면 연결을 종료함.

 

2. 전송계층은 신뢰성있는 통신

 

TCP는 패킷이 수신지까지 올바른 순서대로 확실히 전달되는 것을 보장하기 위해 재전송을 통한 오류제어, 흐름제어, 혼잡제어 등 다양한 기능을 제공한다.

 

 

하지만 신뢰성, 연결형 통신이 모든 상황에서 좋은 것은 아니며 전송계층에도 UDP라는 비연결형, 비신뢰성 통신을 가능하게 하는 프로토콜이 존재함.

 

 

응용계층과의 연결에 필요한 포트

 

패킷의 전송은 수신지의 호스트까지 전달했다고 해서 끝난 것이 아니다. 실제 사용자가 쓰고 있는 다른 애플리케이션에 전달되어야하는데 이때 패킷에는 수신할 애플리케이션의 정보가 포함되어 있어야 한다.

 

패킷이 실행중은 특정 애플리케이션까지 전달되기 위해 필요한 정보를 포트라고 하며 정확히는 패킷 내의 수신지 포트와 송신지 포트를 통해 송수신지의 호스트의 애플리케이션을 식별한다.

 

포트 번호 : 16비트

사용가능한 포트의 수 : 2의 16승, 0번부터 65535번까지 존재

포트의 종류 : 잘 알려진 포트(0~1023), 등록된 포트(1024~49151), 동적 포트(49152~65535)

 

서버로서 동작하는 프로그램의 포트 번호는 사전에 암묵적으로 정해진 경우가 많다.

클라이언트로서 동작하는 프로그램은 동적 포트 번호 중에서 임의의 번호가 할당되는 경우가 많다.

 

IP 주소와 포트 번호에 대한 정보가 함께 주어지면 특정 호스트에서 실행 중인 특정 애플리케이션 프로세스를 식별할 수 있게 된다.

그래서 포트 번호는 일반적으로 다음과 같이 IP주소:포트 번호 형식(ex 192.168.0.15:8000)으로 IP 주소와 함께 표기되는 경우가 많다.

 

 

 

NAT이란? IP 주소를 변환하는 기술, 주로 네트워크 내부에서 사용되는 사설IP와 외부에서 사용되는 공인IP를 변환하는데 사용된다.

 

NAT 변환 테이블에는 변환의 대상이 되는 IP주소 쌍이 명시되어 있으며 일대일 대응으로 이루어져있다.

하지만 이 방식으로 많은 사설 IP주소를 변환하기에는 무리가 있고 현재는 포트기반의 NAT인 NAPT를 사용한다.

 

NAPT란 포트를 이용해 여러개의 사설IP주소가 하나의 공인IP와 대응되게끔 하는 것으로 외부에서 사용할 IP주소가 같더라도 포트 번호가 다르면 네트워크 내부의 호스트를 특정할 수 있기에 다수의 사설 IP주소를 보다 적은 공인IP주소로 변환할 수 있게 된다.

 

 

TCP의 세그먼트 구조

 

1. 송수신지 포트번호 - 송수신지 식별

2. 순서 번호 - 순서 보장

3. 확인 응답 번호 - 상대 호스트가 보낸 세그먼트에 대한 응답, 수신하기를 기대하는 순서 번호

4. 윈도우 - 수신 윈도우(한 번에 수신하고자 하는 데이터 양)크기

5. 제어 비트 - 세그먼트에 대한 부가 정보

 

 

제어비트

 

ACK는 세그먼트의 승인을 나타내기 위한 비트

SYN은 연결을 수립하기 위한 비트

FIN은 연결을 종료하기 위한 비트

 

순서 번호는 초기 순서 번호 + 송신한 바이트 수

 

 

TCP의 3handshake

 

 

TCP의 4handshake

 

결과적으로 TCP는 상태를 유지하고 활용한다는 점에서 스테이트풀(statueful) 프로토콜이라고 불린다.

 

 

 

UDP는 TCP와 달리 비연결형 통신을 수행하는 신뢰할 수 없는 프로토콜로 연결 수립 및 해제, 재전송을 통한 오류 제어, 혼잡 제어, 흐름 제어 등을 수행하지 않는다.

 

상태를 유지하지 않기에 스테이트리스 프로토콜로 불리며 필드도 단순하다.

 

 

UDP의 구조

 

송수신지 포트 필드

헤더를 포함한 UDP 데이터그램의 바이트가 담긴 길이 필드

체크섬 - 전송과정 오류 확인

 

문제가 있다고 판단한 데이터그램은 폐기

반응형