📖 IP 의 한계
비연결성
비신뢰성
프로그램 구분 불가
<애플리케이션>
1. 애플리케이션 계층 : HTTP, FTP
-- SOCKET 라이브러리 존재 --
<OS>
2. 전송 계층 : TCP, UDP
3. 인터넷 계층 : IP
<네트워크 인터페이스>
4. 네트워크 인터페이스 계층 (LAN드라이버, LAN장비)
위 계층을 토대로 메시지전달과정을 살펴보자
1. 채팅프로그램으로 Hello world 를 작성
2. socker library 를 통해 os에 넘김
3. 메시지에 TCP 정보를 씌움
4. 메시지+TCP정보에 IP 정보를 씌움
5. LAN 카드를 통해 나갈때 Ethernet Frame이 포함돼서 전송
- Ethernet Frame는 랜카드에 등록된 물리적인 정보들이 포함되어있다.
4번에서 완성된 패킷은 다음과 같은 구성요소를 지닌다.
1. IP 패킷에 의해 출발지 IP, 목적지IP, 기타 정보
2. TCP 패킷에 의해 출발지 PORT, 목적지 PORT, 전송제어, 순서, 검증정보
SYN : 접속요청 / ACK : 요청수락
신뢰할수 있는 프로토콜로써 현재는 대부분 TCP를 사용한다.
UDP 는 하얀 도화지와 같다. 즉 기능이 거의없음
연결지향불가 / 데이터전달보증 불가 / 순서보장 불가
IP와 거의 동일하며 PORT와 체크섬정도만 추가되었다.
하지만, TCP는 너무 느린데다 정형화된 규칙이 있어서 추가적인 작업이 불가하여, UDP에 원하는 기능을 추가하는 과정이 가능하다. (요즘에 각광받음)
본 포스팅은 인프런-김영한 님의 모든 개발자를 위한 HTTP 웹 기본 지식 내용을 토대로 작성하였습니다. 진짜 강의도 너무 좋고 강의 타임도 짧은데다, 저렴하니 들어보면 좋을거같습니다.