본 내용은 “성공과 실패를 결정하는 1%의 네트워크” 를 참고하여 작성하였습니다.
프로토콜 스택의 내부 구성
프로토콜 스택의 내부는 상하로 나뉜다.
상 : TCP, UDP
하 : IP
리졸버
브라우저에서는 Soket 라이브러리에 있는 부품인 리졸버를 이용해서 DNS서버에게 도메인명에 해당하는 IP 값을가져오게 된다. 해당 설명은 이전에 설명했기 때문에 생략한다.
TCP, UDP 프로토콜
TCP , UDP는 데이터의 송수신을 담당하는 프로토콜이다.
- 일반적인 어플리케이션 사이의 데이터 통신은 TCP를 사용한다.
- 짧은 제어용 데이터를 송수신 할때는 UDP를 사용한다.
IP 프로토콜
IP 프로토콜을 이용하여 패킷 송 수신 동작을 제어한다.
- 패킷은 데이터를 작게 나눈 형태이다.
- IP안에는 ICMP, ARP라는 프로토콜이 존재한다.
- ICMP : 패킷을 운반할때 발생하는 오류나 제어메세지를 통지한다.
- ARP : IP주소에 대응하는 이더넷의 MAC주소를 조사할때 사용한다.
패킷은 핵전쟁이 나도 끊기지 않고 유실되지 않는 네트워크를 만들기 위한 과정이었으며
패킷이라는 데이터를 잘게 나눈 다음 회선으로 보내게 되면 정보가 유실되어도 일부만 유실되기 때문에 안전한것이다.
LAN드라이버
LAN드라이버는 LAN 어댑터의 하드웨어를 제어한다.
실제 케이블의 데이터 송 수신을 제어한다.
소켓의 실체
소켓은 Soket라이브러리를 이용해 생성한 파이프의 입구를 의미한다.
프로토콜 스택 내부의 제어 정보를 저장하는 메모리 공간이 존재하며, 통신 동작을 제어하기 위해서 제어 정보를 저장하게 된다.
IP주소, 포트번호, 통신동작에 진행 상태등에 해당하는 정보이다.
- 소켓의 실체는 이러한 제어정보를 저장한 데이터, 혹은 데이터를 기록한 메모리 영역이다.
디스크립터
이전에와 동일하게 해당 soket이라는 Soket라이브러리의 부품이 불리는 것으로 소켓을 생성하고, 디스크립터를 어플리케이션에게 리턴하게 된다. 이렇게 리턴된 디스크립터는 메모리에 저장하게 되고, 어플리케이션이 향후 데이터 송 수신을 요청할때 디스크립터를 통지하는 것으로 어느 소켓을 통해서 데이터를 전달할지 알게 된다.
Uploaded by N2T