이 글은 강의 : 김영한님의 - "[모든 개발자를 위한 HTTP 웹 기본지식]"을 듣고 정리한 내용입니다. 😁😁
지정한 IP 주소에 데이터를 전달한다.
통신 단위인 패킷을 전달한다.
패킷 : 네트워크 상에서 전송하는 데이터의 형식화된 블록이다.
비연결성
만약 패킷을 받을 상대가 인터넷이 끊겨도 즉, 서비스 불능 상태여도 패킷은 그대로 전송
비신뢰성
`패킷을 전송했는데 중간에 패킷이 사라지거나 패킷이 순서대로 오지 않은 경우
프로그램 구분
같은 IP를 사용하는 하나의 서버에 하나 이상의 애플리케이션이 구동중일 경우 어뜬 어플리케이션에 패킷을 전달해야 할 지 알 수 없다.
애플리케이션 계층에서 전달된 정보(페이로드)에 TCP 정보를 생성하여 포함시킨다.
전송 제어 프로토콜(Transmission Control Protocol)
🎈참고: 여기서 두 노드 사이에 다른 노드들이 연결되어있는지는 알 수 없다.
🎈참고: 최근에는 최적화가 되어 클라이언트에서 응답(ACK)을 보낼 때 데이터도 같이 전송을 한다.
데이터 전달 보증
클라이언트에서 데이터를 전송하면 서버측에서는 데이터가 잘 왔는지 응답을 해주기 때문에 데이터 전달을 보증할 수 있다.
순서 보장
TCP 정보에는 순서와 같은 정보들이 포함되어 있기 때문에, 패킷의 순서가 잘못된 경우 서버에서 순서가 잘 못된 패킷을 기준으로 재송신 요청을 해서 패킷을 받기 때문에 순서를 보장할 수 있다.
신뢰할 수 있는 프로토콜
데이터가 전달됨을 보증하고 순서도 보증되기에 신뢰할 수 있다.
현재 대부분이 TCP를 사용한다.
사용자 데이터그램 프로토콜(User Datagram Protocol)
🧨참고: 체크섬(checksum)
:중복 검사의 한 형태로 송신된 자료의 무결성을 보호하는 방법으로 네트워크를 통해 전달되는 값이 위/변조 되는 경우를 대비해 체크섬 값을 같이 보내 무결성을 보호한다.
IP가 인터넷 세계에서 논리적인 내 컴퓨터의 주소라면, PORT는 내 컴퓨터내의 수많은 애플리케이션의 식별자가 되는 경로이다.
EX) FTP(20, 21), TELNET(23), HTTP(80), HTTPS(443)
도메인 네임 시스템(Domain Name System)
-> 도메인명을 IP 주소로 변환
(DNS 서비스 로직)