데이터를 보낼 때 어떤 것이 필요한가?
•
주소
•
오류 check
•
보안
고민에 대한 부분을 담당하는 계층을 만든다.
TCP/IP → Transmission Control Protocol, Internet Protocol, 가장 핵심적인 규칙 2개
어플리케이션
•
HTTP: 웹 페이지, 이미지, 동영상 등 웹 리소스를 요청/응답
•
SMTP: 이메일 서버로 전송할 때
•
FTP: 파일 업로드/다운로드
•
SSH: 원격 로그인, 명령어 실행
전송 계층
•
TCP, UDP
•
세그먼트(TCP), 데이터그램(UDP)로 데이터를 쪼개고 데이터가 오류 없이 순서대로 전달
인터넷 계층
•
IP, ICMP, ARP
•
한 노드에서 다른 노드로 전송 계층에서 받은 세그먼트/데이터그램을 패킷화해서 목적지로 전송하는 역할
링크 계층
•
물리 계층
캡슐화
•
응용 계층: 텍스트나 파일
•
전송 계층(TCP/UDP): 응용 계층에서 받은 데이터를 세그먼트로 만들고 헤더를 붙임. 포트 번호, 순서 등이 존재
•
인터넷 계층: TCP 세그먼트를 받아 IP주소가 담긴 IP 헤더를 붙여 패킷을 만듬
•
데이터 링크 계층(Ethernet 등): 헤더와 트레일러를 붙여서 프레임
•
trace를 따라 이동하면서 캡슐화/디캡슐화가 반복적으로 일어남
체크섬
•
데이터를 전송할 때 오류가 발생했는지 확인하기 위해 덧붙이는 추가 데이터 조각
→ 체크섬 조금 더 알아보기
MTU, MSS, PMTUD
•
MTU
◦
가장 큰 PDU의 크기
◦
이것보다 패킷이 크면 분할 될 수 있다
◦
IPV6는 분할이 안 되도록 되어있음
◦
IPV4도 flags가 있는데 활성화되면 분할이 불가능함
•
MSS
◦
TCP 헤더랑 IP 헤더를 뺀 크기를 말함
◦
MTU는 1500바이트, MSS는 1460바이트
◦
데이터는 1460 바이트 이하의 크기로 보내야 전달이 됨
•
PMTUD
◦
총 패킷 사이즈가 MTU보다 크면, 송신자에게 너무 크다는 메시지를 전달
◦
다시 payload 사이즈를 줄여서 보내도록 함.
어플리케이션 계층
HTTP
•
헤더 확장 쉬움
•
stateless
SSH,FTP,SMTP
→ 이 프로토콜 좀 더 찾아보기
전송 계층
•
TCP
◦
가상회선패킷교환방식
◦
오류 검사 메커니즘
▪
재전송
▪
체크섬
•
UDP
◦
데이터그램패킷교환방식
▪
순서보장X
◦
오류 검사 메커니즘
▪
체크섬
인터넷 계층
•
ICMP
◦
노드와 노드 사이에서 통신이 잘 되나 확인할 때 프로토콜
◦
•
IP
◦
•
ARP
◦
3-way handshake / 4-way handshake
•
ISN: 패킷의 고유 번호
•
SYN,ACK: 플래그
•
받은 ISN에 +1을 해서 ACK에 담아서 보낸다.