네트워크는 edge와 core로 구분 가능client & server 모델의 각 주체는 edge이들을 연결해주는 link 계층의 router는 coreedge의 통신 방식connection oriented servicereliable, in-order byte stre
어플리케이션은 network-core에서 동작하는 것에 대한 코드는 작성할 필요가 없음. 이것은 application 아래 영역에서 알아서 진행함어플리케이션은 아래 4가지 작업이 필요data integrity(no loss): packet 유실 방지, TCP가 지원해줌
사용자 or 개발자는 O.S를 건드리지 않고 프로세스간 통신을 위해 OS가 제공하는 API인 Socket을 사용하여 통신한다Transport layer는 이를 지원하며, TCP or UDP 방식의 Socket이 있다.Socket 자료구조체에는 socket()-소켓생성,
TCP가 지원하는 reliable은 어떻게 보장될 수 있을까?사실 Network layer 이하 계층은 unreliable하다. 물리적인 문제, 시스템 문제 등으로 인하여 데이터의 loss나 error가 발생할 수 있다.지금부터 데이터의 loss or error가 발생
지금까지는 요청-응답-요청이 순차적으로 하나씩 진행되는 전송 방식에 대해서 다뤘음 하지만 현실에서 이 방식을 이용하기에는 너무 느리다. 따라서 pipeline에 보낼 packet을 한 꺼번에 쏟아내는 느낌으로 왕창 packet을 전송한다. 그래야 utilization을
각각의 호스트의 IP주소는 기억하기 어려우므로, IP주소를 대신하는 Domain Name을 두어 쉽게 접속할 수 있도록 하는 체계한 서버를 두고, 해당 서버에 각 도메인의 IP주소를 질의할 수 있겠지만, 실제로 이렇게 구현하지는 않는다. 도메인 목록의 크기가 크며, 검