TCP(Transmission Control Protocol) : 패킷을 정상적으로 주고 받을 수 있도록 하는 프로토콜
>> 통신의 신뢰성을 높이는 기능이 구현
>> 전송 패킷 순서 보장
UDP(User Datagram Protocol) : 서로 주고받는 형식이 아닌 한쪽에서 일방적으로 보내는 방식의 통신 프로토콜
>>신뢰성을 높이는 기능이 없는 대신 보다 높은 속도와 효율성 제공
>> 전송 패킷 순서 보장이 안되며, 보장을 원할 경우 애플리케이션 레이어에서 관리 필요
UDP 사용 이유
: 지연 시간으로 인한 타이밍, 상대방과의 소통에서 싱크가 맞지 않는 경우를 해결하기 위함
[TCP/IP 4계층]
4계층 : 애플리케이션 계층(Application Layer)
사용자와 가장 가까운 계층으로, 애플리케이션에 맞춰서 통신
프로토콜 : HTTP, HTTPS, DNS, FTP, SSH, Telnet, DNS, SMTP 등
3계층 : 전송 계층(Transport Layer)
IP와 어플리케이션을 중개해 데이터를 확실하게 전달 (통신 노드 간 신뢰성 있는 데이터 전송을 보장)
프로토콜 : TCP, UDP, RTP 등
2계층 : 인터넷 계층(Internet Layer)
네트워크 주소를 기반으로 데이터를 전송하며, 패킷을 최종 목적지까지 라우팅하는 계층
프로토콜 : IP, ICMP, ARP, RARP 등
1계층 : 네트워크 접근 계층(Network Access Layer / Network Interface Layer)
컴퓨터를물리적으로 네트워크에 연결해 기기 간의 전송이 가능하게 함
프로토콜 : Ethernet, Wifi 등
[TCP -way handshake]
: 양 끝단의 기기의 신뢰성 있는 데이터 통신을 위해 TCP 방식이 연결을 설정하는 방식
단계1. SYN(Synchronize Sequence Number)
: 클라이언트는 서버에 접속을 요청하는 SYN 패킷을 보내고 응답을 기다림 (SYN_sent 상태)
단계2. SYN/ASK(Acknowledgement)
: 서버는 요청을 받고 수락한다는 ACK와 SYN flag가 설정된 패킷을 발송하고 클라이언트가 다시 ACK로 응답하기를 기다림 (SYN_recieved 상태)
단계3. ACK
: 클라이언트는 서버에 ACK를 보내고 이후에는 신뢰성 있는 연결이 이루어져 실제 데이터 전송이 시작됨
[PORT]
: 대상 IP 기기의 특정 어플리케이션을 특정하는 번호
: TCP, UDP 모두 포트번호 이용
번호 0~1023 (Well-known port)
: 시스템 사용 번호(슈퍼 유저 권한이 필요), 사용 권장X
: 주요 통신을 위한 규약에 따라 이미 정해져 있음
80 : HTTP / TCP / 웹 서버 접속
443 : TTPS / TCP / 웹 서버 접속(SSL)
110 : POP3 / TCP / 메일 읽기
25 : SMTP / TCP / 메일 서버간 메일 전송
22 : SSH / TCP / 컴퓨터 원격 로그인
53 : DNS / UDP / DNS 질의
123 : NTP / TCP / 시간 동기화
ETC...
번호 1024~49151 (Registered port)
: 특정 프로토콜이나 어플리케이션에서 사용하는 번호(슈퍼 유저 권한필요 X)
번호 49152~65535 (Dynamic port)
: 어플리케이션 혹은 임시 사용 번호
'공부 자료 > 네트워크' 카테고리의 다른 글
| [네트워크] 클라이언트-서버 아키텍처(2티어 아키텍처) (0) | 2022.09.30 |
|---|---|
| [네트워크] URL, DNS (1) | 2022.09.30 |
| [네트워크] IP (1) | 2022.09.30 |
| [네트워크] 기본 용어 (0) | 2022.09.30 |
| [네트워크] 웹 애플리케이션 (0) | 2022.09.30 |