TCP/IP 4계층
- 네트워크 액세스 계층(Network Access Layer): 물리 주소(MAC)을 사용하여 프레임 단위 데이터 전송
- 인터넷 계층(Internet Layer): 논리 주소(IP)를 사용해 정확하게 라우팅하여 전송
- 전송 계층(Transport Layer): 통신 노드 간 연결 제어 및 데이터 송수신
- 응용 계층(Application Layer): 사용자가 응용 프로그램과 소통하는 계층
TCP
- 연결지향, 신뢰성 O
- TCP의 연결: 3 way handshake
- 서버 ㅡ> 클라이언트 : SYN 전송
- 클라이언트 ㅡ> 서버 : ACK+SYN 전송
- 서버 ㅡ> 클라이언트 : ACK 전송, 연결 수립
- 신뢰성 보장: 전송한 데이터에 대해 상대가 응답을 하면 정상 도착 판단, 응답 없을 시 재전송
- 흐름 제어
- Stop and wait: 데이터 전송 후 응답이 올때까지 기다리는 방식
- Sliding Window: 수신 측이 한 번에 처리 가능한 데이터만큼 윈도우(버퍼) 크기를 설정하고 송신, 수신 측이 해당 크기를 서로 공유해 윈도우 내에 위치한 데이터들은 응답 확인 없이 전송 가능
* 수신 측에서 버퍼가 비면 버퍼가 얼마나 비었는지 송신 측에 알림
- 혼잡 제어: 아래 상황을 방지하기 위해 송신 측에서 데이터의 전송 속도를 조절
라우터에 데이터가 몰림 ㅡ> 데이터 처리 불가 ㅡ> 응답 X ㅡ> 오버플로우 or 데이터 유실 - TCP의 연결 해제: 4 way handshake
- 클라이언트 ㅡ> 서버 : FIN 전송
- 서버 ㅡ> 클라이언트 : ACK 전송
- 서버 ㅡ> 클라이언트 : FIN 전송
- 클라이언트 ㅡ> 서버 : ACK 응답 및 소켓 종료(서버 소켓 종료 ㅡ> 일정 시간 후 클라이언트 소켓 종료)
UDP
- 비연결성, 신뢰성 X
- 데이터를 데이터그램 단위로 처리
* 데이터그램: 독립적인 관계를 지닌 패킷 - 데이터 손실 가능
Socket
- 서버와 클라이언트 사이 통신을 가능하게 하는 창구 역할
- 프로토콜(TCP, IP), 호스트와 목적지의 IP 번호 및 포트 번호로 구성
SubNetting
- 네트워크를 분할하는 것을 의미
- 서브넷: 분할된 네트워크
- 대규모 네트워크를 작은 네트워크로 분할 ㅡ> 브로드캐스트로 전송되는 패킷의 범위를 좁힐 수 있음
- 서브넷팅 사용 ㅡ> 네트워크 ID, 서브넷 ID, 호스트 ID로 분할 ㅡ> IP주소를 서브넷팅하면 네트워크 ID, 호스트 ID를 구분하기 위해 서브넷 마스크 사용
Load Balancing
- 트래픽이 한쪽에 몰리지 않게 균등 분산하는 역할
- 라운드 로빈, 연결 개수가 적은 서버 선택, 사용자 IP 해싱 등으로 서버 분배
- L4 로드 밸런싱: OSI 3, 4 계층 정보인 IP, Port로 분배
- L7 로드 밸런싱: 사용자의 요청을 기준으로 분산
참고자료
네트워크 면접 질문 정리
velog.io
https://hahahoho5915.tistory.com/15
TCP/IP 4계층(TCP/IP 4 Layer)
TCP/IP (Transmission Control Protocol / Internet Protocol)현재 수많은 프로그램들이 인터넷으로 통신하는데 있어 가장 기반이 되는 프로토콜로 실제 대다수 프로그램은 TCP와 IP로 통신하고 있다. ARPANET이 개
hahahoho5915.tistory.com
https://evan-moon.github.io/2019/11/22/tcp-flow-control-error-control/
패킷의 흐름과 오류를 제어하는 TCP
TCP(Transmission Control Protocol)는 원활한 통신을 위해 전송하는 데이터 흐름을 제어하고 네트워크의 혼잡 상태를 파악해서 대처하는 기능을 프로토콜 자체에 포함하고 있다. 만약 TCP가 이런 기능들
evan-moon.github.io
[네트워크] 서브넷, 서브넷 마스크, 서브넷팅
서브넷 등장 배경 흔히 사용되는 IPv4 주소 체계는 클래스를 나누어 IP를 할당한다. -> 매우 비효율적 > ex) 한 기관에 N 클래스를 할당할 때, 16,777,214 개의 호스트를 할당이 가능하다. 이 때, 기관이
velog.io
'컴퓨터구조(CS)' 카테고리의 다른 글
[CS] 네트워크 #2 (0) | 2025.03.11 |
---|---|
[CS] 네트워크 #1 (0) | 2025.03.10 |
[컴퓨터 구조] 캐시 메모리 (0) | 2025.01.07 |