이기종들이 서로 통신을 하기 위해 필수적으로 사용되는 기본적인 프로토콜
OSI 7 Layer처럼 계층을 나누어서 통신을 정의하는 계층 개념 + 서비스를 하는 개념
(4개의 계층으로 표현된다)
TCP
: 인터넷을 기반으로 네트워크에서 구현 가능한 여러 서비스
ex) TCP 80 -> HTTP
: TCP라는 통신 방법으로 80번 port로 서비스 받기
IP
: 많은 장치들을 정의하는 주소
UDP
: 대표적으로 DNS 서버가 사용하는 방식 (하지만 DNS는 TCP나 UDP나 다 쓸 수 있음)
-> 일반적으로 우리가 쓰는 네트워크 서비스들은 TCP 또는 UDP에 다 속해있음
대표 장치 : NIC(LAN 카드), switch
OSI 7 Layer의 물리 계층과 데이터링크 계층의 역할을 수행
대표 장치 : 라우터
OSI 7 Layer의 3계층 역할을 수행
대표 프로토콜: TCP, UDP
OSI 7 Layer의 전송 계층과 동일
TCP
: 신뢰성 있는 통신을 제공
UDP
: 통신 데이터 처리 속도가 빨라서 실시간 통신을 해야 할 경우에 많이 쓰인다. 신뢰성을 잡으려면 다른 프로토콜과 함께 사용하여야 한다.
=> TCP/UDP Well-Known 포트
7 - Echo
22 - SSH
53 - domain
OSI 7 Layer의 세션, 표현, 응용 계층의 역할을 수행
MTU (Maximum Trasport Unit)
: 큰 데이터를 보낼 때 한 번에 보내는게 아니라 MTU사이즈로 쪼개서 (segmentation)보낸다. 이때 여러개의 데이터를 TCP는 어떻게 전달할까?
ACK ACK3 3번부터 다시 보내달라는 reply ACK3, SACK 5-103번 부터 안왔고, 5-10은 잘 받았다는 응답
데이터를 전송할 때 TCP와 같은 방법을 사용하지 않고 데이터를 전송.
비연결성 서비스이므로 데이터가 오다가 손실되면 이 데이터를 다시 받을 수 없음.
-> 다시 물어봐서 통신을 할 수는 있다.
(ex. VoIP(음성)에서 다시 전화로 물어보기)
포트 번호 (Well-Known Port)를 기반으로 통신
TCP와 달리 수신한 데이터에 대하여 수신 확인 응답 (ACK)하지 않음
TCP보다 헤더가 간단하고, 비교적 덜 다양한 데이터 흐름 제어 기능을 가짐 (신뢰성 낮음)
송수신 절차 간단하여 실시간 데이터 전송에 효과적
송수신 장치 간에 비연결성 서비스를 지원하여 데이터그램 간의 전후 관계를 고려하지 않고 전송

IPv4와 IPv6
OSI 7 Layer의 3계층에서 패킷을 출발지에서 목적지까지 전달하는데 사용
-> 3계층은 IP 주소를 기반으로 통신하니깐!
최선형 서비스(최대한 전달)를 기반으로 패킷을 전달하며, 패킷의 도착을 보증하지 않는다. (=비신뢰성)
-> TCP와 같이 신뢰성 높은 프로토콜을 같이 사용하여 단점 보완
