첫번째 문단 다 쓰고 재확인 필요
모든 네트워크의 가장 기본적인 속성
네트워크가 데이터를 얼마나 빨리 전송하는지를 의미
범위
일정한 단위의 정보가 시스템을 통과하는데 걸리는 시간
레이턴시가 높다고 대역폭이 낮음을 의미 X
게이트웨이
로 연결패킷이 목적지로 나아감에 따라 한 네트워크에서 다음 네트워크로 패킷을 라우팅하는 전문화 된 컴퓨터
라우팅 프로토콜을 이용해 라우팅 정보를 교환
여러 수신자
가 한 발신자
의 신호를 수신하는 구조프로토콜, protocol
게이트웨이(gateway)
, 라우터(router)
이용해 다른 네트워크에 연결
게이트웨이, 라우터는 한 네트워크에서 다음 네트워크로 정보 패킷을 라우팅하는데 전문화된 컴퓨터
게이트웨이의 경우 라우팅 정보를 서로 교환하여 국지적으로라도 어떤 개체들이 연결되어 있고 접근 가능한지 파악 가능
짧은 경로가 존재해도 더 긴 경로로 패킷을 라우팅하기도 한다
가정에서는 케이블 or DSL 이용해 ISP에 연결(=무선통신으로 라우터에 연결)
ISP(internet service provider)
: 인터넷 서비스 제공 업체사무실의 경우 유선 이더넷 연결 사용하기도 한다
인터넷
> TCP
> IP
패킷 네트워크
정보는 표준화된 개별 패킷으로 전송되며, 패킷은 규모가 크고 계속 변하는 여러 개의 네트워크를 통과하며 동적으로 라우팅된다
현재 연결된 각 호스트에 고유한 IP 주소 할당, 같은 네트워크에 있는 호스트들은 공통 IP 주소 접두사를 공유
모바일 호스트의 경우 연결될 때마다 IP 주소가 달라지기도 하고, 위치에 따라 달라지는 경우도 존재
프로토콜과 표준에 따라 작동
사람들이 직접 접근하려고 시도하는 호스트는 사람이 사용하기에 적합해야됨
도메인 네임 - domain name 사용
DNS, domain name system
루트 네임 서버, root name server
각 게이트웨이는 패킷이 들어오고 나갈 때 네트워크 형식과 IP 형식 간 변환을 수행
해야 한다정보가 한 컴퓨터에서 다른 컴퓨터로 성공적으로 복사되도록 이상의 구성 요소와 나머지 구성 요소 모두가 어떻게 상호 운용되는지 정확하고 자세하게 설명하는 규칙과 절차가 있어야 한다
DHCP : dynamic host configuration protocol : 동적 호스트 구성 프로토콜
애플리케이션 > TCP > IP > 물리 계층, 왼쪽부터 상위계층
시스템을 계층으로 나눔
전송 제어 프로토콜
두 컴퓨터 간에 데이터를 주고받는 신뢰성 있는 양방향 스트림
을 제공
IP를 사용하여 출발지에서 목적지까지 임의 길이의 바이트 시퀀스를 전송하기 위한 안정적인 메커니즘을 제공
안전한 통신 제공해 프로그래머가 패킷에 관해 생각할 필요가 없다
신뢰성 있는 양방향 스트림
제공
세그먼트 - segment
TCP 패킷
인터넷의 경우 대부분 TCP이용
웹 브라우저와 서버에 사용되는 특히 간단한 프로토콜
다른 컴퓨터에 원격 로그인 세션을 설정하기 위한 TCP 서비스
TCP보다 훨씬 단순
하고, 양방향 스트림이 필요하지 않은 데이터 교환에 사용
internet protocol
핵심 프로토콜
전송 중인 정보에 대해 균일한 전송 메커니즘과 공통 형식을 정의
개별 패킷의 형식을 지정하고 패킷을 전송하는 방법을 정의
신뢰성 없는 비연결형인 패킷 전송 서비스
를 제공
상태를 관리하거나 기억하는 기능이 없다
최선형 - best effort
인터넷의 공통 메커니즘
정보를 교환하기 위한 만국 공통어
이더넷과 무선 시스템 같은 특정 하드웨어 기술은 IP 패킷을 캡슐화하여 전송
이용해 데이터 전달
모두 같은 형식
큰 IP 패킷은 여러 개의 작은 이더넷 패킷으로 분할
패킷 최대 크기 약 65KB
긴 메세지는 작은 덩어리로 분할되어 따로따로 전송되고 받은 쪽에서 재조합되어야 함
패킷 형식은 정해져 있다
TTL - time to live
근거리통신망(LAN)
클라이언트가 특정 URL에 대한 요청
을 보내면 서버는 요청된 정보를 반환
무상태(stateless)
프로토콜서버가 클라이언트 요청에 대해 아무것도 기억하지 않아도 된다
는 의미프로그램 간에 전달되는 작은 정보 조각
서버가 브라우저에 웹페이지를 보낼 때, 브라우저가 저장하게 되어 있는 추가 텍스트 덩어리를 포함할 수 있다
쿠키는 각각의 덩어리
서버가 클라이언트 쪽 메모리를 사용하여 클라이언트의 이전 방문에 대한 정보를 기억하는 셈
서버는 클라이언트에 고유한 식별 번호를 할당, 이 번호를 쿠키에 포함
각 쿠키에는 이름이 존재, 방문할 때마다 여러 개의 쿠키가 저장
프로그램이 아니며 액티브 콘텐츠가 없다, 완전히 수동적
유효기간 존재해 그 이후에는 브라우저에서 삭제
표적 광고에도 사용됨
hypertext markup language, 하이퍼텍스트 마크업 언어
HTML은 서버가 반환하는 정보 서식이나 표시 방식
을 설명하기 위한 언어
이미지 태그의 경우 해당 파일에 접근할 수 없다면 깨진 이미지 제공,이용해 이미지 자체를 보여 줄 수 없을 때 표시하는 대체 텍스트 제공
HTML, CSS 모두 언어이지만 프로그래밍 언어는 아니다
진지하게 웹 디자인을 하려면 전문 도구가 필요하겟지만, 내부적으로 어떻게 작동하는지만 이해해도 충분히 도움이 된다
컴퓨터에서 실행되는 크롬, 파이어폭스, 사파리, 엣지 같은 프로그램
URL과 HTTP를 사용하여 서버에 요청을 보내고 서버에서 보낸 HTML을 가져와서 표시
브라우저는 전문화된 운영체제와 비슷해 '사용자들의 웹 브라우징 경험을 향상하기 위해' 더 풍부하고 더 복잡한 콘텐츠를 처리하도록 확장될 수 있다.
브라우저에 동적으로 로드되는 프로그램
일반적으로 서드 파티(third party - 외부 개발 업체)가 개발
플러그인을 선택한다는 것은 브라우저와 긴밀하게 협력해 컴퓨터에서 실행할 새 프로그램을 다운로드하는 것을 의미
컴파일된 코드로, 브라우저에서 제공하는 API를 사용하여 브라우저의 일부로 실행된다
비디오, 애니메이션용으로 널리 사용
ex) PDF 문서용 어도비 리더(Adobe Reader)
보안에 취약