김영한님의 HTTP 웹 기본지식을 들으며 정리하였습니다.
IP (Internet Protocol)
- 지정한 IP 주소에 패킷이라는 단위로 데이터 전달
- 패킷 : 패키지 + 버킷. 즉, 데이터 보따리라고 생각
- 데이터 송수신에서 송신과 수신은 같은 길이 아니어도 됨. 즉, 데이터 주고받을 때 왔던 길 그대로 되돌아가는 게 아니어도 상관 없음.
IP의 한계
- 비연결성 : PC가 꺼져있어도, 못받는상태여도 상관없이 데이터 보냄.
- 비신뢰성 : 중간에 패킷 사라지는 것이나, 패킷 오는 순서 보장 안해줌.
- 패킷 크기가 크면 끊어서 보내주는데(1500바이트 정도), 순서 보장 안해주고 & 전송되는 노드들이 고정이 아니라서 패킷 순서가 꼬일 수 있음.
TCP의 특징 (Transmission Control Protocol)
TCP가 출발지와 목적지 PORT, 전송 제어, 순서, 검증 정보 등을 추가해줘서 IP의 단점을 보완해줌.
- 연결지향 (3way handshake) : 서로 통신 가능한 상태임을 확인하고(가상 연결) 데이터 보냄. 단, 이것은 논리적 연결일 뿐 직접적인 연결을 의미하는 건 아님.
- 첫 번째 통신 : SYN 보내서 통신하자고 연락
- 두 번째 통신 : ACK 보내서 잘 받았음을 알림. 오케이 연결하라는 의미로 SYN 보냄
- 세 번째 통신 : ACK 보냄. 이때 요즘은 기술 좋아져서 ACK 보내면서 바로 데이터 함께 보내줌.
- TCP는 요청, 응답 과정에서 주기적으로 ACK를 교환한다. 따라서 어느 한쪽이 통신 불가능한 상태가 되면 더이상 절차를 진행할 수 없다. 만약 통신불능이 되면 오류 복구를 위한 몇번의 신호를 더 보내고, 이 신호에 대한 응답이 오지 않으면 통신을 종료한다.
- 데이터 전달 보증 : 메세지 누락되면 누락된 것을 인지할 수 있음. 데이터 잘 받았다는 ACK덕분에 전달이 보증됨.
- 순서 보장 : 순서 잘못되면 몇번째 패킷부터 다시 보내라고 알려줌. GBN, SR같은 방법 사용.
UDP의 특징 (User Datagram Protocol)
- 기능이 거의 없음. 위에서 언급한 TCP의 3가지 기능 다 없고 IP랑 거의 같지만 Port와 체크섬 정도만 추가됨.
- Port : 서버 내에서 돌아가는 애플리케이션을 구분. 하나의 IP 내에서 이것은 게임용, 이것은 음악용을 구분해줌. IP가 아파트 주소라고 하면 Port는 아파트의 동.호수라고 생각
- 데이터 전달이나 순서 보장같은 것은 없지만 단순해서 빠르다.
'CS 개념 > 네트워크' 카테고리의 다른 글
HTTP 웹 기본 지식 (3) - Stateless, Connectionless, http메세지 (0) | 2024.05.07 |
---|---|
HTTP 웹 기본 지식 (2) - DNS, URL (0) | 2024.05.07 |
데이터 통신 정리 (3) - Internet, Mobile, Cellular, WIFI (1) | 2023.10.09 |
데이터 통신 정리 (2) - Service, Protocol, Service의 분류(COC, CLS), OSI, TCP/IP (0) | 2023.09.28 |
데이터 통신 정리 (1) - 인터넷 소프트웨어 구조, 네트워크 분류 (0) | 2023.09.27 |