웹에 관련한 헷갈리는 용어 정리..!
참조 / 출처
- 위키백과
- https://mangkyu.tistory.com/15 [MangKyu's Diary]
- https://coding-factory.tistory.com/613
1. 인트라넷
- 단체의 직원만 접근이 가능한 사설망
- 인터넷 프로토콜을 쓰는 폐쇄적 근거리 통신망
- 방화벽을 설치하여 보안을 유지
2. 프로토콜
- 컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계
- 기기 간 통신은 교환되는 데이터의 형식에 대해 상호 합의를 요구
3. TCP
- Transmission control protocol 전송 조종 규약
- 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서 대로, 에러없이 교환할 수 있게 한다
- 네트워크의 정보 전달을 통제하는 프로토콜이자 인터넷을 이루는 핵심 프로토콜의 하나
- 웹 브라우저들이 www서버에 연결하거나 , 파일, 이메일 전송에도 사용됨
- 인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜
- 연결형 서비스로 가상 회선 방식을 제공
-> 발신지와 수신지를 연결하여 패킷을 전송하기 위한 논리적 경로를
배정
-> 패킷 : 인터넷 내에서 데이터를 보내기 위한 경로배정(라우팅)을 효율적으로 하기 위해서 데이터를 여러 개의 조각 들로 나누어 전송을 하는데 이때, 이 조각을 패킷이라고 합니다.
- 3- way handshaking 과정을 통해 연결을 설정하고 4-way handshaking을 통해 해제
-> 목적지와 수신지를 확실히 하여 정확한 전송을 보장하기 위해서
세션을 수립
-> 3-way handshaking
- Client에서 Server에 연결 요청을 하기위해 SYN 데이터를 보낸다.
- Server에서 해당 포트는 LISTEN 상태에서 SYN 데이터를 받고 SYN_RCV로 상태가 변경된다.
- 그리고 요청을 정상적으로 받았다는 대답(ACK)와 Client도 포트를 열어달라는 SYN 을 같이 보낸다.
- Client에서는 SYN+ACK 를 받고 ESTABLISHED로 상태를 변경하고 서버에 ACK 를 전송한다.
- ACK를 받은 서버는 상태가 ESTABLSHED로 변경된다.
- 흐름 제어 및 혼잡 제어
- 높은 신뢰성을 보장
- UDP보다 속도가 느림
- 연속성보다 신뢰성 있는 전송이 중요할 때에 사용되는 프로토콜 ex) 파일 전송
4. TCP 서버의 특징
- 서버소켓은 연결만을 담당한다.
- 연결과정에서 반환된 클라이언트 소켓은 데이터의 송수신에 사용된다
- 서버와 클라이언트는 1대1로 연결된다.
- 스트림 전송으로 전송 데이터의 크기가 무제한이다.
- 패킷에 대한 응답을 해야하기 때문에(시간 지연, CPU 소모) 성능이 낮다.
- Streaming 서비스에 불리하다.(손실된 경우 재전송 요청을 하므로)
5. TCP 헤더 정보
6. TCP state ( netstat 명령어로 확인 가능)
- LISTEN : 서버의 데몬이 떠서 접속 요청을 기다리는 상태
- SYN-SENT : 로컬의 클라이언트 어플리케이션이 원격 호스트에 연결을 요청한 상태
- SYN_RECEIVED : 서버가 원격 클라이언트로부터 접속 요구를 받아 클라이언트에게 응답을 하였지만 아직 클라이언트 에게 확인 메시지는 받지 않은 상태
- ESTABLISHED : 3 way-handshaking 이 완료된 후 서로 연결된 상태
- FIN-WAIT1, CLOSE-WAIT, FIN-WAIT2 : 서버에서 연결을 종료하기 위해 클라이언트에게 종결을 요청하고 회신을 받 아 종료하는 과정의 상태
- TIME-WAIT : 연결은 종료되었지만 분실되었을지 모를 느린 세그먼트를 위해 당분간 소켓을 열어두고 있는 상태
- CLOSING : 흔하지 않지만 주로 확인 메시지가 전송도중 분실된 상태
- CLOSED : 완전히 종료
7. TCP 제어 비트 정보
8. UDP
- 비연결형 서비스로 데이터그램 방식을 제공한다
-> 연결을 설정하고 해제하는 과정이 존재하지 않음
- 정보를 주고 받을 때 정보를 보내거나 받는다는 신호절차를 거치지 않는다.
- UDP헤더의 CheckSum 필드를 통해 최소한의 오류만 검출한다.
- 신뢰성이 낮다
- TCP보다 속도가 빠르다
- 흐름 제어 또는 혼잡 제어와 같은 기능도 처리하지 않음
- TCP보다 속도가 빠르며 네트워크 부하가 적다는 장점이 있지만 신뢰성있는 데이터의 전송을 보장하지는 못한다
- 그렇기 때문에 신뢰성보다는 연속성이 중요한 서비스 예를 들면 실시간 서비스(streaming)에 자주 사용
- 데이터 경계를 구분한다
- 신뢰성 없는 데이터를 전송한다.
- 데이터 재전송과 데이터 순서 유지를 위한 작업을 하지 않는다.
- 패킷 관리가 필요하다
- 패킷 오버 헤드가 적어 네트워크 부하가 감소됨.
9. UDP 서버의 특징
- UDP에는 연결 자체가 없어서(connect 함수 불필요) 서버 소켓과 클라이언트 소켓의 구분이 없다.
- 소켓 대신 IP를 기반으로 데이터를 전송한다.
- 서버와 클라이언트는 1대1, 1대N, N대M 등으로 연결될 수 있다.
- 데이터그램(메세지) 단위로 전송되며 그 크기는 65535바이트로, 크기가 초과하면 잘라서 보낸다.
- 흐름제어(flow control)가 없어서 패킷이 제대로 전송되었는지, 오류가 없는지 확인할 수 없다.
- 파일 전송과 같은 신뢰성이 필요한 서비스보다 성능이 중요시 되는 경우에 사용된다.
10. UDP의 헤더 정보
11. TCP / UDP 공통점
- 포트 번호를 이용하여 주소를 지정
- 데이터 오류를 확인하기 위한 체크섬 존재
12. IP
- Internet Protocol의 줄임말로
- 인터넷에서 컴퓨터의 위치를 찾아서 데이터를 전송하기 위해 지켜야 할 규약
- 전 세계 수억대의 컴퓨터가 인터넷을 하기 위해서는 서로의 정체를 알 수 있도록 특별한 주소를 부여했는데 이 주소를 IP주소
- IP는 4개의 숫자로 구성
- 숫자의 크기에 따라 IPv4(32비트, 각 숫자는 1바이트), IPv6(128비트, 각 숫자는 4바이트)로 나뉨.
- 일반적으로는 IPv4는 10진수로 표현하며 각 자리는 .으로 구분하고, IPv6는 각 자리를 4자리 16진수로 표현, 각 자리 는 :로 구분.
13. 흐름 제어 Flow Control
- 데이터를 송신하는 곳과 수신하는 곳의 데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지
- 송신측에서 감당이 안되게 데이터를 빠르게 많이 보내면 수신자에서 문제가 발생하기 때문
14. 혼잡 제어 Congestion Control
- 네트워크 내의 패킷 수가 넘치게 증가하지 않도록 방지
- 만약 정보의 소통량이 과다하면 패킷을 조금만 전송하여 혼잡 붕괴 현상이 일어나는 것을 막음
4. 전송 계층
- 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층
- 데이터 전달
(교환 방식)
(TCP 방식)
(UDP 방식 )
'웹' 카테고리의 다른 글
URL / URI 차이 (0) | 2022.04.19 |
---|---|
WEB / WAS의 차이 (0) | 2022.04.19 |
Session / Cookie 의 차이 (0) | 2022.04.19 |
TCP/IP 4 계층 (0) | 2022.04.19 |
OSI 7 계층 (0) | 2022.04.19 |