[네트워크] TCP/IP

유존돌돌이·2022년 3월 2일
0

공부

목록 보기
17/22

TCP/IP

인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 쓰이는 프로토콜의 집합

TCP/IP의 계층

  1. Application Layer
    • 특정 서비스를 제공하기 위해 애플리케이션끼리 정보를 주고 받음
    • FTP, HTTP, SSH, Telnet, DNS, SMTP
  2. Transport Layer
    • 송신된 데이터를 수신 측 애플리케이션에 확실 전달하게 함 (Port번호 사용)
    • TCP, UDP, RTP, RTCP
  3. Internet Layer
    • 수신 측 까지 데이터를 전달하기 위해 사용 (송/수신 IP)
    • IP, ARP, ICMP, RARP, OSPF
  4. Network Access Layer
    • 네트워크에 직접 연결된 기기 간 전송을 할 수 있도록 함 (MAC주소 사용)
    • Tthernet, PPP, Token RING

www.google.com 을 수행했을때의 흐름

1. 패킷 생성

Application Layer(HTTP)

- HTTP Request 정보

Transport Layer(TCP)

- SP : 내 포트번호
- DP : 목적지 포트번호 (이경우 http이므로 80)

Internet Layer(IP)

- SA : 내 IP
- DA : 목적지 IP
-- 이 경우 www.google.com이라는 도메인만 알고 있음
-- DNS 서버를 통해 이 도메인의 IP를 가져와서 지정

Network Layerr(Ethernet)

- SA : 내 MAC
- DA : 목적지 MAC (연결되어 있는 공유기)
-- ARP를 사용하여 MAC주소 알아냄
-- ARP는 IP주소를 MAC주소로 바꿔주는 주소해석 프로토콜

2. TCP 연결 (3-Way-Handshaking)

: TCP는 연결지향형 프로토콜이기 때문에 우선 연결을 먼저한다.

1) client -(SYN)-> Server
2) client <-(ACK,SYN)- Server
3) client -(ACK)-> Server
연결 준비 완료

3. NAT (Network Address Transform)

내 아이피는 Private IP이기 때문에 Public IP 변환하는 작업 (공유기에서 나갈때)

4. Destination IP 도착

1) ARP를 사용하여 MAC주소 가져옴 (Network Layer)
2) 수많은 Router들을 통해 DA IP에 도착 (Internet Layer)
3) http 요청이므로 80포트 (Transport Layer)
4) Request한 정보 사용 (Application)

5. Response Client 전달 완료

6. TCP 연결 종료 (4-Way-Handshaking)

1) client -(SYN)-> Server
2) client <-(ACK)- Server
3) client <-(FIN)- Server

  • Client Time Wait 함 (이유는 서버에서 FIN을 보냈는데 혹시라도 Response 정보가 아직 남아 있는 잉여데이터가 있을 수 있기 때문에 FIN을 받아도 일정시간 대기)

4) client -(ACK)-> Server

  1. 종료

0개의 댓글