TCP IP
TCP/IP
TCP/IP 4계층 vs OSI 7계층

- TCP/IP 4계층
- 어플리케이션 계층: FTP, HTTP, SSH, SMTP, DNS
- 전송 계층: TCP, UDP
- 인터넷 계층: IP, ARP, ICMP / 패킷을 수신해야 할 상대의 주소를 지정하여 데이터 전달
- 링크 계층: 전선, 광섬유, 무선 등으로 실질적 데이터 전달
- OSI 7계층
- 어플리케이션 계층
- 프레젠테이션 계층
- 세션 계층
- 전송 계층
- 네트워크 계층
- 데이터 링크 계층
- 물리 계층
- 특정 계층이 변경되었을 때, 다른 계층이 영향을 받지 않도록 설계
전송 계층
- TCP
- 패킷 사이의 순서를 보장하고 연결 지향 프로토콜 사용
- 신뢰성 있는 패킷 연결 구축
- 가상회선 패킷 교환 방식
- 각 패킷에는 가상회선 식별자가 포함되며 모든 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 '순서대로' 도착하는 방식
- UDP
- 순서를 보장하지 않고 수신 여부를 확인하지 않으며 단순히 데이터만 주는 방식
- 하나의 메시지에서 분할된 여러 패킷은 서로 다른 경로로 전송될 수 있으며 도착한 '순서가 다를 수'있는 방식을 뜻함
TCP 연결/해제
- TCP 연결 수립 과정 (3-way-handshake)
- 신뢰성이 구축되고 데이터 전송을 시작
1. SYN
- 클라이언트 --(클라 ISN, SYN)--> 서버
- ISN: 새로운 TCP 연결의 첫 번째 패킷에 할당된 임의의 시퀀스 번호
2. SYN+ACK
- 서버 : 클라이언트의 SYN 수신
- 서버 --(서버 ISN, 승인번호[클라 ISN + 1])--> 클라이언트
3. ACK
- 클라이언트 --(승인번호[서버 ISN + 1])--> 서버
- TCP 연결 해제 과정 (4-way-handshake)
- 클라이언트가 연결 닫으려고 FIN 서버로 전송
- 서버는 클라이언트로 ACK 승인 세그먼트 보냄
- 서버: CLOSE_WAIT 변경
- 클라: FIN_WAIT_2 변경
- 서버는 클라이언트로 FIN 세그먼트 보냄
- 클라이언트 TIME_WAIT 상태로 변경, 클라이언트가 서버로 ACK 전송
- 서버: CLOSED 변경
- 어느 정도의 시간을 대기한 후 연결이 닫히고 클라이언트와 서버의 모든 자원의 연결 해제
- TIME_WAIT: 소켓이 바로 소멸되지 않고 일정 시간 유지되는 상태
- 지연 패킷의 문제점을 해결
계층 간 데이터 송수신 과정
- PC1 ----------- PC2
- 어플리케이션 계층 : 메시지
- 전송 계층 : 세그먼트(TCP), 데이터그램(UDP)
- 인터넷 계층 : 패킷
- 링크 계층 : 프레임(데이터 링크 계층), 비트(물리 계층)
- 캡슐화 과정
- 상위 계층의 헤더와 데이터를 하위 계층의 데이터 부분에 포함시키고 해당 계층의 헤더를 삽입하는 과정
네트워크 기기
- 계층별 처리 기기
- 어플리케이션 계층: L7 스위치, (L4 스위치)
- 인터넷 계층: 라우터(L3 스위치)
- 데이터 링크 계층: L2 스위치, 브리지
- 물리 계층: NIC, 리피터, AP
- [어플리케이션 계층 처리 기기]
- L7 스위치
- 로드 밸런서
- 서버의 부하를 분산하는 기기
- URL, 서버, 캐시, 쿠키들을 기반으로 트래픽 분산
- 불필요한 외부 데이터 거르기
- AWS ALB (Application Load Balancer)
- L4 스위치
- 인터넷 계층을 처리하는 기기
- 메시지를 기반으로 인식하지 못하고 IP/Port 기반으로 트래픽을 분산
- AWS NLB (Network Load Balancer)
- [인터넷 계층 처리 기기]
- 라우터 (L3 스위치)
- 여러 개의 네트워크를 연결/분할/구분 시켜주는 역할
- 타 네트워크에 존재하는 장치끼리 서로 데이터 주고 받을 때 패킷 소모 최소화 & 경로 최적화
- [데이터 링크 계층을 처리하는 기기]
- L2 스위치
- 장치들의 MAC 주소를 MAC 주소 테이블을 통해 관리, 연결된 장치로 부터 패킷 왔을 때 패킷 전송 담당
- 단순히 패킷의 MAC 주소를 읽어서 스위칭하는 역할
- 브리지
- 두 개의 근거리 통신망을 상호 접속할 수 있도록 하는 통신망 연결 장치
- [물리 계층을 처리하는 기기]
- NIC(LAN 카드)
- 네트워크와 빠른 속도로 데이터를 송수신할 수 있도록 컴퓨터 내에 설치하는 확장 카드
- 고유의 식별번호인 MAC 주소가 있음
- 리피터
- AP