네트워크 구조
네트워크는 크게 노드와 링크로 구성되어 있음.
network edge(node)
- 호스트 : 어플리케이션 프로그램을 실행함. (ex. Web, email)
- 클라이언트 / 서버 모델 : ex) 웹 브라우저 / 서버, 이메일 클라이언트 / 서버
TCP(Transmission Control Protocol)
- connection-oriented(연결 지향) 프로토콜.
- 신뢰성있는 데이터 전달이 가능함. 즉, 중간에 데이터 유실이 없음. 송신자가 보낸 데이터를 수신자가 그대로 받을 수 있다는 보장이 있음.
- flow control(흐름 제어) : 송신자(sender)가 수신자(receiver)의 속도에 맞게 데이터를 전송함.
- congestion control(혼잡 제어) : 데이터가 전송되는 네트워크 상황에 맞춰서 데이터 송신 속도를 조절함.
- UDP에 비해 비용이 더 많이 듦. (컴퓨터, 네트워크 리소스)
UDP(User Datagram Protocol)
- connectionless(비연결) 프로토콜.
- 신뢰성, 흐름 제어, 혼잡 제어를 모두 제공하지 않음.
- ex) 실시간 오디오 통신 등에서 사용. 오디오 패킷은 몇개가 유실되어도 사람이 인식하지 못함.
- UDP는 정말 신뢰성이 없나? → https://udadacoder.tistory.com/8 → HTTP/3 참고^^
Protocol
- 인터넷 상에서 노드 간 통신하기 위해 정해둔 규약, 방식.
network core(node)