가장 대표적인 네트워크 애플리케이션 : HTTP기반의 웹 브라우저네트워크 : 운영체제 위에서 실행되는 프로세스가 다른 운영체제 위의 프로세스와 메시지를 주고 받는 것os가 제공하는 인터페이스(socket = 네트워크 기능을 제공하는 API)를 통해 네트워크가 이루어짐클
프로세스간 네트워크가 이루어지려면 프로세스의 주소를 명확히 해야 함host name에 해당하는 ip주소로 변환규모가 크기 때문에 분산화, 계층화 시켜놓음 - 관리가 용이하도록네트워크를 운영하는 모든 기관은 authoritative DNS servers를 운영해야 함해당
프로세스와 프로세스 사이의 통신을 위한 인터페이스os가 제공하는 서비스는 TCP와 UDP가 있음소켓도 TCP기반의 소켓, UDP기반의 소켓이 있음서버 측에서 사용socket : 소켓 생성bind : 생성한 소켓에 포트 번호를 bindlistenaccept클라이언트 측에
애플리케이션 계층의 전송단위 = 메세지트랜스포트 계층의 전송단위 = 세그먼트세그먼트는 데이터 부분, 헤더부분으로 나뉨메세지는 데이터 부분에 들어감데이터를 전송하기 위한 부가적인 정보가 헤더네트워크 계층 전송단위 = 패킷데이터와 헤더로 나뉘고, 세그먼트는 데이터에 들어감
복습 전송계층의 프로토콜 TCP, UDP 이들이 제공하는 기능 : multiplexing, demultiplexing 쉽게 말해 정보를 내보내고 받는 것 TCP의 demux 방식과 UDP의 demux방식의 차이 : connection oriented와 connectio
현실적인 TCP의 동작 pipelined protocols 파이프라인 방식 한꺼번에 많은 패킷을 보내고 처리하는 프로토콜 TCP > ### point to point 소켓과 소켓 사이의 연결, 한 쌍의 TCP > ### reliable, in order byte s
flow control 리시브 버퍼의 데이터를 read call이 있으면 가져감 가져가는 속도는 애플리케이션 계층 마음 가져가는 속도가 느리거나 보내는 속도가 빠르면 리시브 버퍼에 데이터가 쌓여 유실 가능성 커짐 따라서 보내는 속도는 데이터를 읽는 속도에 맞춰야 함 플
네트워크의 혼잡 상황을 고려해서 보내는 데이터의 양을 조절 Congestion Control의 원리 congestion > - 네트워크가 처리할 수 있는 것보다 더 많은 데이터가 들어왔을 때 생기는 현상 라우터에서 패킷 유실이 일어날 수 있다 라우터에서 딜레이가 길어
라우터들이 있음 프로토콜 IP 패킷에 segment가 담긴다 라우터들은 IP 패킷 포맷의 정보만 전달할 수 있다. 각각의 라우터들은 네트워크 계층까지만 갖고 있음. 그 위 App, Trans 계층 갖고있지 않음 라우터의 주요 기능 2가지 > ### forwarding
호스트와 게이트웨이 사이의 전용선이 존재하는 것이 아니라, 공용 선/Broadcast Medium을 통해 패킷이 첫 번째 라우터로 전달된다.그러면 어떻게 하면 충돌을 피하면서 패킷이 라우터까지 잘 살아서 도달하게 할 수 있을까?패킷이 목적지 라우터에만 가는 것이 아니라
emcryption algorithm과 decryption algorithm이 같은 key를 사용하는 것키를 어떻게 공유할 것인지가 문제같은 비밀키를 공유하지 않고, 공개키와 비밀키가 있어서 공개키는 공개, 비밀키는 나만 갖고 있는 것개념만 있고 구현은 못함연산에 시간