Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- mongodb
- css#cascading#display#block#inline
- scope
- python #qqplot #qq-plot #code
- className
- react-hook-form
- grid-column-end
- valuable
- javascript
- foreach()
- javascipt
- CSS
- box-shadow
- prompt()
- grid-template-areas
- React
- variables
- relative
- localStorage
- createElement
- grid-column-start
- confirm()
- package.json
- classList
- var
- Grid
- collapsing-margins
- gird-row-end
- grid-row-start
- border-style
Archives
- Today
- Total
data life
[네트워크] TCP/IP 모델 본문
TCP / IP 란?
앞서 소개한 OSI7 계층은 표준 모델로서 작용하고 현재 우리가 인터넷을 사용하기 위해 작용하는 모델은 TCP / IP 계층이다.
IP 란?
- 지정한 IP 주소에 데이터의 조각들을 패킷(packet) 단위로 최대한 빨리 목적지로 보내는 역할
- 순서나 누락에 대해 신경쓰지 않음
- IPv4 : Internet Protocol version 4
: 32bit로 구성 (8bit.8bit.8bit.8bit : 0.0.0.0 ~ 255.255.255.255)
- IPv6 : Internet Protocol version 6
: 128bit로 구성
TCP 란?
- 정확한 패킷 데이터의 전달로 보낸 순서대로 받게 해줌
- 도착한 조각을 확인하여 손상/누락된 데이터를 다시 요청
- 고유의 'SYN'와 'ACK'라는 TCP 플래그를 사용한다. (일종의 확인 마크 정도로 이해하면 된다)
- SYN : 접속 요청
- ACK : 요청 수락
📌 TCP 연결 방식
3-way-handshake
- 연결 과정
- 3단계로 구성
: "보내도됨? (SYN)" ➡️ "ㅇㅇ(SYN + ACK)" ➡️ "ㅇㅋ보냄(ACK + 데이터)"
4-way-handshake
- 연결 해제 과정
- 4단계로 구성
: "나 가도 됨? (FIN)" ➡️ "잠만 가야됨? (ACK)" ➡️ "ㅇㅋㅇㅋ 가셈 (FIN)" ➡️ "ㅂㅂ (ACK)"
📌 TCP 제어
네트워크 트래픽에 따라 신뢰적이고 효율적인 데이터 전송을 위한 제어 알고리즘을 적용한다.
흐름 제어 : Sliding Window
- 송신 측은 수신 측의 데이터 처리 속도를 파악하고 얼마나 빠르게 어느 정도의 데이터를 전송할 지 제어
- 슬라이딩 윈도우(Sliding Window) 방식 사용
- Window(= 데이터를 담는 공간)의 사이즈를 확인해서 ACK 없이 연속해서 송신하는 방식
>> 다음과 같이 요청, 요청수락 과정에서 윈도우 사이즈 정보도 교환하게 됨
혼잡 제어 :
- 네트워크 혼잡 상태가 감지되면 송식 측의 전송 데이터 크기를 조절하여 전송량을 제어
- 송신제어를 위한 윈도우
- RWND : 흐름 제어에서 활용
- CWND : 네트워크 혼잡 제어를 위해 활용
- Tahoe, Reno, New Reno, Cubic, Elastic-TCP ..등 다양한 혼잡 제어 기법이 존재
TCP / IP 계층
- 응용계층
- DNS (Domain Name System) : 이름 해석
- SMTP/POP3 (Simple Mail Transfer Protocol) : 메일 송/수신
- FTP (File Transfer Protocol) : TCP 환경에서 파일 전송 프로토콜
- TFTP (Trival File Transfer Protocol) : UDP 환경에서 파일 전송 프로토콜
- HTTP (Hypertext Transfer Protocol) : 웹사이트 접속
- 전송계층
- TCP
- UDP
- 인터넷 계층
- IP : 비연결 서비스
- ICMP : IP 제어
- ARP : 논리 주소(IP) > 물리 주소(MAC)
- RARP : 물리 주소(MAC) > 논리 주소(IP)
- 네트워크 접근 계층