Part 1. IP, TCP, UDP, PORT, DNS 개념
1. IP (인터넷 프로토콜)
역할
1) 지정한 IP 주소에 데이터를 전달한다.
2) 패킷 단위로 데이터를 전달한다. (패킷에는 출발지 IP, 목적지 IP 등의 정보가 있다)
한계
1) 비연결성 : 패킷을 받을 대상이 없거나 서비스가 불능 상태여도 패킷을 전송한다.
2) 비신뢰성 : 중간에 패킷이 사라질 수도 있고(중간에 서버가 문제가 발생해 전달이 안될 수 있음),
여러 개의 패킷을 보내면 순서대로 도착하지 않을 수 있다(먼저 전송한 패킷이 늦게 도착할 수 있음)
3) 프로그램 구분 : 같은 IP를 사용하는 애플리케이션이 둘 이상이면?.. 구분할 수 없다.
2. TCP (전송 제어 프로토콜, Transmission Control Protocol)
특징
1) 연결 지향 : TCP 3-way handshake(가상 연결, 이전에 전화선을 물리적으로 연결하는 것은 가상연결이 아니다)
2) 데이터 전달 보증 : 클라이언트에서 데이터를 전송하면 서버에서 잘 받았다고 응답을 보내준다.
3) 순서 보증 : 패킷을 1,2,3으로 보냈는데 서버에 패킷 1,3,2 순서로 온다면 패킷 2부터 다시 보내라고 알려준다.
4) 신뢰할 수 있는 프로토콜
5) 현재 대부분 TCP를 사용
TCP 3-way handshake
TCP는 장치들 사이에 논리적인 접속을 성립(establish)하기 위하여 three-way handshake를 사용한다.
TCP 3 Way Handshake는 TCP/IP프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에 먼저
정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미한다
SYN ( synchronize sequence numbers ) : 접속 요청
ACK( acknowledgment ) : 요청 수락
- SYN (클라이언트 -> 서버)
- SYN + ACK (클라이언트 <- 서버)
- ACK (클라이언트 -> 서버)
위와 같은 절차는 TCP 접속을 성공적으로 성립하기 위하여 반드시 필요하다.
3. UDP (사용자 데이터그램 프로토콜, User Datagram Protocol)
특징
1. 갖추고 있는 기능이 거의 없다
2. TCP 3-way handshake 같은 내용은 없다
3. 데이터 전달 보증 하지않는다.
4. 순서보장도 하지않는다.
5. 하지만 빠르고 단순하다.
6. IP와 거의 유사하다 (Port, 체크섬)
4. PORT
IP내에서 프로세스를 구분하기 위해 필요하다
PORT는 0~65535에 할당이 가능하고, 0~1023은 흔히 알려진 포트라 사용하지 않는 것이 좋다
흔히 알려진 포트
- FTP - 20, 21
- TELNET - 23
- HTTP - 80
- HTTPS - 443
5. DNS(Domain Name System)
IP는 숫자로 이루어져 있고, 변경 될 여지가 있어서 기억하기 어렵다. 그래서 일종의 전화번호부 역할을 하는
DNS 서버에 IP를 등록해 사용할 수 있다. 변경될 시 DNS 서버에 등록된 IP를 변경하면 된다.
'개발자 공부 업무 정보 > HTTP,FRONT' 카테고리의 다른 글
trim() (0) | 2022.12.30 |
---|---|
HTTP 웹 기본 지식 - 2편 URI (0) | 2022.09.29 |
<c:url value 쓰는 이유 / jsessionId (0) | 2019.01.18 |
[javascript] 웹 브라우저의 현재 URL 가져오기 (0) | 2019.01.17 |
DOM 객체에 동적으로 이벤트 핸들러 추가하는 방법 (0) | 2019.01.15 |