성공과 실패를 결정하는 1%의 네트워크원리
[네트워크 원리] 프로토콜 스택
jfmam
2021. 10. 28. 21:24
프로토콜 스택간 동작 원리
nestat
제어정보 (헤더)
제어정보는 서버측에서 확인할 수 없다.
- 송신처, 수신처 포트번호
- SEQ,ACK
- 데이터 오프셋
- 컨트롤 비트: 통신제어를 위한비트
- ACK: 수신데이터의 일려번호 필드가 유효함을 나타냄 -> 데이터를 올바르게 도착했음을 의미한다.
- SYN: 송신측과 수신측의 일렬번호를 확인, 최초연결 시 사용
- FIN: 연결끊기
- URG: 긴급포인터의 유효
- RST: 접속 강제종료
- 윈도우: 수신처에서 받을 수 있는 데이터의 양을 송신측에 알려주기 위한 제어정보
- 긴급 포인터: 긴급하게 처리해야 할 데이터를 나타냄
- 체크섬: 오류 유무 사용
TCP
- 데이터를 송수신하기 위한 프로토콜
- 패킷을 제대로 받지 못했을 경우 다시 송신
- 수신확인 응답이 꼭 필요하다.
UDP
- 데이터를 송수신하기 위한 프로토콜
- 수신확인 응답이 필요없음
- 패킷에 오류가 발생하여도 무시한다.
- 음성 및 동영상 데이터에 사용된다
- 시간안에 데이터를 건네주어야 한다.
IP
패킷 송수신 동작을 제어하는 부분
패킷
- 데이터를 운반하기위해 데이터를 작게 나눈 형태
- 데이터를 저장한 패킷의 경우 data가 패킷에 담겨 있다.
- 데이터가 들어있지 않은 경우 header만 패킷에 들어간다
- header = IP 제어정보 + TCP제어정보
MTU
한 패킷으로 운반할 수 있는 최대길이
MSS
헤더를 제외한 데이터의 최대길이
패킷 분할
- 송신버퍼에 MSS의 길이가 초과하면 패킷을 분배
- 패킷 분배시 HTTP 헤더까지 데이터로 판단하여 분할한다 -> 프로토콜 스택은 Application의 데이터를 모른다.
- 분배 후 TCP 헤더 부가
ARP
arp -a
- IP주소에 대응하는 이더넷의 MAC 주소를 조사할 때 사용
ICMP
- 오류 및 제어용 메세지 통지
reference
성공과 실패를 결정하는 1% 네트워크 원리