네트워크? 컴퓨터들이 통신 기술을 이용하여 그물망처럼 연결된 통신 이용 형태를 의미합니다.
좀더 쉽게 말하자면 "두 대 이상의 컴퓨터들을 연결하고 서로 통신(이야기)할 수 있는 것" '어떤 연결을 통해 컴퓨터의 자원을 공유하는 것'이라고 말이죠.
IEEE(Institute of Electrical and Electronics Engineers:국제 전기 전자 공학회)에서는 네트워크를 다음과 같이 정의 하였습니다. "몇 개의 독립적인 장치가 적절한 영역내에서 적당히 빠른 속도의 물리적 통신 채널을 통하여 서로가 직접 통신할 수 있도록 지원해 주는 데이타 통신 체계"
프로토콜: 네트워크에 연견된 시스템이 통신하여 데이터를 주고받기 위해 따라야하는 규칙
출처: https://copycode.tistory.com/30 [ITstory]
하나의 프로토콜에서 모든 문제를 처리하면 오류가 발생하기 쉽기 때문에 모듈화라는 설계과정을 거침
모듈화? 크고 복잡한 시스템을 작은 모듈 단위로 쪼개서 설계하는 것
모듈화를 만들면서 계층 구조가 생기고, 이 중 인터넷은 데이터의 중계를 담당하는 네트워크 계층으로 IP 프로토콜을 사용하는 계층이다.
따라서 인터넷을 사용하고자 하는 호스트는 IP 프로토콜을 지원해야하며, 전송계층은 TCP와 UDP를 사용한다.
전송계층이 없다면, 데이터 순차 전송 no, Flow(흐름 문제), congestion(혼잡) 문제 등이 발생하여
결과적으로!! 데이터 손실이 일어난다.
신뢰성을 보장하는 연결형 서비스
1) 양방향 통신(connection 연결)
2) 데이터 순차 전송
3) flow control
4) congestion control
5) error detection
https://velog.io/@hidaehyunlee/TCP-%EC%99%80-UDP-%EC%9D%98-%EC%B0%A8%EC%9D%B4
1) 3-way handshake
2) 4way handshake
간단하고 빠른 속도의 연결형 서비스
1) connectless
2) error detection
3) 비교적 신뢰성이 중요하지 않을 때 사용(영상 스트리밍)