> TCP/IP 4계층 모델
네트워크 인터페이스 계층 (Network Interface Layer)
- 역할: 물리적 네트워크를 통해 데이터를 전송하는 역할을 합니다.
- 프로토콜: Ethernet, Wi-Fi, ARP (Address Resolution Protocol) 등.
- 기능: 물리적 매체를 통해 데이터 프레임을 전송하고, MAC 주소를 이용하여 로컬 네트워크 내에서 데이터의 목적지를 식별합니다.
인터넷 계층 (Internet Layer)
- 역할: 네트워크 간 데이터 전송을 담당하며, 데이터 패킷의 라우팅 및 주소 지정을 수행합니다. 네트워크 주소를 기반으로 데이터를 전송합니다.
- 프로토콜: IP (Internet Protocol), ICMP (Internet Control Message Protocol), IGMP (Internet Group Management Protocol).
- 기능: IP 주소를 기반으로 패킷을 목적지로 라우팅하고, 네트워크 간의 데이터 전달을 처리합니다.
전송 계층 (Transport Layer)
- 역할: 종단 간 통신을 제공하며, 데이터 전송의 신뢰성과 흐름 제어를 관리합니다 IP와 어플리케이션을 중개해 데이터를 확실하게 전달합니다.
- 프로토콜: TCP (Transmission Control Protocol), UDP (User Datagram Protocol).
- 기능: TCP는 신뢰성 있는 데이터 전송을 제공하며, 데이터의 순서 보장 및 오류 수정 기능을 갖습니다. UDP는 비신뢰성 데이터 전송을 제공하며, 빠른 전송이 필요할 때 사용됩니다.
응용 계층 (Application Layer)
- 역할: 사용자와 직접 상호작용하는 애플리케이션 서비스 및 프로토콜을 제공합니다.
- 프로토콜: HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), DNS (Domain Name System) 등.
- 기능: 네트워크 서비스를 제공하는 애플리케이션을 지원하며, 사용자 인터페이스 및 데이터 표현 형식을 정의합니다.
> TCP 3-way handshake
TCP 3-way handshake 는 양 끝단의 기기의 신뢰성있는 데이터 통신을 위해, TCP 방식이 연결을 설정하는 방식으로, 세 단계를 통해 연결 설정을 합니다.
- Step 1 (SYN): 처음으로, sender는 receiver와 연결 설정을 위해, segment를 랜덤으로 설정된 SYN(Synchronize Sequence Number)와 함께 보냅니다. 이 요청은 receiver에게 sender가 통신을 시작하고 싶다고 알립니다.
- Step 2(SYN / ACK): receiver는 받은 요청을 바탕으로 SYN/ACK 신호 세트를 응답합니다. Acknowledgement(ACK) 응답으로 보내는 segment가 유효한 SYN요청을 받았는지를 의미합니다.
- Step 3(ACK): 마지막 단계에서, sender는 받은 ACK를 receiver에게 전송을 하면서, 신뢰성 있는 연결이 성립되었다는 사실을 sender와 receiver 양쪽에서 알 수 있고, 실제 데이터 전송이 시작되게 됩니다.
'개발과 관련된 모든것' 카테고리의 다른 글
[HTTP] POST 가 있는데 GET 메소드는 왜 쓰일까? (0) | 2024.06.16 |
---|---|
[네트워크] REST API 에 대해서 공부해보자 (feat. RESTful API) (1) | 2024.06.16 |
[네트워크] 네트워크 관련 기초 단어 개념 정리 (0) | 2024.06.13 |
[Java] 어노테이션(Annotaion / 애너테이션) (0) | 2024.06.04 |
[IntelliJ] Can't rename root module 프로젝트 이름 변경 방법 (0) | 2024.04.12 |
댓글